Quote:
Originally Posted by warfley
Es kommt immer auf die Domäne an, Java wird sehr viel verwendet, aber wer IOS Apps schreiben will sollte dennoch eher Swift verwenden.
Wenn es um Komplexe Berechnungen geht die allerdings nicht sehr schnell ablaufen müssen sind Funktionale Sprachen wie Haskell oder ocaml, die durch gute Wartbarkeit und einfaches Verständnis punkten die Sprache nach Wahl. Im bereich KI wird allerdings viel auf Logische Programmiersprachen wie Prolog gesetzt. Im web Bereich sind Scriptsprachen wie Python, NodeJS oder PHP Vorn. Windows App Entwicklung ist es C# VB.Net oder auch Delphi. Im eingebetteten bereich C. Im High performance bereich Fortran, im sicherheitskritischen bereich Ada, Android Java, iOS und Mac OS Obj-C oder Swift.
Die Sprache die wohl die meißten Paradigmen abdeckt ist C++, in vielen Domänen wird das aber auch nicht verwendet, da C++ viele Sachen verkomplizieren kann (z.B. können 3 Leute das selbe Problem auf 3 komplett unterschiedliche Arten lösen, was C++ für Teams ohne einschränkungen der Möglichkeiten zu purem Aids macht).
Und diese Liste könnte ich noch sehr lange weiter führen.
Ich persönlich entwickle private (und am liebsten) in FreePascal, einer an ObjectPascal/Delphi angelehnten Programmiersprache, für native Cross-Plattform Anwendungen, mit einem recht Großem Framework (LCL) zur GUI Entwicklung.
Ich bin auch der Meinung das Pascal eine sehr gute Einsteigersprache ist, da sie sowohl das Prozeduale als auch die Objekt orientierte Entwicklung abdeckt, eine recht strikte Syntax hat, Hardware und Systemnah arbeitet (wodurch man das System besser versteht), aber durch die Frameworks (FreePascal LCL, Delphi VCL) auch ein sehr viele Funktionalitäten bereitstellt, damit man nicht zwingend low-level Entwickeln muss.
Aber auch C++, C#, VB.Net (auch wenn die Syntax mich zum kotzen bringt), Python, Java, Haskell, Ada, etc. sind alles (in ihrer Domäne) gute Sprachen
|
Einfach nur weil ich Hater liebe:
Fang mit AutoIt an! :D
Nein einmal Spaß bei Seite, wenn du (wie es scheint) eher der "Ich fang was an und hab schnell keine Lust mehr"-Typ bist, eignet sich eine Sprache mit steiler Lernkurve (das heißt in wenig Zeit sehr viel verstehen/machen) am besten.
Da kommt meiner Meinung nach nichts an AutoIt ran (auch wenn du immer komisch angeschaut werden wirst, wenn du sagst du kannst AutoIt).
Aber auch Python oder Perl sollen leichte Einstiegssprachen sein (ich mag sie überhaupt nicht wegen der Syntax, ist aber bekanntlich Geschmackssache).
Das heißt ganz spontan empfehle ich dir:
Wenn du noch nicht 100% sicher bist ob du wirklich tief einsteigen willst oder vielleicht doch wieder nach ein paar Tagen aufhören möchtest, schau dir AutoIt an. Damit kratzt du bisschen an der Oberfläche und schaffst viel in kurzer Zeit. Dennoch solltest du nicht zu lange bei AutoIt bleiben (außer du verliebst dich in die Sprache), sondern nach den ersten Schritten (was sind Schleifen, Ifs, usw.) auf eine andere Sprache wechseln, welche das dann ist liegt dann nur an dir und deinen Zielen.
Wenn du dir echt sicher bist, dass du jetzt programmieren willst und du dir auch bewusst bist, dass das viel Zeit und auch Eigeninitiative (vor allem am Anfang) braucht, dann fang direkt mit deiner "angestrebten" Zielsprache an und lass irgendwelche "einfachen" Sprache wie Python, AutoIt, Perl, usw. weg.
Deine Zielsprache richtet sich natürlich hauptsächlich daran aus, was du programmieren willst, für welche Plattform, mit wie viel Aufwand, usw.
Aber prinzipiell macht man mit C++ nichts falsch.
Die Sprache ist äußerst mächtig und trotzdem enorm schnell. Mit C++11 (bzw. C++14) wurden auch etliche Datenstrukturen und Spacheigenschaften hinzugefügt, die viele andere Sprachen schon lange besitzen (z.B. Maps, Hashtables, Lambda-Ausdrücke, "Platform-unabhängiges" Multi-Threading, usw.).
Wenn man keine Lust auf Speicherverwaltung u.ä. hat, gibt es mittlerweile auch primitive, aber gut funktionierende Garbage-Collection (z.B. Smart-Pointer) und wer dann doch jedes Fünckchen Geschwindigkeit aus seinem Code rauskitzeln will (wie ich :D) kann sich seine eigene Speicherverwaltung schreiben.
C++ bietet also sehr viele Facetten, was ein riesen Vorteil ist, aber (wie bereits angesprochen) auch zu echten Problemen führen kann.
Trotzdem bleibt C++ meine Lieblingssprache für jeden, der mehr als nur ein bisschen "Rumspielen" will. Fürs Rumspielen hingegen empfehle ich AutoIt.
Aber dieser Thread wird dir sowieso kaum helfen, weil viele Argumente sehr subjektiv sind und auch die Geschmäcker variieren, dir wir bestimmt keiner zur Sprache "Brainfuck" raten, aber ansonsten dürftest du in solchen Threads viele verschiedene Empfehlungen kriegen, die sich nur teilweise (oder gar nicht) überschneiden.
Daher will ich dir nur eine Sache objektiv empfehlen:
Mach dir klar was für Interessen du hast (Bots/Hacks schreiben? Spiele entwickeln? Webseiten designen? Kleine Anwendungen schreiben? usw.) und google ein bisschen und dann solltest du genug Einblick haben, um dich für eine erste Sprache zu entscheiden.
Allgemein sind Programmiersprachen für Informatiker vergleichbar mit Werkzeug
für einen Handwerker. Ein guter Handwerker setzt immer das Werkzeug ein, welches sich am besten für die aktuelle Situation eignet ein. Man kann zwar auch mit einem Hammer Löcher in die Wand machen, wenn man aber nur kleine Löcher will, eignet sich eine Bohrmaschine wohl doch besser.
Genau so wie es schwer werden dürfte mit einer Bohrmaschine Nägel in die Wand zu schlagen.
Ich denke du siehst worauf ich hinaus will. Prinzipiell kann man mit vielen Werkzeugen viele Sachen machen (mit einem Hammer Löcher kreeiren, mit einer Bohrmaschine Nägel in die Wand schlagen, usw.) aber es gibt einfach Werkzeuge, die sich für das eine besser eignen als für das Andere.
Ein guter Handwerker weiß daher nicht nur wie eine Bohrmaschine funktioniert, sondern auch wie man einen Schraubenzieher benutzt, einen Zange verwendet und einen Dübel in die Wand bekommt.
Genau so ist mit den Programmiersprachen, mit jeder Sprache kann man (fast alles) machen, aber manchmal gibt es einfach Sprachen, die man bevorzugen sollte.
Welches Wekzeug (= Welche Sprache) du also brauchst hängt maßgeblich von deinem Ziel ab.