Programmiersprache lernen

Tempo

Ensign
Registriert
Feb. 2003
Beiträge
146
Ich bin seit meiner Kindheit PC und Technik begeistert. Nach dem Abitur habe ich mich dann doch andersweitig entschieden und leider keine Informatik studiert. Nun packt es mich richtig und ich will eine Programmiersprache lernen, nur weiß ich nicht wie ich am besten den Weg in eine neue Sprache finden soll.
Habt ihr gute Literaturvorschläge bzw. welche Sprache ist am einfachsten zu lernen. Was brauche ich da für Tools?
Wo sind die Unterschiede zwischen C, C++ und C#?
 
Ich finde es immer schwer ganz generell eine Programmiersprache zu empfehlen. Hast du vielleicht auch ein "greifbares" Ziel vor Augen? Also Dinge wie: Ich möchte ein eigenes Spiel programmieren/ eigene Webseiten entwickeln etc.

An Tools braucht man eigentlich nur einen mittelmäßig potenten Computer und einen Code-Editor/IDE.
 
  • Gefällt mir
Reaktionen: rg88
etwas offtopic, aber ich habe damals visual basic benutzt. einfach zu erlernen, aber gibts das heut zu tage eigentlich noch?
 
Tempo schrieb:
Habt ihr gute Literaturvorschläge bzw. welche Sprache ist am einfachsten zu lernen. Was brauche ich da für Tools?
Wo sind die Unterschiede zwischen C, C++ und C#?
Erstmal zum prinzipiellen Verständnis.
  • C ist wie ein Laufrad mit Raketenantrieb, man kann sehr präzise seinen Weg finden, kommt überall hin (verfügbar in allen Systemen) und durch, muß aber alles selber machen und herausfinden und wenn man zu schnell ist ohne es zu beherrschen, ist man tot.
    laufrad,jpg.jpg
  • C++ ist wie ein x-mal mit moderner Technik aufgerüsteter alter häßlicher klingonischer D7-Kampfkreuzer, man kann sogar darin mit dem Laufrad herumfahren, hat aber eine ungeheuer komplexe und wirkunsvolle Ausrüstung zur verfügung, die man kaum überblickt, man kommt sehr schnell überall hin, läßt sich durch nichts aufhalten und kann ggf. das Laufrad auspacken - wenn nötig.
    inside-the-klingon-d7-class-battle-cruiser.jpg
  • C# ist wie ein gemütlicher, umfassend ausgestatteter Zeppelin ohne Platz für ein Laufrad, der gemütlich und sicher über dem Windows-Planeten schwebt und diesen nicht wirklich verlassen kann. Wenn er in schwierige Situationen gerät, zieht er sich zurück und ruft den D7 zu Hilfe, der das Laufrad abwirft.
    GoGoZeppelin.jpg
Die Tools sind unter Windows ähnlich (Visual Studio), für C und C++ gibt es aber unter Windows und auch unter anderen Systemen eine Vielzahl sehr guter Umgebungen und Tools. Das umfassendste Angebot an Bibliotheken für die verschiedensten Zwecke gibt es für C und C++. Am einfachsten zu erlernen ist C#, am weitesten kommst Du aber mit C++ (ist auch am schwersten, imho).
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: BAGZZlash und savuti
Zunächst sollte man sich fragen, auf welcher Plattform die späteren Programme dann bevorzugt laufen sollen.

Ansonsten würde Ich C# empfehlen. Das läuft zwar eigentlich nur auf Windows-Systemen, aber damit deckt man schon 90% Marktanteil ab. Es ist hervorragend dokumentiert und lässt sich leicht erlernen.
 
@CPU_Held
gibts noch. Zumindest als VBA in jedem Office-Produkt für Macros vorhanden.
 
  • Gefällt mir
Reaktionen: CPU_Held
Tempo schrieb:
Wo sind die Unterschiede zwischen C, C++ und C#?
C ist schon sehr alt (1972), C++ ist eine objektorientierte Erweiterung, C# ist eine relativ junge Sprache - von Microsoft entwickelt. Als erste zu lernende Sprache würde ich weder C noch C++ empfehlen. C# hat in meinen Augen den Nachteil dass diese Sprache vorwiegend nur in Microsoft Umgebung (.NET) vorkommt. Eine objektorientierte Sprache mit ähnlichen Konzepten wäre Java. Als erste zu erlernende Sprache würde ich Java oder C# empfehlen. Aber typischerweise bleibt es nicht bei einer Sprache, im Laufe der Zeit kommen dann noch andere dazu. Aber mit Java oder C# ist schon ein guter Grundstock gelegt.
 
hats schrieb:
C# hat in meinen Augen den Nachteil dass diese Sprache vorwiegend nur in Microsoft Umgebung (.NET) vorkommt.
Was soll denn daran der Nachteil sein? Damit sind mehr als 90 % abgedeckt. Vorausgesetzt natürlich, der TE nutzt selbst Windows.
 
CPU_Held schrieb:
etwas offtopic, aber ich habe damals visual basic benutzt. einfach zu erlernen, aber gibts das heut zu tage eigentlich noch?
Igitt. Versau den armen Jungen doch nicht mit sowas ;)
Von solchem Mist wegzukommen, ist schwerer als gleich eine echte Sprache zu lernen
Ergänzung ()

xenon-seven schrieb:
Was soll denn daran der Nachteil sein? Damit sind mehr als 90 % abgedeckt. Vorausgesetzt natürlich, der TE nutzt selbst Windows.
Doch, hats hat da durchaus recht.
Es ist zwar recht "einfach", aber man wird auch sehr schnell nach "hello world" ins .NET-Framework verfrachtet, was mMn zu einer sehr beschränken Sicht- und Denkweise führt.
Merke ich an unseren Praktikanten und Werkstudenten immer wieder. Die .NET-Fraktion ist da meist weitaus "zähflüssiger" als welche, die Java oder Webentwicklung hauptsächlich betreiben.

Zu einem guten Programmierer gehört nunmal auch, dass man sich über verschiedenste Kanäle Wissen besorgt, wenn man wo aufm Schlauch steht, oder eben vor neuen Herausforderungen. Die .NET-Fraktion ist in der Hinsicht meist recht fokussiert und schnell überfordert.
 
Stimmt schon, um eine Profi Laufbahn einzuschlagen ist das nicht der richtige Start.

Um das Interesse zu befriedigen und für Heimprojekte reicht es alle mal.

Und es gibt nichts was einfacher zu lernen ist.
 
  • Gefällt mir
Reaktionen: areiland
Das kommt halt sehr darauf an, was man mal mit der Programmiersprache vorhat. Wenn es in die Richtung Embedded/Mikrocontroller gehen soll, kommt man um C kaum herum. Im Prinzip ist C auch nicht schwer. Man kann halt nur viel Blödsinn machen und schlechte Angewohnheiten entwickeln.
Wenn es zunächst darum geht die grundlegenden Konzepte der Softwareentwicklung zu lernen, würde ich auch zu einer Scriptsprache wie Python tendieren. Egal was man dann später mal macht: Es ist immer praktisch eine Scriptsprache im Werkzeugkoffer zu haben.
 
Du solltest Dir Gedanken drüber machen, was du denn mal programmieren möchtest, bzw. worum es Dir generell geht.
Wenn Du lernen willst, wie ein Prozessor arbeitet, bist Du mit C oder einem Assembler gut bedient. Du könntest z.B. ein wenig mit Mikrocontrollern rumbasteln, Arduino etwa oder direkt AVRs (mikrocontroller.net ist ne gute Anlaufstelle).

Wenn Du Windows-Klick-Klick machen willst oder es Dir darum geht, allgemein Probleme zu lösen, ist Python eine super Idee. Leicht zu lernen und wie ein Schweizer Armeemesser, damit kannst Du quasi alles machen.

Zu Deinen Fragen: C ist die wichtigste Sprache der Welt und so nah an der Hardware, wie eine Programmiersprache sein kann. Alle Betriebssystemkerne sind in C geschrieben, ergo findet auch i.d.R. die ganze Kommunikation mit dem Betriebssystem durch C-Bibliotheken statt.
C++ ist die Erweiterung C's um das Konzept der Objektorientierung. Davon würde Ich als Anfänger die Finger lassen.

C# ist ein Microsoftprodukt und geschaffen, um effizient und schnell mit Windows zu interagieren. Man kann zum Beispiel recht leicht GUIs damit machen.
 
Ich habe mir gestern die Eclipse IDE runtergeladen und installiert mitsamt MinGW. Kann ich mittels Eclipse auch C# Programme schreiben oder brauche ich da VisualStudio?
Mir geht es erstmal darum für Windows Programme zu schreiben. Also vielleicht dann doch eher C++ oder C#.
 
Für Windows klar C# und Visual Studio.
 
Tempo schrieb:
Ich habe mir gestern die Eclipse IDE runtergeladen und installiert mitsamt MinGW
Eclipse ist eher ein altes Eisen. Ist zwar noch immer eine super IDE die viele Fans hat, aber gerade als Einsteiger gibts da komfortablere Lösungen.

Tempo schrieb:
Mir geht es erstmal darum für Windows Programme zu schreiben.
Windows GUI Anwendungen also? Da würde ich zu C# oder alternativ vllt Java raten. Grundsätzlich lassen sich aber mit fast allen (Programmier-/Skript-) Sprachen und entsprechenden Frameworks Anwendungen für Windows entwickeln. C# ist aber eine von Microsoft entwickelte Sprache, daher gehts damit praktisch aus einer Hand.;) -> Visual Studio-IDE

Wenn du C++ nutzen willst, müsstest du dir sowas wie Qt ansehen. Das heißt neben der Programmiersprache müsstest du das Framework lernen. Ist was viel für den Anfang.

Grundsätzlich solltest du dir aber ein konkretes Projekt überlegen. Für den Einstieg finde ich vor allem Anwendungen mit Webanbindung interessant. Eine API ansprechen und Daten auslesen ist eigentlich in 99% der heutigen Anwendungen ein typischer Anwendungsfall. Schau doch mal hier vorbei, gibts sicher auch eine API die dich privat interessiert die du anzapfen kannst: https://github.com/toddmotto/public-apis
 
Zuletzt bearbeitet:
xenon-seven schrieb:
Was soll denn daran der Nachteil sein? Damit sind mehr als 90 % abgedeckt. Vorausgesetzt natürlich, der TE nutzt selbst Windows.

Gibt mittlerweile so ein milliardenfach verwendetes Zeug namens Android. Da läuft glaub Ich kein C# drauf.
Es ist davon auszugehen, dass in Zukunft der klassische x86-Desktop mit Windoze drauf eher unbedeutender statt bedeutender werden wird. Wenn Du exklusiv unter Windows programmieren kannst, gut, irgendwas kannst damit schon machen. Wenn Du auf allen Plattformen coden kannst, steht dir auch die mobile Welt und das geliebte embedded der Industrie zur Verfügung.

Sowieso frag Ich mich, warum man sich in die Fänge dieses korrupten Riesenkonzerns begeben sollte, wenn es mittlerweile eine Vielzahl fantastischer Sprachen gibt, die überall laufen und einen nicht einengen.
 
wenn man programmieren kann, dann ist der schwenk zu einer anderen Programmiersprache das kleinste Problem.

@TE
such dir ein Projekt welches du umsetzen willst, der rest kommt dann.
 
  • Gefällt mir
Reaktionen: areiland und PEASANT KING
Stannis schrieb:
Gibt mittlerweile so ein milliardenfach verwendetes Zeug namens Android. Da läuft glaub Ich kein C# drauf.
Es ist davon auszugehen, dass in Zukunft der klassische x86-Desktop mit Windoze drauf eher unbedeutender statt bedeutender werden wird.
Das erzählt man schon so lange wie Linux den Destop erobern soll. Auch wenn das irgendwann mal so kommen sollte, wird Android sicherlich nicht die Zukunft sein
 
Zurück
Oben