| By Tim Boudreau | Article Rating: |
|
| June 23, 2008 12:00 PM EDT | Reads: |
11,152 |
Java developers have had a nice ride the last few years. With ferocious competition in the Java tools space, the tools they use have been getting better and better. Where one tool innovates, such as with quick fixes, competitors quickly duplicate and expand on that innovation. This has led to a fertile field of tools for Java developers to choose from. Developers using other languages have not been so lucky, but this is changing.
NetBeans 6.0 involved a complete rewrite of the Java code editor to use the parser that belongs to javac, the Java language compiler that comes with the JDK, to add missing editor features in a way that would be sustainable and solid for the foreseeable future. As a result, its code editor is now very competitive in features and performance to other IDEs. NetBeans 6.1 adds support for additional dynamic languages.
Develop Using Dynamic Languages in NetBeans
NetBeans 6.0 introduced full-blown support for the Ruby language – the first in an ongoing list of dynamic languages the NetBeans IDE will support. The innovations and benefits of that ferocious competition in the Java space are now finding their way to developers who might not even know or care to know Java. You can download the NetBeans 6.0 IDE with just Ruby support but no Java editing support if that’s what you want – and the Ruby-only download of the NetBeans IDE weighs in at a tiny 22MB, including the JRuby runtime and Rails framework.
Supporting dynamic languages in a development tool is notoriously hard because they’re, well, dynamic. A Ruby object can say, “Hmm, I think now I want to be subclass of String,” and with one line of code, do that at runtime. Analyzing code flow to the degree that one can figure out that something became a String subclass on-the-fly and determine where code completion should and shouldn’t offer completions for the String is nearly impossible.
Fortunately, most programmers who use dynamic languages program as if they were writing in a strongly typed language. An editor can infer quite a bit of context with some margin of error. Objects make programming easier for the human mind to grapple with, since human beings are used to thinking of things as, well, things. Objects make programming more accessible by leveraging existing human mental constructs. They are an affordance for the human mind, and the fact that it is likely they will be used means a code editor can take advantage of that affordance as well.
Published June 23, 2008 Reads 11,152
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Tim Boudreau
Tim Boudreau is a senior staff engineer at Sun Microsystems. He has been working on the NetBeans project for nine years and is co-author of "NetBeans: The Definitive Guide" from O'Reilly and Associates, and "Rich Client Programming" from Addison Wesley.
![]() |
Christopher Judd 06/27/08 11:03:36 AM EDT | |||
Nice article. But I am surprised you did not mention the upcoming Groovy support when you mentioned the upcoming PHP support. |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?



















