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 , , 21 reacties
Bron: Mono-project, submitter: JanDM

Mono logo (75 pix)Dinsdag is versie 2.6 van Mono uitgebracht. Mono is een opensource-implementatie van het .NET Framework. Door gebruik te maken van Mono kunnen ontwikkelaars crossplatform-applicaties schrijven die niet alleen onder Windows zullen werken, maar ook op bijvoorbeeld Mac OS X en Linux. De software bevat onder andere een C#-compiler, een .Net-compatible runtime en twee sets api's. De eerstgenoemde verzorgt de compatibiliteit met Microsofts .Net Framework inclusief ondersteuning voor asp.net, ado.net en een aantal andere componenten, en de andere biedt allerlei Linux- en Unix-specifieke functies. Hieronder zijn de belangrijkste veranderingen te vinden die sinds versie 2.4 zijn aangebracht:

These are some of the major features in this release:
  • WCF client and server, the subset exposed by Silverlight 2.0
  • LLVM support, to improve performance on server/computational loads
  • Co-routine framework Mono.Tasklets
  • Preview of LINQ to SQL using DbLinq
  • New Soft Debugger, integrated with MonoDevelop on Unix and OSX
  • Joint release with MonoDevelop 2.2
  • System.IO.Packaging
  • csharp shell now supports auto-completion
  • xbuild can now build most msbuild projects
  • Support for CoreCLR security:
    • Mono debuts a full metadata and IL verifier
    • Security system used by Silverlight applications, reusable for other cases.
Mono 2.0 (481 pix)
Versienummer:206
Releasestatus:Final
Besturingssystemen:Windows 7, Windows 2000, Linux, Windows XP, macOS, Windows Server 2003, Windows Vista, Windows Server 2008
Website:Mono-project
Download:http://www.mono-project.com/Downloads
Licentietype:GPL
Moderatie-faq Wijzig weergave

Reacties (21)

Ik snap nog steeds niet waarom je een overgehypte, inferieure taal zou porten naar een platform dat er helemaal geen behoefte aan heeft... maar goed.. zal wel aan mij liggen.
Inferieur ten opzichte van wat ? Heb je er wel eens mee gewerkt ?
Je zegt eigenlijk dat Java ook niets is. C# en Java lijken heel erg veel op elkaar.
Er is gelijkenis qua syntax, maar daar houd 't dan ook wel mee op. De manier waarop de code uit wordt gevoerd is behoorlijk verschillend:

C#:
Code wordt verwerkt in CLR wat wordt getypeerd als een interpreter taal. Dat wil zeggen dat de code regel voor regel wordt uitgevoerd.

Java:
Code wordt gecompileerd tot byte code. Deze byte code is platform onafhankelijk en wordt verwerkt door de JVM (platform specifiek)

Beide methodes hebben ook weer voor- en nadelen...
misschien omdat het zo fijn programmeert?

ik ben heel erg benieuwd naar je argumenten waarom c# overgehypt is en waar het precies inferieur aan is?
Bijvoorbeeld GNote vs TomBoy (Mono based):
# For one thing it loads so much faster than Tomboy.
# Another thing is that it seems to use only half the memory that Tomboy uses.
http://www.everyjoe.com/n...gnote-when-theres-tomboy/
En daarom is de taal dus slecht? Misschien is tomboy wel slecht geprogrammeerd, of misschien zijn er nog wel andere voordelen die opwegen tegen die twee nadelen? Beetje een korte en niet sluitende argumentatie als je het mij vraagt.
Hij is nogal ongenuanceerd, maar ik geef hem (basically) wel gelijk. Mono maakt het mogelijk om .NET-apps die voor windows geschreven zijn ook onder linux te laten werken. Zodoende kunnen ex-windows-gebruikers op andere platformen hun programma's blijven gebruiken. En daar zou het moeten eindigen.

Als je iets serieus gaat programmeren, dan mag C# geen optie zijn, hoe gemakkelijk het ook moge zijn om te programmeren.
Ik hoop dat je bedoeld "als je iets serieus gaat programmeren voor Linux", aangezien Mono nog best wel wat achterloopt op .NET, en als je iets met Visual Studio maakt is het nog maar de vraag of het ook 1-2-3 op Linux gaat werken.

Voor wat betreft de taal C# zelf: het is helemaal geen verkeerde taal die serieuze stappen maakt en steeds beter wordt, en mijns insziens een grote concurrent van Java aan het worden is. Waarom C# geen optie zou mogen zijn voor "serieus programmeren" is beyond me: zo'n taal is juist fijn omdat er al zoveel voor je gedaan wordt in het framework, zodat je niet allemaal dingetjes zelf meer hoeft te doen of hier en daar wat libraries vandaan moet vissen.
Daarnaast is C# (en alle .Net-code trouwens) ook makkelijker te porten; Silverlight draait bijvoorbeeld op OSX en Windows (en Moonlight maakt ook mooi voortgang voor Linux), en daar kan je ook C# in gebruiken. En dan heb je natuurlijk sowiso Mono op Linux en OSX, en op Windows CE heb je een variant. En Mono is in bepaalde vormen ook te gebruiken op platforms die even zwak zijn (of zwakker zijn dan) Windows CE-apparaten.
En er is al vrij veel werk gedaan voor je :)
Weer een mening zonder enige onderbouwing. Heerlijk ... Mono kan veel meer dan waar jij het voor in zou zetten.

Ik ken een voorbeeld waar een ontwikkeltoko een deel van een netwerkmanagementtool in C# heeft geschreven. Het ontwikkelwerk vond plaats in een Windows-omgeving, maar de code zou uiteindelijk m.b.v. Mono op honderden Linux devices gedeployed worden over de hele wereld. Natuurlijk staan de Linux-puristen nu te schuimbekken en struikelen bijna over elkaar om mij uit te leggen wat daar allemaal verkeerd aan is. Ik zal ze voor zijn en uitleggen waarom er niets mis mee is.

1) Waarom C#?
De ontwikkeltoko had een complete ontwikkelstraat voor.Net / C# ontwikkeling en uitgebreide kennis / ervaring. Omschakelen naar een andere omgeving / taal zou veel tijd (en dus kosten) met zich meebrengen.

2) Maar waarom dan deployen op Linux?
Omdat er op alle locaties al devices waren die Linux draaiden. De kosten voor deployment konden daarom extreem laag blijven.

3) Maar waarom niet overschakelen maar een andere ontwikkeltoko die wel in C / C++ / Java ontwikkeld?
Omdat er al een lange en waardevolle relatie bestond tussen beide partijen. Bovendien zou een ander deel van het systeem dat met de Linux devices communiceert ook door deze tot gebouwd worden. De ontwikkeling bij een nieuwe toko onderbrengen of de ontwikkeling opsplitsen werd als ongewenst ingeschat.

4) Maar C / C++ / Java is veel beter omdat het:
a) een veel betere taal is: hier zijn de meningen over verdeeld.
b) veel betere performence oplevert: bij performance tests van de C# code op Mono is gebleken dat de performance ruim voldoende was: de reaktietijden van de software met stevige belasting lagen in tienden van seconden, en een verdere verbetering was niet relevant, aangezien de netwerk latency zelf een grotere factor was in de snelheid van het systeem

Nu mag je mij uitleggen waarom C# geen serieuze optie mag zijn als je gaat programmeren.
Mooi!

Misschien dat ze ooit een keer gelijk met MS kunnen komen. Dat zou natuurlijk het mooiste zijn.
Ach, als je kijkt hoe ze het in veel OpenSource projecten oplossen, dan zou ik niet zo snel voor Mono kiezen.

Het ligt er natuurlijk helemaal aan hoe groot je project is, maar bijvoorbeeld bij Handbrake is er een native Cocoa interface voor de Mac en een native Windows .Net interface geschreven in C#. En alle libraries daaronder zijn weer in C geschreven en op die manier cross platform.

Ik bouw liever een interface native. Of in Cocoa voor de Mac en een C# interface. Zo dwing je ook direct om je interface laag zo dun mogelijk te houden. Veel zie je ook desktop apps weer via xml communiceren met de server (logica).
Huh, dit verhaal begrijp ik niet. Wat is nu het argument om niet voor Mono te kiezen? Je bouwt het liefst je interface native dus je wilt geen Mono? Bedoel je dan dat je geen Linuxachtig platform (natively) wilt ondersteunen en daarom geen Mono gebruikt? Want waarom zou je niet natively een interface kunnen bouwen onder Mono?

Mono is iig al geweldig voor hobbyprogrammeurs die met C# willen knoeien :). Het is ook een mooie manier om apps te porten naar een ander platform. Simpele apps (die nog niet alle C#>=3 features gebruiken) zijn vrijwel direct te draaien onder Mono...
Hij pleit juist voor native programmeren, maar dan op de juiste manier. Al je code maak je cross-platform, en alleen je interface maak je native voor een os (of zelfs: windowmanager).
Dus op windows krijg je een C# .net gui, op linux een kde en gnome interface.
C#.net is natuurlijk geen 'native' interface. C(++) win32 is 'native' voor Windows.
C kan perfect gecompileerd worden voor linux, en waarschijnlijk ook voor mac. En dan heb je dus een app die native werkt op alle platformen.

Ik ben geen voorstander van mono of java (als user, ben geen dev) - het voegt teveel overhead toe aan een programma.
Met java ja, met c# valt reuze mee.
Het ontwikkel proces is met zo`n taal veel eenvoudig, nagenoeg geen geheugen management, ook voorkomt dit veel bugs m.b.t. addresserings problemen.

Opzich heeft dat niet zoveel met mono te maken, maar goed. Hoe beter mono is, hoe meer crossplatform er mogelijk is met C# :)
Maak je geen illusie dat MS op zich laat wachten. Als ze niet voor kunnen blijven, verzinnen ze gewoon wat nieuws.

Kijk maar naar de geschiedenis en de vele formaten die uit de ms-stal komen. De opensource producten kunnen na verloop van tijd aardig bij komen en daarna komt er weer iets nieuws. Zie zo ook de document formaten en mail opslag.
Zo MonoDevelop begint best mooi te worden!
Leuk om een beetje C# te programmeren op Linux.
Ik hoop dat deze wel bij mij goed werkt met keepass. Vorige versie had ik geen menu tekst in keepass.

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