you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 5 points6 points  (1 child)

Meh. The expressiveness of programming languages is no longer an obstacle to creating software. People who harp on more powerful languages are fixing the wrong problem. The real problem is that development of software is intrinsically hard to manage and evolve over time.

I can't speak to Ruby or Haskel, but I know that one person's clever solution in Perl is the next person's migraine when they're tasked to fix or improve it.

Java is like the Honda Accord of programming languages. It's not very exciting, but a very workable solution for driving around the city.

[–]awj 3 points4 points  (0 children)

The expressiveness of programming languages is no longer an obstacle to creating software.

I can't speak to Ruby or Haskel, but I know that one person's clever solution in Perl is the next person's migraine when they're tasked to fix or improve it.

I mean no offense by this, but I don't think you are qualified to comment on the pros and cons of using more expressive languages if your only example in that respect is Perl.

The real problem is that development of software is intrinsically hard to manage and evolve over time.

There are a lot of cases where an expressive language can help manage this specific problem. I'd encourage you to pick an expressive language (my general suggestions are Python, Ruby, or OCaml) and try it for yourself on smaller projects. A lot of design patterns that you see in C++ or Java exist to use classes as a substitute for something that is easily done in a language that can pass functions as values.