Book Suggestions?

Miscellaneous Forums/General Discussion/Book Suggestions?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

I've recently blogged about all that, but here is a customized for you, because I think it is an important subject:

If you were really interested in Java and the like, you would not be spending your time on the BlitzMax forum.

Creativity attracted you to BlitzMax. But all those Java-jobs are located in enterprises, where you might find good salaries, but rarely something interesting or cool to do.

It's harder to make money with BlitzMax, because your only option for that would be self-employment.

I don't think that you have actually realized this, but by dropping out of college, you already made the decision that you do not want to work as an employee.

You probably believe that you can land a software developer job but just being a good programming, and now you are looking at Java and the like because that's where all those jobs and the seemingly easy money are.

Unfortunately, when the first bore-out and burn-out symptoms are developing, there is nothing easy about that money anymore, and even the best salary no longer compensates for your suffering. And when you are a creative person or somebody who enjoys challenges, these symptoms --will-- inevitably develop when you work for a corporation or large organization.

If you want to be creative and challenged, find yourself a startup to work for or start your own company. The latter is the very best option, actually.

I think your interest in Java and related technologies is probably based upon the wrong assumption that you believe you fulfill the job requirement checklist by knowing the required set of tools and that having the word "Java" in your CV or skills list will magically open the doors for you. Well, it won't, because this is not how recruiters work.

Without a college degree, none of the recruiters working for a large company will interview you for a software developer job. First of all, recruiters are no IT people and they won't understand what you are talking about in a technical conversation or whatever you mention in your cover letter. Unless it's a buzzword that appears on their checklist, it will be only noise to them.

But more importantly, even if they wanted to interview you for a developer position, their standard operation procedures wouldn't allow it because the corporate HR guidelines clearly indicate that a university degree is REQUIRED for such a job. It is also a written guarantee for the recruiters that they won't be held responsible for hiring an illiterate, big-mouthed dud. They still hire almost illiterate, big mouthed duds anyway, but they're off the hook by pointing at that Harvard PhD.

It's not about what you can or know, it's about what you have on paper. The college/university degree is an entrance ticket, nothing more, but certainly nothing less. You simply wouldn't pass any recruiter's checklist, not even if you were a better Java programmer than James Gosling, the creator of the Java programming language, himself.

Even if you're bored or have other reasons why you don't want to go there: Finish that bloody college. The lack of money and an early marriage were my personal excuses why I did not finish university. That marriage is long gone, but not having a university degree is still haunting me when I'm reading job ads.

Unless you are 100% certain that you want to be self-employed, by all means, finish college!


Here finally come my book recommendations:

Eckel was already mentioned and is great, but this one will get you there faster:
Head First Java by Kathy Sierra and Bert Bates.

You should also have "Java in a nutshell" by David Flanagan as a reference on your desk.


Head First Design Patterns. (Also Bert Bates, I think.)


Operating Systems Design And Implementation by Andrew S. Tanenbaum (the 'father' of Minix and Amoeba).


Since you like strong background material:
Compilers. Principles, Techniques and Tools by Alfred Aho, Monica Lam, Ravi Sethi and Jeffrey Ullman. Also known as the "dragon book".

Of course, you can also add Donald Knuth's "The Art of Computer Programming" to your shopping list.



C++ is a systems programming language. Where you want to go, it's sufficient when you can read it - meaning to have a basic understanding of it. Eckel also wrote a nice book named "Thinking in C++", by the way - before he turned to Java, before he turned to Flex, before he turned to C#, before he turned to Python.


In case you might want to take a look at Python (which you probably should), get "Learning Python" and "Programming Python", both by Mark Lutz, and maybe "Python in a nutshell" by Alex Martelli.


C#: Well, there now is a Head First C# book on the market, and even without knowing it, I'd recommend it because the Head First series is as awesome as it gets. Mono: A Developer's Notebook is quite dated, but nevertheless a great book.