Welche Sprache fuer den Anfang?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
snoggo
Beiträge: 21
Registriert: 16.10.2006 21:17:01
Wohnort: Elze
Kontaktdaten:

Welche Sprache fuer den Anfang?

Beitrag von snoggo » 23.10.2006 19:24:29

Hallo alle

Ich habe mich "entschlossen" eine neue/weitere Programmiersprache erlernen zu wollen, allerdings kann ich mich nicht entscheiden, welche.
Ein paar Sachen vorweg: Ich habe frueher (ist ewigkeiten her, war damals 9, meine erste Programmiersprache, wenn man es so nennen darf) Turbo Pascal gelernt. Ansonsten sind mir msl (mIRC scripting language), nsis (Nullsoft scriptable install system), html (eigentlich keine Programmiersprache) und php (ich finds toll, koennt ihr sagen, was ihr wollt (: ) gelaeufig.
Die grundlegenden Logiken von Programmiersprachen (Schleifen, Variablen, Operatoren, Arrays und Klassen) sind mir (groesstenteils aus PHP) bekannt.

Die Sprache ist _nicht_ auf ein bestimmtes Projekt bezogen (wenn jemand Vorschlaege hat, immer her damit. PHP hab ich z.B. fuer eine bestimmte Homepage gelernt.). Im Prinzip suche ich eine Sprache, mit der ich auch in Zukunft etwas sinnvolles anstellen kann.

Wichtig sind mir eigentlich folgende Aspekte:
- verbreitet
- viele & gute Ressourcen im Netz (eine gute Dokumentation der Sprache wuerde mir auch genuegen)
- aktuell
- praktisch
- universell einsetzbar

In betracht ziehe ich momentan Python, C, Assembler und Perl.

Mir ist bewusst, dass es keine perfekte Programmiersprache gibt, ich kann mich trotzdem nicht entscheiden.

Assembler reizt mich (dicht gefolgt von C) am meisten, weil ich das abstrakte Denken als herausforderung sehe, der ich mich gerne stellen moechte. Allerdings stellt sich mir da die Frage, ob Assembler in Zeiten der Dualcore-CPU und der 64Bit-Systeme noch eine Rolle spielt.

Alles zusammengefasst:
Welche Sprache wuerdet ihr mir (einem Programmieranfaenger mit ein paar Grundkenntnissen) empfehlen und warum?

Danke schonmal, wenn ihr euch das durchlest und eventuell auch ein paar Zeilen dazu schreibt. Ich kann mir vorstellen, dass ihr schonmal in der selben Situation wart und es nicht kompakt in Worte fassen konntet (:.

mfG,
snoggo
bofh-excuse of the moment:
Bild

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 23.10.2006 19:34:47

Omg, schon wieder so ein Thread... Ich kann dir den Schnitt der Antworten schonmal vorwegnehmen: Es werden etwa 7 Sprachen empfohlen, wobei Einzelne auf die Vorzüge ihrer Sprache beharren, andere total irrelavante Argumente angeben und das ganze hochgradig subjektiv ist.

Na ok, mache ich mal den Anfang: Java
subjektive Gründe: Sehr viel Doku (selbst ganze Bücher sind kostenlos zu haben), universell (läuft von embedded Systems bis Mainframes auf fast jeder Plattform), es stehen konkurrenzlose, kostenlose IDEs zur Verfügung (ich finde Eclipse genial), die Sprache wird aktiv entwickelt (bald kommt Java 1.6, Beta2 ist es schon) und sowieso ist es eine sehr schöne Sprache.

Irrelevante Argumente: die größten Firmen (IBM, Sun Microsystems, BEA, ...) benutzen sie

Naja, reicht erstmal.

cu

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.10.2006 19:41:27

niemand hat geschrieben: Na ok, mache ich mal den Anfang: Java
Ich muss dir natürlich recht geben, das Java eine sehr interessante und oft benutze Sprache ist.
Nur zum Lernen als Einstieg wohl ein wenig kompliziert und schwer, denke ich.


Zum Lernen und als Einstieg ist glaube ich perl ganz gut geeignet. Zudem ist perl auch sehr vielseitig einsetzbar (z.B. für die web-programmierung).
Oh, yeah!

XBraten92
Beiträge: 2
Registriert: 21.10.2006 08:45:11
Wohnort: Dresden
Kontaktdaten:

Beitrag von XBraten92 » 23.10.2006 19:49:11

Ich würde dir C empfehlen. Die Mutter aller Programmiersprachen, wenn du die kannst, dann ist es auch einfacher andere zu lernen.

Hier ist ein Buch für den Anfang:
http://courses.iicm.edu/the_c_book/Soft ... ungInC.pdf
http://courses.iicm.edu/the_c_book/Soft ... Errata.pdf

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.10.2006 20:03:30

@XBraten92: Hört sich gut an, doch leider scheinen die Links auf der angegebenen Seite nicht mehr zu funktionieren.
Oh, yeah!

snoggo
Beiträge: 21
Registriert: 16.10.2006 21:17:01
Wohnort: Elze
Kontaktdaten:

Beitrag von snoggo » 23.10.2006 20:08:09

Das erste Buch hab ich (glaube ich jedenfalls) gefunden:
dollywood.itp.tuwien.ac.at/~edv2/Manuals/schmaranz.pdf

Nach dem zweiten habe ich noch nicht gesucht.

Ich werd mich an C probieren denke ich. Danke fuer die Entscheidungshilfen :)

@ niemand:
Java werde ich naechstes Halbjahr in der Schule lernen. Ich stells mir doof vor, wenn meine Klasse da Java lernt und ich da rumsitze und alles schon kann.

mfG
snoggo
bofh-excuse of the moment:
Bild

comes
Beiträge: 2702
Registriert: 11.03.2005 07:33:30
Wohnort: /dev/null
Kontaktdaten:

Beitrag von comes » 23.10.2006 20:18:04

Welche Sprache fuer den Anfang?
ich schlage Deutsch vor!
Wichtig sind mir eigentlich folgende Aspekte:
- verbreitet
- viele & gute Ressourcen im Netz (eine gute Dokumentation der Sprache wuerde mir auch genuegen)
- aktuell
- praktisch
- universell einsetzbar
deutsch
Zuletzt geändert von comes am 23.10.2006 20:19:37, insgesamt 1-mal geändert.
grüße, comes

Faschismus ist keine Meinung, sondern ein Verbrechen!
http://sourcewars.de

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 23.10.2006 20:19:09

Ich werde jetzt keine neue Sprache erwähnen, wobei ja Python noch gar nicht gefallen ist...kommt sicher noch.

Ich hacke zu 80% auch in C rum(Rest C++), macht relativ viel Spaß, wenn man es verstanden hat und Spaß an zeigern findet(->Übungssache). Es gibt da allerdings ein Aber, weil Du ja auch von Aktualität gesprochen hast:
Mache mal 1-2 Monate intensiv C, sodass Du die Sprache erstmal verstanden hast, und schwenke dann um zu C++.
Grund?
C ist funktional, nicht ibject-orientiert. Heutzutage ist Objekt-Orientierung das A und O(siehe Java, Python, Java ist mehrheitlich OO, Python sogar komplett). C++ ist IMO ganz gut, weit verbreitet und fast alle können es. Meiner Meinung nach sollte man nur vor C++ mal ein bißchen C geschrieben haben, weil einige Sachen doch ähnlich sind. Es gibt aber auch ne Menge Leute sagen, dass wäre totaler Quatsch und man solle direkt mit C++ anfangen. Im Endeffekt musst Du das für Dich selber rausfinden. Mein Rat, erst ein wenig C, dann direkt zu C++. Nur nicht zu viel C, sonst fällt der Umstieg zu schwer.

Und nochmal, das ist meine persönliche Meinung, basierend auf Erfahrung.

HTH,
deadeye

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Re: Welche Sprache fuer den Anfang?

Beitrag von uljanow » 23.10.2006 21:13:40

snoggo hat geschrieben: Wichtig sind mir eigentlich folgende Aspekte:
- verbreitet
- viele & gute Ressourcen im Netz (eine gute Dokumentation der Sprache wuerde mir auch genuegen)
- aktuell
- praktisch
- universell einsetzbar
Du hast gerade C++ beschrieben.
Außerdem kann man mit C++-Kenntnissen leichter C und Java lernen.

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 23.10.2006 21:17:08

Nur zum Lernen als Einstieg wohl ein wenig kompliziert und schwer, denke ich.

Zum Lernen und als Einstieg ist glaube ich perl ganz gut geeignet. Zudem ist perl auch sehr vielseitig einsetzbar (z.B. für die web-programmierung).
Das kann ich so einfach nicht stehen lassen. Perl macht es zu einfach, absolut unsauberen Code zu schreiben, während das bei Java schon recht wirkungsvoll unterbunden wird. Dazu kommt, dass ein Großteil der Funktionalität in Perl durch die Module des CPAN realisiert wird, und die sind nicht sonderlich konsistent, was schon alleine die Schnittstellen angeht. In Java wird ein Großteil der Funktionalität vom Hersteller mitgeliefert, das Ganze ist zentral dokumentiert und auf hohem Niveau in die Sprache integriert. Und was Webprogrammierung angeht: Nachdem einige Zeit in Perl, und danach mehrere Jahre in PHP entwickelt habe, versuche ich jetzt wo es nur geht, Java einzusetzen.
Java werde ich naechstes Halbjahr in der Schule lernen. Ich stells mir doof vor, wenn meine Klasse da Java lernt und ich da rumsitze und alles schon kann.
Das ist eine seltsame Einstellung. Einerseits arbeite ich schon länger und sehr gerne mit Java und "kann" immer noch nicht alles, andererseits ist das Lernen eher der unproduktive Teil. Erst wenn man einigermaßen sicher ist, macht es so richtig Spaß und man schafft was. Wenn die anderen dann mit AWT kämpfen, könntest du dann in der Zeit schön in Ruhe an deinen Programmen arbeiten. Zumindest mir hat es damals immer 15 Punkte und mehr Zeit am Abend gebracht, weil ich meine Arbeiten an meinen Programmen schon in der Schule erledigt habe.

Jedenfalls entspricht C nicht einmal zur Hälfte den von dir genannten Anforderungen (meine Meinung)

cu

Henk84
Beiträge: 198
Registriert: 29.05.2006 14:09:31

Beitrag von Henk84 » 23.10.2006 21:24:34

Ich würde dir C++ empfehlen. Zur Begründung: Syntaxmäßig ist es wirklich sehr sehr ähnlich zu C, sprich viele Konzepte aus C kannst du eigentlich, wenn du C++ kannst. C++ hat einige sehr knifflige Dinge eingebaut, was in Java nicht geht, als Beispiel nenne ich hier einfach mal die Mehrfachvererbung, von daher fällt es dir sicher leichter Java zu lernen, wenn du C++ kannst.

C++ ist auch weit verbreitet. ;-)
Aber es gibt noch mehr Gründe die für C++ sprechen, aber na ja, frag was bestimmtes.

Henk

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 24.10.2006 08:19:37

... ach, der Thread ist einfach klasse! :D
Use ed once in a while!

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 25.10.2006 11:51:56

Henk84 hat geschrieben: ..... C++ hat einige sehr knifflige Dinge eingebaut, was in Java nicht geht,
als Beispiel nenne ich hier einfach mal die Mehrfachvererbung, .....
... stimmt , mehrfachvererbung sorgt für eine bessere übersicht, vor allem wenn alle objekte
von allen erben. Da sind interfaces, was die übersicht betrifft, eher hinderlich ;)

Benutzeravatar
TrustNo1
Beiträge: 135
Registriert: 12.07.2006 12:35:12
Wohnort: /home/Austria

Beitrag von TrustNo1 » 25.10.2006 12:13:32

snoggo hat geschrieben:Das erste Buch hab ich (glaube ich jedenfalls) gefunden:
dollywood.itp.tuwien.ac.at/~edv2/Manuals/schmaranz.pdf

Nach dem zweiten habe ich noch nicht gesucht.
.............
mfG
snoggo
Hi,

hatte den Verfasser dieses Buches als Vortragenden an meiner UNI......kann die Bücher nur empfehlen.

Ansonsten würde ich mit C einsteigen, dann recht schnell auf C++ umsatteln und dann java, perl, python (was dir halt gefällt)

lg

PS: Habe sie noch irgendwo zuhause. Wenn du mir eine PN postest mit deiner email Adresse köönte ich sie dir zuschicken.
"It's better to be free", said the penguin after he left the aquarium!

snoggo
Beiträge: 21
Registriert: 16.10.2006 21:17:01
Wohnort: Elze
Kontaktdaten:

Beitrag von snoggo » 25.10.2006 12:52:23

Ich habe sowohl das C- als auch das C++-Buch von ihm ausgedruckt und lese momentan das C++-Buch, ich muss sagen, dass es sehr klar geschrieben ist und ich relativ gut vorankomme.

Ich werde heute zum zweiten mal den Low-Level-Teil lesen, um Unklarheiten zu beseitigen und mir eine Art Tabellen fuer Sachen wie die Reihenfolge der Operatoren oder die spezifischen Eigenschaften der Datentypen machen, um alles uebersichtlich zu haben. Stell ich mir durchaus praktisch vor :).

Momentan versteh ich die (scheinbar sehr beliebten :)) Pointer noch nicht so recht. Ich verstehe zwar, was sie sind, wofuer sie gut sind und was sie koennen, allerdings harperts bei Feinheiten wie dem *, also dessen genaue interne Funktion.
Sollte aber kein grosses Problem darstellen.

Nebenbei: Ich habe mich fuer C++ (anstatt C) entschieden, weil ich der Meinung bin, dass OO-Programmierung heutzutage eine extrem wichtige Rolle spielt und ich im Prinzip spaeter (wenn ich C++ halbwegs koennen sollte) immernoch relativ leicht C lernen kann.

Danke fuer die Tips und Empfehlungen!
(Mir war von Anfang an klar, dass einige von euch von solchen Fragen genervt sind, tut mir leid, dass ich nicht drum rum kam, sie trotzdem zu stellen.)

mfG
snoggo
bofh-excuse of the moment:
Bild

Benutzeravatar
TrustNo1
Beiträge: 135
Registriert: 12.07.2006 12:35:12
Wohnort: /home/Austria

Beitrag von TrustNo1 » 25.10.2006 13:03:26

snoggo hat geschrieben:.......Momentan versteh ich die (scheinbar sehr beliebten :)) Pointer noch nicht so recht. Ich verstehe zwar, was sie sind, wofuer sie gut sind und was sie koennen, allerdings harperts bei Feinheiten wie dem *, also dessen genaue interne Funktion.
Sollte aber kein grosses Problem darstellen.

Nebenbei: Ich habe mich fuer C++ (anstatt C) entschieden, weil ich der Meinung bin, dass OO-Programmierung heutzutage eine extrem wichtige Rolle spielt und ich im Prinzip spaeter (wenn ich C++ halbwegs koennen sollte) immernoch relativ leicht C lernen kann.
Ich persönlich finde den Einstieg über C (nur um mal grundlegende Funktionen, Arrays(siehe Pointer/Arithmetik,...)) leichter, da mit C++ eigentlich nur mehr ein OOP-Stöpsel über den C-Code (Funktionen,etc.) gestülpt wird. Soll heissen wenn du wirklich tief reingraben willst (Driver, LowLevel) kommst du um Std. C nicht rum. Wennst es Hardcore haben willst kannst dich DANNACH auch noch mit ASM beschäftigen (würde zuerst mit µC ASM z.b. 8051 anfangen und dann dich erst mit NASM/MASM/TASM beschäftigen).

lg
"It's better to be free", said the penguin after he left the aquarium!

Antworten