The net is just full of this already. Just google for XXX sucks where XXX is any language and you will find a ton of it. Actually that search term is a good way to find out the pitfalls of a language when you begin to learn it.
The whole argument of what language is better then this language is a loaded question.
I propose we also ask What is better Water, or Distilled Water ?
Each has its own purpose that is was made for, and they are best when applied to that task.
If I am going to do some large database programming, I am going to look for a language that supports static sql statements...
I am not going to use some language that does not have ODBC capabilities, and no database support. ( why do I want to write all the tools from scratch ??)
There's an old programmer's saying "Don't write reusable code, reuse other people's code." So I generally use a language where someone else has already solved a problem similar to mine and reuse what they've done. For Web programs that's usually a language like Java, but for hobby robotics it's more often PBASIC, Spin, or C++. I'll grab any code that's not nailed down.
I've used a lot of programming languages over the years and my favorite one is the one that fits the task I have to accomplish. What kind of data structures are required for the job to be represented easily and reliably? Does the language allow me to write the data structures and their manipulation in a way that flows easily and is implemented efficiently and reliably. Does the language allow me to write program structures that fit the task at hand, are clear and concise, and implement well? What kind of debugging tools are at hand? I tend to embed debugging statements into a program as I work rather than using a source-level debugger. It's usually a more efficient process. With a source-level debugger, it's often much more work to find out and control what I need to do the job. Others may feel differently, but that's my experience.
Usually the most general purpose languages are ok at everything and good at almost nothing. On the other hand, very specialized languages are very poor for problems even a little outside of their area of specialty. There are all sorts of examples from the history of programming languages.
I've used a lot of programming languages over the years and my favorite one is the one that fits the task I have to accomplish. What kind of data structures are required for the job to be represented easily and reliably? Does the language allow me to write the data structures and their manipulation in a way that flows easily and is implemented efficiently and reliably. Does the language allow me to write program structures that fit the task at hand, are clear and concise, and implement well? What kind of debugging tools are at hand? I tend to embed debugging statements into a program as I work rather than using a source-level debugger. It's usually a more efficient process. With a source-level debugger, it's often much more work to find out and control what I need to do the job. Others may feel differently, but that's my experience.
Usually the most general purpose languages are ok at everything and good at almost nothing. On the other hand, very specialized languages are very poor for problems even a little outside of their area of specialty. There are all sorts of examples from the history of programming languages.
Couldn't agree more with you Mike! The best language to use depends on the problem, platform, etc. Even the number of times the problem needs to be "solved" is a determining factor. For me the languages I use the most is AWK, Perl and C. I'm trying to force myself to use C++ but it's not working! :-)
Comments
The net is just full of this already. Just google for XXX sucks where XXX is any language and you will find a ton of it. Actually that search term is a good way to find out the pitfalls of a language when you begin to learn it.
I propose we also ask What is better Water, or Distilled Water ?
Each has its own purpose that is was made for, and they are best when applied to that task.
If I am going to do some large database programming, I am going to look for a language that supports static sql statements...
I am not going to use some language that does not have ODBC capabilities, and no database support. ( why do I want to write all the tools from scratch ??)
-Phil
Usually the most general purpose languages are ok at everything and good at almost nothing. On the other hand, very specialized languages are very poor for problems even a little outside of their area of specialty. There are all sorts of examples from the history of programming languages.
Couldn't agree more with you Mike! The best language to use depends on the problem, platform, etc. Even the number of times the problem needs to be "solved" is a determining factor. For me the languages I use the most is AWK, Perl and C. I'm trying to force myself to use C++ but it's not working! :-)