Computer Related stuff which occupied me, and now occupies - you :-)
Subscribe to this blog
Follow by Email
Help me become a great Java developer - What should I learn?
This is the subject of an email I got today, the rest of the email is as follows: Hi Chaiavi,
I didn't work on java for a while now, i am trying to become the best Java developer ever - well not ever there will always be you ;-) so that in the future job interviews i will actually know something :-)
and i need your help to guide me in the right direction :- where to start? what are more/less impotent subjects? what are the best places to learn from, so that I will learn a lot in short time with as little effort as possible that it will be easy fun and not boring and that I can finish before the next job interview (whenever it will be)
i am looking for online sites, video eLearning and even books if they are really good (since books takes a lot of time to learn from)
you know what, ignore everything i just said and just guide me into becoming the great Java developer i can be.
Well, this was my answer, maybe some of it can help someone else also: Dear Joe,
I thought about the issue since you sent me the email till now...
What is the easiest way to gaining the most with least effort.
Well, as you well know, there is no magic here, and in order to become really the best Java programmer you can be, you must work hard; no lottery tickets here.
But, I can give you some tips from my experience.
So here it comes:
I do think that at least one book should be considered to be learned, it could be any book, though i won't recommend on learning a book that specifies in one area (such as xml, webservices, threads etc), learn a general java book, and here I would recommend a specific one, I heard great recommendations for "Thinking in Java" by Bruce Eckel.
If you can buy the fourth edition it will be great, it contains more up to date information (java 6 etc), and also if you'll buy it you will feel obligated to reading it, if you don't want to buy it, you can learn from the electronic book which Bruce offers for free:
Now, about some videos, I still recommend the great 7 disc learning software (AppDev) I have bought several years ago, in fact, I myself, am learning from it in my lunch breaks (I've just finished the 4th disc, and now hear it for the second time).
I also recommend Mark Dexter's nice Flash tutorials residing in Eclipse's web site.
Start from the Java for beginners (3 hours in 17 lessons or so):
I do think that you should also read some material from the web, specific material, focus on subjects in Java you have worked on like JSF - you already worked with JSF so learning a little about it won't be too hard, and when the "future boss" will ask you what you worked on, you can be more specific and impress him.
Another little advice, I know that I learn better when i'm not at home - get out, go to the University and learn, go to a library and learn, or else... it won't happen.
And the last and most effective advice:
Start Programming - Only when you program something, you feel the real thing, and you learn through your fingers how to do it best.
Lets say you want to read the contents of an android apk file.
Maybe it's yours and you want to be sure of the version, maybe you want to see if the code in that apk contains the latest feature you inserted. Or maybe it isn't your code but you want to check something with someone else's code (without breaking any license etc). In a nutshell - What are the steps one should take in order to explore an apk file?
1. Only read the manifest contents of an apk:
Use the following command (make sure you have aapt.exe and the apk file on your path):
aapt dump badging XXYY.apk
[Later Edit] 1.5 You want to change some resources of the apk using a nice GUI
Try APK Edit - It will enable you to do the following:
Change icons of your android application.Change the applications name.Edit the localized text (Strings.xml) used in applications.
2. You want to read all of the apk's contents:
Method A. Use the following tool: apktool (apktool d filename.apk) [It will generate .smali fil…
I have decided I needed a quick GUI creator which can create a small exe file displaying the GUI, with no system dependencies like a .NET framework or Java runtime.
What options do I have for a Quick GUI Creator?
Maybe there are many options I am not aware of, but after extensive searching I found these two:
Auto Hot keys
(Saw some recommendations to try Delphi or Pascal for this task but I passed)
Both tools began from the same code source, autohotkeys branched off and continued to be open source while AutoIT is more commercial.
I have compared the two (well, not actually compared, just google'd out other's comparisons) and found out that the AutoHotKeys is slightly better and is more open sourced (which makes it the better solution) but lacks in one field which is crucial for me - the script syntax is awful!
That tipped the balance (as a programmer i couldn't stand AHK's syntax) so I chose AutoIT.
Java is a great programming language but it has a big flaw - it's GUI framework sucks!
I am talking about building simple client-side applications.
If you don't want to mess with any web gui framework then you are bound to use swing.
You can always build swing writing the text and imagining how it will work but any smart programmer will search for a nice Swing GUI builder which will enable him/her to have a WYSIWYG sort of framework to work with.
There are several options of WYSIWYG frameworks to pick from, the most noticeable till the July (2011) was Netbeans' "Matisse" GUI builder.
There were others of course but none as free or as good as Matisse.
The biggest flaw of Matisse is that it doesn't reside on the best IDE out there - eclipse, but it can be found only on netbeans which isn't as good as Eclipse (Doesn't even have a "hover" feature to name one great flaw of netbeans) so if you want to build a GUI supported by good java logic you&…