"
C" für den Anfang ist schwierig, zumal
C wenig Fehler verzeiht.
Du würdest nichts verkehrt machen, wenn du mit Java anfängst.
Da mußt du dich anfangs auch nicht um das Speicheraufräumen kümmern. Das erledigt für dich schon die
Garbage collection.
Die meisten Berufschulen lehren auch Java. Manchmal auch erst im 2. oder 3. Lehrjahr.
Mit dem Einstieg in Java, kriegst du schon die ersten Grundkenntnisse der Programmierung.
Objektorientierte Programmiersprachen ähneln sich im Aufbau und der Syntax sehr.
In deiner späteren Prüfung wirst du auch nicht auf dein Aufgabenzettel was in einer bestimmten Programmiersprache runterkritzeln, sondern in eine Pseudocode.
Eine gute Alternative die ich dir zu Java noch empfehlen könnte, wäre Delphi.
Java jedoch ist weiter verbreitet und wird ebenso vielfach für Webdesign, Mobile Geräte (wie Smartphones) und Waschmaschinen verwendet.
Also ich frag mich echt immer mit eurer Speicherverwaltung habt.... Habt ihr schon mal angefangen C/C++ zu lernen?
Da habt ihr am Anfang genau NULL damit zu tun. So lange ihr keinen Stack/Heap Overflow habt, kann euch das so was von scheis egal sein, ob man da nun Speicher selbst verwalten muss oder nicht. Und wenn man es machen muss, dann ist das alles recht schnell geklärt. Bei uns wird darauf z.B. in der Info1 Vorlesung (besserer C/C++ Programmierkurs) überhaupt nicht drauf eingegangen. Ich bin selbst drauf gestoßen, das ich ein großes Array nutzen wollte, und dann lustige Fehlermeldungen bekommen habe. Das war dann in ner Stunde dann aber alles geklärt und seit dem ist auch die ach so "schwere" Speicherverwaltung kein Ding
Ihr verkennt immer etwas C/C++.
C/C++ eröffnet einem viele Möglichkeiten. Wenn man aber keinen Bock hat diese zu nutzen, kommt man VERDAMMT weit. Seh es wie ein Fernseher mit der Mörder Fernbedienung. Da kannste auch einfach nur den Ein/Aus Knopf nur benutzen, genau wie bei solchen, die eben gar nicht mehr bieten, und schwieriger ist das auch nicht, weil die SO FETT sind, das man sie nicht übersieht. Wenn man aber will/muss, dann kann man aber auch alles mögliche mit machen, wo man bei den anderen Sachen aufgeschmissen ist.
Kurz um, die ganzen komplizierten Sachen kommen in C/C++ eigentlich nur dadurch zustande, das man Performance braucht, und da wirds egal in welcher Sprache kompliziert. Wenn ich z.B. Performance brauche, nutz ich Zeiger und Referenzen. Wenn nicht, kopier ich den Mist halt rum.
Die Anwendungsentwickler die ich kenne haben mit C# gelernt und dabei wohl auch viel mit SQL Server hantiert(Abschlussjahrgang 2011). Soo wichtig ist es aber eigentlich garnicht mit welche C-Dialekt man anfängt.
Was ich bei reinem C (und C++), gerade für Anfänger ohne einen der drüber guckt, unschön finde ist dessen Grundannahme " der Programmierer hat immer recht". Wenn z.B. ein Index aus dem Array läuft wird halt der Speicherbereich darüber gelesen.

.
Bei Java, C# etc. merkt solche Fehler schon der Compiler, das kann einem gerade beim Einstieg viel Frust ersparen.
Ja, diese Grundannahme "der Programmierer hat immer recht" ist durchaus mit gewissen Fallstricken versehen

Hab ich selbst auch schon erlebt. Allerdings fängt man ja langsam an und lernt schritt für schritt das, was man brauch. Wenn einem Performance etc. egal ist, kommt man mit den ganzen fancy Sachen ja gar nicht in Berührung.
Ich nutz z.B. aktuell auch ein Array eines Structs, mit Zeigern auf arrays eines Structs mit Zeigern auf Listen

Total hässlich, sich das zu überlegen, wie man jetzt auf die einzelnen Sachen zugreifen muss, und wie man das jetzt genau anordnet, damit es modular ist, aber wenn mans einmal hat, dann ist es nur noch copy&paste. Wie so oft halt.
Also da muss ich Playa recht geben. Mit C anzufangen wäre ein sehr schwierige Angelegenheit. Am besten du fängst mit C# oder Java an um einmal die Logik und Grundlagen zu lernen.
Wenn man ANSI C nimmt, was jetzt die Deklaration der Variablen auch in den Schleifen zu lässt etc. dann ist das kein Stück komplizierter. Dich zwingt ja keiner, dich mit dem schwierigen Themen zu befassen. Du KANNST es machen, aber für die meisten Sachen musst du es nicht.
Das ist es ja. C/C++ gibt dir viele Werkzeuge an die Hand, die du nutzen KANNST! du wirst aber nur selten dazu gezwungen Sie wirklich zu nutzen.
Ich habe in meine Ausbildung mit Java begonnen (bin kein Fan von Java) und nach 2 Jahren auf C# umgesattelt. Vor zwei Jahren habe ich mich erst in die Welt von c++ begeben und habe dabei sehr viel gelernt und muss sagen, dass ich es nicht umbedingt einfach fand. Anders als bei C# und Java, musst du in c/c++ deinen Speicher selbst verwalten (kein garbage collector

). Ohne meine Vorkenntnisse (5 Jahre Programmieren mit Java und C#, professionell in der Schule, kein Zuhause Hobby programmieren) wäre ich wahrscheinlich verzweifelt.
Also ich würde dir C# oder Java ans Herz legen. Meiner Meinung ist C# am besten um in die Welt der Programmierung einzutauchen. Das riesige .NET Framework mit den 10000 Klassen und Funktionen werden dich auch dabei unterstützen. Außerdem hast du eine große Community und eine (meiner Meinung die beste) Doc wo du immer nach Hilfe suchen kannst.
Was willst du/er lernen?
Wirklich programmieren und Lösungen selbst entwickeln, oder fertige Sachen zusammenstecken, wo man nicht weiß wies funktioniert....
Klar, das muss man auch können, für die Wirtschaft, wo es oft drum geht schnell etwas zu lösen, das hat dann aber für mich nichts mehr mit Informatik zu tun, sondern wirklich nur noch reines programmieren. Dafür nutz ich aber lieber nen Inder oder whot ever. Der ist billiger. Hier in D sollten sich die Leute schon bitte Gedanken darüber machen, was Sie da grad runter hacken.
Am Anfang musst du sowieso einmal die Grundlagen lernen. Am Anfang musst du sowieso die Syntax und Semantik der Sprache kennenlernen und auch die Grundlagen wie Datentypen, Schleifen, etc. erforschen die eigentlich in jeder Sprache gleich sind. (Bezogen auf Java und C#. In C++ wirst du einige davon nicht finden.)
Die Grundlagen sind halt in vielen Sprachen ziemlich ähnlich. Daher machts gerade am Anfang auch nur wenig Unterschied, ob man jetzt C/C++ Java, oder sonst was lernt. So lange die Sprache Datentypen kennt, und es nicht so fancy wie Python handhabt, ist das alles sehr ähnlich.