PhoneTechnician: Dus dan kan je zeggen dat elke programmeertaal eigenlijk een kloon is van de allereerste programmeer taal (als ik me niet vergis waren dat de ponskaarten geloof ik).
Ik zou liever helemaal niet denken in termen van klonen maar in termen van categorien, paradigma's. Als je praat over een kloon leg je een soort ouder-kind relatie waardoor een soort boom of graaf van programmeertalen ontstaat. Als je simpelweg in termen van categorien denkt, zijn de directe onderlinge relaties helemaal niet meer relevant, maar draait het puur om hetgene waarin je geinteresseerd bent: in welk paradigma valt een taal? Nu zijn paradigma's weer vrij ruim en daarom kan je zelfs in paradigma's nog vele categorien ontdekken, maar bijvoorbeeld ook categorien die over verschillende paradigma's heenliggen. VB .NET, C#, Java en Managed C++ vallen allemaal zonder twijfel in hetzelfde paradigma, maar zijn zelfs zozeer verwand dat ik eerder sprak over 'rassen' in hetzelfde soort.
Soms denk ik dat iedereen hier hun eigen kampje zit te verdedigen terwijl ze allemaal het zelfde doel hebben. het combineren van 1tjes en 0letjes.
Nou ja, ik programmeer liever in Java dan in 1tjes en 0letjes

. Inderdaad zie je wel sterk dat men het eigenlijk wel eens is, maar de zaak vanuit een bepaald perspectief bekijkt of er een bepaald subjectief labeltje op wil plakken. Af en toe mag het dan inderdaad best eens gezegd worden dat we het over de kern van de zaak eigenlijk best eens zijn

.
Zelf ben ik bezig "Programmeren in C#" aan het lezen van Eric Gunnerson (ISBN 9039517177).
Ik heb denk ik ongeveer hetzelfde boek: "A Programmer's Introduction to C#", ook van Eric Gunnerson. Ooit gratis gehad en best veel plezier van gehad

.
In dit boek wordt er bijna niet gesproken over een "relatie" met Java, behalve in hoofdstuk 34.
Het boek heeft gelukkig ook een hele compacte opzet (althans, als het op die van mij lijkt) en heeft absoluut niet het doel om C# uitgebreid door te lichten en te vergelijken met andere programmeertalen. Dat de vergelijking hier is opgenomen in een apart hoofdstuk vind ik wel prettig.
"Het grootste verschil is dat C# werkt in de .NET Frameworks en Runtime, en dat Java werkt in de Java Frameworks en Runtime."
Grappig om dit het grootste verschil tussen twee talen te noemen

. Het is uiteraard het grootste praktische verschil, maar dit maakt voor de taal niet zoveel uit. Als Java Bytecode uitgebreid zou worden, zou C# ook best op de Java Runtime kunnen draaien. Java kan sowieso op .NET draaien, waar je uiteraard wel een serieus probleem hebt met de libraries. Merk trouwens op dat dit laatste behoorlijk goed op te lossen zou zijn als alle libraries van Java als open-source en Free Software beschikbaar zouden zijn.
Ik zou liever value-types als het grootste verschil tussen C# en Java genoemd zien. Behalve delegates heeft verder eigenlijk vrijwel elke andere uitbreiding een vrij hoog suiker-gehalte (waar soms hele goede beslissingen zijn genomen imho).
Voor de rest gaat de Heer Gunnerson vergelijkingen maken tussen Java en C# en verbazingwekkend is dat hij daar veel langer over doet dan de vergelijking tussen de andere talen...
Ik weet niet precies waarom je dit verbazingwekkend vind, maar het maakt naar mijn mening juist de grote band tussen Java en C# duidelijk. Een nauwkeurige vergelijking is hier op z'n plaats, waar een vergelijking met C++ bijvoorbeeld een compleet ander verhaal is.
Zelf zit ik nog een beetje in the middle over welke programmeer taal mij gaat boeien...Visual Basic valt helemaal af omdat ik nu Python gewend ben, en het is niet makkelijk om terug te gaan!
Python is wel cool

. Ik heb er af en toe eens naar gekeken en in het bijzonder de lambda features bestudeerd, maar helaas heb ik nog nooit de behoefte gehad om het ook echt in de praktijk te gaan toepassen in een project. Er zitten veel zaken in die me erg aanspreken.
Visual Basic is wat mij betreft een gepasseerd station (alhoewel er uiteraard veel legacy software zal blijven). VB .NET is leuk tov VB, maar imho niet zo zinvol naast C#. VB .NET is qua complexiteit niet eenvoudiger dan C# en misschien dat de syntax zelfs een vals-gevoel van basic-achtige eenvoud geeft.