Book review published
Thursday, July 3rd, 2003Had to knock this out while on holiday. A review of an SCEA certification book. Editing is good this time, the order might have been changed, but still reads very close to the original edit I submitted.
Had to knock this out while on holiday. A review of an SCEA certification book. Editing is good this time, the order might have been changed, but still reads very close to the original edit I submitted.
You see so many lists of bad things about Java from people who are blatantly non-Java. It really comes down to what Java lacks that C# has, or C++ has, or Perl has etc.
After BBC Basic and LPC, I learnt Pascal/C/Java and Perl all at the same time. I’ve continued to use Java since then and have used and studied perl to a slightly lesser amount. C and Pascal I’ve generally not bothered with. So I felt I wasn’t a bad choice to provide a list on what I hate about Java….
http://www.generationjava.com/articles/java/whatihatejava.shtml
Various people talking about Paul Graham’s latest article http://www.paulgraham.com/hp.html. His basic point being that painters and hackers are akin. I’m utterly unconvinced, but possibly because I don’t understand his definition of a painter. If he just means the renaissance style painting shop, then maybe. It was a point at which art was at its most craftsmenlike, before it became pretentious nonsense.
I do completely agree with him that ‘computer science’ and ’software engineering’ are utterly wrong as terms. I am not an engineer in any way.
The way hackers tackle a piece of code, by sitting and playing and tweaking until they coomprehend it utterly, is exactly the way I believe mathematicians deal with an item of mathematics. It is full of intuition and ‘leaps of faith’ to reuse a term that does not fit with mathematics. This could possibly just be how I handle mathematics, but it fits other mathematicians I’ve computed with.
Computer scientists on the other hand are often far less ‘hacky’. University has imbued them with beliefs that they are engineers and should have lots of black and white answers to questions. Odd that, as mathematics is the only study in which black and white answers can exist, and even then only in certain areas.
I do like how Paul Graham talks about the day job choice. It definitely fits with the way I separate open-source [ie Me] code and day-job [ie Work] code. My latest job is nice in that I can have some cross-over, which is nice, though I’m glad I’m no longer paged at 3am.
Generally my problem with his article is that mathematicians are not scientists. They are makers. All Paul Graham is really noticing is that maths is an art, not a science, and that programmers are a novel new brand of mathematician.
We are mathematical craftsmen.
With my minor differences from the article in my defence of maths, I agree with lots. Especially what I call code responsibility. Code ownership is bad, but every code should be under a single person’s responsibility, even if 8 people hack on it from time to time.
I believe I suffer from the same problem as Paul Graham, I believe in my own education, but I have long thought that mathematicians make the best ‘Pragmatic Programmers’.
I happened to be googling for comics I used to read when I was a child, Transformers UK, Chromobots, Battle Action Force… I started looking because I’d just seen the terrible Buckaroo Banzai and got it confused with Rocket Raccoon. Anyway, I found this wonderful site about the subliminal Charley’s War series that used to be in Battle. Battle was a comic made up of many shorter stories, 4 pages or so a month per story.
Battle was a pro-war comic but Charley’s War was a superbly researched series set in WWI and all about the utter stupidity of that war. I hadn’t realised how well it was written, to me at my young age it was just the best story there, with Charley, a character who was easy to relate to.
The other great story was Johnny Red, a story about an english fighter pilot flying sturmoviks with the Russians on the eastern front in WWII. Both stories were also found in the Eagle comic and had a long history to them. Johnny Red was a bit Biggles, but also showed a side of the war which wasn’t very popular in other media, ie) the eastern front.
On slightly more up to date terms…. I hear a lot of people in the United States at the moment being quite anti the French, and to a certain extent the Germans and the Russians. There’s no understanding of how the nations can be so anti-war. Well, it seems quite simple to me.
Look at the number of dead in WWI and WWII. In terms of deaths, the UK and the US were not hit nearly as hard as the French were in WWI, or the Germans and Russians in both of the wars. Throw in the French retreat from west africa and indochina, and the utter hell Russia has lived through this century, with Stalin’s genocides. It’s hard to imagine why they might be tired of aggressive warmongering. If not for the political situation the UK have had since Thatcher’s revival, I think the British would have joined suit.
A wonderful article detailing why Windows is still not ready for the desktop market yet.
OReilly have been pushing a whole slew of pocket references recently, and like the hopeless addict I am I’ve been aquiring. C/C# pock-refs will be useful as I don’t use those languages enough, but do have knowledge of them. I forget stupid syntacticaly things and hopefully these will solve that. The Perl and JavaScript pockrefs do a good job for me there.
Other new ones i’ve not aquired yet:
and a new Java series: [JavaTech] Best Practices.
While I don’t hold OReilly’s Java books to the level I hold their Perl books, [though some of their Java books are solid, especially IO/Network. I used to love Nutshells, but now feel I’ve outgrown them, or they outgrew me], they are usually good enough to be a leading candidate for my overweight tech bookshelf.
I didn’t notice this on other Java blogs… so just in case people missed it:
Sun hava an article on using Generics in Java 1.5.
Personally while Generics sound nice and exciting, I’m not convinced that they’re better than a good library of TypedCollections [ie) classes that do runtime checking against a specified Class]. My lack of convincing is mainly due to lack of exposure.
Something that does interest me is the job title of the author of the article: Market Development Engineer. Am I the only one who thinks that title sounds scary….
Builder.com decided to publish another set of tips of mine as an article. No complaints from me, more exposure etc, and more readers comments to cower in front of.
I referenced an open source component that a company named NanoTitan created. A simple thing which takes a snapshot of a GUI widget and saves it to file. I say simple, but there are some intricacies involved to do with GUI components loading and being painted that mean it’s not as easy as I first thought when the idea occurred to me. So using their version makes sense.
More importantly, NanoTitan have a far more extensive library of Quantity objects, a competitor to the relatively well-known Jade library. NanoTitan work with nanotechnology…. which has got to be the _cool_ tech until Quantum Computing turns up.
The SQL book I mentioned in the previous blog entry is:
SQL Performance Tuning by Peterulutzan and Trudyelzer.
Wonderful article as picked out by Cafe-au-lait. Well worth a read.
Only bit I pick fault with? The bit about reinventing the wheel. Reinventing the wheel means a large amount of maintainance. If I stick to JDK 1.1 and write all the additional bits by hand, of course this is bad. Should I write my own StringUtils or use Commons Lang?
Maybe the time spent reinventing the wheel woud be better spent building unit tests around other peoples wheels
That said, I agree that you shouldn’t choose middleware for middleware’s sake and that it is important to have a trust level for the wheel’s you buy/obtain from people.