MLstate / opalang

The Opa Language for Web Application Development
http://opalang.org
Other
1.24k stars 125 forks source link

Compiler as a Service (CaaS) #177

Open mindplay-dk opened 9 years ago

mindplay-dk commented 9 years ago

Languages such as Typescript automatically receive great support from the community, because they provide their compiler as a service - which makes it really easy to build intelligent language support in third-party editors and tools.

For example, see this third-party plug-in, which basically turns ATOM into a full-blown IDE for Typescript.

Another language with good tooling is Nim which also provides their compiler as a service - the community automatically takes over and starts to build dedicated tools and editor integration for the language.

Opa is a potentially strong language, but we have been waiting years now for proper IDE support. I think, without enabling the compiler to run as a service, useful language support in any third-party product is not going to happen at any useful scale.

You clearly do not have the resources to build this yourselves, or it would have happened by now. In my opinion, you either need to enable the community to build tools and integration, or, basically, give up. Just my personal opinion, but a strong language with weak tools just doesn't deliver the kind of value it should.

hbbio commented 9 years ago

The support for Sublime Text is already pretty good and improving. The Opa community as a whole should work together improving OpaSublimeText and we will very a top-notch IDE for Opa (cross-platform, as OSX/Linux/Win is supported).

mindplay-dk commented 9 years ago

Henri, think IDE support on par with Php Storm, Visual Studio, Dart Editor, etc. - that means full language support with intelligent auto-completion, design time inspections (such as type-checking) and real code comprehension and deep static analysis, test runner (with code coverage) and debugger (with step-through) and everything else we've come to expect from modern IDEs.

In a fairly large team collaborating on many products, tools are almost more important than language - I have been deeply fascinated with Opa as a language, for a good number of years by now, but I wouldn't be able to use it for anything other than personal projects. I have to think about productivity and long-term maintenance, so at the moment, that means languages like Typescript, Dart and PHP take the prize, because they have the best IDE support, test frameworks, and continuous integration tools.

I wish I got to be more opinionated, but I don't :-)