Welche Programmiersprache für Anfänger ?

Funart schrieb:
Grundlegend rate ich von Skritsprachen ab wenn man vor hat Informatik zu studieren um damit langfristig Geld zu verdienen und vielleicht auch mal befördert zu werden. In meinen Augen werden PHP, Ruby, Python und co meist für kleinere bis mittlere Projekte verwendet.
Du weißt schon, dass Facebook in PHP geschrieben wurde, oder?
Du kannst in C, Java oder sonstwas genau so kleine Projekte umsetzen, wie du mit PHP ein Millionen-Geschäft machen kannst. Es kommst auf die Idee und Umsetzung an, nicht auf die Sprache.

Weiteres hab ich die Erfahrung gemacht dass viele die neben dem Studium auf dem Gebiet tätig sind, nicht in der Lage sind wirkliche Logik zu programmieren. Ich kann nur vermuten woran es liegt, vielleicht daran dass diejenigen häufig im einfachen Webbereich tätig sind und es dort einfach wenig Logik zu programmieren gibt.
Das ist genauso Schwachsinn. Willst du mal sehen, wie viel Programmlogik hinter einer großen Webseite steckt? Wirf mal einen Blick in die Sources von Magento oder osCommerce.

Besser ist man in meinen Augen aber dran wenn man sich in das Java / C# gebiet begibt und dort seine Fähigkeiten so weit ausbaut das man in Großprojekten mitarbeiten kann. Dort gibt es einfach langfristig mehr Jobs die gut bezahlt sind.
Wenn jeder sich nur hirnlos auf Java oder C# stürzt, wer schreibt dann solche Foren wie das hier? Schau dir mal die URL an, siehst du hier irgendwo Java?
Du kannst auch im Bereich PHP, Python oder RoR gut bezahlt werden, und du kannst für Pfennigbeträge Java schreiben. Es kommt immer auf den Auftraggeber an, nicht auf die Sprache.
 
Vor allem aber: wenn jemand wirklich das Zeug zum Programmierer hat wird er weitere Programmiersprachen extrem schnell und einfach erlernen können, weil die Konzepte dahinter eh fast die selben sind. Die erste Sprache ist also nicht ganz so wichtig. Ansonsten würd ich meinen jetzigen Job nicht haben, wenn ich mir damals durch meine Anfänge mit BASIC alles verbaut hätte ;-)

Ich würde aber trotzdem eine empfehlen die nicht zu exotisch ist und eher einen einfachen Einstieg bietet. Mein Favorit ist da immer noch Python. PHP ist einfach zu sehr "Kraut und Rüben" das Ding ist eher ohne Konzept vor sich hingewuchert bis zum jetzigen Umfang. Klar kann man damit auch programmieren und was großes auf die Beine stellen. Ideal um ins Programmieren einzusteigen find ichs aber nicht.

Java oder C# bieten sich auch an, sind such gut strukturiert und man kann recht schnell Erfolge erziehlen, auch im Webumfeld.

Das einzige Problem ist wenn man mal mit seinem Ergebis an die öffentlichkeit will und einen Webhoster sucht das man bei den günstigen (oder besser billigen? ;-) nur PHP und wenn man Glück hat Perl angeboten bekommt. Python, Java oder C# muss man etwas länger suchen...
 
vala ist eine sehr coole programmeirsprache.. glib lassen sich auch ganz einfach guis bauen.. sonst java, c#/mono oder c++/qt.. und am besten unter linux
 
Wies jetzt ehrlich gesagt nicht warum da jetzt einer wieder leicht agressiv werden muss...
Vor allem verstehe ich absolut nicht wieso, dann wieder leute mit einzelnen Seiten daherkommen. Großprojekte sind meist inhouse anwendungen und nicht social networks.
Wenn ich Seiten wie die hier anschaue dann fällt mir dazu nur ein, dass es sich dabei um ein langjähriges Projekt handelt, welches vermutlich als Hobby begonnen hat und dadurch eben auf PHP und co aufbaut.
Man kann zwar auch kleinere Projekte mit Java und co anfangen jedoch ist dabei der Aufwand um einiges höher um kleinere Dinge zu erledigen. Ich würd niemals anfangen einen 0815 Shop auf basis von Java EE zu entwickeln dafür gibts genug fertiges in anderen Sprachen.
Auch wenns gut bezahlte PHP Jobs gibts bin ich davon überzeugt, dass es dabei wesentlich bessere Chancen in anderem Umfeld gibt. Weiteres wird sich die Situation immer weiter in meine Richtung bewegen. Man muss auch darauf achten wie sich der Markt entwickelt und das geht nunmal stark in Richtung Enterprise Anwendungen, welche eher durch nicht Skriptsprachen umgesetzt werden. (Soll nicht heißen dass es immer so ist)

Das Thema Umstieg zwischen Programmiersprachen ist in meinen Augen auch eine urban legend. Ich hab mittlerweile in Java ein ganz gutes Nivo erreicht und würde wohl 1-2 Jahre brauchen um ein gutes Nivo in C# zu erreichen. Sicher kannst schnell das Standardzeug aber eine Sprache wirklich zu beherrschen geht nun mal nicht in 2 Wochen.

Ergänzung: Hosting kann man heutzutage fast schon selbst machen. V-Server sind mittlerweile bei einen Preisnivo das bezahlbar ist.
 
Zuletzt bearbeitet:
Mit dem Standardzeug und einem generell guten Verständnis über Programmierung und Designpatterns kommt man aber schon recht weit. Den Rest muss man sich halt über die Zeit aneignen.

Und an sich ist es sowieso nicht verkehrt wenn man mehrere Sprachen kennt und kann. Vor allem wenn sie aus verschiedenen Bereichen kommen, so kann man je nach Anwednung das richtige wählen. Wie du selber schon schreibst würdest du für einen einfachen Shop kein Java EE nehmen. Ich schreib mir Hilfstools auch nicht unbedingt in C# sondern oft eher in Python oder JScript (Windows Scripting Host).
 
Dann hast du die Grundlagen der Programmierung nicht verstanden.
Das reine Code-Geschreibsel ist vollkommen irrelevant, das kann ein dressierter Affe. Wirkliche Magie passiert eine Stufe weiter hinten, wo man sich den Programmablauf überlegt, die Datenstrukturen,... Algorithmierung ist alles was zählt. Rein theoretisch könnte man aus einem guten PAP vollautomatisch Programmcode in jeder Sprache erstellen lassen.
 
Wovon ich rede ist moderne Programmierung mit Hochsprachen. Was bedeutet man muss 10 Frameworks beherrschen. Da kannst du mit Python noch so viele Pattern und Algorithmen beherrschen. Du wirst trotzdem in Java untergehen, wenn sich jemand der weis was er tut deinen Code anschaut.

Mir kommts grad so vor als würd ich mit jemanden reden der noch nie was relevantes mit mehr als einer Sprache programmiert hat und dabei dass geschriebene selbst reflektiert zu haben.
 
Programmieren ist jetzt nicht so eine anspruchsvolle aufgabe wie du das hier so darstellst
"Nivo".. wenn man das grundprinzip und die wichtigen pattern kann dann ist es egal in welcher
sprache oder mit welchen framework was macht.. manche sind halt kompfotabler und andere halt umständlicher
 
Funart schrieb:
Grundlegend rate ich von Skritsprachen ab wenn man vor hat Informatik zu studieren um damit langfristig Geld zu verdienen [...]
Weiteres hab ich die Erfahrung gemacht dass viele die neben dem Studium auf dem Gebiet tätig sind, nicht in der Lage sind wirkliche Logik zu programmieren. [...]
Meine Erfahrung sagt jedenfalls dass ich nicht viel zu erwarten habe was verwertbar wäre wenn jemand in einer Übungsgruppe neben der Uni PHP etc programmierert.
Diese Aussagen qualifizieren dich und nicht die Programmierer der Scriptsprachen, denn du beweist damit, dass du nichtmal über den Tellerrand schauen kannst. Und dir einbildest Personen anhand ihrer Programmiersprache qualifizieren zu können, lächerlich.
Man kann natürlich PHP, Python, Ruby usw. als "Frickelsprachen" definieren, weil sie nicht wie Java sind, aber es kommt auf den Entwickler an, ob er guten Code schreibt, nicht die Sprache. Und ich habe in Java schon genauso viel schlechten Code wie in den Scriptsprachen gesehen, andersherum mit gutem Code stimmt das aber auch.
Ein guter Entwickler hat genügend Erfahrung, und dazu gehört auch einige Sprachen zu kennen um zu wissen wo manche Sprache schlecht ist. Und wer nur den "Java-Hammer" kennt um ein Problem zu lösen, den kann man garantiert nicht als guten Entwickler bezeichnen.


soares schrieb:
Um irgendwann ein neues Backend in C++ zu entwickeln, weil die Serverlast zu hoch war :D
Facebook hat einen neuen PHP-Compiler geschrieben, aber nicht alles nach C++ portiert. Das sind himmelweite Unterschiede, und neue effizientere Compiler werden immer geschrieben, das ist der Lauf der Dinge.


Funart schrieb:
Auch wenns gut bezahlte PHP Jobs gibts bin ich davon überzeugt, dass es dabei wesentlich bessere Chancen in anderem Umfeld gibt. Weiteres wird sich die Situation immer weiter in meine Richtung bewegen. Man muss auch darauf achten wie sich der Markt entwickelt und das geht nunmal stark in Richtung Enterprise Anwendungen, welche eher durch nicht Skriptsprachen umgesetzt werden. (Soll nicht heißen dass es immer so ist)
Ach? Und in anderen Sprachen gibt es keine "Enterprise Anwendungen"? Frameworks wie das Zend Framework oder Symfony haben es nicht geschafft PHP "enterprise-ig" zu machen?
Ehrlich gesagt vertrittst du eine ganz spezielle vor allem in Deutschland vertretene Form, in der es nur Java und nichts anderes gibt. Pavlo Baron hat mal in Java User Groups Erlang vorgestellt (er wurde eingeladen!) und hat dort von den Leuten massive Ablehnung bekommen, einfach weil man es (a) nicht kennt und es somit (b) nicht gut sein kann und (c) sowieso nur Java der heilige Gral ist.
Und gerade in Deutschland herrscht diese Meinung wirklich, da sind andere Länder deutlich offener, liegt vllt daran, dass man an unseren Unis schon eingetrichtert bekommt, dass Java der heilige Gral ist...


Funart schrieb:
Das Thema Umstieg zwischen Programmiersprachen ist in meinen Augen auch eine urban legend. Ich hab mittlerweile in Java ein ganz gutes Nivo erreicht und würde wohl 1-2 Jahre brauchen um ein gutes Nivo in C# zu erreichen.
Nicht dein Ernst oder? Die Sprache hat man gut in 2 Wochen gelernt, das ist nicht das Problem. Es hängt also nachher nur an der fehlenden Erfahrung mit den Frameworks, aber die hat man sehr gut in 3-6 Monaten nachgeholt. Man sollte nicht vergessen, dass nur in Java alles so "kompliziert" ist, also alleine der WebStack in J2EE aus mitlerweile wieviel komplexen Frameworks besteht? 3 oder 4?
Andere Sprachen sind da deutlich simpler und da ist es dann auch leichter neue Sprachen zu lernen, habe ich mehr als einmal gemacht. Also wer 2 Jahre für eine neue Sprache braucht...

Funart schrieb:
Was bedeutet man muss 10 Frameworks beherrschen. Da kannst du mit Python noch so viele Pattern und Algorithmen beherrschen. Du wirst trotzdem in Java untergehen, wenn sich jemand der weis was er tut deinen Code anschaut.
Ja aber das betrifft nur den Weg Python -> Java. Ein Vortrag auf der WJAX (Java-Konferenz in Mainz) letztes Jahr hat das wunderbar rübergebracht: Java ist eine massiv übergeneralisierte Plattform über die sich andere Sprachen lustig machen. Der Titel des Vortrags fällt mir leider nicht mehr ein. Und das interessante: Die Zuhörer standen dem nichtmal negativ gegenüber, denn der Webstack in Java ist z.B. durch OSGI, Spring, Hibernate und was ich noch vergessen haben sollte ein verdammt komplexes Gebiet bei dem man erst Monate lernen muss.
Und andere Sprachen? Da wird das Zend Framework oder Symfony genommen und Doctine als ORM und das wars. Man muss wenig lernen, kommt viel schneller zum Ziel und für neue Entwickler ist es leichter.

Funart schrieb:
Mir kommts grad so vor als würd ich mit jemanden reden der noch nie was relevantes mit mehr als einer Sprache programmiert hat und dabei dass geschriebene selbst reflektiert zu haben.
Der eine oder andere hier im Thread hat das vllt wirklich nicht. Aber deine Meinung ist nicht die einzige, und welche die richtige ist wissen wir auch nicht. Aber für z.B. Webanwendungen würde ich nie wieder zu Java zurückgehen, da sind andere Sprachen einfach viel simpler und führen bei gleich gutem Ergebnis schneller zum Ziel.





Aber back to topic:
Ein Anfänger sollte es so einfach wie möglich haben schnell Ergebnisse zu erzielen, damit er motiviert bleibt und nicht die Lust verliert, denn nichts kann frustrierender sein als keine Erfolge zu sehen.
Von daher ist Python schon eine gute Empfehlung. Aber auch Java mit einem Buch wie "Java von Kopf bis Fuß" und seiner unorthodoxen nicht "trockenen" Herangehensweise ist eine gute Wahl. Denn im Endeffekt kommt es darauf an, dass der Anfänger schnell die Konzepte versteht und anwenden kann und da zählt einfach das Lernmaterial imho mehr als die Sprache. Wenn jemand "Java von Kopf bis Fuß" zum Lernen nimmt würde ich immer Java empfehlen, ansonsten Python.
 
Zuletzt bearbeitet:
ice-breaker schrieb:
Ehrlich gesagt vertrittst du eine ganz spezielle vor allem in Deutschland vertretene Form, in der es nur Java und nichts anderes gibt. Pavlo Baron hat mal in Java User Groups Erlang vorgestellt (er wurde eingeladen!) und hat dort von den Leuten massive Ablehnung bekommen, einfach weil man es (a) nicht kennt und es somit (b) nicht gut sein kann und (c) sowieso nur Java der heilige Gral ist.
Hm, dasselbe Verhalten habe ich schon großflächig hinsichtlich der CMS-Frage erlebt. Da heißt es laufend "nimm TYPO3!". Wenn man fragt, warum man es nehmen soll, kommen plötzlich keine relevanten Antworten mehr. Es ist halt schon immer so, dass man TYPO3 nimmt...
Kannst ja mal außerhalb von Deutschland jemanden suchen, der TYPO3 einsetzt. Da suchst du sicherlich richtig lange.
 
Zuletzt bearbeitet:
Du hast den falschen zitiert, tust also soares eventuell Unrecht, falls es nicht auch seine Meinung ist ;)
Wie das bei CMS aussieht, kann ich nicht beurteilen. Aber gerade in Punkto Programmiersprachen ist man im Ausland deutlich aufgeschlossener.
 
Die Diskussion, mit welcher Sprache begonnen werden soll, hält sich wirklich hartnäckig. Dabei ist es zweitrangig, mit welcher Sprache man anfängt... Hauptsache, man fängt überhaupt an. Ob Skript- oder richtige Programmiersprache ist da auch nicht so wichtig.
 
Also mir hat C++ mehr spaß gemacht als jede andere Sprache, wenn man es erst mal beherrscht. (Das dauert als Anfänger schon ein zwei Jahre) Man hat damit halt unbegrenzte Möglichkeiten. Python find ich zum Verstehen zum Anfang ganz schön, man sieht halt schnell Erfolge und es wird auch häufig verwendet.

LG Tigerass
 
Poke646 schrieb:
Ob Skript- oder richtige Programmiersprache ist da auch nicht so wichtig.
Du meinst wohl eher Skript- und Compilersprachen... denn richtige Programmiersprachen sind beides (im Gegensatz z.B. zu HTML & CSS).
Sogar ein Batchfile, ein Bash-Script oder was hübsches kleines für die PowerShell ist ein vollwertiges Programm.


Der beste Weg, mit Programmieren anzufangen: Programmablaufpläne!
Alles andere macht nur zum Fachidioten.
 
Daaron schrieb:
Du meinst wohl eher Skript- und Compilersprachen... denn richtige Programmiersprachen sind beides (im Gegensatz z.B. zu HTML & CSS).
Sogar ein Batchfile, ein Bash-Script oder was hübsches kleines für die PowerShell ist ein vollwertiges Programm.

Naja, ich meinte "richtige" Programmiersprache - das ist natürlich keine besonders gute Bezeichnung (Skriptsprachen sind deswegen ja keine nicht richtigen Programmiersprachen).

Compilersprache jedenfalls wäre hier wohl auch kein guter Begriff, den dann redet man von einer anderen Ebene (Interpretersprache vs. Compilersprache). Tcl bezeichnet man als Skriptsprache, dabei wird ähnlich Java eine Art Bytecode benutzt. Ruby hat jetzt auch einen Bytecode-Compiler, aber deswegen ändert sich an Merkmalen wie dynamischer Typisierung oder implizit deklarierten Variablen nichts...

Ich denke, dass die Abgrenzung heutzutage doch sehr verwischt wird.
 
Zuletzt bearbeitet:
PHP läuft auch als Bytecode...
Deshalb sind das ja auch alles einfach nur Programmiersprachen... ohne "richtig" oder sowas.
 
Poke646 schrieb:
Naja, ich meinte "richtige" Programmiersprache - das ist natürlich keine besonders gute Bezeichnung (Skriptsprachen sind deswegen ja keine nicht richtigen Programmiersprachen).

häh? Was soll denn dann deiner Meinung eine "richtige" Programmiersprache sein? Also was sind deren Eigenschaften, die sie zu "richtigen Programmiersprachen" machen?

Das ganze wirkt gerade auf mich, wie eine absolut subjektive Bewertung nur um bestimmte Sprachen einfach künstlich "entwerten".
 
Nein, ich will nichts entwerten, das der Begriff nicht passend ist habe ich ja angemerkt, genauso wie die Tatsache, dass Skriptsprachen auch Programmiersprachen sind.

Ich wollte lediglich zum Ausdruck bringen, auch wenn es in vielen fällen zutrifft, dass ein Intepreter kein hartes (notwendiges) Merkmal für eine Skriptsprache ist. Wenn man Kategorien aufstellt und Python und PHP in die Kategorie Skriptsprache steckt, dann ist das Gegenstück dazu nicht die Kategorie "Compilersprache" wie oben angedeutet wurde.
 
Zuletzt bearbeitet:
Zurück
Oben