Interactief Programmeren

Geplaatst door Michiel de Mare vr, 07 apr 2006 03:36:00 GMT

“Is er wel een goede ontwikkelomgeving voor Ruby en Rails, zoals Eclipse voor Java?” Dat is een van onze Veelgestelde Vragen. Tsja, wat heb je? TextMate is razend populair bij de “Core Developers”. RadRails, gebaseerd op Eclipse, wordt in een hoog tempo verbeterd. Er is natuurlijk altijd VIM. Zelf ben ik verslingerd aan IntelliJ – zelfs goed als je geen Java gebruikt.

Wanneer Ruby-goeroes mij vertelden dat het met Ruby niet zoveel meer uitmaakt welke editor je gebruikt haalde ik meewarig mijn schoulders op (misschien ben ik meer een Tool maven dan zij). Zeker nooit met IntelliJ gewerkt, dacht ik dan.

Toch heb ik de laatste tijd steeds meer het gevoel dat ook een IDE de verkeerde benadering is voor Ruby. IDEalisten (zucht – red.) wijzen je er eindeloos op dat een IDE voor een dynamische taal nooit zoveel kan bieden qua ondersteuning (code completion, refactoring) als een voor een statische taal als Java. Ze wijzen erop dat een IDE nooit kan weten welk type een variabele runtime zal hebben, laat staan welke methoden er runtime aan toegevoegd zullen zijn.

Maar Ruby heeft wel degelijk perfecte code completion! Alleen niet in een IDE, maar in irb (Interactive Ruby), waar je Ruby-process exact weet op welke methoden je object kan reageren. Sowieso breng ik steeds meer tijd door in de rails console. Ik test er mijn code, ik probeer nieuwe truukjes uit, ik voer CRUD-operaties uit via mijn model-classes. Soms gebruik ik mijn editor alleen om er code in te pasten die ik in irb heb geschreven.

Waarom geen ontwikkelomgeving die op dit principe is gebaseerd? (Waarschijnlijk ben ik nu opnieuw een wiel aan het uitvinden dat begraven ligt onder een hele zware grafzerk waar de inscriptie “SmallTalk – Only The Good Die Young” op gebeiteld staat. Het zij zo.) Een paar suggesties voor wat mogelijk zou moeten zijn in deze mythische omgeving:
  • operaties die werken op de project-source
  • refactorings
  • interactief testen van methoden en die kunnen extraheren naar unit tests
  • meerdere windows met syntax highlighting

Dit is maar een gedachtenkronkel, maar ik ben ervan overtuigd dat de toekomst van Ruby ligt in het benutten van haar krachten, en niet in een onmogelijke race om Java IDE’s in te halen.

Geplaatst in  | 2 reacties

Reacties

  1. Chris zei 1 dag later:

    Leuk stuk! Wat betreft je eerste punt? Wat bedoel je eigenlijk. Als je het hebt over het aanroepen van Generate commands e.d. heb je daar voor zowel TextMate als Radrails oplossingen. Wellicht begrijp ik je verkeerd?

  2. Jeroen Bulters zei 1 dag later:

    Een complete suite als Eclipse is misschien overbodig maar iets meer intelligentie zou een leuke boosts kunnen betekenen; autocomplete en dergelijke zou ism met irb zeker mogelijk moeten zijn (als je toch met ‘projecten’ werkt). Refactoring lijkt mij in een taal als Ruby erg ingewikkeld aangezien de parser zelf al heuristische evaluaties gebruikt om de code te parsen maar niet onmogelijk, dan is het nog de vraag of je het zou willen.

(Laat url/e-mail achter »)

   Voorvertoning