ich wollte mal eure Meinung hören zu welcher Sprache ihr tendiert und warum.
Ich suche nämlich zurzeit eine Programmiersprache die ohne irgendwelche Zusätze(wie .Net, Java, etc.) auskommt und! Plattformunabhängig ist.
Was meint ihr denn was sich mehr lohnt zu lernen? C oder C++, oder eine völlig andere Sprache?
Zwar beherscht C++ die Objektorientierung, aber warum werden dann Linuxkernel immer noch in C geschrieben, wenn C doch als Teilmenge in C++ enthalten ist?
Ich suche nämlich zurzeit eine Programmiersprache die ohne irgendwelche Zusätze(wie .Net, Java, etc.) auskommt und! Plattformunabhängig ist.
Das ist doch genau der Witz an der ganzen Sache. Dein Programm wird in einen Bytecode übersetzt und dann von einer virtuellen Maschine bzw. Laufzeitumgebung auf jeder unterstützten Plattform ausgeführt (meist mit JIT). Dann brauchst du das Programm nicht extra für jede Plattform kompilieren und dich auch nicht um die Plattformunterschiede zu kümmern (z.B. verschiedener Zeilenumbruch bei Windows und unixoiden Systemen).
Zitat von telecaster95
Was meint ihr denn was sich mehr lohnt zu lernen? C oder C++, oder eine völlig andere Sprache?
Nimm eine Sprache, die du kannst oder die dich interessiert. Danach richtest du deine Entwicklungsumgebung so ein, dass sie automatisch fertige Binärprogramme erstellt, die du direkt zum Download anbieten kannst.
Wenn du wirklich mal etwas dazu lernen willst, dann suche dir eine Sprache mit einem anderen Programmierparadigma (also nicht imperativ-objektorientiert), sondern z.B. funktional oder aspektorientiert. Da lernt man eine andere Art zu denken. Sehr interessant fand ich dabei z.B. ein Computerspiel, was in einer funktionalen Programmiersprache entwickelt wurde (Bachelor-Arbeit Informatik von Mun Hon Cheong - PDF 376KB). Dabei wurde Zeit weg abstrahiert und man musst sich fast gar nicht mehr darum kümmern, da das alles fast unsichtbar im Framework bzw. im Hintergrund berechnet wurde.
Zitat von telecaster95
Zwar beherscht C++ die Objektorientierung, aber warum werden dann Linuxkernel immer noch in C geschrieben, wenn C doch als Teilmenge in C++ enthalten ist?
Warum sollte man mitten im Projekt die Programmiersprache wechseln, wenn man davon keinen Vorteil hat? Der Linux-Kernel braucht auch gar keine Objekte. Das hat auch mit der grundlegenden Architektur zu tun (monolithischer Kernel - quasi alles aus einem Guss). Objektorientierung würde dort nur mehr Kommunikationsaufwand bedeuten (siehe z.B. Microkernel), was man zu vermeiden versucht, da dies das ganze System verlangsamt.