Haskell is not the Holy Grail of programming languages
Well, actually it is, but never mind. :)
At first, I thought one had no choice but to migrate to Haskell or Clean if in a need for programming in an elegant manner. Fortunately, I since then have found some languages that would also do the trick. I plan to review most of these based on some criteria, preferably through a real-life problem set. Maybe I will initially base my research on the ready-made solutions found at the great language shoot-out game.
As you probably already know, Haskell (and Clean) allow the expression of deep thoughts with very conscious syntax (and semantics) for most domains. Erlang is also nice, though a bit LISP-like on the syntax side (read: crude). I still need to learn a few more languages that are said to be pretty interesting. As I've heard OCaml (ML) and maybe Python could be good candidates.
Now, before you come up with the valid argument that powerful language-extending features and Turing-completeness make this a non-issue, I am not sure if I would be happy with domain specific languages (so called DSL) embedded in some more popular ones flavored with syntax ugliness. When a certain language (be it DSL or separate) is better for a problem at hand, why hesitate to use it? Especially in cases where performance rated by storage and time could be within a small constant factor. Object linking has been invented decades ago, so there is no excuse for not using the best tool for the job after factoring a problem to smaller ones.
At first, I thought one had no choice but to migrate to Haskell or Clean if in a need for programming in an elegant manner. Fortunately, I since then have found some languages that would also do the trick. I plan to review most of these based on some criteria, preferably through a real-life problem set. Maybe I will initially base my research on the ready-made solutions found at the great language shoot-out game.
As you probably already know, Haskell (and Clean) allow the expression of deep thoughts with very conscious syntax (and semantics) for most domains. Erlang is also nice, though a bit LISP-like on the syntax side (read: crude). I still need to learn a few more languages that are said to be pretty interesting. As I've heard OCaml (ML) and maybe Python could be good candidates.
Now, before you come up with the valid argument that powerful language-extending features and Turing-completeness make this a non-issue, I am not sure if I would be happy with domain specific languages (so called DSL) embedded in some more popular ones flavored with syntax ugliness. When a certain language (be it DSL or separate) is better for a problem at hand, why hesitate to use it? Especially in cases where performance rated by storage and time could be within a small constant factor. Object linking has been invented decades ago, so there is no excuse for not using the best tool for the job after factoring a problem to smaller ones.
Comments
Post a Comment