tags:

views:

98

answers:

3

Hi all,

I am a C/C++ programmer with moderate experience in desktop application. (no web development). now I would like to move to web development. and I am considering Java and Wicket framework. but since Java is a vast language. Could you please guide me where to start learning Java. I mean what feature i should learn first. like Swing should be the first, i guess.

reason for choosing wicket is:- I can get the HTML/CSS done using some tool. and don't have to learn JSP, Servlet, XML and other stuff.

A: 

Well eventually you will have to understand all of these technologies (JSP, Servlet, XML, etc.) to be a successful web developer, but to get started you can probably treat the Wicket abstraction as non-leaky (Joel on Leaky Abstractions).

You don't have to know swing to get started with web development, swing is really only used on the desktop.

If you already know C/C++ you should have all the concepts to understand Java. See this stackoverflow question for a list of freely available books on (amongst others) java:

http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books

Marc van Kempen
you might need to know some Servlet stuff, what would he need JSP knowledge for?
bert
Granted, he may not come in contact with it if he chooses his jobs very carefully, but I suspect that there is a lot of code out there that uses it. Having said this, it was more the idea that you cannot get away with just knowing java/wicket, you will have to understand the technologies behind it (or even around it).
Marc van Kempen
Thanks Marc!!, well, I know the concept of JSP/Servet, as I started learning jsp/servlet a year back but then on the way i have to learn java bean, then got confused with jstl lib (for jsp pages). then i got to know that spring MVC is good frame work to be used and got cosfused with hibernate and and so on. So dropped java and move to ruby on rails. but ruby on rails is not good enough for my long term enterprise app. since my web app has strong logic behind the scene. (not just simple crud app). so i am back to java and found wicket to best suited, so i can start faster.
Sanju
+1  A: 

I think you might need to learn at least how to configure a deployment descriptor (web.xml) file for wicket. And I don't think there's a shortcut to know all of the involved technologies. You might need some basic knowledge of the underlying ones, since probably you'll get stuck and frustrated soon as problems arise.

I would recommend exhaustive and complete documentation, that cannot only serve as a tutorial, but also as a reference. I would recommend going to the source:

Good luck.

mrrtnn
+1  A: 

Java is quite simple language, compared to C++. You already know many of it's concepts - OOP, inheritance, generics, inner classes. Learn about interfaces, exceptions, basic concurency (the synchronized keyword).

Then you'll need to know what's in JDK and how to use the most used parts of it: * Java datatype framework (or how is it called) - I mean, things like List, ArrayList, Set, HashSet, Iterator, ... * I/O stuff - Streams, File, FileInputStream. * ... you'll find out what you need, usually from examples.

That's for Java.

Now for web, you'll need to know HTML (see w3c), HTTP (install FireBug and watch the communication; I mean, don't read the spec for a start).

Then for wicket, first read some tutorial's, my favorite are here:
http://ondra.zizka.cz/stranky/programovani/java/web/wicket/index.texy

Then read the book - Wicket in Action.

And in general - excersise everything you learn. Reading is not enough... Definitely you should create some console java apps before you jump to web and Wicket - because that puts many layers between your code and the observed output (Wicket, HTML, HTTP, browser, ...).

Ondra Žižka