[C#] Fabeltje uit het marketingboek of levend?

Pagina: 1
Acties:
  • 178 views sinds 30-01-2008
  • Reageer

  • tomato
  • Registratie: November 1999
  • Niet online
Naar aanleiding van deze link vroeg ik mij af hoeveel mensen er daadwerkelijk al serieus aan het ontwikkelen zijn in C#.

Wat doet iemand overstappen van Java naar C#/dotNET?
Zijn er genoeg redenen om C# boven VB.NET te verkiezen en zo ja, waarom komt Microsoft dan toch nog met VB.NET?
Waarom zou een Java programmeur onder .NET niet J# gebruiken maar C#?
Is er uberhaupt wel iemand serieus bezig in C# en zo ja, waarom zie ik hier in /14 dan vrijwel geen topics over C#?
De negatieve kanten van C#/dotNET ten opzichte van Java zien we in posts van de Javahova's (ik doel niet op /14) genoeg voorbij komen, maar wie overtuigt mij van de superieuriteit van C#/dotNET boven het Java platform?
Wie gelooft nog in de portabiliteit van dotNET en daarme C#?
Hoe zien we C# in verhouding tot de open taal Python (of moeten we deze toch als scripttaal af doen)?

Zomaar wat (voor de hand liggende en wellicht dom ogende) vraagjes :)
Niet zozeer omdat ik persoonlijk antwoord op deze vragen wil, maar om wat reacties los te krijgen.

Vergelijkende beschouwing C#
Reguliere Expressies in C# :P

Dit topic open ik deels naar aanleiding hiervan.

* tomato heeft zelf eigenlijk nog niets serieus gedaan met C# (op wat hacken met de regexen na ;) )

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Ik ben er heel ff mee bezig geweest
Ik heb de kit ooit eens gedownd
maar heb um er na 1 dag weer afgegooid
ik ontdekte nix "leuks" tov mijn std C ervaring
en was het al weer gauw zat
ik kan nu nog geen implementatie voor mezelf verzinnen trouwens

dus wat mij betreft een fabeltje

Doet iets met Cloud (MS/IBM)


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Helemaal niks :)
Zowiezo nog weinig gelezen over .NET en vrienden.

  • tus
  • Registratie: November 2000
  • Laatst online: 05-07-2012

tus

Ben heel toevallig bezig met C# leren en ik vind het wel kicken. Ja waarom C# boven VB.NET of VC++, geen idee, kwestie van smaak en de kleine verschillen die er zijn tussen deze talen.

Het is nieuw en het leek mij interessant dus ben ik er in gedoken. Blijkt het later niet slim geweest te zijn, tja jammer dan voor mij :)

Tot nu toe (ben pas bij H3 van het boek) bevalt het mij heel erg goed. Ik zie overeenkomsten met VB (zoals de foreach commando) en ik zie dingen van C (de syntaxis lijkt er erg op :)). Alleen dan zonder pointers. Het is dus een schone versie van Java (tenminste dat zegt M$).

Het is dus een kwestie van smaak waar je in wilt programmeren, want ze werken toch allemaal met de CLR en met de MSIL.

Ik wil niet discussieren of .NET daadwerkelijk zo revolutionair en geweldig is, maar ik geloof gewoon dat het er komt en dat ik er dus ook gewoon aan moet geloven. Nou laat ik het dan ook maar gewoon meteen leren.

My 2 cents

Verwijderd

Eerst even een korte reactie voor ik de artikelen ga lezen (ben benieuwd of mijn mening naderhand verandert is):
Op dinsdag 20 november 2001 15:12 schreef tomato het volgende:
Zijn er genoeg redenen om C# boven VB.NET te verkiezen en zo ja, waarom komt Microsoft dan toch nog met VB.NET?
De enige reden om VB te gebruiken is omdat je eraan gewend bent of het een prettigere taal vindt. Hiervoor kon je toch ook altijd kiezen uit C++ en Visual Basic? Verder zal VB er altijd in blijven omdat het toch wel een beetje het taaltje van Microsoft is.
Waarom zou een Java programmeur onder .NET niet J# gebruiken maar C#?
Ik zou eerder zeggen, waarom zou iemand J# gebruiken en niet C#? Dat lijkt me een betere vraag. Zo'n beetje alles wat Java is, zit in C#, het belangrijkste dat ontbreekt zijn de Java libraries, en die kun je dus niet gebruiken in J#.
Is er uberhaupt wel iemand serieus bezig in C# en zo ja, waarom zie ik hier in /14 dan vrijwel geen topics over C#?
Ik denk dat zolang .NET nog beta is, het magertjes zal blijven. Als .NET echt af is, en verspreid wordt (bijvoorbeeld als Windows .NET uitkomt ofzo) dat men dan massaal van C/C++ naar C# overstapt.
Wie gelooft nog in de portabiliteit van dotNET en daarme C#?
Ik heb mij hierin laten overtuigen door een topic die via de search nog wel te vinden is. Ik betwijfel ten zeerste dat je ooit .NET applicaties zonder aanpassingen op de mac of linux zult draaien.
Hoe zien we C# in verhouding tot de open taal Python (of moeten we deze toch als scripttaal af doen)?
Waarom in vergelijking met Python en niet Perl? Of doel je op de object geörienteerdheid?

  • The Source
  • Registratie: April 2000
  • Laatst online: 16-09 22:40
Laat maar :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 20 november 2001 15:58 schreef Tus het volgende:
Ik zie overeenkomsten met VB (zoals de foreach commando) en ik zie dingen van C (de syntaxis lijkt er erg op :)). Alleen dan zonder pointers. Het is dus een schone versie van Java (tenminste dat zegt M$).
hmm .Java heeft ook geen pointers. Ik zie hier geen argumenten waarom Java 'viezer' zou zijn.

Persoonlijk waag ik me er niet aan. Als je voor .net kiest zit je, alhoewel M$ anders beweerd, met handen en voeten gebonden aan de software oplossingen uit redmond.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Ik heb het verhaal even vluchtig door gekeken. Het belangrijkste dat me zo opvalt is het ontbreken van operator overloading in Java. Ik weet dat dat er weer uit is gehaald omdat het onnodig was (en daar zit wel wat in natuurlijk). Verder wat betreft properties is er ook een verschil. Java werkt met setProperty name, C# gebruikt Property { set { doe dit } get { doe dat } }, tja het is een klein verschil. Ik denk dat ik toch voor de Java manier zou kiezen.
Verder kun je alles als een object behandelen in C#. En dat vind ik nou leuk. Je kunt dus:
code:
1
2
int i;
Console.WriteLine(i.ToString()); // oid ;)

doen. Lijkt mij prettiger dan
code:
1
2
3
int i;
Integer int = new Integer(i);
System.out.println(int.toString());

(lichtelijk overdreven, maar toch).

Verwijderd

code:
1
2
3
int i;
Integer int = new Integer(i);
System.out.println(int.toString());

Is gewoon
int i;
System.out.println(""+i); //Zelfde resultaat

Verwijderd

Op dinsdag 20 november 2001 16:54 schreef robh het volgende:
code:
1
2
3
int i;
Integer int = new Integer(i);
System.out.println(int.toString());

Is gewoon
int i;
System.out.println(""+i); //Zelfde resultaat
Weet ik wel. Het gaat me er alleen om dat je ook op niet standaard objecten (ben de officiele term even kwijt) methods kunt uitvoeren :)

  • tomato
  • Registratie: November 1999
  • Niet online
Zef: Weet ik wel. Het gaat me er alleen om dat je ook op niet standaard objecten (ben de officiele term even kwijt) methods kunt uitvoeren :)
In Java heb je naast objecten ook primitieven (integers, booleans etc). Ik weet niet uit mijn hoofd hoe het in C# zit, maar ik neem niet aan dat dat daar heel anders is (ook al kun je een primitieve direct als object behandelen).

Overigens vind ik
code:
1
2
int i = 2;
System.out.println(""+i);

altijd maar lelijk. Je gebruikt hier een impliciete cast door de context, niet echt duidelijk IMHO. Daarnaast was dat niet waar Zef op doelde volgens mij.

  • GBits
  • Registratie: Augustus 1999
  • Laatst online: 28-01-2025
Inhoudelijk ben ik niet zo sterk, maar dit is wel leuk:
http://www.gotdotnet.com/team/compare/
dotnet sneller en makkelijker dan Java2ee.
Minder regels code etc.

Daarmee niet zeggende dat het ene BETER of SLECHTER is dan het andere, gewoon meer een evolutie.

En verder natuurlijk de dev days op 4 december in DenHaag:
http://www.microsoft.com/netherlands/events/devdays/default.asp

Ik heb me laten vertellen dat VStudio.net eind december RTM is.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 20 november 2001 17:02 schreef Zef het volgende:

[..]

Weet ik wel. Het gaat me er alleen om dat je ook op niet standaard objecten (ben de officiele term even kwijt) methods kunt uitvoeren :)
Ik snap wel wat je bedoeld. Maar int (en float en double en alle andere 'types' die niet met een hoofdletter geschreven worden) zijn eigenlijk 'knievallen' van sun. Van elk van die 'types' is ook een object beschikbaar, maar omdat deze types nogal vaak voorkomen en het nogal wat van de efficientie vergde als dit ook echt objecten zouden worden hebben ze de kleine letter variant toegevoegd.

IMHO is dat mooi transparant, want dan weet je tenminste waar je mee bezig bent. Ik heb een donkerbruin vermoeden dat C# onder de motorkap precies hetzelfde met die 'types' omgaat, en dan heb ik liever dat je dat ook gewoon aan de code kunt zien.

Als je het trouwens echt door zou trekken, dan zou je ook statements hebben als:
code:
1
2
3
4
5
6
7
Integer i=new Integer(0);
i.inc();
i.add(new Integer(1));
Boolean b = new Boolean(i.equals(5));
for (Integer j=new Integer(0);j.lessthan(5);j.inc()){
  System.out.println(j.toString());
}

NB: Types is tussen aanhalingstekens, omdat je binnen OO niet echt meer van types praat

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Op dinsdag 20 november 2001 17:09 schreef tomato het volgende:

[..]

In Java heb je naast objecten ook primitieven (integers, booleans etc). Ik weet niet uit mijn hoofd hoe het in C# zit, maar ik neem niet aan dat dat daar heel anders is (ook al kun je een primitieve direct als object behandelen).
Juist, primitieve types, die term zocht ik :)
Op dinsdag 20 november 2001 17:14 schreef Janoz het volgende:

[..]

Ik snap wel wat je bedoeld. Maar int (en float en double en alle andere 'types' die niet met een hoofdletter geschreven worden) zijn eigenlijk 'knievallen' van sun. Van elk van die 'types' is ook een object beschikbaar, maar omdat deze types nogal vaak voorkomen en het nogal wat van de efficientie vergde als dit ook echt objecten zouden worden hebben ze de kleine letter variant toegevoegd.
Klopt, hetzelfde geldt voor C#
IMHO is dat mooi transparant, want dan weet je tenminste waar je mee bezig bent. Ik heb een donkerbruin vermoeden dat C# onder de motorkap precies hetzelfde met die 'types' omgaat, en dan heb ik liever dat je dat ook gewoon aan de code kunt zien.
Ik neem wel aan dat C# op de achtergrond het int als "native" type omgaat. Maar wat ik dus wil zeggen dat ookal is het niet echt een object, je het wel zo kan behandelen zonder het eerst naar een echt object om te hoeven bouwen :)

  • tomato
  • Registratie: November 1999
  • Niet online
Lecram: Inhoudelijk ben ik niet zo sterk, maar dit is wel leuk:
http://www.gotdotnet.com/team/compare/
dotnet sneller en makkelijker dan Java2ee.
Minder regels code etc.
Persoonlijk krijg ik al een beetje kriebels bij die website (een van Microsoft's community's).

Sneller
Eigenlijk doelde ik met dit topic meer op C# wat je dan zou kunnen vergelijken met de taal Java. Maar ik snap dat je dat moeilijk los kunt zien van dotNET en het dan direct kunt vergelijken met het Java platform (op dat moment kun je trouwens ook pas praten over 'snelheid' als dat al kan).

Makkelijker
Ik denk dat je dat niet goed van een platform kunt zeggen en dat het niet echt belangrijk is als het wel kan. Moeilijkheidsgraad is een stuk belangrijker bij een taal IMHO en dan zouden ze inderdaad aan kunnen voeren dat dotNET met VB.NET makkelijker is dan Java (of op zijn minst even makkelijk met J#).

Minder regels code
Maar daarmee ook nog duidelijker en krachtiger?
Janoz: Ik snap wel wat je bedoeld.
[..]
Ik heb een donkerbruin vermoeden dat C# onder de motorkap precies hetzelfde met die 'types' omgaat, en dan heb ik liever dat je dat ook gewoon aan de code kunt zien.
Beetje wat ik wilde zeggen dus :P
tomato: In Java heb je naast objecten ook primitieven (integers, booleans etc). Ik weet niet uit mijn hoofd hoe het in C# zit, maar ik neem niet aan dat dat daar heel anders is (ook al kun je een primitieve direct als object behandelen).

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 20 november 2001 17:14 schreef Lecram het volgende:
Inhoudelijk ben ik niet zo sterk, maar dit is wel leuk:
http://www.gotdotnet.com/team/compare/
dotnet sneller en makkelijker dan Java2ee.
Minder regels code etc.

Daarmee niet zeggende dat het ene BETER of SLECHTER is dan het andere, gewoon meer een evolutie.

En verder natuurlijk de dev days op 4 december in DenHaag:
http://www.microsoft.com/netherlands/events/devdays/default.asp

Ik heb me laten vertellen dat VStudio.net eind december RTM is.
Mwah.. die sites lijken me niet al te objectief. Persoonlijk zou ik mijn mening over dotnet niet af laten leiden uit de door jou genoemde artikelen. Je zult op www.php.net ook niet de voordelen van ASP vinden oid.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • tomato
  • Registratie: November 1999
  • Niet online
D2k: Ik ben er heel ff mee bezig geweest
Ik heb de kit ooit eens gedownd
maar heb um er na 1 dag weer afgegooid
ik ontdekte nix "leuks" tov mijn std C ervaring
en was het al weer gauw zat
Als je het gaat vergelijken met 'standaard C' ben ik toch benieuwd hoe je in hemelsnaam niets 'leuks' in C# kunt vinden :D
ik kan nu nog geen implementatie voor mezelf verzinnen trouwens
Dat hebben wellicht meer mensen, maar misschien komt dat ook door een gebrek aan kennis van de mogelijkheden en door een gebrek aan dotNET hosting als het om webapplicaties gaat.
Tus: Het is nieuw en het leek mij interessant dus ben ik er in gedoken. Blijkt het later niet slim geweest te zijn, tja jammer dan voor mij :)
Persoonlijk denk ik niet dat je hierin een verkeerde keuze kunt maken. Of je nu gaat voor Java of C#, een echte keuze hoeft het niet te zijn. Wanneer jij een doorgewinterde C# programmeur bent en goede kennis van OOP hebt denk ik dat het vrij triviaal voor je zal worden om je in Java te verdiepen.
Het is dus een kwestie van smaak waar je in wilt programmeren, want ze werken toch allemaal met de CLR en met de MSIL.
Aardig punt. Het is een van de redenen waarom ik twijfel of ik het een goede beslissing van MS vind om direct al 4 (meer?) talen voor dotNET uit te brengen.
Zef: De enige reden om VB te gebruiken is omdat je eraan gewend bent of het een prettigere taal vindt. Hiervoor kon je toch ook altijd kiezen uit C++ en Visual Basic? Verder zal VB er altijd in blijven omdat het toch wel een beetje het taaltje van Microsoft is.
IMHO komen de talen nu toch wel erg dicht bij elkaar te liggen door het hele dotNET framework. Zeker omdat het beiden vrij volledige OO talen zijn en erg logisch in elkaar zitten. Met C# hebben ze al enige moeite gedaan om de beginnende programmeur niet af te schrikken en om het maar gemakkelijk te maken, waarom dan nog VB.NET (en vraag me al helemaal niet waarom er dan ook nog JavaScript.NET moet bestaan)?
Ik zou eerder zeggen, waarom zou iemand J# gebruiken en niet C#? Dat lijkt me een betere vraag. Zo'n beetje alles wat Java is, zit in C#, het belangrijkste dat ontbreekt zijn de Java libraries, en die kun je dus niet gebruiken in J#.
Begrijp me niet verkeerd, ik zie niet zo veel in J# ;) . Maar wat bedoelt Microsoft nou precies met J# en C# naast elkaar? Beide talen lijken me oa als functie te hebben om (on)tevreden Java fans naar dotNET te lokken, maar waarom moet dit dubbel? C# wordt toch als de taal van dotNET gepresenteerd, dan vraag ik me toch af wat J# nog betekent. Maar goed, dit wordt misschien meer een discussie over J# ;)
Ik heb mij hierin laten overtuigen door een topic die via de search nog wel te vinden is. Ik betwijfel ten zeerste dat je ooit .NET applicaties zonder aanpassingen op de mac of linux zult draaien.
Ik denk zeker dat dat wel zal kunnen. Maar niet zomaar. Ik verwacht dat je daar dan als programmeur vanaf de eerste regel code die je schrijft rekening mee zult moeten houden en tijdens de gehele ontwikkeling veel dotNET features zult moeten laten liggen. Ik geloof in de oorspronkelijke platform onafhankelijkheid van dotNET, maar niet in die van de uiteindelijke implementatie van dotNET. Ze hadden dit idee wellicht consistenter door kunnen ontwikkelen...
Waarom in vergelijking met Python en niet Perl? Of doel je op de object geörienteerdheid?
Yep.

Verwijderd

Op dinsdag 20 november 2001 17:56 schreef tomato het volgende:
[..]
[..]

IMHO komen de talen nu toch wel erg dicht bij elkaar te liggen door het hele dotNET framework. Zeker omdat het beiden vrij volledige OO talen zijn en erg logisch in elkaar zitten. Met C# hebben ze al enige moeite gedaan om de beginnende programmeur niet af te schrikken en om het maar gemakkelijk te maken, waarom dan nog VB.NET (en vraag me al helemaal niet waarom er dan ook nog JavaScript.NET moet bestaan)?
Zoals ik al zei, volgens mij zit Bill nog steeds druk uit te oefenen om "zijn" basic te blijven gebruiken. Echt nut heeft het niet, en javascript.net, tja het gaat meer om de quaniteit dan het werkelijke nut ben ik bang.
[..]

Begrijp me niet verkeerd, ik zie niet zo veel in J# ;) . Maar wat bedoelt Microsoft nou precies met J# en C# naast elkaar? Beide talen lijken me oa als functie te hebben om (on)tevreden Java fans naar dotNET te lokken, maar waarom moet dit dubbel? C# wordt toch als de taal van dotNET gepresenteerd, dan vraag ik me toch af wat J# nog betekent. Maar goed, dit wordt misschien meer een discussie over J# ;)
Begrijp mij ook niet verkeerd, ik probeer duidelijk te maken dat ik ook absoluut geen nut zie in J# ;) Het heeft niks toe te voegen aan het geheel.
[..]

Ik denk zeker dat dat wel zal kunnen. Maar niet zomaar. Ik verwacht dat je daar dan als programmeur vanaf de eerste regel code die je schrijft rekening mee zult moeten houden en tijdens de gehele ontwikkeling veel dotNET features zult moeten laten liggen. Ik geloof in de oorspronkelijke platform onafhankelijkheid van dotNET, maar niet in die van de uiteindelijke implementatie van dotNET. Ze hadden dit idee wellicht consistenter door kunnen ontwikkelen...
Qua idee is het natuurlijk nodig. Maar als je gaat kijken hoe je grafische applicaties maakt in .NET blijkt als snel dat deze libraries niet zomaar geport kunnen worden naar andere platformen. Natuurlijk kunnen er onafhankelijke libraries geschreven worden, maar hier zie ik MS niet direct een bijdrage aan leveren. Java heeft hiervoor Swing uitgebracht wat een uitstekende oplossing is voor dit probleem.

edit:
Is Martin ziek, heeft hij een leven, of is er iets anders aan de hand? Ik had toch allang een reactie van hem verwacht :?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ik ben er iig nog niet mee bezig geweest en ben ook niet van plan om ooit iets te fabriceren in C#. Ik vind Java nog steeds koning der programmeertalen.C# lijkt erg veel op Java, is zelfs sneller, maar is niet multi-platform en het zit veel waziger in elkaar. Voor de mensen die wel willen beginnen met C# moet je es kijken op http://www.mastercsharp.com. Goede site van een Java programmeur die op C# is overgestapt.

Ik weet het zo net nog niet met dat .NET gedoe van M$ }:O

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Zef: Ik zou eerder zeggen, waarom zou iemand J# gebruiken en niet C#? Dat lijkt me een betere vraag. Zo'n beetje alles wat Java is, zit in C#, het belangrijkste dat ontbreekt zijn de Java libraries, en die kun je dus niet gebruiken in J#.
Vergeet niet een ander belangrijk aspect: write once, run anywhere. .NET belooft dit wel, maar ik geloof het pas als ik een flinke applicatie met een database, een gui en netwerk gebruik zowel op de Mac, Linux en MS Windows zonder verandering zie draaien. De WinForms zijn heel aardig, maar heel moeilijk te implememteren voor ondere OS'en. In feite komt het een beetje neer op: als het geen MS Windows is, dan maken we het toch MS Windows? Dit zie je terug in andere systeem specifieke onderdelen die je in de library terugvindt.
Zef: Verder kun je alles als een object behandelen in C#. En dat vind ik nou leuk. Je kunt dus [int als object gebruiken]
Dat klinkt inderdaad leuk, maar vergeet niet 1 zeer belangrijk detail: bij C# wordt hierbij auto-boxing gebruikt. Het is geen object! Dit heeft grote gevolgen voor de performance van dit systeem. Auto-boxing kan ervoor zorgen dat de creatie van objecten niet meer inzichtelijk is. Hierdoor kan je performance problemen moeilijker inzien. Bij Java is er bewust voor gekozen om dit niet te doen. Auto-boxing implementeren zou triviaal zijn.[quote]
Zef: Ik neem wel aan dat C# op de achtergrond het int als "native" type omgaat.[/b]
Als je het als een object gebruikt dus niet. Zie mijn auto-boxing stuk.
Lecram: http://www.gotdotnet.com/team/compare/
dotnet sneller en makkelijker dan Java2ee.
Minder regels code etc.
Deze vergelijking is al uitgebreid besproken op www.javalobby.org . Er zijn belangrijke verschillen tussen de twee implementaties. In de .NET implementatie wordt geen gebruik gemaakt van een MVC ontwerp, in de Java implementatie wel. In de .NET implementatie worden stored procedures gebruikt, in de Java implementatie niet. Het belangrijkste: de Java implementatie draait op heel veel besturingssystemen, de .NET implementatie voorlopig alleen op MS Windows. Verder is de J2EE Pet Store demo ook niet echt fantastisch geschreven.

Zo meer ;)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Zef: Qua idee is het natuurlijk nodig. Maar als je gaat kijken hoe je grafische applicaties maakt in .NET blijkt als snel dat deze libraries niet zomaar geport kunnen worden naar andere platformen. Natuurlijk kunnen er onafhankelijke libraries geschreven worden, maar hier zie ik MS niet direct een bijdrage aan leveren. Java heeft hiervoor Swing uitgebracht wat een uitstekende oplossing is voor dit probleem.
Inderdad, helemaal mee eens. Platform onafhankelijke GUI bibliotheken ontwikkelen doe je niet zomaar even. AWT is nooit aangeslagen omdat die manier van werken niet echt effectief blijkt te zijn. Qt van Trolltech doet het wat dat betreft een stuk beter. IBM is bezig met een nieuw initiatief (voor de design patterns kenners: Erich Gamma is hierbij betrokken ;) ): Eclipse, waarin dus weer met native GUI componenten gewerkt kan worden. Ook kan je native componenten combineren met zelf-getekende componenten. Qua resultaat heeft het wat weg van de Qt implementatie, qua design vind ik het leuker. Er is een aparte laag voor model gebaseerd werken, maar er zijn geen renderers ;( .
Is Martin ziek, heeft hij een leven, of is er iets anders aan de hand? Ik had toch allang een reactie van hem verwacht :?
Ik heb sinds kort Wanadoo Hometime, waarmee ik dus 's avonds gratis kan bellen. Ik me voorgenomen om overdag niet meer te internetten en zo een paar honderd gulden per maand te besparen :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Nu dan een reactie op het oorspronkelijke stuk ;) .
tomato: Naar aanleiding van deze link vroeg ik mij af hoeveel mensen er daadwerkelijk al serieus aan het ontwikkelen zijn in C#.
Ik het het stuk alleen even doorgebladerd (beetje lang :O ;)), maar ik heb wel al behoorlijk wat ontwikkeld in C#, om het over Java maar niet te hebben...
Wat doet iemand overstappen van Java naar C#/dotNET?
De enige reden die ik kan verzinnen voor een ervaren Java programmeur is een betere integratie met het MS Windows platform. Java applicaties blijven toch vaak een buitenbeentje. Als je andere platformen kunt negeren kan C# met .NET een voordeel zijn.
Waarom zou een Java programmeur onder .NET niet J# gebruiken maar C#?
J# is een uitermate vage bedoeling. Aan de ene kant proberen ze het op Java te laten lijken, aan de andere kant verkrachten ze de taal ook volledig om het goed in .NET te laten draaien. Ik vond het buitengewoon vermakelijk dat attributen in J# bijvoorbeeld in commentaar worden geschreven om zogenaamd compatible te blijven. (1) is J# al totaal niet meer compatible door veel ingrijpendere veranderingen (2) worden die attributen niet voor niets gebruikt en zal de code dus toch geen zinvolle rol kunnen vervullen op een ander platform.

C# sluit goed aan op .NET en is niet bijzonder ingewikkeld. Een Java programmeur kan er al binnen enkele uren behoorlijk goed mee werken. Ik zie absoluut geen reden voor de aanwezigheid van J#.

C# is een verhaal apart. Het leuke van C# is, dat in feite al onder de motorkap alles syntaxtische suiker is. Properties worden gewoon vertaald naar methoden bijvoorbeeld. Delegates worden ook gewoon vertaald naar klassen. Sommige van deze syntaxtische suiker kan makkelijk zijn, maar het maakt de taal ook complexer.
Is er uberhaupt wel iemand serieus bezig in C# en zo ja, waarom zie ik hier in /14 dan vrijwel geen topics over C#?
Ik ben er wel serieus mee bezig, maar stel niet veel vragen ;) . Ik ben bezig met een RMI implementatie die volledig transparant .NET Remotign en Java's RMI laat samenwerken. Hiervoor is vooral Java code nodig, maar ik schrijf een vrij grote demo in C#.
Wie gelooft nog in de portabiliteit van dotNET en daarme C#?
De intermediate language van .NET is denk ik superieur aan Java bytecode. Ik heb helaas nog niet de tijd gehad om het goed te bestuderen, maar het is in ieder geval zo dat het een stuk eenvoudiger is om een taal als Haskell naar .NET IL te gaan vertalen. Voor Java bytecode is dit ook mogelijk, maar een stuk lastiger en met performance problemen. Verder is het natuurlijk wel weer een nadeel van .NET IL dat het minder veilig is. Een taal als C++ zou je niet naar Java bytecode kunnen compileren vanwege de pointer berekeningen (voor zover ik weet...). Uiteraard is dit jammer, maar het heeft ook voordelen....
Zijn ook in Java nu goed mogelijk ;) . De implementatie van .NET, met runtime gegeneerde code is ook mogelijk op het Java platform.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:03
Ik zit ook zo'n beetje te twijfelen. Moet ik Java leren of toch liever C#?
Java is al een tijdje ingeburgerd en wordt veel gebruikt, wat bij C# nog niet het geval is.
Ik zeg nog niet, want alles (bijna alles) wat van MS komt, komt er wel. Er is nog nooit een IT-manager ofzo ontslaan omdat hij een product van MS kocht, MS is iets waar je - of je nu wilt of niet -, niet van onderuit komt. Het is het grootste en het machtigste software bedrijf ter wereld en ze hebben het geld en de middelen om hun producten te pushen en ervoor te zorgen dat ze op de een of andere manier standaard worden.
Ik denk dus niet dat C# (het hele .NET gedoe eigenlijk) een fabeltje of een flop wordt.
Java is wel multiplatform, maar is C# niet multi-platform over alle Windows platformen? En is het eigenlijk de bedoeling dat C# (Visual) C++ vervangt?

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: Ik zit ook zo'n beetje te twijfelen. Moet ik Java leren of toch liever C#?
In feite gaat het niet zozeer om de talen, maar om de bibliotheken. Java en C# zijn allebei vrij stricte object-georienteerde talen en lijken enorm veel op elkaar. Als je de ene goed kent, is de andere een kwestie van een dag.

De bibliotheken zijn een ander verhaal: als je goed thuis bent in de Java bibliotheken, moet je toch gaan zoeken in de .NET bibliotheken. Vaak wordt de functionaliteit toch behoorlijk anders aangeboden...
Ik zeg nog niet, want alles (bijna alles) wat van MS komt, komt er wel.
Ik denk sowieso dat .NET de volledige markt van software ontwikkeling van MS Windows in handen gaat krijgen. Binnen enkele jaren is .NET de verstandigste keuze voor iedereen die software schrijft voor MS Windows en niet geintereseerd is in een platform-onafhankelijke oplossing. Delphi zou daarvan ook weleens een slachtoffer kunnen zijn. Eigenlijk is het voor MS Windows programmeurs ook een verademing: betere talen, goede samenwerking, duidelijke en betere libraries. Alles wordt in feite beter.
Java is wel multiplatform, maar is C# niet multi-platform over alle Windows platformen?
Dat wordt inderdaad veel opgemerkt. Vergeet echter niet dat .NET ook voor een groot deel de server-side ontwikkelaar wil trekken. Die zijn toch vaak ook geinteresseerd en in een Unix/Linux mogelijkheid... Ook kan een serieus bedrijf eigenlijk niet om de grote groep Mac gebruikers heen. Mac OS X heeft ontzettend goede Java ondersteuning. Ook de groeiende groep Linux gebruikers, mag je naar mijn mening niet negeren...
En is het eigenlijk de bedoeling dat C# (Visual) C++ vervangt?
In .NET kan je ook C++ gebruiken met een hoop standaard extensies om het goed in .NET te laten functioneren (wat in feite dus ook met Java en VB is gebeurd). Ik denk niet dat Visual C++ nog lang zal blijven bestaan.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tomato
  • Registratie: November 1999
  • Niet online
Zef: Qua idee is het natuurlijk nodig. Maar als je gaat kijken hoe je grafische applicaties maakt in .NET blijkt als snel dat deze libraries niet zomaar geport kunnen worden naar andere platformen. Natuurlijk kunnen er onafhankelijke libraries geschreven worden, maar hier zie ik MS niet direct een bijdrage aan leveren. Java heeft hiervoor Swing uitgebracht wat een uitstekende oplossing is voor dit probleem.
Swing is ook niet alles, maar onder de huidige oplossingen een van de betere. Platformonafhankelijke GUI libraries zijn een groot probleem getuige de vele mislukkingen op dit gebied ;) . Ik ben benieuwd wat Eclipse gaat doen (QT mag ik wel en Erich Gamma... tsja daar hoef ik niets over te zeggen :) ). Zie stukje van mbravenboer hierboven.
MisterData: Ik ben er iig nog niet mee bezig geweest en ben ook niet van plan om ooit iets te fabriceren in C#. Ik vind Java nog steeds koning der programmeertalen.
Ik weet het niet, op sommige punten lijkt C# toch net iets consistenter en doordachter ontworpen (helaas blijft het vaak bij 'lijkt' als je onder de motorkap kijkt |:( ).
Maar wat vind je van het JVM idee waar Javacode op draait?
C# lijkt erg veel op Java, is zelfs sneller, maar is niet multi-platform en het zit veel waziger in elkaar.
Dat waziger in elkaar zitten durf ik tenminste discutabel te noemen ;)
Multiplatform is C# in principe zeker wel (platformonafhankelijk zelfs), het gaat meer om de platformonafhankelijkheid (of -afhankelijkheid) van het onderliggende framework. Maar nee, ik geloof niet dat we veel C# applicaties zullen gaan zien op een Unix platform. Ook al is het misschien relatief gemakkelijk om dotNET hiervoor te porten denk ik niet dat dit daadwerkelijk (op een nuttige manier) zal gebeuren.

Verwijderd

---------
Naar aanleiding van deze link vroeg ik mij af hoeveel mensen er daadwerkelijk al serieus aan het ontwikkelen zijn in C#.
----------
Zeker, er zijn al mensen actief bezig met C#, en ook enthousiast bezig!!
----------

Wat doet iemand overstappen van Java naar C#/dotNET?
---------
C# is helemaal nieuw, de sterke punten uit c++ en uit java vormen samen c#. Klinkt mooi, maar is ook mooi.

In Visual Studio 7, kan je alles door elkaar programeren. Je kan gewoon basic code en c++ code door elkaar programere. Dit komt, omdat de runtim van dotNet anders is dan eerdere versies van Windows.
Alle talen worden nu (in XP) vertaald naar LS, die als laag boven de diecte hardware draait. Geen virtual machiens meer, maar een directe aansturing, door gelijk te vertalen naar LS.
LS is een vernieuwde Assembler. Door LS kan er in princiepe ook software van andere besturingssystemen op draaien, omdat alles word vertaald naar LS.
---------
Zijn er genoeg redenen om C# boven VB.NET te verkiezen en zo ja, waarom komt Microsoft dan toch nog met VB.NET?
---------
80% van de huidige programeurs werkt nogsteeds met VB.
---------
Waarom zou een Java programmeur onder .NET niet J# gebruiken maar C#?
---------
C# is beter toegespitst op het object georienteerd werken. Werkt beter met .net.
Het hele onderwater werken, wat we moesten doen in c++, als we een object op het scherm wilde plaatsen, is meer en meer weggepoetst in c#. Met handles word niet meer zo gebruikt.
-------
Is er uberhaupt wel iemand serieus bezig in C# en zo ja, waarom zie ik hier in /14 dan vrijwel geen topics over C#?
De negatieve kanten van C#/dotNET ten opzichte van Java zien we in posts van de Javahova's (ik doel niet op /14) genoeg voorbij komen, maar wie overtuigt mij van de superieuriteit van C#/dotNET boven het Java platform?
-----
Java is langzaam, C# is de snelle java, en de makenlijke C++

  • Onno
  • Registratie: Juni 1999
  • Niet online
Even totaal off-topic.. je kunt quoten met [quote]...[/quote], dat maakt je post een stuk leesbaarder. :)

(en de voormalige-Arien-quote-methode kun je ook toepassen natuurlijk :))

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op woensdag 21 november 2001 11:26 schreef pitasmith het volgende:
Alle talen worden nu (in XP) vertaald naar LS, die als laag boven de diecte hardware draait. Geen virtual machiens meer, maar een directe aansturing, door gelijk te vertalen naar LS.
LS is een vernieuwde Assembler. Door LS kan er in princiepe ook software van andere besturingssystemen op draaien, omdat alles word vertaald naar LS.
Waarom is LS dan geen virtual machine?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
pitasmith: C# is helemaal nieuw, de sterke punten uit c++ en uit java vormen samen c#. Klinkt mooi, maar is ook mooi.
Mwah, C# is niet bepaald een Java++. Er zijn inderdaad een aantal punten verbeterd ten op zichte van Java, maar daarnaast zijn er ook een hele karrevracht nieuwe features toegevoegd die mij in ieder geval helemaal niet aanstaan.
Alle talen worden nu (in XP) vertaald naar LS, die als laag boven de diecte hardware draait. Geen virtual machiens meer, maar een directe aansturing, door gelijk te vertalen naar LS.
XP :? De .NET Framework SDK is nog harstikke beta en er is volgens mij nog helemaal geen .NET CLR runtime aanwezig in MS Windows XP.
LS is een vernieuwde Assembler. Door LS kan er in princiepe ook software van andere besturingssystemen op draaien, omdat alles word vertaald naar LS.
Met LS bedoel je neem ik aan de Intermediate Language. Dat is niet bepaald een nieuwe Assembler. .NET Intermediate Language is een soort intermediate represenation waarnaar gecompileerd kan worden. Het idee is vrijwel gelijk aan Java bytecode, maar de .NET IL biedt wat meer mogelijkheden. Het belangrijkste verschil met de Java Bytecode van het Java Platform is dat .NET IL altijd naar native code vertaald wordt voordat het wordt uitgevoerd (volgens mij). Een Java 2 Runtime Environment met de Hotspot Just In Time Compiler pakt dit anders aan. At run-time wordt er geanalyseerd voor welke delen het nuttig is om de code om te zetten naar native code. Dit wordt dan at-runtime gedaan.
C# is beter toegespitst op het object georienteerd werken.
Ten opzichte van Java :? Wat een onzin! Noem dan eens de punten die C# object-georienteerder maken? Welke definitie van object-orientatie denk je daarbij te gebruiken? In C# zijn methoden standaard final. In Java zijn ze standaard virtual. Dat vind ik een belangrijk punt in deze vergelijking.
[C# versus Java]Werkt beter met .net.
Logisch, C# is ontwikkeld voor .NET |:( .
Het hele onderwater werken, wat we moesten doen in c++, als we een object op het scherm wilde plaatsen, is meer en meer weggepoetst in c#. Met handles word niet meer zo gebruikt.
Een object op het scherm plaatsen :? Zo'n opmerking zegt denk ik genoeg over de manier waarop je tegen deze technologien aankijkt.
Java is langzaam, C# is de snelle java, en de makenlijke C++
Wat een ongelofelijke bull-shit. Voordat je dergelijke FUD als feiten presenteert mag je je er eerst weleens goed in verdiepen.
Ik kom waarschijnlijk een beetje bot over. Ik erger me eraan dat er op deze manier zogenaamd een antwoord op vragen wordt gegegeven. Mensen die geen kennis van zaken hebben en toch geinteresseerd zijn, lezen dit en nemen het voor de waarheid aan. Voordat je 'adviezen' en 'kritieken' gaat geven moet je eerst goed weten waar je het over hebt.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Op woensdag 21 november 2001 20:50 schreef mbravenboer het volgende:
[..]

XP :? De .NET Framework SDK is nog harstikke beta en er is volgens mij nog helemaal geen .NET CLR runtime aanwezig in MS Windows XP.
idd, wat moet Windows .NET dan worden :?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op woensdag 21 november 2001 20:50 schreef mbravenboer iets:
offtopic:
Nu zei ik laatst in een topic dat mbravenboer altijd een stapje voor is (oid).. Maar dit is wel erg overdreven :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Janoz: Maar dit is wel erg overdreven :)
Tja, ik gebruik wat geavanceerde run-time optimalisatie technologie die mij just-in-time een voorsprong geeft van een half uur op de rest van de wereld ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op woensdag 21 november 2001 20:50 schreef mbravenboer het volgende:
Met LS bedoel je neem ik aan de Intermediate Language. Dat is niet bepaald een nieuwe Assembler. .NET Intermediate Language is een soort intermediate represenation waarnaar gecompileerd kan worden. Het idee is vrijwel gelijk aan Java bytecode, maar de .NET IL biedt wat meer mogelijkheden. Het belangrijkste verschil met de Java Bytecode van het Java Platform is dat .NET IL altijd naar native code vertaald wordt voordat het wordt uitgevoerd (volgens mij).
Tenzij het stiekum weer verandert is, heb je wat ik gelezen heb 3 opties:
1. Code wordt native gecompiled direct na installeren van je .net progje.
2. Code wordt native gecompiled bij de 1e keer opstarten
3. Niet (naja, on the fly dus, tijdens runnen van programma)

Verder heb ik er niet genoeg over gelezen/mee gehobbiet om er iets zinnigs over te zeggen, dus zeg ik verder lekker niets.
Alleen dat de nieuwe features in VB.net wel cool worden (alleen hadden ze dat in VB5 er al in moet bouwen :P) en 't spreekt me wel erg aan dat je diverse talen door elkaar kan gebruiken, een class in .C++ schrijven, daar een afgeleide class van maken in C# en die gebruiken in .javascript. Of het echt heel zinnig is weet ik niet, ik denk niet dat het handig is om in 1 project met verschillende talen door elkaar te werken, maar ik kan me voorstellen dat je een mooie library opbouwt in 1 taal, en die later kan gebruiken in andere talen binnen .net.
En eindelijk is de dllhell voorbij :)

Exact expert nodig?


  • tomato
  • Registratie: November 1999
  • Niet online
CrazyD_at_work: [..] en 't spreekt me wel erg aan dat je diverse talen door elkaar kan gebruiken, een class in .C++ schrijven, daar een afgeleide class van maken in C# en die gebruiken in .javascript. Of het echt heel zinnig is weet ik niet, ik denk niet dat het handig is om in 1 project met verschillende talen door elkaar te werken, maar ik kan me voorstellen dat je een mooie library opbouwt in 1 taal, en die later kan gebruiken in andere talen binnen .net.
Niet helemaal hetzelfde, maar wel voor een deel. Laatst kwam dit voorbij op developers@/.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:03
Op dinsdag 20 november 2001 21:08 schreef mbravenboer het volgende:


In .NET kan je ook C++ gebruiken met een hoop standaard extensies om het goed in .NET te laten functioneren (wat in feite dus ook met Java en VB is gebeurd). Ik denk niet dat Visual C++ nog lang zal blijven bestaan.
Eigenlijk ben ik het hier niet mee eens. Visual C++ is zo'n beetje de taal waarin MS hun meeste programma's schrijven, waaronder Excel, Word en Windows zelf. Ik zie ze Windows nog niet zo snel in C# denk ik, alleen al maar omdat je een run-time environment nodig hebt.

https://fgheysels.github.io/


Verwijderd

Niet? Ik verwacht eigenlijk dat ze al druk bezig zijn al hun software naar .NET en C# te porten...

  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Microsoft heeft een tijd geleden (een jaar of zo) aangekondigd dat C# de voornaamste taal zal worden waarin Microsoft software zal schrijven.

Zelf ben ik er ook al een jaar ong. mee bezig. Ik vind het een geweldige taal! Echt super! :)

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: Eigenlijk ben ik het hier niet mee eens. Visual C++ is zo'n beetje de taal waarin MS hun meeste programma's schrijven, waaronder Excel, Word en Windows zelf. Ik zie ze Windows nog niet zo snel in C# denk ik, alleen al maar omdat je een run-time environment nodig hebt.
Allereerst draait C++ ook op .NET, dus het is absoluut niet nodig om het naar C# om te gaan zetten. Verder denk ik toch wel dat het office pakket van MS op .NET zal gaan draaien... De aanwezigheid van een run-time environment is op je eigen OS niet echt een probleem lijkt mij ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:03
Op vrijdag 23 november 2001 12:17 schreef mbravenboer het volgende:

[..]

De aanwezigheid van een run-time environment is op je eigen OS niet echt een probleem lijkt mij ;) .
Nee, dat bedoel ik niet. Ik wil zeggen: "als je een c# programma hebt geschreven, heeft dat programma toch die run-time environment nodig?". En een Run-Time environment heeft toch een besturingssysteem nodig om te draaien? HOe kan je dan een besturingssysteem in C# schrijven?

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: Nee, dat bedoel ik niet. Ik wil zeggen: "als je een c# programma hebt geschreven, heeft dat programma toch die run-time environment nodig?". En een Run-Time environment heeft toch een besturingssysteem nodig om te draaien? HOe kan je dan een besturingssysteem in C# schrijven?
Ah ok, dat had ik verkeerd begrepen ;) . In feite is de run-time environment natuurlijk ook een soort besturings-systeem en het zal waarschijnlijk ook wel voor een groot deel flink geintegreerd worden. Inderdaad is het vrij onmogelijk om de run-time environment in een run-time environment te draaien (of minstens zinloos ;) ).

Bij compilerbouw is het vaak zo dat je een compiler wel kunt schrijven in de taal waarvoor de compiler dient. Hiervoor is alleen wat bootstrapping nodig. Bij run-time environments ligt dat uiteraard iets anders ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

whoami: Nee, dat bedoel ik niet. Ik wil zeggen: "als je een c# programma hebt geschreven, heeft dat programma toch die run-time environment nodig?". En een Run-Time environment heeft toch een besturingssysteem nodig om te draaien? HOe kan je dan een besturingssysteem in C# schrijven?

Het befaamde kip-ei-ei probleem :+

Ik ben zelf ook bezig met C#, ik heb een boek liggen van o'reilly "introducing dotnet" (oid), voor zover ik het heb gelezen lijkt dat hele dotnet gebeuren en c# me best interssant en een hele grote vooruitgang (vooral door de CLR/IL) op het gebied van software ontwikkeling.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stylee: Ik ben zelf ook bezig met C#, ik heb een boek liggen van o'reilly "introducing dotnet" (oid), voor zover ik het heb gelezen lijkt dat hele dotnet gebeuren en c# me best interssant en een hele grote vooruitgang (vooral door de CLR/IL) op het gebied van software ontwikkeling.
Vraagjes
1. Vind je .NET CLR en IL interessanter dan het Java Platform, Java en Java bytecode?
2. zo ja, waarom? zo nee, waarom?
3. Waarom is het zo'n grote vooruitgang? Vind je het revolutionair?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

mbravenboer: Vraagjes

1. Vind je .NET CLR en IL interessanter dan het Java Platform, Java en Java bytecode?

Ja (lees verder)

2. zo ja, waarom? zo nee, waarom?

Simpelweg door de ondersteuning van meerdere talen out-of-the box door de CLR. Nou weet ik dat er niet zoveel verschil is tussen bytecode en IL (alhoewel MS ons anders wil doen geloven), maar aangezien ik veel ontwikkel in VB en daarnaast (persoonlijke favoriet) C++, en nu gewoon deze samen kan gebruiken onder dezelfde 'omgeving' vind ik het interessanter dan het Java platform. Nou weet ik dat er ook manieren zijn om bijvoorbeeld Python onder de JVM aan de praat te krijgen (nooit geprobeerd btw), maar de manier waarom MS dotnet heeft opgezet vind ik toch eens stukje beter.

Daarnaast vind ik de GUI's die je ontwikkelt onder Java (swing) gewoon qua gebruik/perfromance toch een stuk minder dan native GUI's zoals WinForms (helaas gaat dat wel ten koste van platformonafhankelijkheid)

Ook prefereer ik C# boven Java. Echt veel voordelen van C# tov Java zijn er niet, maar omdat deze toch wel het flagschip van dotnet zal zijn ben ik toch van plan om in de komende tijd me hierin te verdiepen. Ook vind ik het wel interessant dat je managed code kan gebruiken.

3. Waarom is het zo'n grote vooruitgang? Vind je het revolutionair?

Waarschijnlijk heb je mijn post verkeerd opgevat (of was ik onduidelijk). Ik vind de CLR/IL op zich niet revolutionair, maar de manier waarop je talen kan combineren IN de CLR wel.

edit: ik moet eerlijk zeggen dat ik erg weinig praktijkervaring heb met Java (of dotnet voor hetzelfde geld), maar voor zover ik me in beide heb verdiept... zie hierboven

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stylee: Simpelweg door de ondersteuning van meerdere talen out-of-the box door de CLR.
Het is inderdaad een grote misser geweest van Sun dat ze het Java Platform vanaf het begin gepresenteerd hebben als een platform voor de taal Java. Zoals je zelf al zegt draaien er inderdaad ontzettend veel talen op het Java Platform. Met een paar kleine aanpassingen zou het zelfs mogelijk zijn om een nog grotere groep talen mogelijk te maken. Microsoft heeft vanaf het begin .NET gepresenteerd als zinde multi-language. Dat is het inderdaad tot op zekere hoogte ook wel (en in ieder geval beter dan het Java Platform).
Daarnaast vind ik de GUI's die je ontwikkelt onder Java (swing) gewoon qua gebruik/perfromance toch een stuk minder dan native GUI's zoals WinForms (helaas gaat dat wel ten koste van platformonafhankelijkheid)
Mwah, GUIs zijn slechts libs en hebben maar weinig direct met het platform te maken. Native GUIs kan je in Java tegenwoordig ook ontwikkelen met de native componenten (nee... niet AWT). IBM is met een aardige lib bezig voor Eclipse, wat er veelbelovend uit ziet en platform-onafhankelijk GUIs oplevert (de lib zelf is uiteraard niet platform-onafhankelijk). Verder is er ook nog de mogelijkheid om Qt te gebruiken vanuit Java.

Het design van de WinForms vind ik echt zwaar irritant. Eclipse biedt twee lagen aan: (1) native componenten met eenvoudige content (dus geen modellen) en (2) JFace (volgens mij) waarbij je dus van modellen gebruik kunt maken. Is iets dergelijks er ook al voor de WinForms? (ik volg dat namelijk niet echt...)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:03
Op dinsdag 20 november 2001 15:12 schreef tomato het volgende:

Wat doet iemand overstappen van Java naar C#/dotNET?
Ik denk niet de meeste mensen die C# zullen gaan gebruiken de Java-mensen van nu zijn. Ik denk dat die veel eerder bij Java zullen blijven.
Het zullen mi veel eerder de VB'ers en VC++'ers die de stap naar C# zullen zetten.
Waarom? C# biedt in mijn opzicht niets meer dan Java. Waarom zouden die Java-mensen dan overstappen en een heel nieuwe library en zo gaan leren?

De vraag rijst nu wel wat er in de nabije toekomst populairder gaat zijn, in wat er het meest ontwikkeld gaat worden? C# of Java?

https://fgheysels.github.io/


Verwijderd

C# is een supertoffe taal. VB moet dood! >:) Even overschakelen naar nuance-mode:

Ik heb de VB.net implementatie nog niet gezien, maar ik heb de VB evolutie wel sinds ms-dos 2.11 meegemaakt. Het is verworden tot wat Engelsen een monstrosity noemen. OK, ik geef toe, VB is best handig, maar dat komt door gebrek aan alternatieven. Als je in Windows wat leuks wilt maken is VB errug irritant, en bij C++ moet je al het loodgieterswerk zelf doen (wizards zijn geen oplossing). OK, er zijn wel andere keuzes, maar MS is vaak de norm...

Op m'n werk maken we COM objecten in VB die we dan met (server-side) javascript in asp-pagina's gebruiken. Hoe moet ik de "gewone" programmeur uitleggen dat ByRef niet werkt? En dan moet je ook nog even uitleggen dat er geen gebruik gemaakt kan worden van sommige parameters uit libraries (ik noem RecordsAffected van ADO's Connection.Execute).

VB & OO werkt dus niet echt. En COM helpt ook geen handje mee (properties van objecten kun je niet echt gebruiken omdat het uitlezen van die properties relatief ontzettend traag is).

Eigenlijk is de .NET strategie van MS een bekentenis van het falen van COM (ok, COM is beter dan de dll-hell, is beter dan obj-files).

Om weer even on-topic te komen: C# is springlevend, en ik ga me er ook voor inzetten om mijn afdeling aan C# te krijgen (en VB te killen) op het windows platform. Voor andere zaken kunnen we natuurlijk ook Java gebruiken. Of WebObjects.

Wat dat betreft lijkt de .NET-strategie wel een beetje op het globaliseerings-proces. Programmeertalen lijken steeds meer op elkaar versus winkelstraten lijken steeds meer op elkaar. Er is een dominante cultuur (MS versus het westen). [nuance]Java is niet dood[/nuance]. Maar er is ruimte voor andere zaken: er zijn nog nooit zoveel programmeertalen ingebruik geweest versus er zijn nog nooit zoveel verschillende tijdsverdrijven in zwang geweest.

Voor het individu: er is nog nooit zoveel keuzevrijheid geweest, maar je wordt gemakkelijk meegezogen als je niet weet dat er keuzes zijn.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Doekman: Eigenlijk is de .NET strategie van MS een bekentenis van het falen van COM (ok, COM is beter dan de dll-hell, is beter dan obj-files).
Eigenlijk is .NET een bekentenis van het falen van alles wat Microsoft ooit aan fantastische systemen heeft gepresenteerd (soms zelfs nog als platform onafhankelijk :O ). In het bijzonder COM zuigt werkelijk aan alle kanten (echt aan alle kanten). Verschrikkelijk systeem... Met .NET worden in feite een heleboel vroegere oplosisngen volledig aan de kant geschoven...

Verder ben ik het volkomen eens met jouw visie op C# als nieuwe ideale programmeertaal. Voor een MS Windows ontwikkelaar was er eigenlijk maar weinig keus: VB (of Delfie) of gelijk aan de C++). C# levert een makkelijkere en toch degelijke taal en dat is een enorm pluspunt. Ontwikkelen voor MS Windows wordt met .NET een stuk leuker, aantrekkelijker en makkelijker. Das een feit :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Voor de geïnteresseerden: ik kwam deze site tegen als inleiding tot het programmeren van simpele apps met WinForms... mischien wel interessant

Verwijderd

Op zondag 25 november 2001 23:01 schreef mbravenboer delen van het bovenstaande:
Helemaal mee eens, hetzij ik er toch iets praktischer naar kijk: COM voldeed toch enigszins.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 11-09 09:22
We wachten nog even af...want Microsoft met de standaard gaat doen. Zou toch leuk zijn als het onderhand allemaal eens platform onafhankelijk word. Tevens zou het leuk zijn als we de kans eens kregen diep in het hart van het framework te kijken.

Hoogstwaarschijnlijk zal Microsoft de zaken voor een groot deel achter gesloten deuren houden. Nog ff wachten dus.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
[b]Op dinsdag 20 november 2001 16:19 schreef Zef het volgende:
Ik denk dat zolang .NET nog beta is, het magertjes zal blijven. Als .NET echt af is, en verspreid wordt (bijvoorbeeld als Windows .NET uitkomt ofzo) dat men dan massaal van C/C++ naar C# overstapt.
Nou, massaal, dat zal wel meevallen. Zolang Win32/Win64
zelf geimplementeerd wordt in C en C++, zal het wel
meevallen. C# is meer de VB opvolger, maar het ziet er nu
uit en klinkt als een echte programmeer taal.
En bovendien, C en C++ doen het uistekend op 512 kb, dat
moet ik met C# nog zien gebeuren. (voor WinCE handhelds
en zo)

Ter vergelijking, C++ is upwards compatible met C, zowel
op source als op binary nivo, en nog steeds wordt er
massaal in C gehackt. Dus een niet-compatibel taal
zou sneller opgepikt worden? |:

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op dinsdag 20 november 2001 17:14 schreef Lecram het volgende:
Inhoudelijk ben ik niet zo sterk, maar dit is wel leuk:
http://www.gotdotnet.com/team/compare/
dotnet sneller en makkelijker dan Java2ee.
Minder regels code etc.
Ja, da's wat sommigen een typische Microsoft streek noemen.
De J2EE code was een voorbeeld, om een concept duidelijk
te maken. Duidelijk != snel en kort.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Op maandag 26 november 2001 13:25 schreef MSalters het volgende:

[..]

Nou, massaal, dat zal wel meevallen. Zolang Win32/Win64
zelf geimplementeerd wordt in C en C++, zal het wel
meevallen.
Een besturingssysteem in C# en .NET schrijven lijkt me onmogelijk, daar hoeven we dus niet op te wachten.
C# is meer de VB opvolger, maar het ziet er nu
uit en klinkt als een echte programmeer taal.
En bovendien, C en C++ doen het uistekend op 512 kb, dat
moet ik met C# nog zien gebeuren. (voor WinCE handhelds
en zo)
Ik denk wat we daarvoor op een WinCE implementatie moeten wachten, ik verwacht niet dat dat een probleem gaat vormen.
Ter vergelijking, C++ is upwards compatible met C, zowel
op source als op binary nivo, en nog steeds wordt er
massaal in C gehackt. Dus een niet-compatibel taal
zou sneller opgepikt worden? |:
Sneller? Nee, maar op den duur zal net zoals veel mensen overgetapt zijn van C naar C++ ook (en misschien wel meer) mensen overstappen op C#. Verwacht ik.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op dinsdag 20 november 2001 20:54 schreef whoami het volgende:En is het eigenlijk de bedoeling dat C# (Visual) C++ vervangt?
'k ben net in Redmond geweest, en volgens Jon Caves
( die aan de Visual C++ compiler werkt ) gaat dat dus
ab-so-luut niet gebeuren. Kan ook niet, alle huidige
XP code compileert alleen met VisualC++. Bovendien,
wat dacht je dat ze gebruiken om de C# runtime mee
te maken? C++ is opgezet zodat je 90% van de library
in C++ kunt maken, C# niet. Dat maakt voor ons
programmeurs niet zoveel uit, maar voor Microsoft/
Borland/GCC natuurlijk wel.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 11-09 09:22
Op maandag 26 november 2001 13:37 schreef MSalters het volgende:

[..]

'k ben net in Redmond geweest, en volgens Jon Caves
( die aan de Visual C++ compiler werkt ) gaat dat dus
ab-so-luut niet gebeuren. Kan ook niet, alle huidige
XP code compileert alleen met VisualC++. Bovendien,
wat dacht je dat ze gebruiken om de C# runtime mee
te maken? C++ is opgezet zodat je 90% van de library
in C++ kunt maken, C# niet. Dat maakt voor ons
programmeurs niet zoveel uit, maar voor Microsoft/
Borland/GCC natuurlijk wel.
== 110% correct!!!

C# is gewoon Mic's antwoord op Java. Ik vind het een goede zaak dat iedereen lekker met elkaar concureerd. Zelf zie ik het potentiel van .NET wel zitten.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:03
Op maandag 26 november 2001 13:37 schreef MSalters het volgende:

[..]

'k ben net in Redmond geweest, en volgens Jon Caves
( die aan de Visual C++ compiler werkt ) gaat dat dus
ab-so-luut niet gebeuren. Kan ook niet, alle huidige
XP code compileert alleen met VisualC++. Bovendien,
wat dacht je dat ze gebruiken om de C# runtime mee
te maken? C++ is opgezet zodat je 90% van de library
in C++ kunt maken, C# niet. Dat maakt voor ons
programmeurs niet zoveel uit, maar voor Microsoft/
Borland/GCC natuurlijk wel.
Ja, dat dacht ik ook wel. Zie ook enkele replies eerder van mij.
Ook het feit dat C/C++ voor embedded systemen nog zal gebruikt worden garandeerd nog een toekomst voor C++, maar ik denk dat VB wel een stille dood zal sterven.

https://fgheysels.github.io/

Pagina: 1