Erste Programmiersprache: Welche ?

Message
Author
jascha

Erste Programmiersprache: Welche ?

#1 Post by jascha »

Hi !
Ich möchte Programmieren lernen. Nun frage ich mich, mit welcher der vielen Sprachen ich wohl am geschicktesten anfange ? HTML (ja, ich weiss, dass das keine richtige Programmiersprache ist) habe
ich schon gelernt. Mein Plan ist in etwa:

1.HTML (abgehakt)
2.Perl
3.C
4.C++

Nun habe ich aber auch gelesen (ich glaube, es war in O'Reillys "Linux - Wegweiser zur Programmierung und Entwicklung"), dass Perl nicht unbedingt für Anfänger geeignet ist. Ausserdem könne man sich mit
C einen sehr schlechten Programmierstil angewöhnen, weshalb man besser mit C++ anfange.
Was sagt Ihr dazu ? Welche Sprache ist ist zum Lernen am besten geeignet ? Und wenn Ihr Vorschläge unterbreitet, habt Ihr vielleicht auch einige Literaturtips dazu ?!

Greets, Jascha

jensemann
Posts: 189
Joined: 08. Dec 2001 15:18
Location: Krefeld (obwohl mir Kölsches Bier lieber ist)
Contact:

Re: Erste Programmiersprache: Welche ?

#2 Post by jensemann »

Hi jascha
Das hängt in erster Linie davon ab was du Programmieren willst. Ich hab mit Perl angefangen, und weiss an sich nicht, was so schlecht daran sein soll, mit Perl anzufangen. Dazu würde ich dir das Buch "perl in 21 Tagen" empfehlen, aus dem Markt & Technik Verlag. Mit c hab ich noch nichts gemacht, ich fange gerade mit c++ an, da finde ich das Buch "C++ Entwicklung mit Linux" aus dem dPunkt Verlag recht gut. Ich würde allerdings nicht empfehlen mit c++ anzufangen, da es relativ kompliziert ist. Für absolute Programmier anfänger würde ich Script Sprachen wie Perl, Python oder Ruby empfehlen. Wobei ich mit letzten beiden noch nicht gearbeitet habe, und daher nicht wirklich was dazu sagen kann.
Mfg jensemann
Hilfe bei LFS Problemen: <a href="http://www.lfsforum.org" target="_blank"><!--auto-->http://www.lfsforum.org</a><!--auto-->

LBS

Re: Erste Programmiersprache: Welche ?

#3 Post by LBS »

Tach,

also ich würde Dir auch Perl empfehlen. Vor allem ist es bei dieser Sprache recht einfach Fenster usw. zu bauen (Perl Tk) Datenbanken anzuschliesen oder sich mit Webseiten rumzuschlagen. Da tust Du Dich in C schon ein bisschen schwerer. Und wenn mal ein bisschen fortgeschrittener bist dann kannst Du ja noch die option in Perl (use strict) verwenden.
Bei der Wahl der Programmiersprache hängt es natürlich schwer davon ab, wie jensemann schon sagt, was Du denn alles anstellen willst. Ich hab auch mit HTML angefangen, dann ein paar SHELL-Skripte getippt und bin jetzt bei Perl angelangt. Für meine zwecke genau das richtige.

cu

hubert

Re: Erste Programmiersprache: Welche ?

#4 Post by hubert »

Hi,
ich wuerde auch eine skriptsprache empfehlen. (C++ kann am anfang ganz schön frustrierend sein und als OO-sprache hat java ein saubereres design (fuer eine - sehr subjektive - einschaetzung siehe
http://hermetic.magnet.ch/cfunlib/cppsux.htm )).
mit perl kann man auch gut und lesbar programmieren, wenn man nur nicht jeden ach-so-raffinierten kniff verwendet (aber dazu wird man leicht verleitet). perl ist auf jeden fall einfach zu lernen und man kommt schnell zu brauchbaren ergebnissen. man kann damit objektorientiert programmieren, muss aber nicht; das ist etwas halbherzig geloest. nach allem was ich gehört habe (ich kanns nicht selber beurteilen) ist python da konsequenter.
wenn du dich schon mit html beschäftigt hast, käme auch PHP in frage. es kommt eben drauf an, was du machen willst.

Hubert.

christoph

Re: Erste Programmiersprache: Welche ?

#5 Post by christoph »

Hallo,
Du schreibst leider nicht, was Du denn machen moechtest.

Ich wuerde dir PHP empfehlen, falls du Webanwendungen entwickeln willst. Ist um einiges leichter zu lernen als Perl und kann 99% von dem was Perl kann. Und die Syntax ist auch C aehnlich, also ist der Umstieg dann nicht so hart. (Klar, Perl ist auch aehnlich)

PHP macht als Anfaenger aber schnell Spass, da man flott Ergebnisse erzielt.

C++ wuerd ich aber nicht empfehlen. Das meiste unter Linux ist in C geschrieben. Lerne C. C++ ist boese. <img src="http://www.pl-forum.de/UltraBoard/Images/TooHappy.gif" border="0" align="middle">gt;

christoph

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Erste Programmiersprache: Welche ?

#6 Post by bakunin »

Hi!

Kurze Antwort: Ich empfehle Python, obwohl ich es selbst nicht verwende und nicht vorhabe, es zu benutzen.

Lange Antwort:

C ist ein portabler Assembler, der für viele Zwecke ganz nützlich ist. C++ ist ein aufgeblähtesa Monster voller falscher Designentscheidungen. (Man beachte den Namen; "C++" bedeutet: "C wird erweitert, das Resultat hat aber nur den Wert von C".) Java ist der geglückte Versuch, aus C++ etwas halbwegs Brauchbares zu machen. Perl ist der geglückte Versuch, einen Braindump direkt ausführbar zu machen. PHP ist der wu-ftpd des WWW, kein weiterer Kommentar dazu.

Wer sich nicht mit fragwürdigen Syntaxen herumschlagen will, sondern sich auf die Semantik konzentrieren will (eine prinzipiell gute Idee), lernt Scheme oder LISP. Gute Erfolge erzielt man mit Emacs LISP, wenn man die <!--http--><a href="http://www.delorie.com/gnu/docs/emacs-l ... o_toc.html" target="_blank">Emacs Lisp Introduction</a><!--url--> verwendet und Englisch lesen kann. Wer statt Texte zu verarbeiten lieber Bibliotheken wie Curses, Gtk+, oder OpenGL benutzt bzw. Bilder verarbeitet oder Posix Threads verwendet, wird die Scheme-Implementierung Guile vorziehen. LISP und Scheme erlauben es, imperativ, funktional oder objektorientiert zu programmieren und sind eigentlich ideal, um sich grundlegende Denkmuster der Programmierung anzueignen.

Wer darüber hinaus auf ein wenig syntaktischen Zucker doch nicht verzichten will, dem dürfte Ruby gefallen, doch hier fehlt leider die einführende Literatur, die keine Kentnisse voraussetzt; Einführungen für leicht Fortgeschrittene sind hingegen verfügbar. Ruby erlaubt ebenfalls imperativ-prozeduralen, funktionalen und objektorientierten Code, wobei die Sprache an sich 100% objektorientiert ist. Python ist nicht ganz so konsequent oder bequem wie Ruby, aber auch in Ordnung und wohl besser (im Bezug auf Neulings-Freundlichkeit) dokumentiert. Daher wäre Python meine Empfehlung.

Cheers,
GNU/Wolfgang
Last edited by bakunin on 07. Mar 2002 14:26, edited 1 time in total.

vyper
Posts: 19
Joined: 27. Feb 2002 23:12

Re: Erste Programmiersprache: Welche ?

#7 Post by vyper »

*lol* Das war die Techie-Antwort.

Solltest Du vorhaben, etwas grösseres zu programmieren (also im Sinne von echten Applikationen, mit guten Front-End und so), kommst Du heutzutage nicht umhin, eine objektorientierte Sprache zu lernen.

Wer mit Objektorientierung anfängt, hat nach meiner Erfahrung einen sehr guten Background, um grosse Projekte einzuschätzen. Für nicht-objektorientierte Sprachen muss man dann kaum noch umlernen.

Leider gibt es nur zwei objektorientierte Sprachen, mit denen man heutzutage vernünftig arbeiten kann: Java und C++ - ersteres ist sauber, aber leider sehr langsam, während zweiteres (wie Wolfgang bereits geschrieben hat) unsauber ist und dazu verführt, reine C-Elemente zu benutzen.

Praktisch alle grossen Projekte (KDE, Windows, sämtliche Office-Applikationen, praktisch alle kommerziellen Spiele) sind heutzutage mit C++ programmiert, während umfangreiche Business-Software immer öfter in Java geschrieben wird.

Ich würde wie O'Reilly zu C++ raten, wenn Du vorhast, ernsthaft Applikationen zu entwickeln. Wenn es Dir nur darum geht, mit dem System "rumzuspielen", ein paar Utilities - evntl. mit graphischen Interfaces zu schreiben, dann ist eine der bereits von anderen empfohlenen Skriptsprachen eine gute Wahl.
Last edited by vyper on 07. Mar 2002 15:14, edited 1 time in total.

christoph

Re: Erste Programmiersprache: Welche ?

#8 Post by christoph »

<blockquote><hr>
Praktisch alle grossen Projekte (KDE, Windows, sämtliche Office-Applikationen, praktisch alle kommerziellen Spiele) sind heutzutage mit C++ programmiert [...]
<hr></blockquote>

Ahja, so wie z.b. Gnome, Linux, *BSD und die restlichen Unices? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Ich hab hier 2 Buecher C++ rumliegen (auch den Stroustrup), und ich muss sagen, dass C++ einfach nur eklig ist.

Oder wie es auf Smalltalk.org (sicher auch eine interessante Sprache) steht:
"C++ : an octopus made by nailing extra legs onto a dog"

Das Gefuehl hat man da leider echt andauernd.

Wer mir jetzt aber erklaeren will, warum ich ich doch unbedingt in C++ programmieren sollte, nur zu.

christoph

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Erste Programmiersprache: Welche ?

#9 Post by bakunin »

Hi!

Sascha schrieb:
> Praktisch alle grossen Projekte (KDE, Windows, sämtliche Office-Applikationen, praktisch alle kommerziellen Spiele) sind heutzutage mit C++ programmiert

Ist das also der Grund, warum Software heute so oft unausgereift und buggy ist? Das ist endlich mal eine glaubwürdige Erklärung für dieses Problem, danke.

> Ich würde wie O'Reilly zu C++ raten, wenn Du vorhast, ernsthaft Applikationen zu entwickeln. Wenn es Dir nur darum geht, mit dem System "rumzuspielen", ein paar Utilities - evntl. mit graphischen Interfaces zu schreiben, dann ist eine der bereits von anderen empfohlenen Skriptsprachen eine gute Wahl.

Kann es sein, dass du mit der Unix-Philosophie nicht vertraut bist? Alle kleinen Programme als Spielereien abzutun ist etwas arg daneben meiner Ansicht nach.

Christoph schrieb:
> Oder wie es auf Smalltalk.org (sicher auch eine interessante Sprache) steht: "C++ : an octopus made by nailing extra legs onto a dog" Das Gefuehl hat man da leider echt andauernd.

Ich sehe schon, wir verstehen uns. =)

> Wer mir jetzt aber erklaeren will, warum ich ich doch unbedingt in C++ programmieren sollte, nur zu.

Weil's fast alle anderen auch machen natürlich! Ne Moment, dann müsstest du ja unter MS-Windows in Visual Basic programmieren. *eg*

Cheers,
GNU/Wolfgang

bufferoverflow
Posts: 19
Joined: 22. Feb 2002 4:17
Location: N/A

Geflame

#10 Post by bufferoverflow »

Glueckwunsch fuers gelungene flamen....

Man oh man....

jascha:

Ich kann Dir nur empfehlen, die Sprachen mal selber anzuschauen, anstatt Dich jetzt von dem besseren Flamer verleiten zu lassen. Alle Sprachen haben ihre Vor- und Nachteile.
z.B. mag C und C++ fuer einige Leute nur mies sein, aber wenn es um Hardwarenaehe geht, wirst Du wohl kaum drumzu kommen, jedenfalls kenne ich keinen Java-Treiber.
Wenns noch naeher sein soll: Assembler. Auch eine nette Sprache, die leicht zu erlernen ist, weil sie einen relativ kleinen Wortschatz hat.

Wenn's andersherum auch ohne staendige Neukompilierung portabel sein soll, ist Java wieder ganz vorne zu finden...
Je nach Anwendung die passende Sprache aussuchen.

Es nutzt nichts, eine Sprache so zu vergewaltigen, nur um als toller Hecht dazustehen, weil man mit seiner favorisierten Sprache es irgendwie (!!!) geschaft hat, eine Aufgabe zu uebernehmen, fuer die eine andere Sprache viel besser geeignet waere.

Gruss

vyper
Posts: 19
Joined: 27. Feb 2002 23:12

Re: Erste Programmiersprache: Welche ?

#11 Post by vyper »

Sorry, ich wollte nicht flamen.

<blockquote><hr>Ahja, so wie z.b. Gnome, Linux, *BSD und die restlichen Unices?<hr></blockquote>

Gnome basiert auf GTK, das ist objektorientiert in C - dementsprechend sieht der Code auch aus. Die Unice (schreibt man das so) bestehen im wesentlichen aus Utilities. Die gehören natürlich nicht in C++ geschrieben, das habe ich auch nicht behauptet.

Es ging mir eher um "echte" Applikationen, eben nicht um "kleine Programe".

Im übrigen ist es nicht die Unix-Philosophie, in C zu programmieren, Wolfgang. C ist nur einfach die zweckmässigste Sprache für Systemprogrammierung.

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Erste Programmiersprache: Welche ?

#12 Post by bakunin »

Hi!

> Glueckwunsch fuers gelungene flamen....

Glückwunsch für das Fehlinterpretieren von Humor.

> Alle Sprachen haben ihre Vor- und Nachteile.

Richtig. Und hier ging es darum, welche Sprache dazu geeignet ist, sie als erste Programmiersprache zu erlernen, was nunmal gewiss nicht C und C++ sind.

> z.B. mag C und C++ fuer einige Leute nur mies sein, aber wenn es um Hardwarenaehe geht, wirst Du wohl kaum drumzu kommen, jedenfalls kenne ich keinen Java-Treiber.

Erstens sind die ersten Programme, die jemand schreibt, mit ziemlicher Sicherheit keine Treiber, zweitens spricht recht wenig gegen Treiber in anderen Sprachen als C und C++, nur fehlen dafür meist die Bindings und die meisten Systemprogrammierer können halt schon C oder C++ und verwenden daher einfach diese. Das bedeutet jedoch nicht, dass diese Sprachen dafür prinzipiell besser geeignet wären als andere, denn das könnte an sich auf ein Irrglaube sein. Ob das zutrifft, sollen diejenigen einschätzen, die schon Treiber in verschiedenen Sprachen geschrieben haben.

> Assembler. Auch eine nette Sprache, die leicht zu erlernen ist, weil sie einen relativ kleinen Wortschatz hat.

Assembler ist "eine" Sprache? Das meintest du jetzt aber nicht ernst?

Assembler ist leicht zu erlenen? Der Assembler eines antiken Holzprozessors vielleicht, aber moderne Prozessoren, egal ob PowerPC oder Itanium, haben gewiss keinen "relativ kleinen Wortschatz".

> Wenn's andersherum auch ohne staendige Neukompilierung portabel sein soll, ist Java wieder ganz vorne zu finden...

Auch Scriptsprachen wie Python, Perl und Ruby verfügen über diese Eigenschaft, wobei Perl mit ziemlicher Sicherheit portabler ist als Java. Selbst Ruby läuft vermutlich sogar auf mehr Plattformen als Java, z.B. auch unter DOS (inklusive Multithreading!).

> Es nutzt nichts, eine Sprache so zu vergewaltigen, nur um als toller Hecht dazustehen, weil man mit seiner favorisierten Sprache es irgendwie (!!!) geschaft hat, eine Aufgabe zu uebernehmen, fuer die eine andere Sprache viel besser geeignet waere.

Es gibt wohl auf dieser Welt keinen einzigen Programmierer, der das macht, oder?

Cheers,
GNU/Wolfgang

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Erste Programmiersprache: Welche ?

#13 Post by bakunin »

Hi!

> Im übrigen ist es nicht die Unix-Philosophie, in C zu programmieren, Wolfgang.

Du wirst mir jetzt sicherlich die Stelle zeigen, an der ich das behauptet habe. Ich sehe nämlich nur eine Stelle, in der es im Bezug auf "kleine Utillities" um Scriptsprachen ging, wobei ich nicht einmal diese im Speziellen mit der Unix-Philosophie in Verbindung gebracht habe.

Interessant, was einem alles in den Mund gelegt wird.

Cheers,
GNU/Wolfgang

User avatar
arni
Posts: 73
Joined: 10. Feb 2002 19:32
Location: Berlin
Contact:

Re: Erste Programmiersprache: Welche ?

#14 Post by arni »

Da hat wohl jeder seiner vorgefertigten Denkmuster, weshalb es keine objektiv richtige Antwort geben kann.
C ist sicherlich die Haussprache unter den Unices und wer extensiver diese Plattform beackern will, wird um C als primäre Sprache nicht herumkommen.
Wer länger mit C++ arbeitet wird dort auch seine "Glücksmomente" haben und irgendwann diese Sprache lieben.
Scriptsprachen wie Ruby, Python, Perl, (PHP), TCL wird man nicht ernsthaft für grössere Anwendungen in Betracht ziehen wollen. Trotzdem sollte man in mindestends einer dieser Sprachen so halbwegs fit sein, denn sehr viele Dinge lassen sich mit Scriptsprachen in einem Bruchteil der Zeit bei weniger Fehlern durchführen.

Meine Empfehlung:
1. "C" als hochperformante Wald und Wiesensprache für jede Plattform
2. C++ wenn es OOP sein soll; man sich mit Dingen wie UML, OOA/OOD anfreunden will und Performance wichtig ist (unter Win ist C++ Quasi Pflicht)
3. PHP - falls man sich mit HTML und dynamischen Webseiten näher beschäftigen will
4. Perl, Python, Ruby - eine mit der man halt gut zurecht kommt (Ruby scheint ein echter Knaller zu sein)

Descartes

Re: Erste Programmiersprache: Welche ?

#15 Post by Descartes »

> ... TCL wird man nicht ernsthaft für grössere Anwendungen in Betracht ziehen wollen....

*räusper*
Den Netzwerk- und RPC-Teil aktuellen Grossprojektes (Oracle8, >600 User, mehrere Standorte, Anbindung per RPC an verschieden Datenbanksysteme) habe ich mit TCL realisiert.

Post Reply