Coffeehouse Post

Single Post Permalink

View Thread: A Modular Language Built with F#
  • User profile image

    If you're serious about writing a new programming language, then you really need to demonstrate how your language differs from other languages. In particular it must do one of the following:

    a) Be nicer for the programmer, either because it is faster for them to write, easier for them to use, more elegant for certain classes of problem or catches more programmer errors earlier on

    b) Demonstrate that the resulting program can do something that is otherwise very difficult to do in traditional languages (e.g. faster to parallelize, easier to run on clusters)

    c) Or just be substantially "better" for a particular class of problem.


    Secondly it must fulfil all of the following criteria:

    i) If you can think of it, and it is reasonably within the scope of the language, it must be possible to write a program to do it in your language (i.e. the language must be "complete")

    ii) Are there common types of problem which your language are much worse than other languages for programmers? For runtime? For compile-time? Bear in mind that learning a programming language - no matter how elegant it may eventually seem - takes time away from the programmer actually doing stuff, so the benefits need to substantially outweigh the problems.


    And finally before anyone will pick up your language you need to:

    1) Write some common programs (not just "Hello World", but that's always a good start) written in the language

    2) Preferably write a compiler for your language, and if necessary a virtual machine - or at the very least write an interpreter (no matter how slow) so that people can play with your language.



    I don't mean to stomp on your work, and I'm sorry if it sounds like it, but there are lots of languages out there and if you want your language to take off you really need to show the programmers who will have to learn the language what benefit they'll be getting and give them the tools to use the language - otherwise they'll never use it.