Both Java and University are…. awesome
Posted on 11. Feb, 2010 by DavidR in DavidR, Personal/Life, Programming, Projects, blog
Yes, it has been far too long since my last post. I think the main problem was focus: leaving home for (Durham) University, and all focus on my side-projects was lost – rightfully so, in order to learn the ropes around uni. and get settled in on my course.
For a long time, I simply ignored coding and my projects – at least in my spare time. Very quickly things became dull (yes, that makes me a sad person). But I realise now that one of the great parts of having such an involved/interesting hobby/side-project is that it fills the void when everything else isn’t very good or interesting. Rather than thinking about some benchtest I failed, or how long the term is, I can put all that to the back of my mind and hammer out some code. It gives a focus when everything else has turned to shit, effectively
Well back on topic: I forgot about all that. So I neglected my code and my projects when I first got to uni. It made for a fun, but far more depressing time. When things were looking bad, there was no light at the end of the tunnel. I’m telling you… coding is a drug. It makes everything great…
So at the first chance I got, I immersed myself in code again. And now things are back to normal. I’ve also sorted out what I’m doing code and project wise, which is why I’ve made a return to the blog (without code, what’s the point in blogging on here? It’s the entire topic of discussion!)
Java
I was initially sceptical about Java. Even in my previous post I wasn’t entirely convinced. But now I’ve ‘seen the light’. Here are a couple of reasons:
- It makes application of decent SoftEng. principles really easy
- You can make variable-argument functions with amazing ease (maybe I missed something, but I found this far from trivial in C/C++)
- It helped me understand generics, even though C++ had templates (and Java generics are in fact more limited than templates. No idea why I never made use of templates properly)
- It’s fast to develop in, but the syntax is not insulting or eye-bleed inducing (and it’s similar to C++)
- It runs fast. The VM can push along some seriously complex things at damn quick pace! It surprised me – a lot.
- You can try new (risky) things, and if they’re wrong, they’ll break immediately rather than appearing correct and breaking further down the line. (This one is difficult to explain but I would often implement something crazy in C/C++ thinking it was correct, only to find some horrible flaw in it weeks or months later. This doesn’t seem possible with Java)
All in all, these reasons mean that unless I need to work with the raw underlying OS for some reason, Java is going to be my weapon of choice for pretty much everything else (and heck, I can even code JNI libs using C/C++ and plug them into my Java apps)
Project status list
- The Hive: Dead for now. (May be resurrected in Java)
- IP summative project (BlackJack): Complete
- IP formative project (‘Wormhole’/Millipede with OpenGL): Work-in-progress. Could be released if it’s good enough / if it doesn’t become property of Durham Uni.
- ‘Project Spitfire’ (server/client ‘dumb terminal’ style database engine): Prototyping
