Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: How would you fix Java?

by Aristotle (Chancellor)
on Apr 21, 2003 at 13:56 UTC ( [id://251993]=note: print w/replies, xml ) Need Help??


in reply to How would you fix Java?

I don't know if it's been pointed out already (too many links to check), but if you haven't seen this post, Re: Re: Perl falls victim to shifting trends(Opinions/Comments From The Other Side) is beyond well worth a read. You will probably also enjoy Perl Functionality in Java.


"It takes too many lines just to write a simple program."

I don't really view this as a negative point.

Yes, it is, though the real issue isn't "too many lines for a simple program".

If I had a nickel for every time I've written "for (i = 0; i < N; i++)" in C I'd be a millionaire.

— Mike Vanier

The real problem is when a considerable portion of your code consists of red tape. Why muddy the clarity of an algorithm with things that the machine can keep track of for itself? Sure, efficiency is occasionally a valid concern to do that - but far less frequently than most people (probably) think.

Verbosity doesn't equate to maintainability. Actually, I find that brevity does far more so; the sad truth is that most people simply can't express themselves both briefly and concisely, so the typical snippet of brief code is much less clear than it could be. This is what the quote Make it possible for programmers to write in English and you will find the programmers cannot write in English refers to.

I guess verbose languages give folks a sense of productivity - "I'm writing a lot of code, so I must be getting a lot of work done, right?". Well, I go to great pains to make my code brief, concise, readable, and maintainable, all at the same time, and in terms of LoC (lines of code) per hour, I'm pretty slow as a result. But I've also found that the resultant code is usually very flexible, without arbitrary limitations (simply because Perl itself does not place any of them - memory size is the limit, is just the most obvious example), and most of the time can be extended in crazy ways very easily.

Esp if you figure in the killer application that is CPAN, the latter point can grow to aweing dimensions.

Personally, I would like to have had first hand experience with Java - both to know what I'm talking about, but also because it's such a highly markettable skill. Well, I got deep into Perl first, which sealed the fate of Java with me. I attacked several Java books trying to get with the swing of things, but I simply never get further than halfway through because it's so boring and longwinded to do even the simplest things. I just can't be bothered dealing with the red tape. It's mindless drone work; I want to concentrate on my algorithm, or generally speaking the task at hand - not the logistics required to make it happen.

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re: How would you fix Java?
by pfaut (Priest) on Apr 21, 2003 at 14:06 UTC
    I guess verbose languages give folks a sense of productivity - "I'm writing a lot of code, so I must be getting a lot of work done, right?"

    I remember a friend telling me about his dismay when learning about the definition of 'work' in physics. I forget the formula he used but it's a measure of how much is accomplished and not the effort expended to accomplish it. If you bring effort into the equations, you're measuring efficiency.

    90% of every Perl application is already written.
    dragonchild
      It's W = F * d, force multiplied by distance. (Actually, that should be x, a vectorial multiplication, because force has a direction, but whether that is necessary depends on what you are trying to calculate.) You have a point, strictly speaking, but I'm using the term as it's used colloquially.

      Makeshifts last the longest.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-04-25 07:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found