Het maakt eigenlijk geen zak uit, alles heeft voor en nadelen. Wat betreft gemak is er geen winnaar en qua behoefte, termijn en andere zaken die niet inherent aan de taal zijn kun je niet voorspellen.
Microsoft fanboys zullen .NET erg leuk vinden, want, van Microsoft, dus raden die C# aan, Android fanboys vinden Java leuk, want daar kan je Android apps mee maken. Allebei natuurlijk zinloze argumenten want dat heeft erg weinig met het toepassingsgebied te maken. De laatste tijd is .NET ook steeds beter op low-power omgevingen te draaien, dus puur op het embedded vlak is het niet weg te houden. Qua mainframes zal je nog bij Java zitten, daar draait C# en .NET niet op, in elk geval niet rechtstreeks zoals Java dat wel kan. Qua JRE's (de CLR van Java) heb je meer keuze, vrijheid en zijn er massa's smaken, specialisaties en hebben veel mensen al versies van gemaakt die voor specifieke toepassingen goed werken, voor .NET en C# dus niet. Daar kan je misschien ruwweg 4 CLR's bij bedenken: die van MS zelf op Windows, de Core, de micro versie voor controllers en Mono. Dit alles heeft vooral betekenis als je je wil onderscheiden door eens niet alleen maar voor desktops te programmeren.
Dan is er nog tooling: voor .NET zit je voornamelijk in een Windows-only omgeving, en voornamelijk met Visual Studio. Als je dat niet erg vind is dat dus een prima setup.
Voor Java zijn er heel veel opties, waarbij iedereen wel een setup kan vinden die ze het lekkerst vinden werken zodat je niet jezelf in bochten hoeft te wringen om een specifieke toolstack te gebruiken maar zelf kan beslissen wat je wel of niet leuk vind.
Dus qua syntax, ecosystemen, runtimes en tooling kan je eigenlijk prima voor jezelf al beslissen wat je leuk vind.
Dan is er nog alles buiten de talen en frameworks om: de markt, de mensen. Op het moment zijn er massa's .NET engineers die allemaal zo'n beetje hetzelfde kunnen en allemaal ook ongeveer hetzelfde geleerd hebben. Ze kunnen eigenlijk niet zo veel, zijn vooral met Windows bezig, en leven vaak met oogkleppen op. Het is de massa waar je je eigenlijk niet echt in kan onderscheiden en waar de markt eigenlijk al weer een beetje verzadigd van aan het raken is. Op het moment is er om dat zo veel onderwijsinstellingen puur op .NET en Microsoft draaien te weinig mankracht voor de shitload aan andere platformen, talen en frameworks die er ook gewoon zijn en ook al heel lang bestaan, waardoor je meer geld verdient en meer opties hebt met Java. Hangt er natuurlijk wel van af hoe goed je bent. Even een masterclass doen terwijl je op het moment nog niet eens hello world op het scherm kan krijgen gaat je niet echt iets opleveren waarmee je extra geld kan verwachten om dat je opeens een top programmeur bent

Maar als je al wat kan en daarna ook nog Java kan ben je een stuk minder makkelijk uitwisselbaar en krijg je waarschijnlijk ook meer vrijheid.
Uiteindelijk zal je als je een beetje inzicht in software engineering krijgt niet echt meer denken in termen van 'Java vs. C#, wat moet ik nou kiezen' om dat ze allebei gewoon OOP principes volgen en dezelfde patronen en architectuur mogelijkheden bezitten. Sure, sommige details verschillen of zijn nog uniek, maar als je een beetje goed kan programmeren maakt de taal eigenlijk weinig meer uit.
Ik zelf programmeer gewoon met welke tools, talen en frameworks maar nodig zijn, als je een tijdje een bepaalde syntax of framework of toolstack niet gebruikt hebt kan het even wennen zijn, maar na een dag zit je er al weer in en maakt het niet meer uit welke combinatie het was. Wat ik wel merk is dat het samenwerken met mensen die zich vasthouden aan een ding steeds vervelender word en programmeurs met een heel klein horizonnetje me toch behoorlijk kunnen irriteren en vaak met halfbakken oplossingen komen om dat ze niet echt verder kunnen/willen/durven kijken dan wat ze al kennen. Dat is slecht voor werken in een teamverband en slecht voor de juiste oplossing voor een probleem/vraagstelling opleveren. Je hoeft niet overal een expert in te worden, maar stel dat je voor een van de twee kiest betekent dat niet dat je de ander maar lekker mag vergeten en dat het dan ook wel goed is
[
Voor 11% gewijzigd door
johnkeates op 29-08-2015 23:20
]