Welche Programmiersprache für Anfänger ?

Na ja, meinste nicht auch, dass alle Aspekte, die irgendwas mit "engineering" im Namen haben, definitiv nix mit "Programmieren für Anfänger" zu tun haben?
Wenn du als Anfänger etwas Krams zusammenklimpern willst, dann suchst du dir ne unkomplizierte Sprache ohne Compilerstress. Wenn du auf Ingenieurs-Level arbeiten willst, dann stellt sich die Frage nach der Programmiersprache kaum. Da ist es dir total egal, ob du in C, Java, PHP oder Perl schreibst. Ein Ingenieur, der "Programmieren" sogar studiert hat (sonst wär er kein Ing), kann sein Programm sogar in Brainfuck und Ook! schreiben, ohne dass er vor außergewöhnliche Probleme gestellt wird.
 
Womit wir bei "Tim Toady Bicarbonate" angekommen wären.
 
Daaron schrieb:
du auf Ingenieurs-Level arbeiten willst, dann stellt sich die Frage nach der Programmiersprache kaum. Da ist es dir total egal, ob du in C, Java, PHP oder Perl schreibst. Ein Ingenieur, der "Programmieren" sogar studiert hat (sonst wär er kein Ing), kann sein Programm sogar in Brainfuck und Ook! schreiben, ohne dass er vor außergewöhnliche Probleme gestellt wird.

Bei dieser Aussage kann ich dir definitiv nicht zustimmen. Softwareengineering hat mir der Wahl der Programmiersprache garnichts zu tun. Und auch ein Erfahrener Programmierer wird mit Quatch wie Brainfuck seine Probleme haben denn Code gehört Strukturiert, sinnvoll gekapselt und so verfasst, dass er sowohl sinnvoll zu nutzen, erklären als auch zu lesen ist.

Ein Magister der Deutschen Sprache kann auch nur dann einen Text kritisieren und verbessern, wenn er die Grundlagen der deutschen Rechtschreibung eingehalten hat.
So ähnlich verhält es sich mit geschriebenen Code.

Wenn du deinem Kollegen eine Methode vor die Füße wirfst, die aus irgendwelchen Abkürzungen, Zählvariablen ala "i" oder "k" oder die setIrgendwas heißt aber n Returnvalue hat der sich nicht erschließt, dann wird der, auch wenn er Dipl. Informatiker ist, erstmal nur Fragezeichen sprucken.

in diesem Sinne,

kaum macht mans richtig, scho gehts...

Gruß,

}
 
Nicht immer ist Code hübsch strukturiert und gekapselt. Du hast noch nie Prolog geschrieben, oder? "Struktur" heißt da: Leerzeilen oder keine Leerzeilen zwischen 2 Statements?
Auch Assembler zeichnet sich oftmals durch einen eklatanten Mangel von so schönen Struktur-bildenden Maßnahmen wie "Funktionen" aus.

Trotz allem kannst du alles auf einen einheitlichen Programmablaufplan (oder ien analoges Schema) herunterbrechen. Ist das Schema fein genug wird die Wahl der Sprache zur reinen Kosmetik.
 
Natürlich sollte man wenn möglich versuchen seinen möglichst sinnvoll zu strukturieren. Lustig wird es aber wenn Leute es hierbei übertreiben oder einfach keine Ahnung haben wie sie dies anstellen.

In Microprozessoren(Studiere derzeit noch...) wo wir 6809 Assembler geschrieben haben hatten wir z.B. eine Aufgabe für die ich etwa 40Zeilen Code brauchte. Alle anderen hatten etwa das drei bis vierfache an Code und alles mögliche in Subroutinen gepackt.
Das Ergebnis des ganzen war das diese ihren Code ohne Probleme in dem Emulator testen konnten. Ich konnte dies hingegen nicht ohne weiteres, da mein Code um ein vielfaches schneller war aufgrund der minimalen Anzahl von Stackoperationen. Ich konnte ihn also nur mittels Breakpoints auf Richtigkeit testen.
Besser lesbar oder wartbar wurde deren Code dadurch auch nicht.
Das größte Problem war das einige versuchten Programme in Assembler wie in Java zu schreiben. Sie haben sich zum teil Subroutinen für Dinge erstellt welche schon in der 6809 ISA enthalten waren.
 
Highstorm schrieb:
Bei dieser Aussage kann ich dir definitiv nicht zustimmen. Softwareengineering hat mir der Wahl der Programmiersprache garnichts zu tun.
Bei dieser Aussage kann ich dir definitiv nicht zustimmen. Denn garnichts ist auch wieder falsch.

Um Korrektheit zu beweisen (Luftfahrt, Medizin), nimmt man zB gerne Funktionale Sprachen. Um Effektivität zu erreichen braucht man Sprachen mit Pointern. Um KI zu programmieren nimmt man gerne LISP. Um gute Lesbarkeit zu erreichen, braucht man einfache Sprachen.

Daher ist es eigentlich schon Teil von Software-Engineering, überhaupt mal eine sinnvolle Sprache für das gestellte Problem auszuwählen.
 
Also ich bin selber anfänger, habe mich aber jetzt ein wenig mit verschiedenen sprachen auseinandergesetzt und habe für mich die entscheidung getroffen, dass JAVA am sinnvollsten ist, zu lernen
Lg Philipp
 
Hallo PhilippVa86,

Erstmal Herzlichen Willkommen im Forum!

Vielleicht könntest du ein wenig ausführen, was so die typischen Sachen sind, die du programmierst, und was dich zu der Erkenntnis geführt hat, dass Java für deine Zwecke am sinnvollsten ist (z.B. könntest du Java mit anderen Sprachen, die du ausprobiert hast, vergleichen).
 
zurück zum thema:

Als anfänger ist java ideal.
+ Java 7 oder 8
+ Netbeans als IDE

Ich habe versucht mich in C++ einzuarbeiten, aber das ist reine katastrophe.
 
Jepp, statt mit VB würd ich wenn dann lieber mit C# anfangen. Ist auch nicht schwerer (da vom Umfang quasi identisch), aber man hatts später einfacher sich auf andere Sprachen umzugewöhnen wegen der C ähnlichen Syntax (oder alternativ direkt in größere Projekte einzusteigen weil C# deutlich weiter verbreitet ist als VB)

Und ob C# oder Java ist irgendwo Geschmackssache. Beide sind Einsteigerfreundlich und sehr leistungsfähig, auch für den späteren Einsatz in großen Projekten.


Für Einsteiger empfehl ich aber auch ganz gern Python das als Interpretersprache von der Handhabung her einfacher ist und auch recht leistungsfähig. Außerdem zwingt es einem gleich zu sauber formatiertem Code. Und für kleine Hilfstools ist es auch später noch sehr praktisch.
 
Java, da am weitesten verbreitet von den einfachen Sprachen. Wird auch von Firmen bei der Einstellung am ehesten erwartet und nach Studium sogar vorausgesetzt.

C ist nichts für den Beginner, der zerschellt an Compiler Fehlern die er nicht versteht.
Ein Memory Error / Segment Fault ohne Angabe der Zeile - viel Spaß. Java gibt ziemlich eindeutige Hinweise was nicht stimmt und wo es nicht stimmt.


C# ist MS Ware, die es zu meiden gilt - besonders nach dem NSA Skandal. Man kann davon ausgehen das IT Firmen immer stärker dem Ami den Rücken zukehren werden. C# ist lahm wie Java, läuft aber nicht auf allen OS sauber, was es nahezu nutzlos macht.


Vielleicht interessant:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

C -> Treiber- / Geräteprogrammierung
Java -> User Anwendungen OS unabhängig
Objective C -> Apple
 
Zuletzt bearbeitet:
Na ja, Java hat halt auch ein paar Rufschäden davon getragen. Viele setzen die JavaVM mit dem Java Browser Plugin gleich. Selbiges HAT permanent schwere Lücken, bloß wird hier eben das Kind mit dem Bade ausgeschüttet und die Leute deinstallieren alles, was Java heißt. Oftmals wird dann gleich noch JavaScript abgeschaltet...

Ich sage: Weg mit klassischer Desktop-Programmierung, egal ob C#, Java oder sonstwas, und dafür hin zu HTML/JS-basierten Widgets. Man sieht schnelle Erfolge und wird oft überrascht, was nun doch alles möglcih ist.
 
Witzig, ich sehe es genau anders herum. Ich habe mit JavaScript und PHP angefangen und kann beide Sprachen inzwischen ziemlich gut, muss mich jetzt aber mit Java herumschlagen und verzweifle jeden Tag, weil es unnötig kompliziert, unübersichtlich und langsam ist. Da ist die Webentwicklung wesentlich inuitiver, schneller und vor allem kommt man innerhalb kurzer Zeit zu einem guten Ergebnis, ohne sich mit zig Compilerfehlern wegen falscher Datentypen herumschlagen zu müssen :rolleyes:
 
Speedy. schrieb:
... ohne sich mit zig Compilerfehlern wegen falscher Datentypen herumschlagen zu müssen :rolleyes:

Im Normalfall schreibst du deinen Code so, dass es gar nicht erst zu den Fehlern kommt. Das kannst du jetzt wirklich nicht der Sprache ankreiden, sondern musst eben etwas Zeit investieren, um da rein zu kommen ;)
Selbiges gilt für "unübersichtlich und langsam".

Bei der Komplexität gebe ich dir recht, wobei "komplizierter" statt "unnötig kompliziert" passender wäre, ist halt nun mal keine Skripsprache. Wenn du eleganten und prägnanten Code schreiben willst, könntest du dir mal Scala für die JVM anschauen. Die Lernkurve ist hier zwar steiler, aber dafür kannst du deine Programme auf 30-40% des Umfangs reduzieren (edit: also bezüglich lines of code).
 
Zuletzt bearbeitet:
Jepp, mit Datentypen-Fehlern schlägt sich nur jemand rum der das nie vernünftig gelernt hat ;-) ich darf mich dagegen öfters damit rumärgern das JavaScript einfach mal irgendwas rumkonvertiert und es deswegen nicht geht. Fehlersuche ist dann immer lustig... bei ner vernünftigen Sprache würd mir der Compiler sagen wo der Fehler ist (ja, ich weiß das es mittlerweile auch Erweiterungen für JS gibt die Typsicher sind).

Das größere Problem finde ich aber die Oberflächenentwicklung an sich, wenn man sich im Browser mit CSS rumschlagen muss wo ich mit WPF oder zur Not auch WinForms deutlich schneller und angenehmer ans Ziel komme (den Spaß hab ich hier auch gleich wieder, darf ne Eingabemaske stylen...)
 
Zurück
Oben