From PHP to Java. Any advice?
<p>I've been doing web application development for the last 3 years in PHP. I'm now on the verge to give Java a go. My last use of the language was nearly 8 years ago and was mostly academic. </p>

<p>I'm reasonably well acquainted with PHP's object model (version 5) and I have almost exclusively been coding in OO. I would now like to transport that experience and use it to develop in Java.</p>

<p>Where I'm coming from:</p>

<ul>
<li>linux as a desktop and server</li>
<li>Vim/gVim + plugins as an editor</li>
<li>MySql for db</li>
<li>apache httpd</li>
<li>experience with a bunch of PHP frameworks, Zend+Doctrine being the ones I use most</li>
</ul>

<p>What I've garnered so far about a move to Java:</p>

<ul>
<li>I need an IDE: IntellijIDEA, NetBeans or Eclipse</li>
<li>I need to pick a development framework. Some recurrent names: Spring MVC, stripes, wicket.</li>
</ul>

<p>Now I need some insight that could help make this transition smoother. But from the way people talk about it, Java seems to be an entirely new beast with its own ecosystem. It sounds as though moving to Ruby or Python would actually be easier, which is curious since, when I look at it, Java conceptually seems the closest to PHP, albeit stricter and precompiled. </p>

<p>As weird as this may sound, very few people have publicly documented their experience of such moves. I have searched google, amazon and stackoverflow for similar questions and the results leave to desire. I just can't believe that I would need to start the same as a newbie if I wanted to be productive as a web developer in Java fast.</p>

<p>Anybody is welcome to respond, but I somewhat think that people with some valuable experience in both languages would enrich this discussion the most.</p>

<ul>
<li>What helped you get going quickly in Java? </li>
<li>What concepts are omnipresent in Java and absent from PHP and vice versa?</li>
<li>Some gotchas for PHP developers going Java.</li>
<li>How long before you felt the transition was complete?</li>
</ul>
