Mit was würdet ihr programmieren anfangen

Mit was swürdet ihr programmieren starten?

  • C/C++

    Stimmen: 34 47,2%
  • Perl

    Stimmen: 9 12,5%
  • Python

    Stimmen: 9 12,5%
  • Java

    Stimmen: 12 16,7%
  • ruby

    Stimmen: 7 9,7%
  • vBasic

    Stimmen: 1 1,4%

  • Umfrageteilnehmer
    72
  • Umfrage geschlossen .
Aha..

ABER:
Die Frage war doch welche Sprache man generell einem Anfänger empfehlen kann.
Wenn er konkrete Vorstellungen hat, was er damit anfangen möchte, würde die Antwort bestimmt anders aussehen.. :)
Wenn er Unix-Systementwicklung machen möchte, dann natürlich entweder C oder C++.
Bei Windows Desktopprogrammen würde ich entweder C# oder Delphi nehmen.
Bei Webentwicklung Java(JSP,Servlets), Net(C#), Python(Zope) oder PHP.

Mit Python kann man selbstredend auch Desktopprogramme für Windows + Unix entwickeln.
Viele nutzen es als RAD (Rapid Application Development) - Tool weil die Entwicklung- auch von GUI-Programmen - so fix ist.

Ein Punkt wurde noch gar nicht erwähnt:
Mit welchem Hilfeniveau kann ich etwas anfangen.
Keinem Newbie in Unix sollte man FreeBSD oder Gentoo empfehlen.
Der Frust wäre vorprogrammiert.
Selbst die Hilfestellungen in den Mailing-Listen sind oft nicht verständlich.
Bei Mandrake oder Suse wird doch ein einfacheres Niveau umgesetzt.

Genauso sieht es auch bei den Sprachen aus.
Ich habe noch nie so gute Newbie-Bücher gesehen wie in Java.
Besonders zu empfehlen ist das Oreilly-Buch "Head First Java".
Genauso auch die Java-Foren, wie die JavaRanch.
Wer mir da zu C etwas vergleichbares nennen kann... :cool:

Es ist natürlich lässiger mit C oder noch besser Lisp zu starten, als mit PHP oder Python.
Wieviele von den C-Jüngern nach einem Jahr noch dabei sind würde mich aber schwer interessieren..
 
Ich habe für ruby gestimmt, weil diese Sprache eine sehr klare und einfache Syntax hat und zudem eine wunderbare Klassenbibliothek.

Aber eigentlich hätte ich mir gewünscht, dass du Flas uns genauer sagst, was eigentlich deine Ziele sind! Was genau möchtest du denn programmieren? In vielen Fällen wirst du dir dein Werkzeug passend zum Problem aussuchen - also eben nicht einen device driver in Perl programmieren oder CGI Programmierung in Assembler. DIE Programmiersprache gibt es nicht!

Und weiter: wenn du wirklich "Programmieren" lernen möchtest, musst du mehr als nur eine Sprache lernen. Und dich mit der Theorie beschäftigen, z.B. Algorithmen, Datenstrukturen, Design usw...

Und weiter: neben der Sprache, die ja im engeren Sinne nur die Syntax definiert, sind die sog. APIs entscheidend, die Bibliotheken die dir erst die interessanten Funktionen zur Verfügung stellen. Unter Unix hast Du z.B. unter C/C++ für GUIs die Wahl zwischen tausend und einem Toolkit (z.B. GTK, qt, Motif usw.). Das erste Problem: Programme, die du damit erstellst laufen z.B. nicht unter Windows (ja ich weiss das es qt auch für Windows gibt, aber er wird dafür kaum die kommerzielle Lizenz kaufen wollen...). Das zweite Problem: die Lernkurve - für jedes der o.a. APIs kannst Du als Anfänger mal locker Zeit im Bereich vom Monaten für die Einarbeitung investieren.
 
ABER:
Die Frage war doch welche Sprache man generell einem Anfänger empfehlen kann.
Wenn er konkrete Vorstellungen hat, was er damit anfangen möchte, würde die Antwort bestimmt anders aussehen.. :)

Meiner Meinung nach nicht. Jede Programmiersprache, ob ganz einfache wie QBasic oder sehr schwere wie ADA95 arbeiten z.B mit Variablen. Und genau das sollte nach meiner Meinung als erstes vermittlet werden. Der Rest ist "Semantik".


Wenn er Unix-Systementwicklung machen möchte, dann natürlich entweder C oder C++.
Das kann man bei dieser Disskusion, in der Frage welche Programmiersprache man lernen sollte, ausschließen.


Bei Windows Desktopprogrammen würde ich entweder C# oder Delphi nehmen.
Bei Webentwicklung Java(JSP,Servlets), Net(C#), Python(Zope) oder PHP.

Stimme ich absolut zu, wobei die Webprogrammierung ein Fach für sich ist.


Mit Python kann man selbstredend auch Desktopprogramme für Windows + Unix entwickeln.
Viele nutzen es als RAD (Rapid Application Development) - Tool weil die Entwicklung- auch von GUI-Programmen - so fix ist.


Habe ich zwar noch nicht gemacht, aber ich habe da mal was drüber gelesen. Für alle die nicht wissen was Rapid Application Development ist: Das heißt auf Deutsch soviel wie: "Anwendungsschnellentwicklung" was selbstklärend sein sollte.



Ein Punkt wurde noch gar nicht erwähnt:
Mit welchem Hilfeniveau kann ich etwas anfangen.
Keinem Newbie in Unix sollte man FreeBSD oder Gentoo empfehlen.
Der Frust wäre vorprogrammiert.
Selbst die Hilfestellungen in den Mailing-Listen sind oft nicht verständlich.
Bei Mandrake oder Suse wird doch ein einfacheres Niveau umgesetzt.


Das kommt aber vor allem auf die Gemüter an. Ich habe sowohl gute, als auch ziemlich schlechte Erfahrungen gemacht.


Genauso sieht es auch bei den Sprachen aus.
Ich habe noch nie so gute Newbie-Bücher gesehen wie in Java.
Besonders zu empfehlen ist das Oreilly-Buch "Head First Java".
Genauso auch die Java-Foren, wie die JavaRanch.
Wer mir da zu C etwas vergleichbares nennen kann... :cool:

Na, da sollte man allen voran C Programmierung unter Linux/Unix/Windows von Helmut Herold und Jörg Arndt erwähnen. Was C++ angeht so möchte ich hier mal Praktische C++ Programmierung aus dem O'Reilly Verlag erwähnen. Ich hebe hier extra deutschsprachige Titel heraus und Quote das hier, weil ich die hiesigen Buchverlage die sich auf IT spezialisiert haben gerne unterstütze. Finde es nämlich schade, daß fast nur die englischen Bücher sehr gut sind.
 
meine meinung:

delphi

"jetzt lerne ich delphi" an einer aktuellen ausgabe

evtl auch java "java ist auch eine insel" oder warum nicht c++
eigentlich ist es doch egal welche sprache, am anfang gehts doch eh nur um die grundlagen und dafür gibt es in fast jeder sprache gute bücher die ienem bei der einführung helfen
 
C, Java, oder Python sind als "Einstiegssprachen" geeignet, je nach Zweck, worauf man hinaus will.

Perl als Anfängersprache ist imo blödsinn, da es zu sehr mixt, und kein konzept richtig durchgesetzt
wird.
Weiterhin würde ich zu keiner Sprache raten, die einen auf eine Plattform festlegt.
 
Um nun auch mal meinen Senf hinzuzugeben: Ich bin mit Python eigentlich ziemlich happy, bis jetzt ist es auch die einzige Sprache in der ich code.
Im Grunde lässt sich damit auch auf so ziemlich jedem System das du in die Finger bekommen wirst so ziemlich alles machen, bis eben auf wirkliche Systemprogrammierung, wobei die sowieso derartig messy ist das du damit als Anfänger nichts zu tun haben willst ;)

Gruß
buebo
 
@Steven
>> Meiner Meinung nach nicht. Jede Programmiersprache, ob ganz einfache wie QBasic oder sehr schwere wie ADA95 arbeiten z.B mit Variablen. Und genau das sollte nach meiner Meinung als erstes vermittlet werden. Der Rest ist "Semantik".

Ähnelt dem Argument: Ein guter Fahrer kann jedes Fahrzeug fahren.
Die Aussage stimmt natürlich. Wer einen Ferrari fahren kann, sollte mit einem Golf Diesel Automatik keine grossen Probleme haben.
Ich hätte das Fahren anno dazumal lieber nicht auf einem Fiat Uno Turbo gelernt :)

Zu den Büchern:
Es gibt leider wenige Verlage bei denen ich im Allgemeinen ein gutes Empfehlengefühl hege.
Das sind leider eben Oreilly, Addison, New Riders, No Starch.
Ach ja ..unter den Deutschen finde ich die meisten Galileo Ausgaben recht gut.
 
Ich würde mit Pascal anfangen. Das ist die Sprache die oben nicht zur Auswahl gestellt hat. Aber eigentlich ist sie genau dafür (coden anfangen) von Nikolaus Wirth entwickelt worden. Statt dessen stehen da oben Script-Sprachen. Geil. Wer hat blos sowas verbrochen. Also ich glaube meine definition von programmieren ist etwas anderst als eure. Aber ich bin auch Software-Entwickler, von daher...

Ach ja, mein Rat: Fang an womit du willst. Lernen musst du jede Sprache sowieso. Ob du es dir leichter oder schwerer machst, dein Bier. Ich hab mit Pascal angefangen und fands gut. Kauf dir auf jeden Fall die richtigen Bücher.

sewin
 
du bist software entwickler und rätst zu pascal???

ich hab damals auch mit pascal angefangen, und bin bis heute nicht richtig davon runter!
mein tipp:
gerade unter unix ist pascal nicht der riesen bringer, und auch ansonsten nicht.
lernen kann man imho sehr gut mit Java, DAS ist DIE neue lernsprache.
 
Soo, was ich programmieren will?

Ich hab ja schon ein script gepostet wa ich nach ca. 1nem tag gescrieben hatte (das heisst 2st. lernen), ich möchte halt solche sachen aber auch z. b. programme wie einen eigenen irc-client (ohne gui). Mir ist schon klar das ich das nicht nach dem ersten tag kann...
Mir kommt es garnicht drauf an das irgendein windows user mein tool benutzen kann oder nicht, ich will halt nur das ich nicht irgendwann eine sprache gut kann, und dann merken muss, das ich damit nicht alles errieichen kann (ja ich weis einen irc-client könnte ich auch unter python schreiben).
Es sieht für mich halt so aus:

besser einmal etwas mehr mühe und dann alles machen können (C)

oder

zwar einen leichten einstieg haben aber sich im nachhinein ärgern, das man nicht alles machen kann(python)


vielleicht komm ich ja auch garnicht mit c zurecht und gebe nach zwei tagen wieder auf (das mit variablen ist schon viel komplitzierter als bei python ;) ), in dem fall werde ich auf python zurückgreifen und mcih freuen dass ich überhaupt irgendwas coden kann :D ...

Gruss Flas!!
 
@maledictus: ja tue ich, darum hab ich es hin geschrieben. dass du an pascal hängen geblieben bist..... äh naja was soll ich sagen, nimms mir nicht krumm... aber ich glaube irgendwie nicht so ganz dran, dass daran die programmiersprache schuld ist. sorry.

aber jeder sollte damit anfangen, was ihn am meisten schickt. denn wenn du keine motivation hast und nicht wirklich programmieren willst, dann wirst du auch nie programmieren können. vielleicht schafft man es bis zu so nem freizeit-turnschuh-programmierer bei dem mehr schlecht als recht das programm läuft (kein richtiges e-handling hat etc.). aber wenn du wirklich coden willst, sollte dich die sprache auch filmen. und da du auf die windows-welt scheisst, rate ich dir zu c. damit bist du fit. und kannst dann auch ganz leicht script-sprachen wie perl lernen, die syntaxtechnisch stark an c angelehnt sind.

noch eine kleine anmerkung: programmiersprachen und scriptsprachen sind zwei verschiedene paar stiefel. auch wenn das hier wohl keinen zu interessieren scheint.

als c-bücher empfehle ich dir:

als einsteiger-buch: Rowohlt - helmut erlenkötter: "c - programmieren von anfang an"


als nachschlage-werk: Addison Wesley - helmut herold: "c - kompakt referenz" oder MITP- helmut schmidt: "c"


viel glück
 
Ich muss (so schwer mir's auch fällt) sewin zustimmen. Pascal ist ein sehr gute Sprache um das Programmieren zu lernen. Wenns Objekt-Orientiert sein soll würde ich dir eher zu Java raten. Es ist bedeutend besser als sein Ruf.

Auch bei der unterscheidung zwischen Script und Programmiersprachen muss ich sewin zustimmen.
Scriptsprachen sind für kleinere Dinge ja ganz nett, aber wenns mal größer wird. Naja.
Und maledictus Spruch so von wegen "noch nicht von Pascal erholt" oder so ähnlich. Mit Scriptsprachen ist das noch viel schlimmer. Ich denke wer mit einer Scriptsprache anfängt und dann zu einer Programmiersprache wechselt tut sich verdammt schwer.

Rookie
 
@sewin:
bin ja (zum Glück) wieder runtergekommen, aber es hängt mir halt immernoch nach.
und jetzt rätst du auf einmal doch zu C?
Meinst du nicht es ist schwieriger erst Pascal zu lernen und danach auf C umzusteigen (für was richtiges :) ), als direkt C zu lernen?

Und zu den Skriptsprachen, ich weiss nicht was ihr alle habt, was soll denn so der riesen Unterschied sein? Es sind halt programmiersprachen, wie jetzt was da im hintergrund(COmpiler, Interpreter, Bytecode, Maschinencode, etc) ist erstmal zweitrangig.
Viel wichtiger ist imo die unterscheidung zwischen:
- Prozedural
- OO
- Funktional
- Logisch
- regelbasierte Sprachen

Wer eine aus der jeweiligen Gattung kann hat es mit den anderen auch nicht schwer.

Und ob Skriptsprache oder eine andere halte ich mich an die alte Unix-Philosophie:
The right tool for the right job!
 
S oalso ich hab jetzt im openbook bis kapitel 8 durch und muss feststellen das zwischen python und C doch welten liegen, C ist in der tat viel schwer, dazu braucht man wesentlich mehr hinergrundwissen um loslegen zu können und ich weis nicht wie lange ich noch spass dran hab das alles auswendig zu lernen.
scripte die ich in python nach gut 3 stunden lockeren rumfummelns geschrieben hab krieg ich in c jetzt noch nicht mal hin, obwohl ich mir wirklich mühe gebe.
Klar, je mehr man machen will, desto mehr muss man auch können. Das seh ich ja ein, aber ich kann ncith ausschließen das ich am ende doch bei python lande. mfg Flas!!
 
Ich würde ganz klar PERL empfehlen. Es ist eine sehr mächtige Sprache, die dem Anfänger aber auch einiges an Komplexität abnimmt, gerade in Sachen Strings & Co. Ich selbst habe auch mit PERL angefangen, bereue es in keinster Weise, dann ne weitere Sprache zu lernen (solange man beim gleichen Konzept bleibt also nicht zu objektorientierten Sprachen oder funktionalen wechselt obwohl das auch nciht das riesen Problem ist muss man halt das Konzept erlernen...) ist IMHO nur noch Syntax paukerei, OK manchmal ärgerlich so nach dem Motto "Aber in PERL bräuchte ich doch nur ... "... ;)
Nachdem allerdings heutzutage das objektorientierte Programmieren allerdings in vielen Feldern sich immer mehr durchsetzt, könnte vielleicht Java auch nicht schlecht sein, kann ich persönlich aber nicht, also auch nicht viel dazu sagen...
Auf gar keinen Fall würde ich irgendein Visual-Hau-Mich-Tot kram empfehlen, da klickt man sich tot und lernt überhaupt nichts, oder wenigstens nicht so viel wie man könnte IMHO...
 
sticky: mächtig, aber kein konzept.
anfänger sollen die konzepte lernen. dann eher python (auch als pascal, welches einfach outdated ist, weil für die praxis fast nicht mehr zu gebrauchen)
ein anfänger soll lernen, was datenstrukturen sind, warum man wie effizient programmiert
und moeglichst noch ein paar programmierparadigmen lernen.
ansonsten tun sie sich spaeter in der "professionellen" welt unglaublich schwer.
 
exceptions sind doch auch nur eine verkappte Form von Gotos:
Irgendwo wird sie geschmissen und dann springt das Programm zu Stelle, wo sie behandelt wird.

Oder seh ich das falsch?
 
@menace:
Naja, was heisst kein Konzept? Es ist ja schliesslich die Aufgabe des Programmierers ein Konzept in sein Werk zu bringen und nicht die der Sprache. Und zum konzeptlosen coden zwingt es nun wirklich nicht es lässt einem nur Freiheiten. Sich selbst in manchen Freiheiten zu beschränken gehört mit zum Lernprozess beim programmieren IMHO und kann daher ned schaden wenn man nicht alles "hinterher" geworfen bekommt.
 
Zurück
Oben