Journal FortKnox's Journal: Java vs Perl 60
I made a comment in CyranoVR's journal (summing up bltzu's comment), and thought it was a lot of my opinion put into a couple sentences:
Programming is 20% design, 10% implementation, 5% testing, 65% maintainence.
Perl makes 10% of it cake.
Java makes 65% of it cake.
Now take your pick ;-)
That being said, Perl is great for small project, and Java is much better suited for major/large projects (where maintanence is much more of an aspect).
I'll use /. as an example. It was written in perl, because it was a little college project, but it grew into this massive project. Now maintanence is a bear (find bugs on Wednesday deliveries!), and (I believe) if it was rewritten in Java, using fancy technologies (struts, hibernate, Xdoclet, etc...) it wouldn't be nearly as difficult to manage.
Feel free to discuss/argue (you know you want to) ;-)
Programming is 20% design, 10% implementation, 5% testing, 65% maintainence.
Perl makes 10% of it cake.
Java makes 65% of it cake.
Now take your pick
That being said, Perl is great for small project, and Java is much better suited for major/large projects (where maintanence is much more of an aspect).
I'll use
Feel free to discuss/argue (you know you want to)
bah! (Score:1)
j/k
While I agree Perl is best for small, quick and dirty, one-shot throw away programs, I would not choose Java for anything, no matter what the size.
*shudder*
Re:bah! (Score:2)
Re:bah! (Score:1)
Actually never written machine language, but I've done a little bit of java. Enough to know that I prefer C or even C++ (and I have more than a few complaints about C++...).
I'm one of those people who despises garbage collection, for example. And while I appreciate good (informative) variable and function names, tradition in java demands names that are absurd. The whole module structure thing is horrific. And how can you possibly do anything interesting without pointers wi
Re:bah! (Score:2)
Garbage collection is the only way--it has improved tremendously and is so unobtrusive, you forget about it (as you should). You can actually concentrate on better implementation instead of mallocs and deletes.
What do you really need multiple inheritance for?
Character arrays are pure evil.
Buffer overflows are bye-bye.
Exceptions are powerful if handled correctly. They also remove a lot of shit like:
Re:bah! (Score:2)
java demands names that are absurd
There are no real 'demands' on the names. The rules for names are pretty much the same as in C.
And how can you possibly do anything interesting without pointers
This is a common misconception. In java, EVERYTHING is a pointer. It just knows when you are refering to the pointer, and when you are refering to the value. You are just passing around refe
Re:bah! (Score:2)
Multiple inheritence (I'm using the definition of 1 class having 2 concrete object parents) is faulty by design. It isn't truely OO, and is just the bastard child of C++.
here here!
Actually, exception handling with the hierarchy I've found to be quite elegant. Really allows you to handle exceptions the right way, and ignore checking for things in the middle of business logic.
Again, exactly. I like to know what I'm catching and deciding whether or not I need to throw it back to the
Re:bah! (Score:2)
This is easy (Score:2)
Learn Java In 21 Days purchased in say 1996
Learning Perl purchased in say 1997
I can program in Perl, and I still can't program in Java.
Perl wins.
Oh and as a (Windows) Sys Admin I hate Java and all it stands for.
Re:This is easy (Score:2)
Re:This is easy (Score:2, Informative)
Re:This is easy (Score:2)
My brain doesn't work for programming. I'm supposed to be teaching History for chris'sake! I use Perl to get shit done once. It takes a little longer (thie first time) but then it's all easy.
I actually tried Mastering Java, and Thinking in Java [is-a-geek.org] but it turns out I can't think in Java [is-a-geek.org] at all. I (seriously) have trouble ordering Java at Starbucks.
Java (Score:2)
i've been messing with java, well since the 1.0 days, out of simple curiosity (i was just getting up to speed with Perl -- heh, funny eh?).
I love perl, its my first language I ever learned. its fun, expressive and enables some very cool things, especially when you make it look like an OO language
I have found in my experience, t
Re:Java (Score:2)
Shit, most of those who complain about the classpath don't even know what LD_LIBRARY_PATH is. They probably think that binaries automagically find their non-local code.
Of course if they again wrote any real code (i.e. large enterprise projects) they would run into some hassles of SE project ma
Re:Java (Score:2)
Generics and asserts will change the way I code
Re:Java (Score:2)
Are you kidding me? (Score:2)
Java handles the symbol table wrangling, and encourages descriptive identifiers, so why not abuse it!?
My attitude is... (Score:2)
*ducks*
Actually, I would say that about Apple BASIC.
*ducksagain*
Cheers,
Ethelred
slight correction (Score:2)
-Ab
Re:slight correction (Score:2)
Yeesh! [myoldcomputers.com]
;-)
Cheers,
Ethelred
Re:slight correction (Score:2)
AppleSOFT BASIC, which had floating point and other goodies, was only available on ROM later on in Apple's history, though older Apples could always run they had a "language card" that essentially bank-switched 16K of ROM. (This functionality and hardware was built-in to the Apple IIe.) I always prefered loading "Integer BASIC", not because it wasn't MS, Fear and Loathing of MS happened later, but because then you had a mini-assembler mode that made it easier for me to write 6502 asse
Re:My attitude is... (Score:2)
PHP sounds like a drug or something.
Java rules the wasteland! Standing proud, not ducking...take your best shot.
Re:My attitude is... (Score:2)
And that's exactly what it is. Toke up, baby! PHHHHHHP!
Java rules the wasteland!
It made the wasteland!
Cheers,
Ethelred
Re:My attitude is... (Score:2)
Implementation derives Maintanence (Score:2)
From this we want to develop a new system but the central parser engine we don't want to touch. It would be great if it could just be cut and pasted into our CVS module.
Problem are those implementation choices. They didn't leverage the power of OO in a project with many sibling classes. No factories for shared global distributed functions, stylistic changes from one ki
Re:Implementation derives Maintanence (Score:2)
Hey! I know the answer to this one! (Score:2)
End of argument
Re: (Score:2)
Re:Hey! I know the answer to this one! (Score:2)
"What IDE are you using?" he asked.
"Vim."
"Like the text editor?"
"Vim is an IDE."
"Why would you use that?"
"Can your IDE do regex with your fingers on the homekeys and fit on a 1.44 floppy?"
And I wasn't being facetious. There's a reason why yo
Re:Hey! I know the answer to this one! (Score:2)
He tried it for a week and uninstalled all that other garbage shortly after.
Re:Hey! I know the answer to this one! (Score:2)
Bwahahahahaaa
(yes, I do use it. no, it is not my preferred editor - I use notepad [tm])
Re: (Score:2)
Re:Hey! I know the answer to this one! (Score:2)
Every written a neural network in Java? Then did feedback looping and such to it?
Having a single 'neuron' object, and just mapping it around with managers and controllers makes Neural Nets fun and easy in java.
Re:Hey! I know the answer to this one! (Score:2)
As an example - we're building a system that resides on PDAs (connected to tiny GPSes) to adapt to user schedule and calendar based on the position - to even get the basic thing up and running, there is so much that I have to do - that I'm better off using something simpler like C and reinventing the wheel.
Do not get me wrong - I think Java is a great
Python (Score:1)
Python, Monty (Score:2)
Er...Smalltalk!
Uhm...Forth!
Actually, I don't have a flying fuck of a clue what I'm talking about (being a PHP monkey and all), but a true geek would never admit that. So PYTHON IS TEH SUCK d00d!!!1!11!!!
Cheers,
Ethelred
Re:Python, Monty (Score:2)
I love these techno-religious battles. They're so meaningless, yet if everyone just listened to me, the world would be in a lot better shape.
Re:Python, Monty (Score:2)
Re:Python, Monty (Score:2)
I should research it more instead of hearing about it second hand. Our prof in OO Web Development was none too fond of Struts--he loved Tomcat though.
In that class, I wrote my own MVC app without learning what MVC was yet! That was the only time in my entire life that I re-invented the wheel....
Re:Python, Monty (Score:1)
I won't say it's the best thing around, but we (read as: people who earn their money with Java and are on limited budgets, like me and FortKnox) do with the tools we get.
Re:Python, Monty (Score:2)
Just wasn't really sure if it was useful or not....
More and more, I'm earning my money from Java too--which is fine be me. I could be stuck somewhere, like some middle aged guy, writing mainframe assembler or COBOL.
Re:Python, Monty (Score:1)
Don't diss mainframe assembler or COBOL. These guys will still have *better paid* jobs when the Java guys are begging for quarters on the street. It might not be the most interesting job, but some of thes
Re:Python, Monty (Score:2)
However....
I don't really see a dearth of good paying Java positions either, to be honest, and I see COBOL and mainframe assembler slipping more and more away to obscurity. Eventually there will be no need at all for that type of programming someday as s
Re:Python, Monty (Score:1)
Think again: banks are fond of their mainframes. Mainframes will still be treating your financial transaction in 25 years. You can trust me on that.
Good Java programmers are NOT a dime a dozen as far as I can tell.
Well, I hope I am one of the good ones :-)
So, are you home now or at work? I wish I was in Europe right now so work would be over for the day. :)
Last post I was at work on dial-up with my iBook. Now I'm at my parents on the machine I'm installing fo
Re:Python (Score:2)
Re:Python (Score:1)
Simple (Score:2)
C# and the .NET Platform make it 100% easy. Double-plus good.
;-)
Re:Simple (Score:2)
Re:Simple (Score:2)
I'm sorry, but I don't follow you exactly. What do you find annoying about C#? The name? Or something in the language? If it is the language, what is it specifically you don't like?
Java good. (Score:1)
That said, when I think of Perl, I think of Slashdot. In a non-positive way.
Java is not a cool language. C, C++ and Perl are cool. I've heard good things about Python, but sometimes it feels it's just the BSD of programming languages, for people who think perl (Linux) is too mainstream.
What I most like about Java is that you have to be explicit. There isn't a lot that is just assumed, implied or do
Re:Java good. (Score:1)
Reference an array index that is out of bounds? Not a problem, Perl grows the array out to the size of what you tried to reference!
Use a number in a string context? Not a problem - Perl converts it on fly to be used as a string!
Forgot a parameter for a function? Not a problem - just about every standard function has a default variable to be used for function arguments!
Then again, Java probably does more stuff automagically th
PHP (Score:2)
The abstraction power of Perl with C/C++/Java syntax. The best of both worlds.
Perl is a generally excellent language with an excellent implementation, but has the misfortune of having a far too low ratio of real programmers to webmonkeys and garden-variety sysadmins.
Java is a pretty damn good language (especially in 1.5) with what has generally been crappy implementation, but it's almost exclusively used by real programmers.
I'd put PHP in between Java and Perl in all respects. I like balance and all
What does PHP stand for? (Score:2)
I've never gotten past how HTML/CGI/template-processing oriented the whole idea seems. Change my derelict views! I am but a system programmer.
In that same respect, imagine the laughs I get when I suggest to people that javascript (well ECMAscript) would be a kick-ass replacement for perl or python as a system programming/scripting language. (But really, I mean, imagine Ruby, only less awkward and more intuitive)
Is the same stigma/reality relationship true for PHP?
Re:What does PHP stand for? (Score:2)
Actually, it stands for PHP Hypertext Preprocessor, though it is based on a series of Perl scripts devised by the original author called Personal Home Pages.
I'd say that PHP has that stigma. And indeed, its roots are (as mentioned above) as an HTML-embeddable language (and indeed, as far as I know, the language explicitly requires that all code be contained inside <?php ?>). But that leads me to what I view as its greatest feature: the fact that it is oriented towards templated output (though it's
Testing 5%? (Score:1)
I've been "promoted" (quoted because I'm still not sure if it is meant to be a promotion) to a job where my responsibility is managing testing efforts on a project. When we build the schedule, I make sure that 40% of the budgeted hours go to testing (some for planning, some for execution--depends on the pr
Re:Testing 5%? (Score:2)
Re:Testing 5%? (Score:1)
We have a large system in a financial services company that is going through some small, but significant changes, i.e. the changes in the code are small relative to the impact it will have to the business. This system is a large legacy beast that crosses all lines of business in our division and interfaces with systems (some new some legacy) in other parts of the enterprise. There is some
Hmm Interesting (Score:1)
I think that programming skill has nothing to do with what languages you know.
I would tend to agree with this with the exception of Assembly Language, We have 2 guys here that Know assembly inside and out and they can out program the rest of us in any language they might choose to, it has inspired me to start picking at learning assembly in my spare time, I had several classes in College where we had to do a smattering of Motorola Assemb
As Adages Go... (Score:1)
Isn't necessarily true. Good Perl should be almost as easy to maintain as Good Java. It's more the programmer and the infrastructure they used than it is the language, although the language can help or hinder in certain cases.
Let's make this clear: I love Perl. I don't know Java. I've tried to deal with Java several times but just couldn't deal with the verbose syntax, especially after having several near meltdowns dealing with MFC. I picked up Pe
Re:As Adages Go... (Score:1)
COBOL is the best tool for back end business processing hands down. Java is a close second.
Every tool has its uses. You wouldn't use a hammer as a vise just as you would probably not want to use COBOL to run a large-scale website on the front end (although you may want it to handle back end data retrieval and manipulation, but that's another discussion altogether).
You'd be surprised at what can be done with COBOL on the good old mainframe these days (as long
SET CLIFF-P TO OWNZOR-D (Score:1)
For what it's worth, my mother was a COBOL programmer. It's the language that gives me migranes, not the people that use it. Again, like I've already said -- the best tool for the best job. If your problem is a screw, and COBOL is a screwdriver, then use it! =)