Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Is Java really better than Perl???

by leriksen (Curate)
on Apr 21, 2004 at 01:40 UTC ( [id://346846]=note: print w/replies, xml ) Need Help??


in reply to Is Java really better than Perl???

Well, to take these in order

1) would they rather use a knife than a screwdriver to undo a screw ? Choose the tool most appropriate to the task at hand - dont use a candle to melt steel and dont use an axe to slice bread. Most developers (rather than managers) will tell you that developers who know several languages are almost always better developers than mono-culture ones. And solutions that use several well integrated, task-oriented language componenents are better than one huge, monolithic, ill-adapted single language design.

If you have four developers who are handy with Perl, Java, C++ and SQL, surely they can achieve vastly more than four purely Java developers.

A building company that only has plasterer's could in theory build a house completely out of plasterboard, but would you really want to live there ??

OK enough with the analogies

2. Does C generally have a pretty IDE ? Is it suitable for large scale development? Perl has Komodo from ActiveState if a developers are so imcompetent that coding without a GUI is impossible. If a developer said you can't code seriously without a GUI, I wouldn't hire them.

Perl has an excellent debugging/introspection available via the -d switch, the Devel::ptkdb GUI debugger is superb, debugging tools include the Deparse modules and Data::Dumper, Perl allows the examination of @INC/%INC and symbol tables, the strict pragma and -w switch catch 80-90% of stupid errors straight off, flexible logging via Log::Log4perl, you can design with extensive parameter checking with Params::Validate, the wonderful Test::Harness framework will save you a fortune in time, money and frustration. I could go on.

Web-work - they can't be serious. I wont even to begin to detail the absolute myriad of rock-solid, flexible, powerful frameworks Perl provides for web development. Unless they want everything done in Flash, Perl is easily a superb Web development tool - and infinitely superior to developing for the web in Java.

GUI work - OK, they have there first genuine point here - Java is better than Perl for GUI development.

3. There's nothing you can do in Java you can't to in binary. That's not a good reason for doing everything in binary. Similiarly for choosing Java over Perl.

As for speed - runtime or development time. I can't think of too many cases where a Java developer will spend less time than a Perl developer implementing the same functionality. It doesn't matter if it took 5 hours to run or 6 hours, if Perl took a week to write and Java took a month. If raw speed is a criteria - do it in assembler/C.

4. Well if an implementation is reject just because it is written in Perl - regardless of whether it works and actually satisfies the design, your screwed.

Why not have a coding bake off between their best Java programmer and their best Perl programmer. A set of 10 exercises to be implemented correctly in the shortest space of time. I bet the Perl guy would win. By days...

hopefully others can provide links to the myriad of articles about how good Perl is.

One last point that may break their 'perl is for scripting' mind-set - Perl is a PROGRAMMING LANGUAGE and an extremely powerful one at that - in fact one could quite easily argue that, featurewise, Perl is much more powerful than Java.

+++++++++++++++++
#!/usr/bin/perl
use warnings;use strict;use brain;

Replies are listed 'Best First'.
Re: Is Java really better than Perl???
by Abigail-II (Bishop) on Apr 21, 2004 at 11:01 UTC
    If you have four developers who are handy with Perl, Java, C++ and SQL, surely they can achieve vastly more than four purely Java developers.
    Not sure what you mean here. Four developers, one handy in Perl, another in Java, a third in C++, and the fourth with SQL? Or four developers handy in four languages? People good in multiple languages are harder to find, and cost more. It's not clear whether the company gets more bang for the buck that way. Furthermore, even if all your programmers can program in all languages, it's not clear at all it's good to actually write in different languages. And that's because of code reuse. You can't easily reuse your Perl module in your C++ program, or your Java class in your Perl program. That means, C++ libraries, Perl modules and Java classes will be developed providing the same functionality. You must have a pretty good argument to sell that to a manager (or to me - and I'm not a manager).

    There's nothing you can do in Java you can't to in binary. That's not a good reason for doing everything in binary. Similiarly for choosing Java over Perl.
    You don't understand the argument. It's not an argument to pick Java over Perl. It's an argument to not keep Perl.
    As for speed - runtime or development time. I can't think of too many cases where a Java developer will spend less time than a Perl developer implementing the same functionality. It doesn't matter if it took 5 hours to run or 6 hours, if Perl took a week to write and Java took a month.
    Of course it matters. If you're at the dentist, you want the drilling to be done over with quick, and you wouldn't appreciate if he says "it doesn't matter that the drilling takes an hour, does it? They assembled the drill in a week instead of a month!".
    If raw speed is a criteria - do it in assembler/C.
    Speed is almost always a criteria. It seldomly is the only criteria.
    Why not have a coding bake off between their best Java programmer and their best Perl programmer. A set of 10 exercises to be implemented correctly in the shortest space of time. I bet the Perl guy would win. By days...
    Well, they had a bake-off. And Java won. But a bake-off you suggest is pointless. You shouldn't pit the best programmers together - but the average, or even the worst programmers. Furthermore, development time isn't everything. Resource usage, speed, maintainability and reusability are vital as well. Besides, if you do 10 exercises, they will all be short programs, which will give Perl an edge. It doesn't measure the suitability for large projects though, which is likely to be more important.
    hopefully others can provide links to the myriad of articles about how good Perl is.
    Whether Perl is good or not wasn't the question. There are a myriad of articles to be found saying how good Java is - probably more articles saying so then you can find articles saying how good Perl is.
    Perl is a PROGRAMMING LANGUAGE and an extremely powerful one at that - in fact one could quite easily argue that, featurewise, Perl is much more powerful than Java.
    Shouting doesn't help. Since you say that it's easy to argue that Perl is more powerful than Java, could you give some objective arguments, without becoming emotional?

    Abigail

      If you have four developers who are handy with Perl, Java, C++ and SQL, surely they can achieve vastly more than four purely Java developers.

      Not sure what you mean here.

      Sorry , I meant each of them was quite competent in each langauge/domain. And whilst finding developers good in multiple languages is hard, my position stands that that these developers will be be better at development (as opposed to using neat features of one language) than a developer who knows one language.

      You don't understand the argument. It's not an argument to pick Java over Perl. It's an argument to not keep Perl.

      but they support that argument with the justification that Java can do anything Perl can - my position is that that is not a sufficient reason in itself to drop Perl

      Shouting doesn't help.

      I wasn't shouting, I was adding emphasis.

      +++++++++++++++++
      #!/usr/bin/perl
      use warnings;use strict;use brain;

        Sorry , I meant each of them was quite competent in each langauge/domain. And whilst finding developers good in multiple languages is hard, my position stands that that these developers will be be better at development (as opposed to using neat features of one language) than a developer who knows one language.
        Oh, sure, and if you get Linus Torvalds or Damian Conway as programmers, they are likely to be better at developming programs than Joe R. Programmer. Still, even if you have the four best programmers in the world, it isn't at all clear that it isn't better if they used one language between them instead of four.
        but they support that argument with the justification that Java can do anything Perl can - my position is that that is not a sufficient reason in itself to drop Perl
        It wasn't presented as a sufficient reason to drop Perl. It was one of the arguments of not keeping Perl. It basically nullifies a possible counter argument, that you can do things with Perl that you can't do with Java.

        Abigail

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://346846]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2024-03-29 11:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found