Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 34 reacties
Bron: The Register

Microsoft heeft een eerste versie van zijn 'Ruby-for-.Net'-scriptingtaal online gezet. Het bedrijf had al langer aangegeven meer talen onder het .Net-platform te willen ondersteunen.

Eerder was ook al IronPython beschikbaar gesteld. Met het beschikbaar maken van meer talen onder het .Net-framework hoopt Microsoft vanzelfsprekend een voet aan de grond krijgen bij programmeurs die hun ontwikkeltools nu nog bij concurrenten betrekken. De broncode van IronRuby wordt onder de Microsoft Permissive License aangeboden, die ontwikkelaars toelaat zelf bijdrages aan de software te leveren. Eind augustus moeten IronRuby en de bijhorende softwarebibliotheken ter download aangeboden worden op RubyForge. De mogelijkheden zijn echter nog beperkt: zo is het nog niet mogelijk een bijdrage te leveren aan de dynamic language runtime, die IronRuby en IronPython in de common language runtime laat draaien zonder compilatie. Volgens Microsoft-ontwikkelaar John Lam komt dat doordat de dlr in de toekomst met de clr geïntegreerd moet worden. Zodra de dlr versienummer 1 bereikt en de api's functioneel uitontwikkeld zijn, zullen alle onderdelen van het project opengesteld worden voor externe bijdragen.

Moderatie-faq Wijzig weergave

Reacties (34)

Ontbreekt een beetje in het nieuwsbericht: de blogpost van John Lam waarin de boel daadwerkelijk gereleased wordt. En als ik toch bezig ben: de pre-alpha1 source van IronRuby.
Visual Studio 2008 Beta 2 is ook uit, maar het is nog (veel) te vroeg voor IronRuby ondersteuning in de IDE.

Op de lange termijn komt er ook een MVC framework voor ASP.NET, en als je dan in Ruby kunt programmeren dan is de combinatie wellicht een goed alternatief voor Ruby on Rails als je met .NET werkt. LINQ vormt daarbij een zeer sterk alternatief voor ActiveRecord (in mijn menig veel beter/completer dan AR).

Goede tijden voor .NET ontwikkelaars!
Goede tijden voor .NET ontwikkelaars!

Zijn die er ooit geweest? Qua webdevelopment vind ik het .NET platform een zware overhead op alles en zijn de kosten torenhoog qua licenties. Daarbij is de service vanuit Microsoft merendeels beperkt en laat deze te wensen over op vlak van paraatheid.
Dat snap ik even niet. Microsoft heeft zelf sites als Codeproject in het leven geroepen om veel ondersteuning te bieden. Je hebt MSDN, de ASP.NET forums, gratis zeer goede IDE's, gratis componenten als de Application Blocks, AJAX.NET,... noem mij een ontwikkelplatform dat beter ondersteund wordt.

Ontopic:
Met het beschikbaar maken van meer talen onder het .Net-framework hoopt Microsoft vanzelfsprekend een voet aan de grond krijgen bij programmeurs die hun ontwikkeltools nu nog bij concurrenten betrekken.
Toch raar dat er zoveel waarde wordt gehecht aan het kennen van een taal (itt. platform) want ten eerste is een programmeur die echt alleen maar 1 taal wil schrijven imho een baggerprogrammeur, en daarbij is het je eigen maken van een heel framework meer werk dan de syntax van een taal leren.
De meeste programmeurs kunnen best in meerdere talen schrijven, en zullen dat ook wel doen. Maar het is aan de andere kant best goed om je te specialiseren in een bepaalde taal. Je kunt namelijk erg veel geld verdienen in een niche.
Ik weet nou niet of een programmeertaal nou een niche is...

Ok, voor talen zoals Cobol e.d. kan ik me dat nog wel voorstellen. Maar voor talen zoals C#, Java en PHP? Die hebben een vrij laag niche gehalte in mijn ogen. Specialiseren in een taal heeft alleen maar nut als je specialist in iets wilt worden.

En ook dat vind ik nog maar relatief. Bij een ex werkgever van me, zat een afgestudeerde wiskundige. Geen programmeur van huis uit, maar hij kan geniale algoritmes bedenken. Dat lijkt mij dan toch wat interessanter dan het excelleren in een taal. Daarbij beheerst die man ook Delphi, C#, Java, C(++), Perl, Ruby, Python etc.

Dat vormt allang geen uitdaging meer voor hem.

edit: typos

[Reactie gewijzigd door Laurens-R op 27 juli 2007 21:42]

Het specialiseren in een bepaald platform en programmeer methodieken heeft zeker nut, maar in een programmeertaal ... zo bijzonder is de syntax meestal niet
Talen zoals PHP, Python en Ruby (allemaal verkrijgbaar in een .net smaakje) worden voornamelijk op unix achtige systemen gebruikt.

Enig idee waarom microsoft indirect (via 'losse' programmeurs) veel tijd in Mono en Moonlight steekt. Via mono kunnen unix programmeurs zonder veel problemen hun applicatie omschrijven naar Windows (maar ook andersom).

Daarom is het ook belangrijk dat de dlr clr compatible wordt zodat deze naadloos samenwerkt met mono.

Door de ondersteuning voor inmiddels meer dan 50 verschillende programmeer talen wordt het voor een programmeur zeer eenvoudig gemaakt om ineens .net applicaties te schrijven. Daarnaast hoeft een programmeur die alleen in 1 taal schrijft abosluut geen bagger programmeur te zijn. Zo'n programmeur heeft zich gespecialiseerd in een taal/platform en kan daardoor meer (optimalisaties) uit een taal halen.


@junkchaser: Een webapplicatie geschreven in php, perl of java is niet zwaarder of lichter dan in .NET. Microsoft is zwaar aan het inzetten op de .net technologie. Waar 5 jaar gelezen voornamelijk de aandacht ging naar C++ programmeurs gaat bij microsoft nu de volle aandacht naar .NET.

Daarnaast als de VS IDE straks de talen PHP, Ruby, Perl en Python begrijpt (intellisense) dan kan ik in 1 omgeving voor alle talen schrijven. Via SourceSafe 2005, Team Foundation, CVS en SubVersion kan ik dan eenvoudig al mijn projecten beheren.

InterBank (dochter van Abn Amro) is nu zelfs aan het experimenteren met WCF services voor verschillende koppelingen.
op welk punt doet C# onder aan Java?
Hier mijn 5c mening:

De taal C# is "gelijk aan"/"beter dan" Java. Dit is verder een zinloze discussie omdat we dan moeten gaan steggelen over enumerations, annotations en de implemetatie van generics.

Veel belangrijker is het framework.
Het framework waarop beide talen terugrvallen had tot en met .Net 1.1 een duidelijke winnaar: Java. Bijvoorbeeld iets als "Collections" was in .Net abominabel geimplementeerd (de .Net implementatie lijkt op papier wel leuk, maar de implementatie van veel interfaces geeft in de praktijk een "not implemented" exception bij driekwart van de routines).
Maar de kracht van Microsoft is dat ze een hopeloos product toch weer weten bij te schaven. In .Net 2.0 zijn de meeste tenenkrommende omissies verholpen.

Als ik het nu allemaal overzie: er is geen dwingende reden om de taal Java te prefereren boven C#. Ze zijn dermate gelijk dat de verschillen voor mensen die met beide talen bekend zijn, meer irritatie opwekken dan dat ze exrtras toevoegen.

De basis is echter het platform (de runtime van het framework). Hier is Java zijn voorsprong langzaam maar zeker aan het verliezen.
Nog een geluk dat er niet weinig aandacht wordt besteed aan het beheersen van 1 taal. Zoniet zaten we met programmeurs die alle talen beheersen maar niet het onderste uit de kan kunnen halen. En jawel dat is zeer belangrijk. Misschien niet in jouw omgeving maar jij bent dan ook niet de referentie...

Een OS of de kernel ervan, een compiler, een database engine, simulators, memorycheckers, mailservers, webservers, ... vergen het uiterste van hardware en zijn de moeite waard om hevig te optimaliseren. En op deze applicaties steunt het overgrote deel van alle ICT infrastructuur. De snelheid van deze basis functionaliteit bepaald de snelheid waarmee al wat op ICT rust werkt en dus ook de vooruitgang en de efficiŽntie hiervan.

Kortom, de meest cruciale punten en een groot stuk van de mogelijkheden van de ICT zijn ontwikkeld door deze specialisten. Hen baggerprogrammeurs noemen is de grond onder je voeten en het gras dat je eet vervloeken...
ASP.NET kent geen licentie kosten. Misschien bedoel je Visual Studio? Er is ook een gratis versie.
Waarom is het te vroeg voor ondersteuning in de IDE? Naar mijn weten word het al volledig ondersteund in de IDE. De vs ide is namelijk extreem makkelijk uitbreidbaar voor al nu met vs2008 die eindelijk ook meerdere .net platformen kan targetten.

http://www.wilcob.com/Wil...on-with-VisualStudio.aspx

Dit is weliswaar niet de IronRuby van microsoft, maar laat wel zien hoe snel zoiets gedaan kan worden.

[Reactie gewijzigd door d-snp op 27 juli 2007 12:49]

Komt in ieder geval niet in de eerste release van Visual Studio 2008. Hopelijk wel via een gratis service pack/plugin.
Er bestaat al een prima MVC framework voor ASP.NET wat sterk gebaseerd is op Ruby on Rails (Monorail, www.castleproject.org)
Heeft ook een implementatie van ActiveRecord
Dat je LINQ beter/completer vindt dan ActiveRecord lijkt me appels met peren vergelijken ("assembler is beter dan C#"). Op het Microsoft pad na LINQ staat iets wat sterk op NHIbernate/ActiveRecord lijkt. Maar dat is voorlopig nog vapourware. ObjectSpaces is blijkbaar begraven.
LINQ vaporware? Lees mijn post nog eens, je kunt Visual Studio Beta 2 nu downloaden, dat is inclusief .NET 3.5 en dat is weer inclusief de namespace System.Data.Linq. De compiler voor C# is ook nieuw (3.0) dus alle taalconstructies voor LINQ zijn 100% ondersteund.

Met LINQ to SQL heb je een ORM die code genereert om met je database te kletsen, dus is wel te vergelijken met ActiveRecord uit RoR (ik bedoel niet het algemene design pattern Active Record).
Beter lezen, dan pas tikken.
Ik zeg niet dat LINQ vapourware is. De opvolger van LINQ, die een alternatief moet bieden voor AR, is voorlopig nog vapourware.
Ik hoop dat IronPython, IronRuby en F# in de toekomst ook standaard een plaatsje krijgen in de Visual Studio IDE.
Ik niet, het zou mooier zijn als je kunt kiezen of je ze erbij wilt. Anders krijg je weer een IDE met 1000 en 1 talen maar je hebt maar 1 nodig. Toch duurt het opstarten van de IDE lang door al die talen.
@jelmervos:

Zo werkt dat niet onder VS.

Je hebt een basis IDE (VS) en daarbovenop leg je een taal. Het is dus niet 1 IDE die meerdere talen kan, maar dezelfde IDE die gebruikt wordt voor meerdere talen.

Binnen zo'n IDE ben je dan beperkt tot 1 taal.

Je hebt nu al een stuk of 12? talen die ondersteund worden door VS, maar als je alleen C# installeert op je PC heb je dus ook alleen C# en start je gewoon apart C# op. Wil je ook VB dan installeer je VB en start je die ook apart op.

Ondersteuning van meerdere talen is dus alleen maar gunstig.
IronRuby? Zie je wel!! Ze werken in het geniep samen met AMD!!!

[img]http://ati.amd.com/design...p/Ruby's_Revenge_1280.jpg[/img]
Er is prima Visual Studio ondersteuning hoor, maar wel van een derde partij: http://www.sapphiresteel.com/

(Voor de geavanceerde features zoals intellisense moet je betalen, maar de gratis versie werkt ook al prima)
Dat is dus geen IronRuby, maar de Ruby implementatie van SapphireSteel. Zal vast leuk zijn, maar IronRuby draait op de DLR en is zodoende ook voor Silverlight geschikt.
Zou er nu ook een IronRuby on Rails komen?
Nee
Het ROR trademark is beschermd. Alles wat eindigt met "on Rails". kun je vergeten. MonoRail (www.castleproject.org) wat vroeger "Castle on Rails" heette, heeft zijn naam moeten veranderen (in goed overleg met de ROR boys).
Zelfs de extensie .rails kan problematisch zijn.
Ruby is een makkelijk te leren scripting taal, en je doet het in .net zodat je het makkelijk kunt integreren met .net projecten en het schijnt ook dat het een performance voordeel heeft gezien .net geJIT wordt. Het is een beetje microsofts doel om .net aantrekkelijk te maken voor alle programmeurs. Iedere programmeur heeft wel een voorkeur voor een bepaalde taal. Voor een lijstje van talen die al beschikbaar zijn voor het .net platform zie:
http://en.wikipedia.org/w...#Microsoft_.NET_languages

[Reactie gewijzigd door d-snp op 27 juli 2007 12:55]

Misschien zie ik het verkeerd maar hoe meer talen hoe bagger dat het wordt. .NET ondersteund geloof ik ook Visual basic enz.

Ik programmeer in Java. Als ik een Java applicatie of website source download dan weet ik dat ik alleen Java hoef te kennen. Het is altijd in Java.

Als ik het goed begrijp, als ik een applicatie of een website source download dat voor .NET is bedoeld dan kan het dus in meer dan 10 scripts zijn geschreven. Als dat zo is, dan is het toch helemaal niet meer interessant om .NET programmeur te zijn.
Openen in Visual studio compileren en vervolgens de assembly openen met Reflector en omzetten naar de taal van jouw voorkeur. Dat is alles wat nodig is om de code in jouw taal te zien.
Dat valt dus wel mee, ik kan iets schrijven in C# en compileren naar een dll. Via refelction en codedom kan ik dat weer de-compilen naar VB.NET, C# of een van de andere talen. (alleen managed c++ is dan niet hetzelfde als echt c++)

In welke taal het geschreven is maakt dus niet uit, je kunt het weer terugvertalen naar de taal waar jij het beste in bent. Soort babelfish voor programmeurs, best wel sterk...
Ok even wat uitleggen.

.Net is net als java een platvorm wat van bytecode gebruik maakt (genaamd MISL). Deze bytecode wordt gegenereerd uit een high level taal (C#, VB, whatever). Hetzelfde proces gebeurt bij Java, alleen ondersteund sun maar 1 taal en dat is java zelf. In theorie zouden er ook meerdere talen op Java mogelijk zijn, omdat het basis princiepe hetzelfde is.

Maar goed terug naar .net. De kans dat je tegen een software pakket aanloopt wat in 3 verschillende talen is gemaakt, is zeer klein. Het stelt een programmeur gewoon in staat om te programmeren in de taal die hij/zij prettig vind, terwijl ze gebruik maken van dezelfde technology en features die deze bied.

Ja, je kan gecompileerde libraries uit verschillende talen aan elkaar koppelen. Maar dat komt omdat deze gecompileerde library niet meer uit C# of VB code bestaat maar uit MISL. Nee, je kan niet in 1 project meerdere talen hanteren, wel meerdere projecten met meerdere talen onder brengen in 1 'solution'.

Daarbij vind ik dat je als programmeur jezelf niet moet beperken tot 1 taal. Talen blijven niet voor eeuwig bestaan, of blijven niet voor altijd een trend. Een bepaalde situatie kan verlangen dat je voor een ander platform moet kiezen. (Dit kan bepaald worden door zaken als budget, of mogelijkheden).
Bij Java kun je ook gebruik maken van allerlei andere talen zoals Ruby, PHP en Python met het Scripting Framework en Scripting Engines.
:Y)

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True