PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : guter einstieg



Suppimen
06-03-2004, 07:19
Moin,

ich habe mich jetzt seit mehreren Wochen umgeschaut was es für Programmiersprachen gibt. Musste aber feststellen, dass man wenn man ganz neu ist so gut wie sich garnicht entscheiden kann. Ich wollte jetzt einfach mal hier fargen, welche Sprache am besten zum einsteigen unter Linux ist um später noch aufzubauen.
Ich glaube am meisten Angst habe ich davor, dass ich die Falsche nehem und dann etwas gelernt habe womit ich im Grund nichts anfangen kann. Also die typische Angst etwas zu verpassen :D

Dann stellt sich natürlich die Frage. Wie lerne ich das am Besten und womit. Also wäre nett wenn ihr mir Bücher nennen könntet, die halten was auf dem Buchrücken steht und auch ihr Geld wert sind.

Danke

Suppimen

PS.: Weiß wurde schon oft gefragt.

peschmae
06-03-2004, 08:51
Kommt halt drauf an, was du machen willst.

Ich halte zum Anfangen recht viel von Java - oder Scriptsprachen wie Python oder Perl.

MfG Peschmä

tuxipuxi
06-03-2004, 09:09
hi,

ich würde peschmae zustimmen, aber ohne perl, die ist IMHO ein horror.
c++ lohnt sich auch mal anzuschauen.

gruss,
michael.

peschmae
06-03-2004, 11:24
Perl - naja. Kommt drauf an was du machen willst, wie schon gesagt. Für Regexp-Gebastel ist es auf jeden Fall erste Wahl.

Ruby soll auch nicht schlecht sein.

Für den Einstieg finde ich C++ gerade ein bisschen heftig - wenn man das alles auch gleich noch verstehen will. Und ohne verstehen gehts leider nicht so gut.

MfG Peschmä

mwanaheri
06-03-2004, 12:13
Original geschrieben von peschmae

Ruby soll auch nicht schlecht sein.


Kann ich nur bestätigen. Nachdem ich alles mögliche mal angefangen hatte, hat es bei Ruby endlich 'klick' gemacht. Die Sprache ist auf natürlichkeit und explizitheit angelegt und legt es damit nahe, lesbaren Code zu schreiben. Natürlich gehen auch die legendären Perl-Einzeiler, aber für den Einstieg ist es wohl ratsamer, lesen zu können, was man geschrieben hat.
Abgesehen davon liebe ich die Iteratoren von Ruby.

kleines Beispiel: eine Textdatei ausgeben und die Zeilen durchnumerieren:

datei = File.open("brief.tex")
zeilennummer = 1
datei.each{|zeile|
begin
print zeilennummer,": ", zeile
zeilennummer = zeilennummer + 1
end
}
Das geht auch kürzer, aber geht es auch lesbarer?

systemdefender
06-03-2004, 13:33
hallo,
ich denke, deine "erste wahl" müsstest du aufgrund deiner anwendung wählen.


ich habe mich jetzt seit mehreren Wochen umgeschaut was es für Programmiersprachen gibt. Musste aber feststellen, dass man wenn man ganz neu ist so gut wie sich garnicht entscheiden kann.
dann hast du dich sicher mir den vor und nachteile der einzelnen sprachen in ihren jeweiligen einsatzgebieten befasst. willst du reine webanwendungen (normale frontendgeschichten) schreiben, dann ist php für dich die erste wahl. willst du "echte web applikationen" schreiben, dann java ( für genauere diff bitten wir noch mal peschmae ;) ). für systementwicklung nimm bash und perl. perl eignet sich super um system-tools mit webfrontend zu bauen, da es näher am system ist als php. mit perl kann man alles machen ausser bäume fällen ( wurzel ziehen geht aber ;) ). aber in manchen fällen etwas kompliziert.



Ich wollte jetzt einfach mal hier fargen, welche Sprache am besten zum einsteigen unter Linux ist um später noch aufzubauen.
Ich glaube am meisten Angst habe ich davor, dass ich die Falsche nehem und dann etwas gelernt habe womit ich im Grund nichts anfangen kann. Also die typische Angst etwas zu verpassen :D
du kommst mit einer eh nicht sehr weit.



Dann stellt sich natürlich die Frage. Wie lerne ich das am Besten und womit. Also wäre nett wenn ihr mir Bücher nennen könntet, die halten was auf dem Buchrücken steht und auch ihr Geld wert sind.
da stellt sich die frage: bist du autodidakt und hast du schon erfahrungen mit online-lernen ( z.b. www.selfhtml.teamone.de ) gemacht?

gruss, sd.

systemdefender
06-03-2004, 13:39
datei = File.open("brief.tex")
zeilennummer = 1
datei.each{|zeile|
begin
print zeilennummer,": ", zeile
zeilennummer = zeilennummer + 1
end
}

... ist ein sehr gutes beispiel für die unterschiede. unter bash schreibt man dafür nur

grep -n . brief.tex
weil un*x eigentlich als netzwerk und text - system entwickelt wurde sind für solche aufgaben alle mittel an bord ( @peschmae: ;) )

- - - sd - - -

mwanaheri
06-03-2004, 14:13
richtig. das geht mit der Bash wesentlich einfacher.
Wenn man das unbedingt unter Ruby machen will:

system("grep -n . brief.tex")

Es ging aber nur darum, einen schönen Iterator zu zeigen. Welche Anweisung man dann jeweils ausführen lässt, ist eine andere Frage.

Suppimen
06-03-2004, 14:28
Also was ich damit machen will? Ich möchte eine Sprache die ich fürs Internet und für Systheme anwenden kann. Was ich machen will ist z.B. meinen eigenen Browser schreiben oder mein Linux optimirn (wobei das zweit wohl noch lange dauern wird).

Lin728
06-03-2004, 15:23
...... ah ok ;)

mwanaheri
06-03-2004, 16:00
Original geschrieben von Suppimen
Also was ich damit machen will? Ich möchte eine Sprache die ich fürs Internet und für Systheme anwenden kann. Was ich machen will ist z.B. meinen eigenen Browser schreiben oder mein Linux optimirn (wobei das zweit wohl noch lange dauern wird).
Deinen eigenen Browser schreiben? ok, kylix hat bietet ein Browserfenster, um das herum man eigene Sachen schreiben kann, aber einen Browser von Grund auf neu zu schreiben, ist keine Sache, die ein einzelner erledigt. einfach ein zu großes Projekt.
Linux zu optimieren heißt gewöhnlich, seine Installation zu optimieren. Der beste Weg dazu sind meistens eigene und angepasste Scripte. Mach dich also erst einmal mit der Shell-Programmierung vertraut (Bash)

peschmae
06-03-2004, 16:46
Der beste weg die Installation zu optimieren ist, sie zu löschen und (falls man das nicht schon vorher hatte) Debian draufzutun. *scnr - duck und wegrenn*

MfG Peschmä

tuxipuxi
06-03-2004, 17:01
Original geschrieben von ceisserer
Wenn du deswegen mit dem coden anfagen willst, lass es...

falls er mit "browser schreiben" browser from scratch schreiben meint, schliesse ich mich an. :)

wenn du dir einen browser schreiben willst, C++/Qt/KDE/KHTML, wenn du linux tunen willst C.

gruss,
michael.

p.s: ironietags kann man sich selber setzen ;).

peschmae
06-03-2004, 17:19
Was tuned man denn an Linux wenn man C kann :confused:

Ich verstehe die Idee/das Ziel dahinter nicht ganz. Allerdings besteht GNU/Linux hauptsächlich aus C-Code und einigen Shellscripts - also lernst du wohl das.
Wobei Shell nicht gerade das ist, womit ich Programmieren anfangen würde (für jedes Dingchen führst du ein eigenes externes Tool aus -> eher unübersichtlich, keine klare Struktur. Zudem sind Shellscripts nicht extrem portabel, da es von den meisten verwendeten Tools verschiedene (GNU/original Unix) Versionen mit unterschiedlichen Kommandozeilenparametern gibt)

MfG Peschmä

Badsteve
07-03-2004, 14:40
Original geschrieben von tuxipuxi
hi,

ich würde peschmae zustimmen, aber ohne perl, die ist IMHO ein horror.
c++ lohnt sich auch mal anzuschauen.

gruss,
michael.

verhält sich mit perl also ähnlich wie mit c++ :p

steve

fs111
07-03-2004, 15:14
Original geschrieben von systemdefender

... ist ein sehr gutes beispiel für die unterschiede. unter bash schreibt man dafür nur

grep -n . brief.tex
weil un*x eigentlich als netzwerk und text - system entwickelt wurde sind für solche aufgaben alle mittel an bord ( @peschmae: ;) )

- - - sd - - -

Warum denn so lang? nl brief.tex ist der Befehl, den Du suchst ;)

fs111

peschmae
07-03-2004, 16:25
*merk* :)

MfG Peschmä

tuxipuxi
07-03-2004, 16:48
Original geschrieben von Badsteve
verhält sich mit perl also ähnlich wie mit c++ :p

steve

guter konter ;)

systemdefender
07-03-2004, 21:38
Original geschrieben von fs111
Warum denn so lang? nl brief.tex ist der Befehl, den Du suchst ;)

eh, grass *| tee -ai /dev/brain* :)

Badsteve
08-03-2004, 13:33
Original geschrieben von tuxipuxi
guter konter ;)

danke :D

bischi
09-03-2004, 12:50
So, ich geb auch noch meinen Senf dazu:

JAVA (mit SUN-API)

Vorteile:
- Mittlerweilen ist die Geschwindigkeit bei Swing genügend gross, um damit Programme zu schreiben
- Java ist vollständig Objektorientiert
- Java ist Systemunabhängig
- Java (+Compiler,...) ist Gratis
- Java hat eine sehr gute Doku
- für Java gibt es im Internet viele gute gratis-Bücher
- Java macht Spass
- Java ist weniger kompliziert als C++, ist im Umfang aber ähnlich gross
- Java kannst du auch im Internet verwenden (Applets, JSP,..)
- Java ist eine nicht allzu alte Sprache
- Java wird regelmässig upgedatet

kurzum: Java ist COOL!!!

MfG Bischi

PS: NEIN, ich will keinen Flamewar anfangen und ich sage auch nicht, dass andere Sprachen schlechter sind. Ich liste ganz einfach Vorteile von Java auf.

PS2: Über einige meiner Punkte kann man anderer Meinung sein: Also bitte nicht für jeden Punkt einen neuen Post machen - sonst artet das gesamte wieder in einen Spam-Anlass aus...

peschmae
09-03-2004, 12:58
Hehe. C++ ist auch gratis. Einige Implementierungen sind sogar frei. :eek:
C++ ist auch nicht Systemabhängig (falls du damit unportabel meinst, eine andere Bedeutung sehe ich nicht)

Das obige gilt auch für Python/Perl/Ruby - genau so wie die meisten anderen Punkte auch. :)

"vollständige Objektorientierung" ist imho übrigens kein Qualitätsmerkmal. Du kannst ja immer noch prozedural-artige Programme schreiben (und tust es manchmal auch, manchmal weils Sinn macht, manchmal auch sonst... - bei Java packst du die Methoden dann halt noch gezwungenermassen in eine eigene Klasse).

MfG Peschmä

Badsteve
09-03-2004, 17:12
es gelten alle Punkte außer der erste zumindest für Python und ruby. Mit der objekt-orientierung hat Perl es noch nicht so doll, aber das ist IMHO kein Nachteil.

Steve

peschmae
09-03-2004, 17:40
Genau.

Ausser Applets - das gibts nur mit Java. Aber die finde ich nicht so doll.

Aber eigentlich finde ich Java schon gut. :)
Nur gilt vieles davon halt auch für andere...

MfG Peschmä