Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What would make you try (or not try) a new programming language? [closed]

I've been designing a pragmatic programming language for 5 or so years, and it probably won't be released for several more years (probably until after my current and next startups succeed or fail).

In the mean time, I have two questions that may prove interesting:

1) What attributes of a new programming language could entice you try it on your next project?

2) What attributes of a new programming language could prevent you from trying it on a project? (i.e. no libraries, ...)

To make sure this question isn't a philosophical debate (thus getting closed by admins), please describe your own tool selection predicates, rather than theorize about the broader population's preferences :)

Thanks!

like image 746
stevewedig Avatar asked Oct 25 '10 21:10

stevewedig


1 Answers

For a new general purpose language to gain adoption, I think one feature trumps all others: integration with an existing established platform. You don't have time to write all the libraries a language needs, and why should you have to? New languages like Clojure and Scala are cool in and of themselves, but what has really made them "go viral" is the fact that they target the JVM and and interoperate with Java. Besides the free libraries your language gains, this means people who use it don't have to abandon their old code base overnight; they can instead migrate incrementally over time.

The next big thing is tooling; you need a rock solid, preferably fast compiler. You need an IDE with a debugger. A package manager can't hurt. Most programmers will not tolerate second-rate tools; they'd rather keep writing Java boilerplate, because at least there they have a nice IDE to help them refactor it.

Finally there is the actual technology of the language itself; its new ideas, or novel combinations of old ideas, the cuteness or brevity of its syntax. These are probably the things you, as the language designer, care about most in the language--and it is important. Even with platform integration and great tools, nobody's going to switch to a language that brings nothing new to the table.

like image 113
Tom Crockett Avatar answered Nov 06 '22 14:11

Tom Crockett