Nouja, "people", andere grootbedrijven die leuk java wilden gebruiken op een manier waar sunacle het niet mee eens was (cq tegen de licentievoorwaarden in) en/of zonder licentiekosten te betalen. Want kijk goed naar de licentie, zo heel vrij is'ie nooit geweest.
Maar inderdaad, ik heb het gedoe met java ook nooit leuk gevonden. Het was altijd nodeloos veel werk om een werkende, legale versie op mijn FOSS-OS machientjes te krijgen. c#/.net was helemaal geen optie, en mono nauwlijks serieus te nemen. En beide waren altijd al veel te groot en te log naar mijn smaak.
Daarnaast heb je nog steeds op geen enkele wijze onderbouwd waarom C# minder veilig zou zijn dan Java.
Niet op technisch vlak, maar je mag wel een beetje minder generaliserend en (zoals in je eerste post in dit topic) wat minder op de man spelen.
Dat is namelijk waar dit topic over gaat. Naar mijn weten is Java lange tijd op grote schaal misbruikt om malafide code via browsers bij eindgebruikers uit te voeren. Dat is pas écht een aantoonbaar security lek.
Dat de browser-plugins om java in de browser mee uit te voeren regelmatig lek bleken
en oracle nogal "enterprise-ig" met het uitbrengen van patches omging (en omgaat) heeft de reputatie van java geen goed gedaan. Maar de browser-plugin is niet de gebruikelijke manier waarop alle andere toepassingen van java vertrouwen, zoals "servlets", enterprise-applicaties, en noem maar op.
Dus ja, dat probleem met de java-browser-plugins was serieus genoeg om breed van die plugin af te stappen, maar nee, dat moet je niet op het bordje van "java" schuiven, dan scheer je teveel over een kam. Sterker, ik ben hier zelfs al niet eens specifiek genoeg geweest, want "java" is de taal, "jvm" is de virtual machine (waar ook andere talen gebruik van kunnen maken) en de browser-plugins verbinden de jvm met de browser, niet "java".
Het is tevens niet erg pertinent: De vraag ging over "c# versus java" en bij mijn weten heeft "c#" (eigenlijk de .net runtime) niet eens een browser-plugin, zeker niet zo breed verbreid gehad als java dat ooit had.
Uiteindelijk komt de security van code grotendeels neer op de omgeving waarin deze uitgevoerd wordt en degene die de code ontwerpt/schrijft.
Ja en nee. De premisse van java was wel dat de taal en uitvoeromgeving veiliger zou zijn dan bijvoorbeeld C of C++. (De premisse van c# en .net was om sunacle het gras voor de voeten weg te maaien, zoals reeds opgemerkt.)
Over dat technische vlak, ik heb ooit een analyse gelezen over de (toen nog nieuwe) .net standard library en het commentaar was dat ze er wat layer violations en andere veiligheidsproblemen als "feature" ingestopt hadden, dus dat de architectuur al vanaf het begin brakjes was, wat een veiligheidsrisico inhoudt. Ik zou nu alleen totaal niet meer weten waar ik het las of hoe ik het terug moet vinden. Het is al een tijdje terug.
Van java heb ik zulke problemen niet gezien. Wel "Execution in the kingdom of nouns" maar als c# werkelijk zo'n kopie is dan heeft dat waarschijnlijk vergelijkbare problemen. En dat gaat over expressiviteit, niet zozeer security-aspecten.