Jeffery L. Taylor
What's Ruby Doing in a Java IDE like NetBeans? Lots!
Summarized using AI

What's Ruby Doing in a Java IDE like NetBeans? Lots!

by Jeffery L. Taylor

In this talk from the LoneStarRuby Conf 2008, Jeffery L. Taylor explores the integration of Ruby within the Java IDE, NetBeans. He highlights how NetBeans functions as a comprehensive Integrated Development Environment (IDE) and shares his positive experiences while using it for Ruby development. Taylor outlines his minimum requirements for an IDE, including file creation, editing capabilities, syntax highlighting, debugging, and version control support, all of which NetBeans fulfills effectively.

Key points discussed in the video include:
- Change Highlighting: NetBeans provides visual indicators (green for new lines and pink for deletions) that enhance code navigation and understanding of changes made.
- Local Undo and Redo: This feature allows developers to differentiate between chronological changes and local modifications, enabling a more organized code management process without clutter.
- Tooltips and Navigation: The IDE's intuitive exploration approach offers tooltips that explain functionality, making it easier for users to navigate controls and understand options at their disposal.
- Testing Support: NetBeans allows users to run full test suites or individual tests seamlessly, providing support for various testing modules, including rake tests.
- Auto-completion: The IDE’s auto-completion feature improves coding efficiency by suggesting class names and method names as they are being typed, greatly aiding Ruby development.

Taylor stresses that while Ruby and Rails support in NetBeans was still in beta at the time, he had a positive experience utilizing it in production work. He recommends downloading the Ruby on Rails bundle for version 6.1, highlighting its convenience and effective performance. The presentation conveys that even for those primarily working in Java, NetBeans provides ample functionality for Ruby development, enhancing productivity and minimizing common frustrations associated with programming. In conclusion, Taylor encourages developers to leverage the capabilities that NetBeans offers to enhance their Ruby coding experience.

00:00:06.359 Video equipment rental cost paid for by Peep Code.
00:00:18.840 So, what's Ruby doing in a Java IDE like NetBeans? Lots!
00:00:21.279 The claim of an IDE, which stands for Integrated Development Environment, is that it contains everything the developer needs to perform their tasks within the environment. At least, that’s the goal. In short, NetBeans does quite a good job of achieving this. Part of this is that I often go outside of it to discover features that are already available within the IDE, which I simply was not aware of. In fact, I learned a few things about it while working here.
00:00:39.000 Back in February, I started looking for a faster way to develop software. My minimum requirements for an IDE are that I can create files, specifically text files; I don’t need a graphics editor since I’m not an artist. I need the ability to update and edit these files, and I find syntax coloring or highlighting to be very helpful. While I might be willing to give it up for compelling reasons, I really appreciate it. When I first discovered syntax coloring, I thought, 'Oh, that looks pretty.' However, after a few years of using it, I realized it could feel somewhat anemic and slow without it. NetBeans enhances syntax coloring, taking it to the next level with consistency and logic.
00:01:06.520 Other essential features include compilation, building, and running the necessary commands for your programming language, as well as debugging and version control support. I would never hire an employee or developer who doesn’t utilize version control, and I wouldn’t choose an IDE that lacks version control support. Fortunately, NetBeans certainly meets these minimum requirements and even offers more functionalities. While I won’t cover all of these basic features, as you can find detailed information in flyers and through actual use, I will focus on the pleasant surprises I encountered.
00:01:51.000 I want to discuss four main features: change highlighting, what I call incremental or local undo and redo, auto-complete, and the API documentation. I’ll cover them together. Additionally, I'll discuss the testing support available.
00:02:52.040 NetBeans.org is the website for these resources. Here, you can access a variety of tutorials, including at least six that are Ruby or Rails-specific. There are flyers available that are nicely designed, two-sided, and glossy, but they do not mention Ruby and Rails directly. The Ruby and Rails support is currently in beta, but I'm using it for production work and have no major complaints. This support was introduced in version 6, and they are now up to version 6.1. I recommend downloading version 6.1 with the Ruby on Rails bundle. It's a convenient package with a single download and clean installation, taking a little time to catalog the content, but once it's done, it runs very efficiently.
00:03:40.360 Now, let’s talk about change highlighting. In the editing window, there’s a blue bar on the left that indicates modifications. If a line is new, it appears green, while deleted lines show up in pink. These colors are consistent across different views. If I hover over these colors, it will reveal what the line used to contain, and clicking on it will show you the previous version of that line. This functionality makes navigation through changes easier.
00:04:44.960 The local undo feature distinguishes between chronological changes and local modifications. For instance, in an error scenario, I might turn an error raise into an if statement. The original 'raise' is no longer a fatal condition, and I can manage changes without them cluttering the view. This allows for smart indentation, helping to maintain clarity in modified code.
00:05:20.000 Navigating through modifications is straightforward as you see what changes have been made. On the right, similar color indicators represent modifications, deletions, and insertions. A little black line with a circle indicates the current line. One aspect I appreciate about NetBeans is its friendly exploration approach. Tooltips explain the functions of various controls, helping users understand their options intuitively.
00:06:03.080 The change highlighting serves not only as a visual aid but also as an interactive tool, allowing users to engage directly with files. Additionally, there are syntax error markers. For example, if I introduce an error, it will highlight in red, indicating where the issue lies. There are also style hints available specific to Ruby and Rails development, which prove to be quite useful.
00:07:12.680 When working with files that contain numerous changes, side-by-side comparison can be helpful. NetBeans offers a feature I refer to as rubber banding diffs, which align unchanged lines fluidly while marking where modifications occur. In this mode, insertion and deletion indicators assist in reverting changes if needed.
00:08:00.000 I have the capability to undo a deletion easily, but I also discovered an arrow in the middle that undoes everything. Unfortunately, it doesn’t have a tooltip explaining its function, which can cause some confusion. Thankfully, there's the standard undo feature if you need to revert unexpected changes.
00:09:08.680 Now, let’s touch on testing support. NetBeans allows you to run complete test suites or individual tests seamlessly. You can run rake tests, rake unit tests, and rake spec modules. It also features generators to help with migrations.
00:09:38.200 Lastly, the auto-completion feature is quite effective. It automatically completes terms when I type class names or method names and offers a range of suggestions, including inherited methods and those explicitly defined in the class.
00:10:12.560 Thank you for your attention!
00:10:40.279 Video equipment rental cost paid for by Peep Code Screencasts.
Explore all talks recorded at LoneStarRuby Conf 2008
+18