Programmer picks: 7 tools for HTML5, Ruby, Python, and more

PHP, Ruby, Python, and beyond -- developers weigh in on seven popular IDEs and tools aimed at dynamic languages

Dev tools for dynamic languages: Programmers speak out

The increasing popularity of dynamic languages has given rise to a growing arsenal of development tools tailored to developers using languages like Ruby, PHP, and Python. So widespread is the array of tools available that it's often difficult to choose the right dev tool to suit one's needs.

InfoWorld asked software developers for perspectives on the some of the more popular dynamic language development tools in use today: what they like, what they find lacking. The following is a selection of development tools catering to PHP, Python, Ruby, and beyond, as described by the software developers who use them. After all, who better to aid you in making your choice than your peers?

Embarcadero Technologies HTML5 Builder

HTML5 Builder supports Web and mobile development via PHP and JavaScript. It enables designers to drag objects from a component palette and mix PHP and JavaScript code, says Josep Lluis Jorge, a developer at Steema Software. The tool also supports code-hinting and testing for mobile and Web deployments, he adds. "It will help substantially the PHP and JavaScript developer communities, saving time writing code and 'trial and error' processes."

HTML5 Builder has taken some getting used to, and startup has been an issue, he notes: "I find it a little slow to start, since it has to start some services, etc. Although I don't doubt that Embarcadero is working on the issue, and it may not be of the same importance to everyone."

JetBrains PyCharm

The PyCharm IDE is for developing with Python and Django, a Python-based Web development framework. "The biggest advantage is definitely in productivity," says Joe Kueser, senior principal engineer at Scanbuy. "JetBrains has put a lot of thought into the tools that go into PyCharm to make things that you have to do on a day-to-day basis quick and easy. Doing stuff like renaming variables projectwide can be done safely in just a few seconds."

The IDE is customizable and integrates with version control systems, including Git, Mercurial, and Subversion. "The only disadvantage is that PyCharm, and really any IDE, can act as a crutch. Because the tools are so good, a developer can program in Python without really knowing the language."

JetBrains RubyMine

The RubyMine IDE is targeted for Ruby and Ruby on Rails development. "I use it to develop prototypes and proofs of concept for clients mainly with Rails 3.2+," developer David Loeffler says. As with most IDEs, developers can do everything from within it, he says. It works with RVM (Ruby Version Manager), enabling Loeffler to work on projects that rely on different versions of Ruby, Rails, and gems.

RubyMine also features easy-to-build template capabilities for often-used constructs, and it supports refactoring. But there have been issues with debugging Rails applications, and startup time is slow compared with editor programs such as TextMate, according to Loeffler. He also called licensing costs "expensive."

Padre, the Perl IDE

This open source Perl IDE supports multilingual and multitechnology projects. "I love that Padre allows you to search for documentation of a given Perl module. I also like its Regex Editor that helps you create regular expressions and test if that regular expression will match a given string," freelance Web engineer Charlie Gonzalez says. "This is also great when debugging really creative regex solutions. Another feature that I like is the ability to create Padre Plugins."

Gonzalez did note one flaw: "The only problem I see is trying to get the most-recent version of Padre to run on your machine. Padre 0.96 installation files are only available for Ubuntu 12.10; in any other OS the user would have to build the latest version of padre using CPAN."

SpringSource Groovy/Grails Tool Suite

This tool provides an Eclipse-based environment for Groovy and Grails application development. "It's a fine IDE," says ReachForce developer Rob Bugh. "It's not perfect. It has its warts, but I use it on a daily basis." The IDE covers all aspects of the software development lifecycle, including debugging and testing, says Bugh, who is using it to build a customer portal.

His concern about the IDE is internal memory management, but when that problem arises, Bugh stops and restarts the IDE. The product gives him an alternative to developing via a command-line paradigm, he asserts.

SapphireSteel Software Ruby in Steel

This development tool for the Ruby language integrates with Microsoft's Visual Studio IDE and also allows access to Microsoft's Team Foundation Server source code repository, says user Andrew Teare, a designer specialist at machinery maker Husky. "They did a good job of making it work in Visual Studio," Teare says. "Bottom line, it definitely helps us develop our Ruby code, especially as a big team."

Husky is using Ruby to develop a domain-specific language to describe machine configuration. Teare does cite some issues with Ruby in Steel: While its IntelliSense capability is good for a dynamic language, it's not as good as it is in C#. The Ruby debugger also is inferior to C#'s debugger, he says.

Zend Studio

This IDE for PHP development features a variety of capabilities, including refactoring, code generation, and code assist. Thijs Lensselink, senior Web developer at Mobile Tulip, which provides a message-routing platform, says Zend Studio 10 offers all the features necessary. "It saves development time and speeds up debugging and tracing." Zend Studio also enables unit testing and cloud deployment; mobile development is integrated as well.

Lensselink does cite its integration with other Zend products as both an advantage and disadvantage. While this integration helps when working with the Zend stack, it can box in a developer who is not. "Some more third-party tool integration would be welcome. But Zend is doing a good job with that. Think of AWS, GitHub, and more."

Copyright © 2012 IDG Communications, Inc.