gibt sogar 3 (weitverbreitete), C, C++ und C#.
C++ ist nicht wirklich 'schwer', allerdings ist es nicht eine sprache, fängst an und hast nach 1h die basics und ne schöne formanwendung vor dir fertig liegen...
gibt keine "beste" programmiersprache, nur für bestimmte aufgabenbereiche geeignete und für bestimmte aufgabenbereiche ungeeignete sprachen.
musst dir also vorher überlegen, was du genau machen willst.
C/C++ ist ne allroundsprache, dafür noch recht kleinschrittig, extrem davon wäre assembler, kannst alles machen, aber darfst selber noch die register setzen etc.
.net sprachen wie vb und c# sind auch noch recht komplex, erreicht aber schnell ergebnisse und hat die .net bibliothek, die einem so gut wie alles bereitstellt.
scriptsprachen wie autoit sind sehr einfach, dafür auf 2 seiten beschränkt, meist nur auf ein betriebssystem, und nur ein kleiner befehlssatz.
lahm sind se auch noch^^
hab da schonmal was zu geschrieben:
Quote:
Eine ungefähre zielrichtung, was du programmieren willst solltest du schon haben, ansonsten wirst du dich nicht entscheiden können...
kurze zusammenfassung:
Assembler:
Pros:
-kompletter hardware zugriff
-tiefes verständnis des speichers und der cpu
-reversing :P
-hohe geschwindigkeit
-µC programmierung mit maximaler effizienz
Cons:
-seeeeehr kleinschrittig und für schon geringfügig größere projekte kaum noch ordentlich zu verwalten als einzelne person
-verbreitung, sowie samples im i-net sind dürftig.
C:
Pros:
-Immer noch recht hardwarenah und voller speicherzugriff
-schnell
-idr. gewinnt man dabei auch ein tieferes hardwareverständnis
-sehr weit verbreitet (findest viele samples, kannst µCs programmieren etc...)
Cons:
-immer noch recht kleinschrittig
C++:
Pros:
-sowohl hardwarenahe programmierung möglich da eigtl. alles geht, was in C auch geht
-als auch Objektorientierte Programmierung
-exceptions, errorhandling allgemein
-std
-schnell
-sehr weit verbreitet
Cons:
-überspringt eventuell die imo nötigen hardwareverständnisse
C#:
Pros:
-recht schnell
-objektorientiert
-windows nimmt einem viel arbeit ab
-schnelle ergebnisse
Cons:
-langsamer als oberen
-nur windows (gibt aber auch ne recht gute portierung für linux soweit ich weiß)
Java:
Pros:
-Cross Platform
-sehr weit verbreitet
-als interpretierte sprache noch recht schnell
-klassen etc...
-bibliothek
Cons:
-langsamer als oben erwähnte
-VM
-kein direkter speicherzugriff, addressierung etc.
Scriptsprachen a autohotkey, autoit etc:
Pros:
-sehr schnelle ergebnisse
-sehr einfach
-findet auch recht viele codesamples
Cons:
-lahm
-meist nur windows
-sehr beschränkter befehlssatz
natürlich stimmt das alles in bestimmten situationen nicht immer, nur ein grobes raster und dass ich bei java die virtual machine unter cons aufliste wird einige bestimmt auch ärgern... etc.
grob wage ich zu sagen:
1 codezeile scriptsprache -> 5 Zeilen Java/C# -> 20 Zeilen C++ -> 50 Zeilen C -> 150+ Zeilen Assembler
Mein Rat:
mit c oder assembler nötigen hardwarekenntnisse erlernen, dann auf C++ gehen.
oder (davon halte ich nicht so viel, aber wirst du oft hören):
mit c# anfangen, grundlegende strukturen und objektorientierung lernen (abstraktion mit klassen, polymorphie, listen, bäume etc.), wenn du dann geschwindigkeit optimieren willst oder dich einfach nur für hardwarenahes programmieren interessierst C/C++.
|