suche "universelle" script-sprache

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Benutzeravatar
johnbecker
Beiträge: 323
Registriert: 07.08.2004 13:43:13

suche "universelle" script-sprache

Beitrag von johnbecker » 10.12.2004 15:09:58

hi,

zunächst mal: das einzigste, was ich so von den prinzipien der programmierung verstehe, ist, im prinzip, dass mir c und oop zu kompliziert/zeitaufwendig (neben der schule) sind. also dachte ich, lern doch mal ne script/interpreter-sprache...

nu suche ich was möglichst universelles, das man im web(cgi) mit mysqldb-anbindung, für shell-steuerung (hab schon einige shellscipte in perl gesehen) und für kleinere gtk-programmierung gut nutzen kann. dachte zuerst mal an php/php-gkt, aber da kann man die shell vergessen, außerdem ist es schlecht dokumentiert (zum. was gtk angeht). was würdet ihr denn am ehesten empfehlen?

am liebsten würde ich nen kernel in ner interpreter-sprache schreiben ;)

btw.: englischsprachige literatur-tips sind immer gerne willkommen ^^

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 15:14:54

Ich würde dir Python empfehlen:
OOP: cool, einfach und durchgängig, zwingt dich aber nicht dazu, also Hybrid
CGI: no problem
mod_python: erst recht keines
MySQL: gibts als modul, genauso wie postgre oder sqlite
GTK: PyGTK ist genial, gute Doku, sogar noch aktuell!

Deutsches Forum: http://www.python-forum.de/

Alternativ noch Ruby, ist ähnlich aber etwas langsamer, nicht so verbreitet und hat weniger module. Ich finde die Python Syntax schöner, aber das ist Geschmackssache.
Zuletzt geändert von Leonidas am 10.12.2004 15:37:32, insgesamt 2-mal geändert.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 10.12.2004 15:24:08

Hi!
Leonidas hat geschrieben:Ich würde die Python empfehlen:
FULL ACK.

Wir haben grad in unserem Informatik-Unterricht Python-Programmierprojekte und jeder macht das, wodrauf er Lust hat mit ner jeweils anderen Library. Meine Gruppe nimmt pygame zum Spiel coden, ne andere macht ne Web-Oberfläche, die dritten bleiben beim Standard Tk und dann sind da noch die Pro-Skiller, die benutzen QT mit dem QT-Designer und basteln damit ne richtig schöne GUI.

Bye
g-henna

PS. eric als IDE ist ziemlich cool, mir für meine Sachen aber etwas zu oversized...
follow the penguin...

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 15:36:35

g-henna hat geschrieben:Wir haben grad in unserem Informatik-Unterricht Python-Programmierprojekte und jeder macht das, wodrauf er Lust hat mit ner jeweils anderen Library. Meine Gruppe nimmt pygame zum Spiel coden, ne andere macht ne Web-Oberfläche, die dritten bleiben beim Standard Tk und dann sind da noch die Pro-Skiller, die benutzen QT mit dem QT-Designer und basteln damit ne richtig schöne GUI.
Ich nutze PyGTK, das kann man auch mit Glade Dateien füttern und gut ist's, ich mag GTK+ lieber als Qt, aber das ist Geschmackssache, bzw hängt ab was gefordert ist. Pygame ist ein Wrapper für SDL, es gibt auch Wrapper für OpenGL, und wxWidgets. Alles in allem gibt es für Python alle möglichen Module und Python wird mit jedem Release besser und schneller. Man merkt dass es eine Entwicklung gibt. So ganz nebenbei ist Python auch Crossplatform, läuft auf Linux und Un*xartigen, Mac OS, Windows, Palm usw :)
g-henna hat geschrieben:PS. eric als IDE ist ziemlich cool, mir für meine Sachen aber etwas zu oversized...
Von eriv habe ich auch schon einiges gehört, ich nutze aber zum proggen immer SciTE, der hat ein hübsches Python Highlighting und ist schön schnell - straightforward, so wie Python.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.12.2004 17:23:36

Ich schließe mich dem an. Wenn du eine universelle, flexible und Anfängerfreundliche Sprache benutzt, nimm Python.

Ich bin von C++ auf Python gewechselt und schreibe, wenn es geht, alles in Python; langsame Algorithmen werden dann in C++ umgeschrieben und einfach in Python eingebunden.

Ansonsten soll ruby auch sehr gut sein, kannst du dir ja auch anschauen.

Wenn du eher Mathematisch veranlagt bist, und auf funktionelle Programmierung stehst, ist Haskell auch nicht verkehrt.

Oder Malborge :twisted:

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 10.12.2004 17:36:36

Hi,

das ist ja das schöne bei Python, du kannst je nach Anforderung Imerativ-, Funktional- oder auch OO-Programmieren und auch alles zusammengewürfelt in einem einzigen Script.
Im Pythonforum gibts auch einige interessante Diskussionen dazu.


Gruß

Dookie

Benutzeravatar
gloom
Beiträge: 272
Registriert: 30.07.2004 15:31:40
Wohnort: Berlin

Beitrag von gloom » 10.12.2004 18:16:32

Wow, nachdem hier alle von Python schwärmen, schau ich es mir auch mal an...hört sich ja wirklich gut an

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 18:18:49

gloom hat geschrieben:Wow, nachdem hier alle von Python schwärmen, schau ich es mir auch mal an...hört sich ja wirklich gut an
Als kleiner Tipp zum Einstieg: in Python werden Funktionen durch EInrückungen gekennzeichnet, das mag ungewohnt sein, aber wenn man sich einarbeitet möchte man sie nicht mehr missen und lächelt nur noch über 'end's :D
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

Benutzeravatar
gloom
Beiträge: 272
Registriert: 30.07.2004 15:31:40
Wohnort: Berlin

Beitrag von gloom » 10.12.2004 18:26:14

Leonidas hat geschrieben:
gloom hat geschrieben:Wow, nachdem hier alle von Python schwärmen, schau ich es mir auch mal an...hört sich ja wirklich gut an
Als kleiner Tipp zum Einstieg: in Python werden Funktionen durch EInrückungen gekennzeichnet, das mag ungewohnt sein, aber wenn man sich einarbeitet möchte man sie nicht mehr missen und lächelt nur noch über 'end's :D
aha, auch interessant. Ist glücklicherweise keine große Umstellung, da ich eh so immer schon meinen Quellcode gegliedert habe, um bessere Übersicht zu behalten (natürlich dann aber mit end oä)...

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 19:39:04

gloom hat geschrieben:aha, auch interessant. Ist glücklicherweise keine große Umstellung, da ich eh so immer schon meinen Quellcode gegliedert habe, um bessere Übersicht zu behalten (natürlich dann aber mit end oä)...
Natürlich, das hat auch Sinn, deswegen hat man das sinnvolle (also gescheite Gliederung) mit dem nützlichen (also codeblöcken) verbunden und raus kam das. Dafür kann man Python Programme meist auf Anhieb gut lesen, weil der Einrückungsstil größtenteils Standarisiert ist und man muss nicht end schreiben, praktisch für Schreibfaule wie mich.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

julien
Beiträge: 1062
Registriert: 06.05.2002 19:53:05
Wohnort: Oberhessen

Beitrag von julien » 10.12.2004 20:01:43

alle hier schwärmen so von Python :roll:

Also ich kann nur Perl empfehlen.
Perl bietet sehr viele Möglichkeiten auch OO.
CGI und Mysql ist auch kein Thema...für Perl gibt es sehr viele Module
GTK+ und Glade Bindungs gibt's auch.

Nicht zu vergessen sind die mächtigen regular expression sachen in perl.

Nicht umsonst ist Perl die "Unix's Swiss Army Chainsaw" :D

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.12.2004 20:11:14

Ja, perl ist für kleine Aufgaben, wo man Textdateien verwenden muss, auch meine erste Wahl, allerdings nur dort.

Bei langen Projekten zeigt sich sehr schnell, dass Perl Write-Only-Code ist :mrgreen:

Ich schreibe lieber

Code: Alles auswählen

String.replace("foo","bar")
als

Code: Alles auswählen

$String =~ s/foo/bar/g;
Aber jeder soll nach seiner Façon glücklich werden

init 0
Beiträge: 673
Registriert: 21.10.2003 19:40:28

Beitrag von init 0 » 10.12.2004 20:17:42

Hi,

ja klar ist Perl die "Unix's Swiss Army Chainsaw". Zu seiner Zeit wars ja auch das einzig Brauchbare was man verwenden konnte. Mit der Syntax vom Perl muss man sich auch erstmal abfinden. Sowohl Perl als auch Python, ich empfehle dir Python, funktionieren einwandfrei auch auf M$. Dadurch lernst du ganz bestimmt nicht in einer Sackgasse.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 10.12.2004 20:21:34

Joghurt hat geschrieben:Bei langen Projekten zeigt sich sehr schnell, dass Perl Write-Only-Code
Warum wird eigentlich in letzter Zeit, (zumeist von Python hörigen,) unser gutes alter Perl schlecht gemacht ?

Man kann in jeder Programmiersprache leserlichen und unleserlichen Code schreiben.

Diese Zahlen allein auf http://www.cpan.org sprechen doch für sich:

Code: Alles auswählen

4048 authors 7302 modules
und dieser Code wird sehr wohl gewartet.

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 20:49:01

Warum habe ich denn von Perl so viel schlechtes gehört, besonders in der Kombination mit OO und das auch von Ruby Usern, deren Sprache eine Art Perl NG werden soll?
Aber Perl unter Windows? Unhandlich..
Perl und funktionale, imperative und objektorientierte Programmierung?
Warum es so viele Perl Module gibt? Weil Perl etwas länger gibt als Python.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 10.12.2004 21:05:11

Ich empfehle jedem, der sich für Perl interessiert, nach dem Perlcamel zu googeln ;)

Dookie

julien
Beiträge: 1062
Registriert: 06.05.2002 19:53:05
Wohnort: Oberhessen

Beitrag von julien » 10.12.2004 21:08:52

Ich komme mit Perl super zu rande. Es war nach VB die erste Programmiersprache die ich kennengelernt hab (damals unter Windows !) und bis heute bin ich einfach begeistert davon und will auch gar nichts anderes lernen, da ich mit Perl alles machen kann was ich brauche.

Was ist an der Syntax von Perl schlimm? Ich denke mal _jede_ Syntax ist für einen ungewohnt, wenn er sie nicht kennt.

Von wegen unleserlichen Code: Den kann man genausogut in C und in jeder anderen Sprache schreiben. Mit Perl kann man sehr wohl sehr lesbaren Code erstellen. Man _kann_ mit Perl extrem unleserlichen Code machen, das stimmt, aber kein normaler Mensch tut das :?

@Joghurt: Und kannst du in string.replace auch komplette Regular Expressions benutzen?

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 21:08:59

Das kenne ich :)
Tom O'Reilly zum Perl Kamel: Perl ist hässlich und kommt über lange Strecken ohne Wasser aus.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 10.12.2004 21:14:06

Das Perl OO ein ziemlich wildes Konstrukt ist, will ich ja nicht bestreiten.

Aber bitte was soll an Python oder Ruby unter Windows handlicher sein, bzw. warum soll Perl unter Windows unhandlich sein ?

Perl gibt es auf fast allen Plattformen, auch am Mainframe, Perl ist sehr schnell und braucht nicht viel Resourcen. Das sind die Vorteile von Perl.

Es nutzt einem Anwender nicht viel, wenn die Scriptsprache eine tolle objektorientierte Programmierung zuläßt oder nicht.
Bestes Beispiel ist Java. Als Entwickler kann man zwar behaupten das Programm ist sehr schön objektorientiert geschrieben, wird aber einen Anwender der einige Minuten warten muß, bis die Applikation gestartet ist wenig interessieren.

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 21:34:03

gms hat geschrieben:Das Perl OO ein ziemlich wildes Konstrukt ist, will ich ja nicht bestreiten.
Ja, das liegt daran, dass OO erst später reinkam (das war bei python zwar afaik auch der fall, aber früher als bei Perl)
gms hat geschrieben:Aber bitte was soll an Python oder Ruby unter Windows handlicher sein, bzw. warum soll Perl unter Windows unhandlich sein ?
Kurzes Beispiel: ich will mit Perl für WIndows installieren, gehe auf perl.org - > download und da gibt es nur die Sourcen. Da ich aber erleuchtet bin, fällt mir natürlich gleich ein dass ich zu ActiveState muss. Ich suche ja sowieso immer Programme in Google mit "programmname windows". Das Python.org einen offiziellen Windows Port hat, hat den vorteil dass alle module (oder die meisten) auch problemlos mit winodws funktionieren, wo das nicht der fall ist wird das in der doku erwähnt.
gms hat geschrieben:Perl gibt es auf fast allen Plattformen, auch am Mainframe, Perl ist sehr schnell und braucht nicht viel Resourcen. Das sind die Vorteile von Perl.
Laut README läuft Python auch auf viele Platformen.
gms hat geschrieben:Es nutzt einem Anwender nicht viel, wenn die Scriptsprache eine tolle objektorientierte Programmierung zuläßt oder nicht.
Bestes Beispiel ist Java. Als Entwickler kann man zwar behaupten das Programm ist sehr schön objektorientiert geschrieben, wird aber einen Anwender der einige Minuten warten muß, bis die Applikation gestartet ist wenig interessieren.
Klar, sicher. Aber dadurch programmieren nicht alle Assembler. Ausserdem wird Python mit jeder Version schneller - mit der 2.3er viel, mit der 2.4er viel mehr. Und es ist sowieso nicht so dass Python langsam ist.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 10.12.2004 21:58:27

ich bin mit Perl und C "aufgewachsen", habe danach C++ und Java programmiert, und es werden sicherlich noch weitere Sprachen auf mich zukommen.

Ich denke aber, genauso wie C noch immer seine Daseinsberechtigung neben C++ hat, wird auch Perl, allen Unkenrufen zum trotz, neben den neuen Scriptsprachen wie Python, Ruby usw bestehen können.

Mich stören nur unwahre Behauptungen, daß mit Perl kein leserlicher Code erzeugt werden kann.

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 10.12.2004 22:06:19

gms hat geschrieben:Ich denke aber, genauso wie C noch immer seine Daseinsberechtigung neben C++ hat, wird auch Perl, allen Unkenrufen zum trotz, neben den neuen Scriptsprachen wie Python, Ruby usw bestehen können.
Ja, das denke ich eigentlich auch, denn etablierte Sprachen sterben nicht so schnell aus.
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

smashie
Beiträge: 168
Registriert: 21.02.2004 11:23:53

Beitrag von smashie » 10.12.2004 22:21:39

hallo,

ich kann die TCL in Verbindungmit TK empfehlen ;) .. leicht zu lernen, flexibel, weit verbreitet und auch viele Module/extensions
Intel Pentium E2180 @ 3,2 Ghz / Geforce 8800GT / 4096 MB DDRII 800 / 320GB Seagate 7200.11 HDD
running debian 'sid' kernel 2.6.26-rc7/Gnome 2.22

Benutzeravatar
ckihm.deb
Beiträge: 263
Registriert: 26.12.2002 18:49:38
Wohnort: Saarbrücken

Beitrag von ckihm.deb » 10.12.2004 22:31:54

Hallo, ich bin Perl Fan und sobald ich mal Zeit finde werde ich auch gerne ein Pyhton Fan. Aber bis jetzt habe ich von Phyton keine Ahnung daher möchte ich nur auf die Dinge eingehen die mir an Perl gefallen:

- Die Syntax

Das hört sich vielleicht für die Meinung vieler etwas komisch an, aber ich mag die kompakte und Kontextbezogene Syntax. Und um Gerüchten vorzubeugen ich bin kein c Jünger der daher auch gut mit Perl zurecht kommt, sonder ein Java Entwickler der beide Konzepte mag.

- Die Mächtigkeit

Mit Perl kann man zumindest unter Linux auch Systemprogrammierung erledigen. Fast alle Betriebssystemfunktionen lassen sich wie mit C aufrufen, nur das man mit Perl nicht so schnell Fehler macht. Und ich liebe die regulären Ausdrücke von Perl.

Ausserdem gibt wie bereits erwähnt wurde sehr, sehr viele hochwertige Module für nahezu jeden Zweck. So gibt es auch mit Perl die Möglich keit QT GUI zu Programmieren oder WX/ Tk.
christian

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 11.12.2004 10:57:36

Hi!
julien hat geschrieben:@Joghurt: Und kannst du in string.replace auch komplette Regular Expressions benutzen?
Nicht in string.replace, aber das re Modul definiert eigentlich alles, was man mit Regular Expressions so schönes machen kann.

Bye
g-henna
follow the penguin...

Antworten