Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the fastest way to create a cross-platform IDE for a new programming language?

The title already says most of what I'm after, but let me state some of the requirements explicitly:

  • The language is not widely used, so writing a new language tokenizer etc is assumed to probably be required.
  • Cross-platform, means at least Linux, Mac OS and Windows
  • Minimal features: Syntax highlighting and Code-completion (aka "IntelliSense")
  • Preferrable features: Interactive debugging
  • Assumption: The developer is not an expert in any one programming language (although mediocre in a few, and eager to learn new techniques), so the focus on an environment / tools that quickly gets a developer up to speed, and is productive enough to reach the goal as fast as possible.
like image 445
Samuel Lampa Avatar asked May 11 '13 15:05

Samuel Lampa


People also ask

How do you make a program cross-platform?

Implementation. For software to be considered cross-platform, it must function on more than one computer architecture or OS. Developing such software can be a time-consuming task because different OSs have different application programming interfaces (API). For example, Linux uses a different API from Windows.

What is the best cross-platform IDE?

Eclipse is one of the most popular IDEs. It's a cross-platform tool with a powerful user interface that supports drag and drop. The IDE is also packed with some important features such as static analysis tools, debugging and profiling capabilities.

What is cross-platform IDE?

What Does Cross-Platform Development Mean? Cross-platform development is the practice of developing software products or services for multiple platforms or software environments. Engineers and developers use various methods to accommodate different operating systems or environments for one application or product.


1 Answers

Xtext would be the perfect fit for these requirements. All you need to do is to define your grammar and you have your parser, linker, editor, etc. Of course all of this can be customized to your needs.

If your language compiles down to Java, you also get expressions and debugging out of the box.

like image 54
Stefan Oehme Avatar answered Sep 21 '22 21:09

Stefan Oehme