Welche Programmiersprache ist für den ANFANG die richtige ?

Irgendwie verläuft jeder dieser Threads ähnlich. :D

Aus der Sicht eines Nicht-Informatikers/Informationstechnikers:

Bei mir, in den Erd- und Umweltwissenschaften/Modellierung, sind R, Matlab, Fortran und Python recht gefragt, falls dich diese Richtung interessiert. Ich habe auch mal C gelernt, was mir aber gar nichts gebracht hat, bezogen auf meine jetzige Orientierung. Ergo würde ich an deiner Stelle einfach das lernen, was du später benutzen möchtest.

Wenn du nicht gerade in der Informatik arbeiten möchtest, dann lerne einfach das, was dir Spaß macht oder womit etwas Bestimmtes vor hast.
 
Merle schrieb:
Java ist üblicherweise auch um EINIGES langsamer.
Langsamer als was? Und wann?
Angenommen, Java (leidlich optimiert) ist 10% langsamer als guter C-Code, was wiederum 10% langsamer als Assembler wäre... was würde das für dich ändern? Wie oft merkst du diese 10%? Angenommen du hast einen netten Text-Editor mit Syntax Highlighting. In einer C-Version würdest du 0,01s auf das Highlighting für ne neu angelegte Funktion warten. Wie viel "langsamer" wäre dann Java? Wie viel "schneller" wäre Assembler?

Wirklich bemerkbar sind solche Performance-Unterschiede nur bei Hochlast-Anwendungen, und hier kann man sie genau so gut mit etwas mehr Hardware erschlagen. Bevor ich 100k € für neuen Code ausgebe, gebe ich lieber 10k für n Satz größere CPUs und mehr RAM aus.

Überhaupt kann man viele Leistungsoptimierung schon weit außerhalb der Anwendung machen. Hier ein gut geschalterer OpCode-Cache (für PHP) mehr, da etwas mehr Cache für die Datenbank,... Gerade vernünftig optimierte RDBMS bringen oftmals schon einen gewaltigen Leistungsgewinn.

tao te schrieb:
Wenn du nicht gerade in der Informatik arbeiten möchtest, dann lerne einfach das, was dir Spaß macht oder womit etwas Bestimmtes vor hast.
Selbst wenn man n IT-Studium dran hängt...
1.) kriegt man da eh die Grundlagen beigebracht
2.) unterscheiden sich die Grundlagen von Java, C, Fortran, PHP, COBOL,... gar nicht. Überall muss man als erstes den Ablauf des Programms vorher modellieren, genau wie die Datenstruktur. Nur bei Sprachen wie Haskell oder Prolog läuft das alles signifikant anders.

Es vollkommen egal, mit was man anfängt. Es ist nur eben nicht ratsam, mit C/C++ anzufangen, da Neulinge dort durch das nervige Speichermanagement schnell mal vom Wesentlichen abgelenkt werden. C# wäre besser, nervt aber durch seine extreme Microsoft-Bindung. Damit tut man sich keinen Gefallen. Java ist gleichstark wie C#, aber komplett portierbar... riesiger Vorteil.
 
Wenn es dir wirklich nur um das Programmieren an sich geht, würde ich tatsächlich zu Ruby zurückgreifen.
Es bringt alle üblichen Sprachkonstrukte auf intuitive Art und Weise auf den Punkt, ermöglicht sowohl prozeduale als auch objektorientierte Programmierung und enthält sogar Aspekte aus der funktionalen Programmierung und hat im Vergleich zu Java oder C# deutlich weniger Boilerplate Code.

Java und C#/Mono sind auch gut für den Einstieg. Nur persönlich bin ich der Meinung, dass ähnlich wie bei C/C++ und Speichermanagement, der Boilerplate Code bei Java/C# vom eigentlichen Programmieren ablenkt. Will man bspw. nur 2 Zahlen addieren, muss man einen relativ großen Block an runter rattern, bei dem ein Anfänger erstmal wie ein Ochs vorm Berg steht.

Auch ist die Ruby Code aufgrund des "syntaktischen Zuckers" leserlicher, da weit aus näher an der natürlichen Sprache als viele andere Sprachen.
 
Merle schrieb:
Java ist üblicherweise auch um EINIGES langsamer.
Vor allem für Datenbankenfrontends habe ich noch keine schnelle Java-Umsetzung gesehen.
Langsamer als was? Da du von FrontEnd redest, beziehst du dich vermutlich nur auf die UI. Auch hier gibt es Abhilfe mit UI-Frameworks wie SWT, die native Widgets verwenden.
Freilich kann ein Java oder .net-Frontend nie so schnell sein, wie eine native Applikation, der Unterschied ist aber heutzutage kaum mehr bemerkbar.

Merle schrieb:
Vielleicht liegts auch hier an der Optimierung, aber ich hab auch eine eher ablehnende Haltung gegenüber Java für alles ernsthafte...
GERADE für alles Ernsthafte ist Java eigentlich die erste Wahl. Keine andere Technologie bietet so viele potente Frameworks im Enterprise-Umfeld. OSGi, Spring, Camel, ActiveMQ, Karaf etc. pp. Dafür gibt es keine wirklich ernst zu nehmenden Alternativen.
Im professionellen (Enterprise)-Umfeld ist Java unangefochten an der Spitze.
 
Ja gut, diese Dinge sind im Konzern auch nicht "heutzutage". Die sind zum Teil von 1996.
Ja, ich hab nur 2 interne Vergleichsanwendung, wo aber die Rahmenbedingungen einen fairen Vergleich unmöglich machen. Ich hab einfach noch keine schnelle Datenbankenfrontend mit Java in Unternehmen gesehen.
Vielleicht gibt es sie ja irgendwo? :)
 
Weite Teile von battle.net (z.B. die Foren) laufen auf einem Tomcat-Server, basieren also wohl auf Java. Schnell genug?
 
kP habe keinen Kontakt mit dem Forum normal (was für Blizzard spricht).
Die Umsetzungen, die ich bisher gesehen habe, waren es jedenfalls nicht. Sagte nie, dass es solche Umsetzungen nicht gäbe.
 
Im professionellen (Enterprise)-Umfeld ist Java unangefochten an der Spitze.
Kannst du die Aussage auch mit Quellen belegen? Ich hätte dazu gern mal ein paar Statistiken, rein aus Interesse.
 
Ich habe keine Statistiken dazu. Ich basiere diese Aussage nur auf eigene Erfahrungen. Ich bin seit ca. 12 Jahren professionell in der Software-Entwicklung tätig, davon seit ca. 8 Jahren im Enterprise-Umfeld. Dass ein Projekt mal nicht auf Java aufgebaut hat, war eher die Ausnahme. Wenn man den Stellenmarkt in dem Bereich studiert, dann machen auch hier die Stellen mit Java im Anforderungsprofil das Gros aus.
Die Gründe liegen auf der Hand: Java EE ist ein quasi Industrie-Standard, der durch die drei großen Application Server (IBM WebSphere, BEA Weblogic (Oracle), JBoss (Red Hat)) massiv verbreitet ist und wer nicht auf einen der drei Großen zurückgreifen will, kann auf eine Myriade von anderen freien Lösungen zurückgreifen.

Wenn dir Statistiken wichtig sind, dann hilft dir der TIOBE-Index vielleicht weiter. Der ist aber eher als eine allgemeine Beliebtheitsskala zu verstehen, und nicht auf das Enterprise-Umfeld beschränkt.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
 
Zuletzt bearbeitet:
SheepShaver schrieb:
Ich basiere diese Aussage nur auf eigene Erfahrungen.
Wobei man hier dazu sagen muss, dass Deutschland ein sehr sehr stark Java "geprägtes" Land ist, in kaum einem anderen Land hat Java im Enterprise Umfeld eine so hohe Akzeptanz und Marktdurchdringung.
Die Amis im Gegensatz lieben zum Beispiel C# und sonst trifft man auch in anderen Ländern auch viel PHP, RoR, Python und Co. im Enterprise-Umfeld, aber hier isses eben fast nur Java.

Pavlo Baron hat da auf ner Erlang Konfernez mal nen netten Vortrag gehalten, wie er als früherer Java-Entwickler und später Erlang-Entwickler in Deutschland angekommen ist, als er auf Java Tech Talks. usw die ihn eingeladen haben (!) angekommen ist. Oder wie er generell auch bei Unternehmen angekommen ist.


Und wegen dem Tiobe Index: Auf den, so wie auf andere Indexe, darf man eigentlich gar nichts setzen. Sie sind ein nettes Indiz für die Beliebtheit einer Sprache, aber die Reihenfolge ist "willkürlich" jeder dieser Indexe hat andere Reihenfolgen auf Grund anderer Gewichtungsgrundlagen. Aber die Top X Sprachen sind wenigstens immer gleich.
 
Ich gebe auch mal meinen Senf dazu.
Bin FIAE gewesen (jetzt Student :D) und habe bei einem großen Konzern gearbeitet und in der Ausbildung größstenteils nur Java kennengelernt und andere Sprachen wie c# oder c++ entweder in der Berufsschule oder aus eigenem Interesse um kleine Tools zu schreiben.

Die Datenverarbeitung (Daten die von der Maschine geliefert wurden) wurde fast vollständig in Java abgewickelt, nur an Schnittstellen wurde c/c++ verwendet.

Und Java ist wirklich eine nette Sprache und sowas wie TicTacToe ist schnell geschrieben (innerhalb von ein paar Vorlesungen ^^) und auch sauber mit ein wenig Erfahrung ;)
Muss aber auch sagen, dass wenn ich was privat schreibe, dann meistens in c#...liegt aber eher daran, dass das visual studio hinsichtlich GUIs einfach komfortabler ist. Und da meine ich nicht nur das reine GUI zusammenklicken sondern das erweitern von Steuerelementen mit eigenem Code und diese dann im Editor auswählbar sind.

Wie schon von vielen hier angesprochen sind aber die Techniken an sich viel entscheidender. So hats bei mir erst so richtig Klick gemacht als ich eine DesignPattern Schulung erhalten habe...Und Entwurfsmuster beispielsweise sind auf jede Sprache anwendbar.
 
Ich werde dir jetzt etwas Zeit sparen:

Du wirst mit dem "Programmieren" nicht weit kommen bzw. um ehrlich zu sein gar nicht. Du besitzt die Fähigkeit selbstständig Sachen zu erarbeiten nicht, ebenso wenig wie selbstständig zu denken und zu suchen. Sonst hättest du diesen Thread nicht erstellt, der einfach nur ein drölftausenstes Remake ist.
 
@KamehamehaX10

Wenn du meinst dass ich damit nicht weit komme.
Natürlich habe ich mich selber informiert was weit verbreitete Sprachen sind usw..
Wenn ich aber z.b. frage ob jemand vllt. super gute Video Tutorials kennt ( Weil ich mit Bild Material einfach am besten lernen kann ) die nicht bekannt sind , finde ich diese auch nicht anders.
Zudem ist es immer gut sich ein paar Meinungen zu holen von Leuten die in der branche arbeite.
Und wenn ich mir andere Threads angucke wo drin steht :
Ich will Programmieren das schnell und spiele empfehlt mir mal was, entdecke ich doch schon deutliche Unterschiede zu meinen Thread.
 
Ob Videos so von Vorteil sind? Ich glaub da nicht dran. Vor allem kann man in Videos nicht eben mal was nachschlagen ;)
Arbeite hier mal die ersten 10 Kapiel durch: http://openbook.galileocomputing.de/javainsel/
Dann hast du die Grundlagen für ziemlich viele Sprachen - natürlich insbesondere Java, aber wie hier schon des Öfteren gesagt wurde: C# ist vom Aufbau und der Syntax fast identisch. Aber auch in Ruby, Phython und PHP findet man sich dann schnell rein. Für C und C++ muss man sich wieder ein wenig mehr umschauen (v.a. bezüglich Pointern und Speicherverwaltung).
 
Video-Tuts sind super für Bildbearbeitung. Für Anwendungsentwicklung hingegne ist sowas totaler SCHROTT!
 
Nja .. kommt drauf an ;) Ich finde Railscasts schon ziemlich toll. Und die Google I/O Sachen. Wobei das eher eine kurze Abhandlung neuer Features ist inkl. Demonstration.

Aber hast schon Recht. Vielleicht sollte ich auch n paar Videos rausbringen: "Stabhochsprung in 60 Minuten perfektionieren - lehnen Sie sich zurück und werden Sie Weltmeister" oder "Faust I & II - Learning by doing war gestern. Lernen Sie hier und jetzt wie man Faust I & II richtig zu lesen hat." (In dem Video sitz ich dann 120 Stunden da und lese die Bücher ohne ein Wort zu sagen) :D
 
Zuletzt bearbeitet:
benneque schrieb:
Aber hast schon Recht. Vielleicht sollte ich auch n paar Videos rausbringen: "Stabhochsprung in 60 Minuten perfektionieren - lehnen Sie sich zurück und werden Sie Weltmeister" oder "Faust I & II - Learning by doing war gestern. Lernen Sie hier und jetzt wie man Faust I & II richtig zu lesen hat." (In dem Video sitz ich dann 120 Stunden da und lese die Bücher ohne ein Wort zu sagen) :D

Schöne Anspielung @benneque
Dann ist Schulbank sitzen auch eine Form von Videotutorial und bedarf keinem Zutun? Das ist doch Humbuk was du da von dir lässt. Manche Menschen sind eben lernfähiger/aufnahmefähiger wenn etwas sprachlich ausgedrückt und vermittelt wird. Ist irgendwie persönlicher und man steigt besser ein.

Ich hab zwar kein Plan von der Materie Programmieren aber Falls der TE mit C/C++ anfangen möchte, hier sind 2 Sites, die dir das nahe bringen und lehren:
proggen.org

tutorials.at
Ergänzung ()

benneque schrieb:
Arbeite hier mal die ersten 10 Kapiel durch: http://openbook.galileocomputing.de/javainsel/
Dann hast du die Grundlagen für ziemlich viele Sprachen

Sollte man da nicht erst mit dem Grundlegendem der Programmierung vertraut sein und etwas erfahrung gesammelt haben? Das ist zumindest kein Einstiegstutorial. Da macht man sich als Laie doch nur schwer
 
@AnfängerEi: Das verlinkte Buch ist exzellent für Einsteiger. Aber auch als Fortgeschrittener kann man es als Nachschlagewerk benutzen.
(EDIT: natürlich hat man Wikipedia nebenbei offen, um Begriffe wie "Syntax", "Semantik", "Token", etc. nachzuschlagen. Aber auch diese Begriffe werden mit 1-2 Sätzen grob im Buch beschrieben)

Und außerdem: Programmierung und Anwendungsdesign /-strukturierung würde ich nicht als "stupides Lernfach" bezeichnen, sondern als "Handwerk". Und nun nenne mir einen Handwerker, der vom Onlinetutorials sehen eine saubere und ordentliche Arbeit abgeliefert hat. ... exakt: Es gibt keinen!
Learning by doing heißt die Devise. Es gibt schließlich für jede Aufgabenstellung unendlich viele Lösungsmöglichkeiten und genau so viele Ansätze. Das ist kein Schulfach, wo es zu 99% wichtig ist nur das Gehörte zu behalten.
Und eine Videosammlung mit 10 Lektionen â 30 Minuten hat garantiert nicht so viel Stoff wie ein 800-seitiges Buch. Abgesehen davon, dass diese Bücher zum Denken anregen und Aufgaben beinhalten. Außerdem werden eben sehr viele Spezialfälle und Kleinigkeiten behandelt. In den Videos wird genau das behandelt, was gebraucht wird. Ändert man dann die Problemstellung ein ganz klein wenig, steht man wieder wie der Ochs vorm Berge und weißt nicht weiter.
Abgesehen davon, dass diese netten Tutorials meist einfach nur zeigen wie der Weg aussieht, aber nicht darauf eingehen warum man es so machen sollte. Dafür ist einfach keine Zeit. Deshalb nutzt man diese Videos eher als Fortgeschrittener, wenn man mal schnell ein neues Framework kennenlernen will. Da interessiert einen dann eher die (Un-)Schönheit der API, was für einen Anfänger irrelevant ist.
 
Zuletzt bearbeitet:
Dann sollten nach Ansicht einiger hier Studenten nicht mehr zu Vorlesung gehen, ist ja auch eine Art Videotutorial, sogar mit mehr Ablenkung. Ich für meinen Teil benutze beides, bevorzuge aber Videotutorials.
 
Zurück
Oben