Tuesday, January 27, 2009

Java + U

Java Everywhere

A rare opportunity for you to meet James Gosling @ Sun Tech Days 09.


A rare opportunity for you to meet James Gosling @ Sun Tech Days 09.

James Gosling, Vice President and Sun Fellow

The father of Java technology, James Gosling received a B.Sc. in Computer Science from the University of Calgary, Canada in 1977. He received a Ph.D. in Computer Science from Carnegie-Mellon University in 1983. The title of his thesis was "The Algebraic Manipulation of Constraints". He is currently a VP & Fellow at Sun Microsystems. He has built satellite data acquisition systems, a multiprocessor version of Unix®, several compilers, mail systems and window managers. He has also built a WYSIWYG text editor, a constraint based drawing editor and a text editor called 'Emacs' for Unix® systems. At Sun his early activity was as lead engineer of the NeWS window system. He did the original design of the Java programming language and implemented its original compiler and virtual machine. He has recently been a contributor to the Real-Time Specification for Java. He is currently a researcher at Sun labs where his primary interest is software development tools.

This year, he is starting his travel with a visit to Hyderabad, India. Register yourself for Sun Tech Days 09 and listen to what the father of Java has to say about its future. While you are at it, use the opportunity to network with your peers as well as industry leaders.

Monday, January 26, 2009

A new PHP IDE rolls into town - NetBeans

Was shocked the other day to hear that someone was using a certain IDE for PHP development.  That IDE being Netbeans.  If you haven’t ever used NetBeans it is an IDE project child of SUN and use to just be for Java development.

Looks like on the latest version (6.5) you get a whole slew of extra languages to develop in!  Check out all the features of NetBeans 6.5 here.  Now NetBeans supports (for Dynamic Languages) PHP, Ruby, JavaScript, Groovy, and Python.  It also has support for many of the well know AJAX frameworks out there like my personal favorite jQuery.  Oh it also has great HTML support.

This IDE has the makings of something great, it’s free, it supports the syntax of many languages.  However is it better than the former PHP champ Zend IDE 5.5 (standalone)?  Let’s compare the two.

Supported Languages:  Zend has compatibility for PHP and HTML, and that is really it.  It handles JavaScript ok, at least it’s useful for finding out whether or not I screwed up some brackets while using jQuery.

NetBeans on the other hand can handle a whole slew of languages from Java to C++ to many web-development languages.   Netbeans +3.

Syntax Strictness:  NetBeans could be stricter on the way it handles the PHP syntax.  One thing I always really liked about Zend was when I tried typing a function name and I didn’t write the function yet or didn’t have it included into the file that the IDE gave me a bunch of shit about it.  This helps you make sure you don’t have to wait until you debug it to figure you might have spelt it wrong or didn’t include it.

On the flip side NetBeans will throw the penalty flag if your HTML tags are out of order (ex: ) something Zend doesn’t do. Tie: Zend +1 NetBeans +1.

FTP:  One of Zend’s main drawing points for me was it’s awesome FTP support.  You could set up a bunch of FTP accounts and be working off multiple servers, transferring files, the whole works.  It was incredibly sweet.

NetBeans has FTP support, but you set it up for that project, which works just fine.  However sometimes I would use Zend as a FTP program so I didn’t have to boot up FileZilla.   Zends was just more robust, Zend +1.

Code Completion:  Where would we be today without code completion?  Honestly it can save you so much time.  Zend would code complete everything everything automatically, it was simple and effective.  It didn’t get in the way because they did it right.

NetBeans will code complete automatically on variables, but normally nothing else unless you pull a ctrl+space (at least on linux).  I was really turned off by this when I started using it, but over the course of a week I realized how often I didn’t even need code completion.  You’d be surprised how often you just don’t even think about it and type it out.  I mean I know if I’m going to be typing mysql_fetch_array, I just type mysql and hit ctrl+space.  I think this is really a horse a piece, and shouldn’t put my own preference into play.  Tie NetBeans +1, Zend +1.

Debugging:  Before I started using Zend I was using NuSphere PHP on Windows, which is very good, but pricey.  Anyways, NuSphere’s debugging was awesome, Zends - well I never could get it to work at all from Linux.  It never really bugged me too much because I’m so use to not using a debugger to debug, I know that sounds weird but I can do it.

NetBeans got the debugger working under Linux no problem, probably because when I tried to debug it told me where to go to set it up.  Love it, I can debug just like I use to be able to do with the NuSphere IDE.  NetBeans +1.

I could go on for a while but, NeBeans is the winner pretty hands down, it does much more better than Zend.  Sure there’s a couple things here or there, but I had been using Zend for at least 6 months so some of that is a little personal bias.

There’s many neat extra features in NetBeans 6.5 but I’ll leave those to you to discover, just check it out.  You don’t have to download everything, you can just download the PHP part, so if your using Ubuntu Linux (like me) don’t use apt-get (or aptitude) to get it as they may still have and older version in the repository, and it doesn’t come how you want it - just php.

Happy coding.