Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I started learning Java recently. I started learning it using books that I picked up from the library, some that I bought, and here and there from Java documentation.
The book that I use for Java was published in the year 2011. In 2012, Java8 will be released followed by Java9 in the year 2013.
The questions are:

  • How do I keep myself updated about developments in Java without having to buy a tome for Java8 and/or Java9

  • Is a book published in 2008 an outdated book for studying JSP and Servelets? I'm talking about Head First Servlets and JSP

share|improve this question
    
Books are cheap. They do weekend intensives that focus on technology updates, costing $2000 and up. Buy the book, or read the Java specification online for free. –  Robert Harvey Aug 29 '12 at 15:47
add comment

closed as too localized by gnat, Robert Harvey, Walter, ChrisF Aug 31 '12 at 7:31

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

Java versions mainly keep backward compatibility, therefore the practices you learn from those books will still work in the newer versions, however it may be wouldn't the best practice to use in the upcoming versions. Following the changes is not so difficult you need to learn the changes, new tools that become available. And it is quite few compared to the entire java technology as it. You can check the changes on the http://www.oracle.com/ and there are many resources available online for free where you can learn and keep track of changes, so its no need to buy a book to every release.

share|improve this answer
1  
I read on Oracle's website that there are free magazines that keep you updated about Java tech. I haven't found any, as yet. If you know, please post a link here. Also, do you know a better book than the Head First I mentioned? –  Dummy Derp Aug 29 '12 at 14:11
4  
+1 backward compatability, great point! You just need to watch a few screen casts, read some recent publications, and be openminded to new techniques... –  lwm Aug 29 '12 at 14:19
    
The reason why I posted this question is because I was told on SO that Java does remove method definitions from its standard library. deprecated code, if I'm not wrong. :) –  Dummy Derp Aug 29 '12 at 14:58
2  
Dummy Derp - Search for oracle.com/technetwork/java/javamagazine/index.html –  Martijn Verburg Aug 29 '12 at 14:58
    
@DummyDerp Yes, some methods are deprecated from version to version, but they will inform you which ones in the new release documentation. Anyway, you already know the language, so some changes in some functions are not such a big problem. –  adosaiguas Aug 29 '12 at 15:48
add comment

Depend on language. Some, like Python, change radically between versions. Python2 is not a Python3 generally, it was said, you can read this a 4 years old book, language syntaxes could be the same, best pratices not.

share|improve this answer
    
"best pratices not": how can best practices change so fast? A best practice should be based on mature ideas and experiences. How can a good idea become outdated in 4 years? Just curious. –  Giorgio Aug 29 '12 at 17:03
    
best practices are, like you say, based on experience. So at time t you have less experience than t+1year, then less best practices. you can always find better best practices except if you're a gourou i guess :) –  gorjuce Aug 30 '12 at 6:30
    
Exactly. What I mean is that programming has been around for > 50 years, I think certain best-practices should be well-established / well-known. I often have the feeling that best-practices emerge that probably were known in the past already, but we keep reinventing the wheel instead of reading the books of the gurus and learning from their experience. Sometimes I have the feeling we run in a circle, dropping ideas as old-fashioned, then rediscovering them 15 years later, and so on. –  Giorgio Aug 30 '12 at 7:26
    
i totaly agree with :) –  gorjuce Aug 30 '12 at 7:29
1  
In best practice should be considered, if the vendor changes the implementation of their tools e.g. refine, optimize the underlying algorithms of etc. It could very well change from "not recommended to use" practice to "it is nice to use" –  user1063963 Aug 30 '12 at 10:26
add comment

Languages don't get outdated. It's the frameworks and libraries that are "new", not the language features. Useful frameworks and libraries tend to tie themselves with a language so it gives the impression that old languages are outdated.

There hasn't been a new programming language idea in over 30 years if you take LISP into account.

share|improve this answer
    
language syntax to be precise. How fast do they outdate? –  Dummy Derp Aug 29 '12 at 15:01
3  
@Derp. If your language has no syntax (ie LISP) then the syntax cannot become outdated. It's a bit too much to explain in a comment. You could compare it to math. Calculus has not become outdated even though it's several centuries old. –  mike30 Aug 29 '12 at 15:07
    
Often languages are made outdated just to push the newest version onto the market, with little or no real innovation: It is often marketing and recycling of old ideas. On the other hand, a > 30-year old language like Lisp may not be outdated and perfectly usable for current applications. I think innovation is very important, but there is too much innovation just for the sake of it. Just my 2 cents. –  Giorgio Aug 29 '12 at 17:10
add comment

My advice on how to get answers to your questions is to find a good set of sites on the web (tech news sites, blogs, blog aggregators, vendor sites, etc.). Then, keep up to date by reading these sites regularly. The purpose of this is not only to keep up with the latest developments, but also to understand the history, direction, and rate of development of each technology area you're interested in.

Also, you should develop a repertoire of bookmarks to websites with reference materials for all of these technologies. Usually, all of this information (specifications, API docs, tutorials, examples, etc.) is available free on the web. The materials on the web are often kept up to date -- if it's not, that should tell you something right there. In many cases where a technology is evolving quickly, multiple versions of the documentation are available. This is important, as when a technology is moving fast, deployments will often lag by one or more releases. You might have to develop on an older release.

Now, sometimes books are good. I like to read books, and I have a lot of them. There are a bunch of reasons why reading books is nicer than reading stuff online. But books cost money, they take up space, and they're never with you when you want to look at them. Most importantly, they go out of date, at varying rates depending on the technology they cover.

Let's take 2008 as an example. If you have a book on the Java platform from 2008, it's probably still reasonably up to date right now. To know this, you have to know that there was a nearly 5-year gap between Java releases -- Java SE 6 was released in 2006 and Java SE 7 wasn't released until 2011. Presumably a book published in 2008 would cover Java SE 6. While uptake of Java 7 is healthy, many sites probably still have Java 6 in production, so the 2008 book would be pretty current. Oracle is stepping up the pace of Java platform development, though, so a 2008 book might end up going out of date fairly quickly.

You had asked about a 2008 book on JSPs and servlets. I don't know much about these areas, but I know that JSPs and servlets are part of Java EE. Java EE 6 and GlassFish v3 (the Java EE 6 reference implementation) weren't released until late 2009. Again, I'm not very familiar with these technologies, but this seems like a significant set of releases, and they wouldn't be covered by a 2008 book. While the 2008 book would be missing some significant new bits, I'd guess that it would cover some useful background and that many parts would still be relevant.

Now, if you had asked about a web programming book from 2008, I'm almost certain that it would be hopelessly out of date. It might have a little bit about Ajax and client-side JavaScript programming and some about REST vs SOAP. But it would likely not have anything about the proliferation of WebKit-based browsers, the explosion of mobile and tablet browsing, JIT-based JavaScript VMs, the broad range of well-developed JS libraries, HTML5, CSS3, the demise of Flash, the growing popularity of new scripting languages, etc.

Different technologies develop and different rates. You have to keep tabs on their development by reading the web. Only after you've done this can you assess the relevance or currency of any particular book.

share|improve this answer
    
based on what you said I decided to take a look at the contents of the book again. The book focuses on development of Servlets and JSP using Tomcat. No mention of GlassFish at all. –  Dummy Derp Aug 30 '12 at 13:13
1  
OK, that's a significant point. It's clear the book is not up to date. The info about Tomcat is potentially useful though, so the book might have some value. The thing is to make sure that the book isn't your only reference. If GlassFish is important, you'll need to track down other sources of info for it. –  Stuart Marks Aug 31 '12 at 0:53
add comment

Whether this is good or bad, the world of java webapp development is pretty stable. To be honest, this stability is quite close to stagnation, but the line has not been crossed yet.

So, you can find some practically relevant and useful information in 7 or even 10 year old sources.

Nevertheless, talking specifically of java sources, there is always a danger to mix up information you really need (for example, how servlets are implemented, how they can and should be configured, how to write your own filter) with those kind of information that is really obsolete and outdated. I'd rather not list anything specific here not willing to start a flame war :)

So, to conclude, in Java world, a book dated back to 2008 is hardly can be outdated.

As for the question "How do I keep myself updated about developments in Java", well, like any other information you can get it while reading news, blogs and SE posts. Besides, do not worry too much, there most probably won't be too many new syntax constructions in java 1.9 )

share|improve this answer
    
Alright guruji, I will keep your points in mind :) And +1 for clarifying the doubt on the book. I'm gonna place an order for it. Available at a subsidized rate in my country. Peace! :) –  Dummy Derp Aug 29 '12 at 14:55
add comment

i don't think java8 and java9 is going to have too much radically changes.

there are just going to optimize code to purpose of make java more "light" and flexible.

They are not going terminate too much thing that "old" java has , and for new stuff you can just read the blogs of java developers :) They couldn't add too much new stuff that makes you buy a new book.

share|improve this answer
2  
There are some significant Java changes on the horizon. See here. I doubt they will break any backwards compatibility, but they will certainly change the way some core things should be done (e.g. lambdas instead of anonymous classes). However, you are correct in saying blog-reading should probably be sufficient. –  XåpplI'-I0llwlg'I - Jan 17 '13 at 22:25
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.