Archive for the ‘IDE’ Category

h1

When visionaries are too much in advance.

May 15, 2007

There’s a company out there that always surprised me for always being in advance next to its competitors. This company is JetBrains (and no I do not work for JetBrains nor do I have stock options in it). But sometimes seeing in the future doesn’t always pay (in term of $!). Indeed maybe you remember back in 2004 Sergey Dmitriev, the cofounder and CEO of JetBrains Inc., published a paper about Language Oriented Programming: The Next Programming Paradigm.

Rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific programming languages for the problem first, and solves the problem in those languages.

I remember reading that paper when it came out and finding it really promising and avantgardist, I thought it would be the future. Soon after I gave a try to MPS EAP version. Martin Fowler found it promising as well in 2005:

Although I’m not enough of a prognosticator to say whether they will succeed in their ambition, I do think that these tools are some of the most interesting things on the horizon of software development.

The old debates were already starting… Unfortunately, years passed and MPS became a commercial failure, and has been like discontinued since then. Nowadays everybody and his dog talk about DSL, maybe that’s the reason why it appears again on JetBrains website. Sergey had only 2 years in advance with his development software solution. People always complain about late delivery of their software, JetBrains is the only company delivering your software and features before you ever needed it!

h1

Ruby / Rails IDE Comparison : Idea, Netbeans, RadRails

February 28, 2007

Starting BlocksWelcome early-early adopters!
Ruby and Rails are getting more and more popular in the community and well known editors start to get into the business for our pleasure!
While my editor of choice for Java has always been Idea (since v2.6 about 6 years ago) as I always found their product avantgardist and really userfriendly and codingfriendly, I wanted to see what was going on in the Rails / Ruby world where I was historically using RadRails and SciTe because of the lack of serious competitors. The simple editors like vim (for the nostaligcs) or SciTE are likely to fit your needs for short and simple scripts but a full IDE is always better to have when you are working on a more important project. The Ruby language itself eliminated a lot of features you would need from an IDE in other languages like Java (For example I am thinking about the Generating Getters / Setters from fields that you get directly with the attr accessors or some long live template public static final String …). The absence of type and the dynamism makes it also impossible for IDEs to do some operations you would do on typed static language (like Java).
Firstly you must notice that apart from RadRails which has been into Rails / Ruby editing for some time, Idea and NetBeans support for Ruby is really fresh (officially) so you should be lenient. You’ll also observe those IDEs tested here are all written in Java (as Plugins). Now you can wonder why not in Ruby ? There are several reasons I guess, notably a lack of serious good looking cross platform gui framework in Ruby (Tk is far from swing and swt quality and anyway it is not Ruby anyway even if that’s the easiest interface to plug with Ruby or Python); Also making an IDE from a well proven platforms guarantees that you’ll benefit from the history and quality of existing software features.
You should also try those IDEs by yourself as an IDE is a day-to-day tool that you learn to use and adopt with time and not with some simple test. That’s why here I’ll mainly compare features.

Read the rest of this entry ?

h1

Installing Eclipse with Ruby / Rails support

February 28, 2007

eclipse_logo.gifAs stated in my blog, I am having a look at the most well-known Ruby / Rails IDE competitors.
Thus I had a try on Eclipse platform as I couldn’t get RadRails 0.7.2 Standalone version to work with latest RDT plugins that come with refactoring notably.
Version we will install :
Eclipse 3.2.1 with RDT Stable Release (to have a stable environment) or Nightly Build Plugin (in my case 0.8.0.702111959NGT) to test latest RDT features, and RadRails Plugin 0.7.2
Once you installed Eclipse, you need to install those 2 plugins.
– Help Software Update / Find And Install / Search for new features to Install /
Then Add the new Remote sites :

Eclispe Install RadRails PluginEclispe Install RDT Plugin

Once you parametrized the Ruby SDK in the options, you are ready!

h1

Installing Idea with Ruby / Rails support

February 28, 2007

jetbrains_idea_logo.gifAs stated in my blog, I am having a look at the most well-known Ruby / Rails IDE competitors.
Thus I had a try on Idea which I have been using for years in Java/ JEE.
Version we will install :
Idea 6.0 (Support for Idea Selena (future 7.0) is in the pipes) with Ruby Plugin 0.1.1
You should notice that Idea doesn’t show up when you’re running Beryl on Linux, after switching back to KDE Windows Manager you’ll be able to see the window (You can switch back to Beryl Window Manager after), this a known issue with Java (either 1.5 and 1.6) and Beryl. Eclipse will show up as it is in native swt.
Once Idea installed, you’ll need to install to install Ruby Plugin :
– File / Settings / IDE Settings / Plugins / Right-Click on Ruby plugin.

Idea Install Ruby Plugin

You should also edit bin/idea.vmoptions and increase -Xmx192m

You’ll be prompted to set the Ruby SDK. You might encounter problem with symbolic links on linux when browsing to find your Ruby SDK, or when you generate a Rails project with older version of rails that creates symbolic links in vendor/ which will end in infinite parsing of the project.

h1

Installing NetBeans with Ruby / Rails support

February 28, 2007

NetBeans LogoAs stated in my blog, I am having a look at the most well-known Ruby / Rails IDE competitors.
Thus I had a try on NetBeans after seeing screenshot and features from Tor’s weblog, and after having played in Java with UML Module from NetBeans which I found good, I’ll blog about that later…
So, version we will install :
NetBeans 6 Daily Snapshot (I tried from 20070211 to 20070221). For the moment Ruby support is only available for early adopters in the snapshot releases. It was released lately as 6.0 Milestone 7 (and you’ll wait for M8 for some more features). Modules I installed (with version I have at the moment) :

  • Common Scripting Language API/Support 0.13.0/0.14.0.1.1.1.1.3
  • Embedded Ruby 0.10.0, JRuby Implementation 0.92.3, Rake-Based Project Support 0.10.0, Ruby IDE Support 0.16.0, Ruby On Rails 1.16.0, Ruby on Rails Project Support 0.13.0, Ruby Projects 0.14.0.1

But latest releases with some more fix/features come with :

  • Common Scripting Language API/Support 0.14.0/0.17.0.1.1.1.1.3
  • Embedded Ruby 0.11.0, JRuby Implementation 0.92.4, Rake-Based Project Support 0.10.0, Ruby IDE Support 0.20.0, Ruby On Rails 1.1600.0, Ruby on Rails Project Support 0.16.0, Ruby Projects 0.17.0.1

You should notice that NetBeans doesn’t show up when you’re running Beryl on Linux, after switching back to KDE Windows Manager you’ll be able to see the window (You can switch back to Beryl Window Manager after), this a known issue with Java (either 1.5 and 1.6) and Beryl.
Once you installed NetBeans Snpashot (or M07), you’ll need to install the Modules :
– Tools / Update Center / Development Update Center (If you don’t have it available you didn’t download a snapshot release).

NetBeans Install Ruby Plugin

After that for some older version of the module you would need to chmod properly the executable from the plugin directory but this has been fixed here.

When you will try to create a rails project directly after NetBeans install and plugin-install you would end with the error :
rubygems.rb:301:in `report_activate_error': Could not find RubyGem activesupport (= 1.3.1) (Gem::LoadError)
The gems activesupport and activerecord are missing, I found it rather strange as I had them installed on my machine.
In fact NetBeans Ruby Module is using an embedded JRuby, that come with some gems (rails, actionmailer…) used for your future NetBeans Ruby / Rails projects. I wonder why activesupport and activerecord have not been included, but anyway with our project we will need to complete this rubygems repository. It’s important to get that well set as it will be scanned and some features like autocompletion will be based on it.

There is an option in Tools / Options / Miscellaneous / Ruby Application to configure Ruby binaries used by the module.

NetBeans Tools / Options / Miscellaneous / Ruby Application

Still options won’t be saved on Windows, you have to manually edit \.netbeans\dev\config\Preferences\org\netbeans\modules\ruby\project.properties to point to your binaries :
ie, for me :
ruby=D:/bin/ruby/bin/ruby.exe
rails=D:/sa/bin/ruby/bin/rails
rdoc=D:/sa/bin/ruby/bin/rdoc
ri=D:/sa/bin/ruby/bin/ri

Congratulations! You are ready, you can relaunch NetBeans and enjoy!
At first launch, the plugin will index Ruby SDK and gems thus taking some minutes.

You’ll find Project Mailing List here.

[EDIT] You can ignore the following workaround as it seems to be corrected with latest versions of the Module since I reported it.[EDIT]

Read the rest of this entry ?

h1

Installing RadRails on Ubuntu Edgy amd64

February 13, 2007

For a future post about Ruby IDE I needed to install RadRails. I did it in the past without problem on windows. Unfortunately the official (and snapshot) versions come with a 32 bits shared library (libswt-pi-gtk-3232.so). So I was landing on an error message quoted later. The only solution I read while investigating on the net was to use RadRails the oldway : install Eclipse and add RadRails and RDT Plugin to it… I didn’t want to download the overbloated eclipse platform while a standalone RadRails version exists which is lighter (still 40MB…) So I convinced myself to get those bloody 64 bits shared libraries to work.
The laziest way is to find a solution without any compilation (compilation of such libraries can be a nightmare when they depend on zillions of projects and I have no fun messing with that anymore).
So let’s go!
Download Eclispe RPC eclipse-RCP-3.2.1-linux-gtk-x86_64.tar.gz from eclipse site.
wget http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2.1-200609210945/eclipse-RCP-3.2.1-linux-gtk-x86_64.tar.gz
Untar
tar xzvf eclipse-RCP-3.2.1-linux-gtk-x86_64.tar.gz
Get RadRails (0.7.2 or snapshot) from RadRails site
wget http://www.web20.com/downloads/radrails-0.7.2-linux-gtk.tar.gz
Untar
tar xzvf radrails-0.7.2-linux-gtk.tar.gz
Launch RadRails once (you need to do that to init RadRails configuration)
./radrails/RadRails
An error message will popup :
An error has occurred. See the log file
/del/radrails/workspace/.metadata/.log.

By editing this file you’ll read that a 32 bits shared library is doing some mess
!STACK 1
java.lang.UnsatisfiedLinkError: /del/radrails/radrails/configuration/org.eclipse.osgi/bundles/59/1/.cp/libswt-pi-gtk-3232.so: /del/radrails/radrails/configuration/org.eclipse.osgi/bundles/59/1/.cp/libswt-pi-gtk-3232.so: wrong ELF class: ELFCLASS32
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1660)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)

Backup the existing faulty jar containing the bloody 32 bits library.
mv radrails/plugins/org.eclipse.swt.gtk.linux.x86_3.2.0.v3232m.jar radrails/plugins/org.eclipse.swt.gtk.linux.x86_3.2.0.v3232m.jar.backup
And replace it with the jar you downloaded from eclipse site containing 64bits shared libraries (like libswt-pi-gtk-3235.so)
cp eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.2.1.v3235.jar radrails/plugins/org.eclipse.swt.gtk.linux.x86_3.2.0.v3232m.jar
You can finally relaunch RadRails!