Welche Programmiersprache lernen?

WizardSE

Grand Admiral Special
Mitglied seit
17.08.2001
Beiträge
3.021
Renomée
46
Standort
Hannover
Hallo,

ich würde mich gern in eine aktuelle Programmiersprache einarbeiten. Das letzte Mal in Kontakt mit einer solchen war in der Schulzeit, dabei war ich in Turbo-Pascal relativ sattelfest.

In welche Programmiersprache "lohnt" es sich heute in Hinblick auf die Zukunft einzuarbeiten?

Vielleicht habt ihr dann auch eine Buchempfehlung/Lernwebseite dazu?

Gruß
Wiz
 
Die Frage ist doch eher, was Du machen willst......

Die einzig wahre Programmiersprache, die alles erschlägtg gibt es eigentlich nicht. (OK, mit Assembler kann man alles abdecken, aber wer macht heute noch im großen Stil Assembler?)

Viele Sprachen orientieren sich am Syntax und Aufbau von C/C++. (Für diese Aussage werde ich bestimmt von einigen Prügel beziehen.. ;) )

Im Webbereich ist es bestimmt nicht verkehrt sich mit Ruby, PHP und/oder Java zu beschäftigen.

Eher Desktop Programmierung? Unter Windows .Net, bzw. C#, unter Linux C/C++ mit entsprechenden Toolkits (GTK oder qt)

Embedded Programmierung? Kenne ich viele, die das mit Java machen... (Jaja, buht mich nur aus...)

Also, eigentlich arbeitet man sich in eine höhere Sprache ein und man entdeckt dann bei den anderen SPrachen auf einmal sehr viele ähnlichkeiten und die einarbeitung fällt dann viel leichter.

Meine Persönliche Meinung ist, das man mit Java eigentlich einen sehr guten Einstieg findet, da man sich auch mit Objekt-Orientierung auseinander setzen muss. Man kann auch C/C++machen, allerdings kann man sich da schnell mit den Zeigern und Vektoren verrennen...

Bitspyer
 
würde da Java empfehlen, wird ja schließlich auch auf fast allen Unis gelehrt (du findest also genügend Skripte und Tutorials) und hat die großte Verbreitung.

http://www.tiobe.com/tpci.htm

Von da ist dann der Sprung zu den meisten anderen Sprachen relativ klein.
 
Ich würde für den (Windows)Desktopbereich C# und .net empfehlen, evtl auch für Webprogrammierung, wenn
du nen Windows Server nutzen willst mit IIS und ASP.Net.

Sonst ist für den Webbereich PHP meiner bescheidenen Meinung nach die Sprache der Wahl.
 
ist mal wieder eine recht philosophische Frage
jeder wird jetzt sagen, das ahbe ich gelernt und ist deshalb gut

nunja, von C# und .net würde ich Abstand nehmen, weil zu sehr auf ein System (Windows) beschränkt, ansonsten für "normale" Anwendungen C/C++ oder Java
je nach dem
PHP etc. Richtung Webbereich, evtl. Java

ich perönlich habe nichts richtig gelernt, aber in C, java und kürzlich C++ und Assembler Grundkenntnisse erworben
für meinen Job werden Assembler und C am Bedeutensten sein, wenn ich den Prognosen vertraue

MfG Micha
 
Ich würde C# oder Java lernen, wobei mir C# bzw. .net moderner erscheint.

Wenn es eher Richtung Webentwicklung gehen soll, dann PHP.
 
Ich würde C# oder Java lernen, wobei mir C# bzw. .net moderner erscheint.

nicht wirklich moderner. C# ist 95% Java-Kopie mit 5% C++ gemischt. Vorteil von Java ist die sehr viel größere Verbreitung (d.h. mehr Anleitungen, Hilfen, etc...), eine große Auswahl an guten kostenlosen IDEs (Eclipse, Netbeans,etc... bei c# gibts eigentlich nur VisualStudio das ist allerdings nur in der Express Version kostenlos) und es ist OpenSource. Geschwindigkeitsmäßig gibt auch keine Unterschiede mehr (seit Java5).

Die Plattformunabhängigkeit wäre ein weiterer Punkt, wer weiß wie sich das ganze in den nächsten Jahren entwickelt, gut möglich das man in 5 Jahren nicht mehr um MacOS und Linux rumkommt, da geh ich dann jetzt schon lieber auf Nr. sicher. Allerdings ist die jeweils andere Sprache innerhalb sehr kurzer Zeit gelernt, wenn man die andere kann.
 
nicht wirklich moderner. C# ist 95% Java-Kopie mit 5% C++ gemischt.
Das stimmt so nicht. Kennen Java oder C++ sowas wie das yield-Schlüsselwort? Oder bietet eine der Sprachen Lambda-Expressions? Oder sowas wie LINQ?
eine große Auswahl an guten kostenlosen IDEs (Eclipse, Netbeans,etc... bei c# gibts eigentlich nur VisualStudio das ist allerdings nur in der Express Version kostenlos)
Für C# gibt es u. a. #develop und Monodevelop.

Java ist OpenSource, C# ist standardisiert.
 
Zum Verständnis ist es wohl besser, erstmal eine "saubere" Sprache zu lernen, also z.B. möglichst rein objektorientiert (Java ist da ein Beispiel). C++ ist dafür dann kein gutes Beispiel, weil das ein Mischmasch ist, und wenn man dann in den Philosophien hin und her springt, verwirrt das den Anfänger leicht. C# macht das schon wesentlich sauberer, aber entfernt sich nicht komplett davon.

Und sowas wie PHP ist für Webseiten schon fast unabdingbar, man kann das also sicher gebrauchen (und sei es nur für die eigene Homepage). Aber für andere Sprachen ist das auch eine ganz brauchbare Vorbereitung.

Dieser "reine Windows-Kram" (also C#, ASP.NET usw.) ist eigentlich verzichtbar, da ja die plattformübergreifende "Konkurrenz" auch auf Windows läuft, aber eben auch auf Linux. Wirklich anders ist das aber nicht, man kann sich relativ leicht in das jeweils andere einarbeiten (denn in einer reinen Windowsumgebung kann das evtl. doch Sinn machen).

Wichtig ist imho vor allem, daß man das grundlegende Konzept objektorientierter Softwareentwicklung sehr gut versteht, erstmal unabhängig von der Sprache. Denn dann kann man ein Programm schon auf dem Papier fast fertig entwickeln, bevor man eine Zeile Code schreibt, und man entscheidet dann, welche Sprache man nimmt, abhängig vom Zielsystem o.ä.

Aber sich mal andere, gerade auch ältere Sprachen anzuschauen, kann auch ganz hilfreich zum Verständnis sein, z.B. Assembler, altes Basic o.ä., selbst wenn man die dann später überhaupt nicht nutzen wird.

SQL ist zwar auch ganz anders, aber schon recht wichtig, Datenbanken werden schließlich auch allerorten verwendet. Sollte man also auch "mal gesehen" haben.
 
Mh, Java scheint also gut zum "Anfangen" zu sein.

Gibts da irgendwie einen heiligen Gral eines Lehrbuchs? :)
Und: Wie siehts mit den Parallelen zu Turbo-Pascal 7 aus? *buck*

Viele Grüße
 
Ich hab bisher nicht gelesen, was Du damit machen möchtest? Evtl. willst Du eine Sprache im Hinblick aufs Studium oder die Ausbildung lernen?! Wenn Du beispielsweise mit Web-Applikationen nichts am Hut hast, ist es sinnlos Dir diesen PHP oder ASP-Krams zu empfehlen.

Geb uns halt paar Anhaltspunkte was Du dann machen willst
 
Zum Thema PHP: Macht absolut Sinn sich damit auseinanderzusetzen, aber nur wenn man sich zuerst mit HTML (besonders CSS) und JavaScript auseinander setzt und dann mit PHP+MySQL weitermacht. Mit dieser Kombination kann man schon eine ganze Menge ausrichten.
Um es richtig zu lernen ist ein Projekt aufjedenfall zu empfehlen. Also irgendetwas was man auch wirklich benutzen möchte (Adressverwaltung, ...).
 
Ehrlich gesagt will ichs einfach so lernen. =) Mir is der Umgang mit den alten Klassikern (Basic, TP 7 etc) leicht gefallen, jedoch hab ich seit 8 Jahren garnichts mehr in der Richtung gemacht. Daher die Neugierde und Motivation. =)

Sagt mal, habe rausgehört, dass Java oder C# wohl zu empfehlen ist. Sagt mal bitte was zu den IDEs und der generellen Praktikabilität.
 
Für beide gibts sehr gute IDEs. Für C# Visual Studio (die Express Edition ist wie gesagt kostenlos). Auch #develop (OpenSource) ist sehr gut (orientiert sich schließlich stark an Visual Studio). Von Borland gibts wohl auch was, aber damit habe ich keinerlei Erfahrung.
Für Java ist eigentlich Eclipse (OpenSource) die IDE.

Eines haben die genannten IDEs gemein: Sie erfordern einiges an Einarbeitungszeit, sind aber sehr mächtige Werkzeuge.
Was sowohl mit C# als auch Java prinzipiell auch geht: das Programm mit einem simplen Texteditor schreiben und dann per Kommandozeile kompilieren. Du würdest Dir damit das Einarbeiten in eine IDE sparen.
 
Wenn du einfach eine neue Sprache lernen willst, dann greif dir eine ;) Ernsthaft, es kommt schon darauf an, was das Einsatzgebiet sein wird. Kleine GUI-Tools code ich (nicht lachen) mit WXBasic, geht schnell von der Hand, für ernsthafte (=große) Projekte Java oder neuerdings C#, wobei trotz arger Ähnlichkeit Java meinen Vorzug hat. Deine "Vorbelastung" durch Basic und Pascal wird dir in Hinsicht objektorientierter Programmierung aber eher im Wege stehen, man bekommt es aber weg. Wie schon erwähnt wurde: Java hat eine gute Doc, die meisten Hilfeforen, ist aber nicht soo leicht zu erlernen (und die Einrichtung von Eclipse kann auch mal haken...)
 
Embedded Programmierung? Kenne ich viele, die das mit Java machen... (Jaja, buht mich nur aus...)
Ich buh Dich nicht aus, aber Du solltest trennen zwischen Embedded-System- und Embedded-Anwendungsprogrammierung.
Ersteres nach wie vor vorwiegend in C und Assembler, C++ dazu, letzteres in C/C++ und zunehmend Java, auf gewissen Plattformen auch C# und entsprechendes Basic.

Aber um auf die eigentliche Frage zurückzukommen:
Es lohnt sich, sich mit C++, C#, Java und C zu beschäftigen und vor allem, Vor- und Nachteile der jeweiligen Sprache anhand der jeweiligen Anforderungen abwägen zu können, und, bei konkreten Fällen, Kompromisse eingehen zu können, um letztendlich auch einen Job zu bekommen (falls das eine Rolle spielt).
 
Zuletzt bearbeitet:
Wenn du einfach eine neue Sprache lernen willst, dann greif dir eine ;) Ernsthaft, es kommt schon darauf an, was das Einsatzgebiet sein wird. Kleine GUI-Tools code ich (nicht lachen) mit WXBasic, geht schnell von der Hand, für ernsthafte (=große) Projekte Java oder neuerdings C#, wobei trotz arger Ähnlichkeit Java meinen Vorzug hat. Deine "Vorbelastung" durch Basic und Pascal wird dir in Hinsicht objektorientierter Programmierung aber eher im Wege stehen, man bekommt es aber weg. Wie schon erwähnt wurde: Java hat eine gute Doc, die meisten Hilfeforen, ist aber nicht soo leicht zu erlernen (und die Einrichtung von Eclipse kann auch mal haken...)

An sich bin ich durch euch schon auf Java fixiert. Wieso stehen Basic und Pascal im Weg? :)
 
Weil Java streng objektorientiert ist und Basic und Pascal mit Objektorientierung nichts zu tun haben. Du wirst vermutlich hin und wieder in die alten Denkmuster zurückfallen, was eben hinderlich ist, weil Java anders funktioniert.
 
Habt ihr ne gute Literaturempfehlung?
 
Da kann ich dir ein super Einstiegsbuch empfhlen, meine Professorin die das auch bei uns lehrt war auch ganz begeistert: Java von Kopf bis Fuß. Kostet englisch nur grob 30€ falls das interessant ist, da musst du nach Head First suchen. Das Buch bzw. die Bücher aus der Serie sind keine kompletten Referenzen, aber als Einstieg mehr als nur gut geeignet. Ich muss sagen das ich noch kein so gutes Buch als Einführung gesehen/gelesen habe, bin halt echt begeistert. Java und Objektorientiuerung kann man kaum besser erklären finde ich.

Lesebeispiele gibts beim Verlag, dann siehst du mal was so "anders" ist bei den Büchern. Mag auf den ersten Moment ewtas seltsam erscheinen, ist aber serh hilfreich.
 
http://www.joller-voss.ch/java/kurs_index.html

Da gibt es eine sehr gut umfassende ScriptSammlung über Java.... Da glüht dann der Drucker...

Handbuch der Java-Programmierung http://www.javabuch.de/

Finde ich zum Teil besser als "Java ist auch eine Insel" aber das ist Geschmackssache (ich hab beide im Regal stehen...)

Und falls Dir bei Eclipse die Übersicht verloren geht, versuch mal EasyEclipse http://www.easyeclipse.org/site/distributions/index.html

Da gibt es fertig geschnürte Packete für Java, C++, PHP, Ruby, etc....

Und zu guter letzt: http://www.apachefriends.org/ noch das XAMPP Packet runterladen, falls Du in Richtung Webanwendung eine kleine Umgebung brauchst.

Viel Spass!
 
Deine "Vorbelastung" durch Basic und Pascal wird dir in Hinsicht objektorientierter Programmierung aber eher im Wege stehen, man bekommt es aber weg.

Jepp, kann dem nur zustimmen, hab die längste Zeit meiner Jugend mit den div. Basic Dialekten verbracht (GW-Basic, QBasic, PowerBasic)...dann in der Ausbildung und später nur noch SPS'en programmiert (AWL, FUP ;) ) und lerne jetzt im Rahmen einer Weiterbildung JAVA...und jedesmal sagt der Lehrer zu mir (es folgt ein kleiner Auszug)

Lehrer: Wiso machen sie das...
Ich : Was mach ich denn...
Lehrer: Na sie programmieren nicht objektorientiert...
Ich: Kann sein, aber bei Basic konnte ich das so und so machen...
Lehrer: Das ist aber kein Basic...
Ich: Aber wo ist der Unterschied...
Lehrer: (Es folgt ein Monolog von ca. 60 Minuten denn ich hier nicht wiedergeben kann...da ich währendessen geistig abwesend war)

Ich will nur sagen, das es auch in Java und sicher auch anderen Sprachen durchaus möglich ist, wie in Basic zu programmieren...und wenn Wizard erst anfängt, na dann kann er sich erst mal mit den "Vokabeln" und der "Grammatik" der Sprache vertraut machen...und dann später immer noch den objektorientiertetn Bereich einschlagen...zumal ich die Programme di ich bis jetzt geschrieben habe, auch nicht objektorientiert geschrieben habe...und sie laufen trotzdem...will nur sagen, das man Programmiererfolge im kleinen, so für Privat, auch ohne Objektorientierung schaffen kann...und bei Wizard höre ich nicht den beruflichen Zwang heraus, sich nun damit beschäftigen zu "Müßen"

soviel von mir ;)
Cybered
 
Zurück
Oben Unten