Ruby rocks January 31, 2007 08:54 over 5 years ago
Det er kun et par timer siden jeg skulle fortælle en gruppe IT konsulenter om JRuby.
Ikke fordi jeg kender specielt meget til JRuby projektet men mere fordi jeg har en passion for dynamiske sprog og min viden om Ruby on Rails er efterhånden omfattende.
Konsulenterne er veluddannede og terrortiske velfunderet og arbejder næste alle med J2EE eller .NET platformen. Så en god mulighed for at afprøve nogle statements. ;-)
Desværre fik jeg kun kort tid til at promovere mit reklame indslag. Min pointer er dog stadig den samme. Nemlig at man bør stille sig mindst muligt i vejen mellem UI og databasen.
Sjovt at historien om andre sprog typisk deler modtagerne op i to kategorier. Den ene gruppe er afvissene og bryder sig ikke om nye tankegange. De vil naturligvis bibeholde deres kompetence inden den teknologi hvori de nu lever. Den anden gruppe er mere åbne og imødekommende overfor anderledes fremgangmåder. Især hvis denne ide hurtigere kan føre dem frem til synlighed og resultat, altså skabe reel værdi for kunden.
Kun ca. 1% af de fremmødte have direkte kendskab til Ruby.
Men der ingen tvivl om at flere nye dynamiske sprog er kommet for at blive. Ikke siden Java har nogen anden teknologi haft så meget fremdrift og momentum.
Så hvorfor dog forsøge at indkapsle et dynamisk sprog i Java? Det er min overbevisning at SUN vil være med på den teknologiske forkandt. Tænkt på Java 1.5 syntaks som er direkte afledt af .NET.
SUN sikkert forsøge at tage noget syntaks fra JRuby projektet men jeg tror ikke på at de kan eller tør ændre Java til et dynamisk sprog. Det vil ændre for meget i selve kernen og de principper som sproget bygger på og der er for mange konflikterne interesser i Java til dette kan lade sig gøre.
Hvis der mangler en en egenskab i Java’s syntaks må denne egenskab tilføres i form af open-source projekt. Hvis man for eksempel ønsker egenskaben at kunne sætte et pointcut kan det opnås gennem AOP. Det betyder jo at nogle meget dygtige folk må lave dette API og hele bytecode behandligen. Og det er vel godt?
Det uheldige består i, at vi hele tiden mangler egeskaber i Java. Og altså dermed også frameworks. Der findes mange frameworks til Java. Næsten tusind popolære frameworks er registreret.
Ruby sproget er dynamisk, åbent og rent objekt orienteret. Egenskaberne findes i sproget selv.
I stedefor AOP kan man lave en interception direkte i koden og har dermed slet ikke brug for fancy AOP. Rails har indbygget persistence framework. ActiveRecord som wrapper databasen. Hvis du er helt speciel og bare vil bruge IBasis mapping tool kan dette også lader sig gøre.
Webframeworket Rails udnytter fuld ud Ruby sprogets kvaliteter. Det er et virkelig gennemført MVC framework.
Men hvad kan man egentlig bruge Ruby on Rails til? Ville det være vanvid at programmere en webbank i Ruby on Rails? Man skal bruge det værktøj som er det rette til opgaven. Men umiddelbart kan jeg ikke se hvorfor dette ikke skulle kunne lade sig gøre. I USA er flere investor applikationer udviklet i Rails. Rails’ stærkes side består i at udvikle webapplikationer som manipulere data i en relationsdatabase. Det er den niché miljøet udfylder bedst. Java, .Net og C++ har fået en konkurrent i hastig udvikling. Dette bevirker jo at de lader sig inspireret og at de strammer sig an.
- Det er godt!
By Frank Vilhelmsen - 1 tag: rails - Add comment