A cynic would argue that your customer didn't ask for distributed objects and they were put in to give the do-nothing architect something to do. They would also say its a large scale payments project because you're using j2ee (tell me you're not using Tivoli, because that would really amuse me).
It would be a standard, not-at-all clever payments project if you were using perl.
But Java is, umm, FREAKING TYPE SAFE. Duh. Type safety is one of the most important features of a language that's going to be used in large systems maintained by a number of people.
People say so. Must be true then. However I use dynamic typing all the time and rarely have been tempted to add integers to strings. Just how big a problem is static typing fixing -- because it is one enormous pain in the ass?
I am not l337 -- I am just a perl programmer. It was a feed server that pulls in 100's of news feeds (in various formats) over HTTP and processes them before writing into a content database.
The original comprised of 20 odd Java classes (none of which seemed to do much), produced high load on the database and fell over in busy periods. It fell over so much I wrote a perl script to restart it when it hung -- so we had something while I wrote the replacement.
The replacement was an unthreaded perl script using LWP, DBI and command line Xalan. It is much smaller, more stable and has better logging (log agent). I was easily able to add caching and checksumming of the HTTP feeds so that database load went down (around 10 lines of code) and performance went up. A truly simple app with a simple solution.
I am a perl programmer (used to be a Java one -- from the time it was pre-release) who agrees with the question. I've seen several perl programs replaced with Java at great expense and trouble. One of them was completed late and the other two failed.
I've also replaced a Java program with perl. It took a team of Java programmers months to build and ended up as a huge OO, unstable mess. I replaced it in 5 days with a perl script that tied together quite a few CPAN modules. I got a minimum of a 12x speed increase (perl allows you to express algorthims you wouldn't attempt in Java) with far less code. Its more stable and maintainable than the Java monster it replaced.
It breaks my heart to see the amount of BS and sheep like behaviour going on in the computer industry. Perl really is an excellent language for a lot of industrial applications. Complexity is the enemy of good working code.
I work with other peoples code everyday. I don't think my life would be made any easier with literate programming -- there is far too much documention to go through in the time available anyway.
The things that make debugging easier are logging (the ability to turn logging on to a high level is priceless) and simple code. The fancy distributed OO monsters are the worst things to maintain -- adding heaps of description text would just makes this worse. Since I've had to work with other peoples code my whole programming world view has changed. Good code isn't clever or fashionable.
Incidentally, the most useful tools I've found for problem solving an unknown mass of program are gnu grep (grep -ri) and find (find -mtime -1).
My amateur DJ friends find out about/sample music online before buying the vinyl. They spend a huge part of their income on music. Probably more since they started using P2P. One interesting thing is that the variety of music (a few breaks mixed in with the house, a touch of Drum and Bass) is increasing because of this.
In fact, with dance music, the record labels could easily afford to make the 12 inches all available online for free -- the Vinyl will still get bought. The current system used by some online record stores (crappy 30 second sample) is better than nothing, but nowhere near good enough because its hard to get the flavour of a record until you hear it all the way through.
I don't understand the physics behind it but I'm a time traveller who's come from your future and would say that your 3rd point is wrong because I am here.
I mostly have to keep this quiet so that I can make money on the stockmarket and enjoy my hobby of watching large natural disasters. I know I'm safe posting to Slashdot though because nobody takes my comments seriously.
With JBoss and the other open source tools it's the feel of a well supported commercial environment with all the source goodness you can read, and it scales up to enterprise class systems and development methodologies, try that with Perl/PHP
I have, it does. Oh, it required less developers, performs better and I didn't have to learn 1000 acronyms to get there. I'm not paid by the hour so I keep it simple.
I agree. I lived in a saltwater dock on a damp wooden boat for 2 years and had no problem with a generic laptop (which I mainly played games on as I had no internet connectivity).
One thing to look out for though -- my laptop got stolen. Security isn't as good on boats as in houses.
I second that. I first read this after programming commercially for 10 years. I found it hard going (and its a book for undergrads!) but , absolutely, without doubt the most rewarding book on computer science that I have ever read.
Design patterns, extreme programming, learning language X are all very good but SICP is on a whole different level.
I use cygwin at work as I need Windows to run Outlook but still want bash and cvs available locally. I tried X but ended up just relying on rxvt straight under the Win 2K desktop.
Using rxvt in this way really flies and I don't miss X at all. In fact, this method has brought me back to command line alternatives that are quite a lot better in most cases (OK, I wouldn't want a terminal version of the Gimp but for most things...)
You jest. I've just re-written some Java stored procs in pl/sql and got a 20x performance improvement.
The Java is stored as bytecode which doesn't give DBAs the chance to review shitty developer code. Its also pretty hard to debug at 3am when something goes wrong (where is the stored proc code -- in the developers CVS repository somewhere). Java has no place in the database.
I read this last year after it being recommended on Slashdot. Hard going but without doubt the best book on computer programming that I have ever read.
I totally agree. I'll work through whatever broadband obstructions are put in place (pay more, settle for a thinner pipe) but there is no way I want the constant worry of going metered.
Trolls and cheaters get a hard time on servers where there is a community of people who regularly get together. The best CS servers I have been on haven't relied on technology to keep the game clean -- a decent admin with the power to bitchslap is just fine.
It would be a standard, not-at-all clever payments project if you were using perl.
People say so. Must be true then. However I use dynamic typing all the time and rarely have been tempted to add integers to strings. Just how big a problem is static typing fixing -- because it is one enormous pain in the ass?
The original comprised of 20 odd Java classes (none of which seemed to do much), produced high load on the database and fell over in busy periods. It fell over so much I wrote a perl script to restart it when it hung -- so we had something while I wrote the replacement.
The replacement was an unthreaded perl script using LWP, DBI and command line Xalan. It is much smaller, more stable and has better logging (log agent). I was easily able to add caching and checksumming of the HTTP feeds so that database load went down (around 10 lines of code) and performance went up. A truly simple app with a simple solution.
I've also replaced a Java program with perl. It took a team of Java programmers months to build and ended up as a huge OO, unstable mess. I replaced it in 5 days with a perl script that tied together quite a few CPAN modules. I got a minimum of a 12x speed increase (perl allows you to express algorthims you wouldn't attempt in Java) with far less code. Its more stable and maintainable than the Java monster it replaced.
It breaks my heart to see the amount of BS and sheep like behaviour going on in the computer industry. Perl really is an excellent language for a lot of industrial applications. Complexity is the enemy of good working code.
The things that make debugging easier are logging (the ability to turn logging on to a high level is priceless) and simple code. The fancy distributed OO monsters are the worst things to maintain -- adding heaps of description text would just makes this worse. Since I've had to work with other peoples code my whole programming world view has changed. Good code isn't clever or fashionable.
Incidentally, the most useful tools I've found for problem solving an unknown mass of program are gnu grep (grep -ri) and find (find -mtime -1).
In fact, with dance music, the record labels could easily afford to make the 12 inches all available online for free -- the Vinyl will still get bought. The current system used by some online record stores (crappy 30 second sample) is better than nothing, but nowhere near good enough because its hard to get the flavour of a record until you hear it all the way through.
I mostly have to keep this quiet so that I can make money on the stockmarket and enjoy my hobby of watching large natural disasters. I know I'm safe posting to Slashdot though because nobody takes my comments seriously.
I have, it does. Oh, it required less developers, performs better and I didn't have to learn 1000 acronyms to get there. I'm not paid by the hour so I keep it simple.
If you don't want to be hooked by some large data-mining net you can always read the book in the library and take handwritten notes.
One thing to look out for though -- my laptop got stolen. Security isn't as good on boats as in houses.
Design patterns, extreme programming, learning language X are all very good but SICP is on a whole different level.
There already. Missing none of it.
MInistry of Truth
Using rxvt in this way really flies and I don't miss X at all. In fact, this method has brought me back to command line alternatives that are quite a lot better in most cases (OK, I wouldn't want a terminal version of the Gimp but for most things ...)
The Java is stored as bytecode which doesn't give DBAs the chance to review shitty developer code. Its also pretty hard to debug at 3am when something goes wrong (where is the stored proc code -- in the developers CVS repository somewhere). Java has no place in the database.
I read this last year after it being recommended on Slashdot. Hard going but without doubt the best book on computer programming that I have ever read.
Those days are over.
Trolls and cheaters get a hard time on servers where there is a community of people who regularly get together. The best CS servers I have been on haven't relied on technology to keep the game clean -- a decent admin with the power to bitchslap is just fine.
Me too. I'll spend the time I save writing code instead.
Crap product (IMHO). Great technical support. Its web based and you can even raise faults on the tech support system itself.
Independent software vendor == Office team ?
Electronic versions of fake IDs become so much easier. Hours of fun and the chance of free stuff!
It would be much scarier if the goverment used a solid and secure technology.
Why not? Its happy as UTF-8.
I was going to go across to SOAP because the spec looked all technical and clever. But now I'm staying with XML-RPC because it isn't evil.
Dreamcast owners are laughing at you.