Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Lecar_red (5694)

  (email not shown publicly)

Journal of Lecar_red (5694)

Monday January 30, 2006
12:05 PM

Determing the best tool for the job

[ #28518 ]

The other day, a friend and I were having lunch and discussing programming languages and technology. I have been reading a few posts above language advocacy and the problems with any type of advocacy (it turns religous instead of being rational, it leads to the person advocating not being taken seriously, etc.). I have no problem with python (i kind of like the clean syntax), ruby (except the sudden vogue-ness of it), c, java, javascript, etc... I don't mind learning them and using them. But my problem is how to determine what the best tool, language, framework, etc... for the job actually is? Where is this information, CW or ? The experts seem to be in their own camps for their own purposes.

There doesn't seem to be any studies looking at solving the same problem with different tools. And if there were any studies, how would you determine the effectiveness of each one? Would it be lines of code, ability to scale, speed of development, simplicity to maintain, or ? It seems that we (coders, developers, engineers, ...) all want to use the most effective tool but we don't have access to information to help us make this choice (beyond folklore, our own experience or that of others, and other social not scientific evaluations).

How does Perl compare itself with java, python, prolog, etc... ? By language attributes (static typing vs. dynamic) but are these meaningful? By performance? By feature X or Y? Maybe 'compare' isn't the best word here... Maybe we should talk about what Perl is strongest at, or most effective at doing and what Java is most effective at. But what happens when you have three languages at all have the same effectiveness, does it turn to style then?

I would love to hear peoples thoughts about this. Or information about research projects going on. Or is it time to write a grant? (like I have any idea how to do that ;)


The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • I don't think the "best tool for the job" is a useful question to ask, if the tools you have to pick between are all general purpose tools. It doesn't have an answer. What you really want is of all the adequate tools (of which there are many) the best tool for the programmer.

    Most of the typical programming jobs can be done as well in Perl as in Java or in C. However, said job needs to be done by a certain programmer. And for that programmer, Perl may be the best tool. Another programmer, facing the same

  • Any language is really two things.

    First is the language itself, some have strengths in different areas. Perl for strings and Java for threads for example.

    But then you have the second layer of the language environment, covering libraries, tools, editors, toolchains, compatibility etc etc. Some nice languages have terrible environments (Perl if you ignore CPAN), and some terrible language have amazing environments (Java).

    And it's both of these factors in any given area that need to be judged.
    • I'd add a third to this as well: what's your team's expertise? Sure, anyone can learn Java pretty quickly. (It's a simple language.) But it takes time to get to know the environment, the libraries, the differences from what you already know, and then the idioms and patterns that make you a very efficient programmer. We always talk about languages as if you can change from one to the other without cost, but you can't. (And, as much as some managers don't want to hear it, you can't interchange the people who