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 , , 31 reacties
Bron: C|NET, submitter: T.T.

C|Net meldt dat de International Organization for Standardization (ISO) de programmeertaal C# en de Common Language Infrastructure (CLI), beide eigendom van Microsoft, erkend heeft en voorzien van het ISO-certificaat. Bijna drie jaar geleden is Microsoft al begonnen met het verkrijgen van de certificaten door een aanvraag in te dienen bij de ECMA, een Europese organisatie die toeziet op standaarden. In december 2001 werden beide onderdelen erkend als standaard. Bedrijven zien graag dat een taal of toepassing gecertificeerd is, omdat daaruit zou blijken dat het om een goed product gaat dat bovendien niet snel incompatibele veranderingen zal ondergaan.

Java vs. C# (kleiner)C# en CLI zijn allebei onderdeel van Microsoft's .NET ontwikkelplatform. Dit platform staat tegenover Java van Sun. Beide platforms zijn gericht op het ontwikkelen van webservices. Ondanks dat bedrijven graag standaarden zien, heeft Sun Java niet voorgedragen bij de ISO of de ECMA. Om het gebruik van Java te bevorderen heeft Sun daarentegen het Java Community Process opgericht. Dit keuringsplatform geldt voor het hele toepassingsgebied van Java. De nieuwe ISO-standaarden van Microsoft gelden echter voor slechts een gedeelte van de complete .NET strategie, zo melden medewerkers van Sun.

Moderatie-faq Wijzig weergave

Reacties (31)

Zijn er dan andere compilers dan die van MS voor C#?
De c# compiler hebben ze al heel lang. Dat is het probleem ook niet. De implementatie van alle class libraries van het .Net framework vereist nogal wat werk.

Goeie zet die standaard. Nu kan iedereen een c# compiler bouwen. C# is standaard en de MSIL waarheen gecompileerd moet worden ook.
gold ook jarenlang voor C.
Alleen AT&T had daar compilers voor (in UNIX).

later c++, Smalltalk zijn ook voorbeelden. (al weet ik niet of smalltalk ooit een cert. heeft gekregen)
O.a. Mono is bezig met een implementatie van .Net en ik denk ook C#. En je kunt overigens de C# compiler gratis downloaden van MS (dan blijft het natuurljik wel de compiler van MS, maar als er MS is een nieuwsbericht staat, houdt het vaak in dat het veel geld kost ;) ;) en da's op zich dus niet het geval).
edit:
ik ben wat traaaaag geloof ik...


Maar dit houdt volgens mij ook in dat het "veiliger" is voor bv een Borland om een Delphi.Net te maken, omdat ze er nu vrij zeker van zijn dat niet wekelijks de specs wijzigen (njah bij wijze van dan, als MS zo vaak de specs zou wijzigen zouden ze zelf ook heftig in de problemen komen...).
Delphi.Net is er al een jaartje :) (nou ja, de preview versie, maar hij compiled wel al voor .Net, heeft alleen geen IDE).
Ah toch gevonden:
Information technology -- C# Language Specification

(available in English only)

Edition: 1 (Monolingual)
Number of pages: 471
Technical committee / subcommittee: JTC 1/SC 22
ICS: 35.060
Stage: 60.60
Stage date: 2003-03-28

Add to shopping basket
ISO/IEC 23270:2003 PDF version (en) CHF 108,00 2619 KB

Abstract
ISO/IEC 23270:2003 specifies the form and establishes the interpretation of programs written in the C# programming language. It specifies:

the representation of C# programs;
the syntax and constraints of the C# language;
the semantic rules for interpreting C# programs;
the restrictions and limits imposed by a conforming implementation of C#.
ISO/IEC 23270:2003 does not specify:

the mechanism by which C# programs are transformed for use by a data-processing system;
the mechanism by which C# applications are invoked for use by a data-processing system;
the mechanism by which input data are transformed for use by a C# application;
the mechanism by which output data are transformed after being produced by a C# application;
the size or complexity of a program and its data that will exceed the capacity of any specific data-processing system or the capacity of a particular processor;
all minimal requirements of a data-processing system that is capable of supporting a conforming implementation.
een iso gecertificeerde standaard zoals deze hierboven geeft dus het nut aan van deze certificering:

andere bedrijven kunnen nu dus compilers schrijven voor de andere platforms, want ze hebben meer zekerheid over de taal. De regels zijn vastgelegd.
Nu het een standaard is, kan je (neem ik aan) verwachten dat de specs dus beschikbaar zijn. Hierdoor zullen projecten als mono beter van de grond komen.

Dat betekend dan dat c# beter platform onafhankelijk kan gaan werken.

Het enigste wat ik mis is eigenlijk een soort van c# plugin voor je browser (zoals java dus niet asp.net). Als dat er zou zijn dan zou ik iig geen java meer overwegen als progtaal, ik vind c# vele malen lekkerder coden dan java. (ervaring met beide talen)

Maargoed just my 2 cents
Het boeit mij totaal niet of iets gecertificeerd is als standaard of niet. Wat mij echt boeit is hoe er met zo'n "standaard" wordt omgegaan.
Om maar een voorbeeld van die ISO certificering aan te geven: je kunt een ISO certificaat krijgen voor het produceren van boten met het drijfvermogen van een baksteen. Wat heb je aan een standaard als niemand zich er aan conformeert.
hmmmm c# een standaard??
hoe moet dat als MS de helft van .NET aan het patenteren is? de mono en .GNU projecten worden hierdoor onstabiel ivm patentering.
En toch gaan ze het een standaard noemen?
dat is knap
Patenteren en Standardiseren zijn twee dingen die niets met elkaar te maken hebben.

MPEG-4 bijvoorbeeld zit barstensvol dingen waarop patent zit, en is gestandardiseerd. Iedereen kan dus een compleet 'compliant' MPEG-4 player schrijven, maar dat betekent niet dat dat gratis kan: je zult in de meeste gevallen moeten betalen aan de patenthouders.

Zo ook hier: iedereen kan een C# compiler schrijven, maar het is best mogelijk dat je daarvoor geld moet betalen aan MS (maar het is ook best mogelijk dat dat niet hoeft, bijvoorbeeld als MS die patenten alleen maar heeft aangevraagd om anderen voor te zijn, anders krijg je het probleem dat een ander bedrijf een patent op onderdelen van C# gaat aanvragen en geld van MS gaat eisen).
Beide platforms zijn gericht op het ontwikkelen van webservices.
Wat een onzin. C# en de CLI zijn gericht op webservices (.NET), terwijl Java gericht is op de duvel en zijn ouwe moer.

Maak eens een lijstje met dingen waar C# en de CLI op draaien en een lijstje met dingen waar Java en de Java runtime allemaal op draaien. Dan is het lijstje van Java een heel stuk langer.

Ik zie Microsoft's CLI nog niet in een horloge of een telefoontje draaien. Al was het alleen maar omdat ze bij Microsoft niets snappen van 'efficient geheugenbeheer'.

Maar goed, Java draait goed op huidig spul, CLI draait goed op toekomstig spul, bijvoorbeeld als je 256Mb geheugen in een horloge kwijt kunt.

Wat mij betreft is het een vorm van vapourware, net als de 'real-time' van Windows CE. Toen de industrie daar negatieve opmerkingen over begon te maken verzon Microsoft ter plekke de term 'soft real-time'.
ja, iig Borland heeft een eigen compiler voor delphi
(nog niet 100% Delphi naar C#)

(reactie op CyberErik)
borland is op dit moment druk bezig met een .net compiler voor delphi...
dit houdt niet in dat het delphi omzet naar C#..
Wat een onzin. C# en de CLI zijn gericht op webservices (.NET), terwijl Java gericht is op de duvel en zijn ouwe moer.
Wat een onzin. C# en (dus) de CLI zijn niet gericht op webservices. Webservices is 1 van de dingen die je met .Net kunt ontwikkelen, net zoals met Java, PHP, of desnoods je in C geschreven CGI module of Apache module.

.Net != webservices/"iets met internet".
Maak eens een lijstje met dingen waar C# en de CLI op draaien en een lijstje met dingen waar Java en de Java runtime allemaal op draaien. Dan is het lijstje van Java een heel stuk langer.
En wat is je punt? Sinds wanneer gaat het erom op hoeveel platformen iets kan draaien? Het is leuk dat je een spelletje geschreven in Java op je telefoon kunt draaien, maar als jij met een programma (noem maar wat, boekhoudpakket of zo) bezig bent, is dat er echt eentje die onder "lekker belangrijk" geplaatst kan worden. Net zoals dat het totaal niet intressant is dat Linux op de PS2 kan draaien, als je aan het bepalen bent welk OS met welke software je wilt gaan gebruiken als firewall (tenzij je je PS2 als firewall wilt inzetten :D). Dus, wat is je punt?
Ik zie Microsoft's CLI nog niet in een horloge of een telefoontje draaien. Al was het alleen maar omdat ze bij Microsoft niets snappen van 'efficient geheugenbeheer'.

Volgens mij loop je een paar jaar achter ..

Microsoft heeft onlangs het Compact Framework uitgebracht. Dat draait dus op telefoon zoals die van O2. Als ik me niet vergis, hebben ze de runtime-omgeving teruggebracht naar 1 Mb. Voor SmartPhone heb je nog wel Embedded C++ nodig, maar wachten totdat er 256Mb op kan, is dus onzin.

<reclame_aan>
De grote slag die Microsoft hiermee slaat, is dat het ontwikkelen van applicaties voor PocketPC's steeds eenvoudiger wordt. Iemand die iets in VB6 kan maken, kan dat - met .NET - nu ook voor een PocketPC.
</reclame_uit>
Ondanks dat de eigen 'keuringswijze' van Sun eigenlijk uitgebreider is, vind ik toch dat ISO-certified een stuk beter klinkt, ook slaat het op een minder brede toepassing. Ik denk dat het vooral weer marketingtechnisch een goede zet is van Microsoft.
Het klinkt misschien beter, maar iso stelt geen reet voor.
Als ik een bedrijf opricht en als enige bedrijfsregel heb dat ik iedere maand mijn klanten een wenskaart stuur en ik doe dat dan ben ik al ISO gecertificeerd.

Iso is leuk, maar je moet verder kijken dan het certificaat. Dus naar het waarom van het certificaat. Maw. wat krijg ik er gegarandeert voor terug.
Sorry, maar ik denk niet dat jij weet waar ISO precies voor staat. Het gaat erom dat je alles volgens bepaalde procedures doet zodat je als bedrijf een duidelijke politiek hebt - en dat geldt zowel intern (tussen medewerkers) en extern (naar je klanten). Je ISO-systeem moet wel degelijk ergens voor staan, anders krijg je het niet. Met ISO alleen kom je er niet, maar de uitreiking van een dergelijk certificaat is wel degelijk een indicatie van kwaliteit.
Jullie hebben het over ISO9000. Dit artikel gaat over ISO23270. En da's heel wat anders.
Ben ik de enige die mij afvraagt hoe je in godsnaam C# uitspreekt. Heeft dat tekentje een naam?
spreek uit: see sharp

('#' = 'sharp' ;))
ik dacht altijd dat het '#' een hash was (spreek uit: hesj) ? Zoals hash define (#define) in c, c++. Maar ook in het programma "ftp". Als je daar hash in typed krijg je bij data overdracht per (bv) 1kb (ligt er een beetje aan welk systeem je zit) een # teken te zien (soort progress bar). Zo kun je bij grote files/trage verbindingen toch de vooruitgang van de (m)get (m)put zien.
Uit de F.A.Q. op http://msdn.microsoft.com/vcsharp/productinfo/faq/default.asp:
The "#" is not the "hash" (or pound) symbol as most people believe. Rather, it is actually supposed to be the musical sharp symbol. However, the sharp symbol is not present on the standard keyboard, so it's easier to use the hash ("#") symbol. The name of the language is, of course, pronounced "see sharp."
dat bovendien niet snel incompatibele veranderingen zal ondergaan.
En wie bracht juist incompatible veranderingen aan in hun Java implementatie? juist Microsoft :)

Overigens kun je compabiliteit ook afdwingen door licenties e.d.

Sun heeft Java nooit voorgedragen omdat ze zelf invloed willen blijven houden op de ontwikkeling.
Sun heeft Java wel voorgedragen. Alleen hebben ze het later teruggetrokken omdat Microsoft er miljoenen tegenaan aan het gooien was om de standard te 'embrace en extend'-en. Waarmee Microsoft bedoelt dat ze doen alsof het hun eigen idee is en alle oorspronkelijke design keuzes overboord gooit zonder zich druk te maken over wie dan ook.

Microsoft wilde van Java een tweede C++ maken, terwijl het juist de bedoeling was dat het een BETERE C++ zou worden.

Nu heeft Microsoft in het stof gebeten, heeft zijn eigen C++ kloon ontwikkeld en het C# genoemd.

We zullen wel zien.

Voorlopig denk ik dat een web service op basis van Java een HEEL stuk veiliger is dan een web service op basis van C#, CLI en IIS. We zullen nog heel wat economische tegenslagen meemaken door de kenmerkende slordigheid van Microsoft.
<quote>
Om het gebruik van Java te bevorderen heeft Sun daarentegen het Java Community Process opgericht. Dit keuringsplatform geldt voor het hele toepassingsgebied van Java
</quote>

ehm JCP is niet echt een de keuringsdienst van waren, jcp betekent dat iedereen mee kan werken aan het ontwikkelen van standaarden dmv zogenaamde expert groups, gebruikelijk bevatten die expert groups afgevaardigden van de partijen die t grootste belang hebben bij de specificatie, zo zal je OMG vinden in de JDO specs etc, ook vind je veel opensource ontwikkelaars in expert groups
bijvoorbeeld craig mclanahan van tomcat en marc fleury van jboss
deze mensen ontwikkelen samen de specificatie

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