Seite 1 von 2

Perl oder Java Programmierung ?

Verfasst: 15.03.2004 15:38:46
von s4p
Seit gegruesst,

Ich hatte mir schon vor laneger Zeit mal vor genommen eine Programmier Sprache zu lernen, damals wollte ich mit Visual C++ anfangen wurde jedoch nix draus da alles fuer mich zu unverstaendlich geschrieben war und ich nix vernuenftiges fuer Anfaenger gefunden habe und auserdem hatte ich damals keine Gedult :)

Naja schon paar Jahre her, nach einer weile ueberlegen habe ich vor noch ein mal eine Programmier Sprache zu versuchen, jedoch weiss ich nicht welche ich lernen soll, Java oder Perl ?

Welche wird am meisten gebraucht und mit welcher kann man was machen ? Also in welchen Bereichen der Programmierung ist Java und Perl am besten geeignet ?

MfG
s4p

PS: Waere nett wenn ihr noch eine empfehlung was buecher betrifft mit aufschreibt :) Es sollte gut verstaendlich sein auch fuer jemanden, der sich mit vielen begriffen nicht auskennt und keinerlei vorkenntnise hat.

[EDIT]

Ach ja was ich noch vergas, ich moechte unter Linux Programmieren brauche also ein Buch das fuer die Programmierung unter Linux geschrieben ist.

Verfasst: 15.03.2004 15:54:10
von durztbrother
Hi,

ich wäre für Perl, ich finde das man recht schnell Fortschritte beim lernen macht und es im Bereich LInux/UNIX es nie verkehrt ist Perl zu können. Genial ist das es schon so viele Perl Module auf http://www.cpan.org gibt die man ganz einfach installieren kann und in seine eigenen Scripte verwenden kann.

Ein Buchtipp könnte ich dir auch mit auf den Weg geben: "Einfrührung in Perl" aus dem O'Reilly Verlag.

Zu anderen Programmiersprachen, kann ich nicht viel sagen, weil außer Perl kann ich keine weitere Sprache.

Ciao
Patrick

Verfasst: 15.03.2004 15:54:53
von suntsu
Ich kann zu Perl nix sagen, da ich noch nichts damit gemacht habe.
Java wird imo viel in grösseren Web-Projekten eingesetzt(j2ee) und neuerdings auch viel auf mobilen Geräten(j2me).
Java ist halt einfach noch nicht wirklich freie Software.
Ich kann dir noch mono empfelen http://www.go-mono.com/
Ist eine freie .net implementierung, und die Syntax entspricht c#/java. Find ich echt noch witzig.

gruss
manuel

Verfasst: 15.03.2004 16:04:12
von emge
Java und Perl sind meiner Meinung nach zu weit auseinander, als das man eine Empfehlung für eine von beiden geben könnte. Sie ergänzen sich aber recht gut. So dass ich eigentlich nur empfehlen kann, beide Sprachen zu lernen.

Grüße, Marco

Verfasst: 15.03.2004 19:34:01
von jack herer
Wenns Du bis jetzt noch keine Erfahrung hast, kann ich Dir Perl empfehlen. Perl ist echt der Hammer! Du kannst vom Dreizeiler bis zu einem ausgereiften Projekt fast alles damit anstellen und dass auch noch relativ einfach.
Und unter Unix/Linux kanns nie schaden wenn man eine Scriptsprache beherrscht (wobei man Perl natürlich auch Objektorientiert programmieren kann ;-) ).
Als Buch kann ich Dir Goto Perl 5 von Michael Schilli empfehlen, das ist zwar schon etwas älter, aber es behandelt viele Themen und ist einfach geschrieben. Ausserdem gibts das, glaube ich, im Moment im Angebot. Ansonsten sind O'Reilly Bücher eigentlich alle recht gelungen...

Viel Spass dann!

Verfasst: 15.03.2004 19:48:58
von The Torso
Ich kann nur etwas zu Java sagen, da ich es grade (gezwungener maßen) lernen muss. Naja, ist nicht so schlimm, wenn man mal hinter das Prinzip geblickt hat. Auf jeden Fall gibt es einige gute Bücher auch im Web, empfehlen kann ich da nur "Java ist auch eine Insel", gutes, einfach geschriebenes Buch (siehe [1]).
Mir ist die Sprache zwar ein wenig unsympatisch, besonders der Interpreter stört mich persönlich.

[1] http://www.galileocomputing.de/openbook/javainsel3/

Verfasst: 15.03.2004 19:53:18
von ckihm.deb
Ich kann mich emge nur anschliessen. Ein Vergleich wird keiner der beiden Sprachen gerecht. Aber ich denke mit Perl bist du gut beraten, speziell wenn es unter Unix eingesetzt wird. Mann kann damit auch sehr Systemnahe Programmieren, und das wesentlich einfacher als unter verwendung von c/c++. Als Buch für den Einstieg in die Programmierung und Perl kann ich dir wie durztbrother "Einfrührung in Perl" aus dem O'Reilly Verlag ans Herz legen. Ist locker geschrieben, und es gibt Übungen mit den Lösungen im Anhang.

Java ist auch eine sehr schöne Sprache. Und wenn du durch Perl am Programmieren gefallen gefunden hast, wäre Java genau die richtige Sprache um weiter zu machen.

gruss
christian

Verfasst: 15.03.2004 20:20:33
von marmeladebomber
python?

Hast du dir Python auch schon einmal angeschaut?
Ich würde eher zu Python als zu Perl tendieren.

Verfasst: 15.03.2004 21:30:08
von g-henna
Hi!

OK, ich muss zugeben, ich hab mich weder mit Java noch mit Perl so intensiv beschäftigt, um dir zu einem oder von einem abraten zu können. Aber von dem, was ich bisher so gesehen habe, find ich Python auch ein ganzes Stück besser. Klare Syntax, super-schnell zu proggen und gerade, wenn dir C++ zu kryptisch ist, kann ich Python nur empfehlen. Bücher dazu sind "Learning Python" von Mark Lutz von O'Reilly (kann man sich auch schneken, wenn man das python.org-Tutorial gelesen hat) und "Programming Python", auch von Mark Lutz und O'Reilly. Für Python gibt es auch viele Extra-Packages, z.B. für einfaches XML-Parsing, SQL-Benutzung, Spieleprogrammierung etc. Tu dir und mir nen Gefallen und guck's dir an... *grin*

Bye
g-henna

Verfasst: 16.03.2004 02:45:06
von Dookie
Hi,

ich schliess mich meinen beiden Vorrednern an, schau dir mal Python an. Es gibt auch ein deutsches Pythonforum
Ich kenn auch Java und Perl, hab aber von beiden schnell wieder die Finger gelassen ;)


Gruß

Dookie

Verfasst: 16.03.2004 07:00:21
von marmeladebomber
Ich mag Python am liebsten mit den wxWidgets => Plattforumunabhängig (OS/2, Macos/Linux/Windows...) ohne großen Aufwand.

eine kleine Einführung: http://wiki.wxpython.org/index.cgi/How_ ... 20wxPython

Verfasst: 16.03.2004 09:21:48
von Ruhollah
Am besten ist, du lernst Shell-Programmierung und C/C++. Dazu schaust du am besten mal bei http://www.c-plusplus.de. Das gibt's Lehrbücher im PDF-Format en masse. Wenn du C++ kannst, dann kannst du fast auch schon Java. Und Perl ist eine Mischung C/C++ und Bash-Programmierung.

Verfasst: 16.03.2004 09:44:39
von tylerD
Ich würde erst mal fragen, was du vorhast? Hast du schon Ideen was du umsetzen willst oder für was du deine Programmierkenntnisse einsetzen willst?
Eine Programmiersprache ist nun mal ein Werkzeug, und für manche Aufgabenstellungen eignen sich manche Werkzeuge besser. Dazu kommen dann noch die jeweiligen Vorlieben.

Falls du wirklich nur Programmieren lernen willst, ist es eigentlich egal, welche Sprache du nimmst. Am besten ist es dann sicherlich, wenn du dir ein Buch über allgemein Informatik hollst in dem die Grundlagen der Programmieung beschrieben sind (hab leider gerade kein gutes im Sinn). Die modernen Programmiersprachen nehmen sich auf dem Gebiet alle nicht viel, und die normalen Konstrukte sind alle vorhanden, haben halt bloß leicht unterschiedliche Syntax. Vielleicht ist es sogar besser wenn man sich anhand der Theorie 2 Sprachen anschaut. Dann lernt man das, was dahinter steckt meiner Meinung nach ehr.


cu

Verfasst: 16.03.2004 09:53:34
von emge
Ruhollah hat geschrieben:Am besten ist, du lernst Shell-Programmierung und C/C++. Dazu schaust du am besten mal bei http://www.c-plusplus.de. Das gibt's Lehrbücher im PDF-Format en masse. Wenn du C++ kannst, dann kannst du fast auch schon Java. Und Perl ist eine Mischung C/C++ und Bash-Programmierung.
Von Shell-Programmierung würde ich eher abraten. Erstens ist es portabel wie ein Betonklotz und zum zweiten möchte ich meinen, dass es für einen Anfänger nicht gerade dem Erlernen eines guten Programmierstils förderlich ist.

Anonsten finde ich es sinnvoll, eine Scriptsprache und eine Hochsprache zu beherrschen. Mit welcher man da anfängt ist m. E. zweitrangig. Ob Perl/Python/PHP/... auf der einen Seite oder Java/C++/... auf der anderen ist da eher dem Geschmack überlassen.

Grüße, Marco

Verfasst: 16.03.2004 09:54:02
von Bert
Ruhollah hat geschrieben:Am besten ist, du lernst Shell-Programmierung und C/C++. Dazu schaust du am besten mal bei http://www.c-plusplus.de. Das gibt's Lehrbücher im PDF-Format en masse. Wenn du C++ kannst, dann kannst du fast auch schon Java. Und Perl ist eine Mischung C/C++ und Bash-Programmierung.
Sorry, das ist das ist doch Unsinn. Die Syntax einer Sprache zu beherschen ist ja eine Sache. Wenn man sinnvoll programmieren will, dann muß man aber eben auch die zugehörigen Biblioteken kennen. Und die sind bei C++ und Java nun wirklich SEHR unterschiedlich (ich komme von C++ und hab so meine Probleme meinen Weg in den Java-libs zu finden)

Und shell Programmierung ist auch nicht gerade Plattformunabhängig. Das mag ja ok sein für kleine Scripte. Aber ich glaube nicht, das man damit das Programmieren lernen sollte. Gerade beim Lernen kommt es auf eine gewisse 'Sauberkeit' an. Java oder Python wären daher meine Empfehlung.

Verfasst: 16.03.2004 10:04:26
von s4p
Erst ein mal danke an allen fuer die Antworten
g-henna hat geschrieben:Hi!

Bücher dazu sind "Learning Python" von Mark Lutz von O'Reilly (kann man sich auch schneken, wenn man das python.org-Tutorial gelesen hat) und "Programming Python", auch von Mark Lutz und O'Reilly. Für Python gibt es auch viele Extra-Packages, z.B. für einfaches XML-Parsing, SQL-Benutzung, Spieleprogrammierung etc. Tu dir und mir nen Gefallen und guck's dir an... *grin*
Kann es sein das English deine lieblings Sprache ist ? ;)

thx, aber leider kann ich mit Englishen Tutors / Buechern nix anfangen :(

Ich komme zwar mit Englishen applikationen klar, aber fuer Buecher oder Tutorials reichts bei weitem nicht (mag diese sprache auch nicht wirklich)
tylerD hat geschrieben:Ich würde erst mal fragen, was du vorhast? Hast du schon Ideen was du umsetzen willst oder für was du deine Programmierkenntnisse einsetzen willst?
Eine Programmiersprache ist nun mal ein Werkzeug, und für manche Aufgabenstellungen eignen sich manche Werkzeuge besser. Dazu kommen dann noch die jeweiligen Vorlieben.
Wirklich eine idee habe ich noch nicht, aber in erster line moechte ich eine Sprache lernen um unter Linux etwas erstellen zu koennen, was mir arbeit abnehmen koennte, sprich: Scripts etc. die z.B. automatische Speicher kontrolle macht und logs und andere speicher fresser automatisch raus loescht (ich weiss dafuer gibs bereits applikationen aber war ja nur ein beispiel weil gerade nix anderes einfaellt)

Ich weiss das Java eigendlich fuer WebProgrammierung eingesetzt wird, aber wenn ich das richtig verstand was ich ab und zu hoerte / lass kann man mit Java auch mehr machen jedoch habe ich keine ahnung was man mit Java alles machen kann und ob es eine hilfreiche Porgrammiersprache unter Linux ist.

Aber ich schaetzte (korregiert mich wenn ich falsch liege) Java ist am besten geeignet wenn man eine Browser-Basierte Kontrolle Programmieren moechte, sprich das Linux dann ueber den Browser in den Bereichen kontrolliert wird welche in der Programmierung vorgesehen werden. Koennte dieses fuer die Arbeit an Linux von nutzen sein ? Oder eher Perl oder wie andere empfehlen Python ?

Ich hatte mir mal andere Meinungen zu Python in dem oben genanntem Forum angeschaut und es klinkt nicht schlecht, scheint rellativ einfach zu lernen zu sein aber kann diese auch sehr hilfreich bei Linux sein (siehe oben) bei vereinfachten Actionen unter Linux ? Ich habe unter anderem im Python Forum gelesen das Linux mehr auf Perl bassiert ist. Wie ich es verstanden habe soll Python dort eher einen anderen weg gehen als Kontroll Programmierung um kompliziertere Befehle mitels Applikation / Script zu vereinfachen.

Verfasst: 16.03.2004 10:18:38
von tylerD
Java macht für mich erst Sinn, wenn es eine richtige (ja schlagt mich, auch ein Script kann eine richtige Applikation sein) Applikation oder halt komplexe Webanwendungen verwendet wird.
Für die kleinen Helferchen im normalen Linuxalltag, sind sicherlich die genannten Perl, Python und ähnliche eine bessere Alternative. Ein kleines Script hab ich einfach schneller geschrieben als ein Javaprogramm. Und an Möglichkeiten für die Anbindung an ander Sachen fehlt es diesen Sprachen mitlerweile wohl auch nicht mehr (obwohl ich bei beiden nicht wirklich drin stecke). Es gibt wohl für so ziemlich jeden Anwendungszweck schon passende Bibliotheken. In Phython kann man wohl mittlerweile ganze KDE-Applikationen erstellen...

cu

Verfasst: 16.03.2004 10:35:44
von emge
s4p hat geschrieben:Ich weiss das Java eigendlich fuer WebProgrammierung eingesetzt wird,...
Brrrrr. Wer erzählt denn so einen Unsinn. So entstehen Legenden und Mythen, die man dann schwer wieder aus den Köpfen herausbekommt. ;-)

Java lässt sich an nahezu beliebigen Stellen einsetzen. Das es für die Programmierung von Webanwendungen gut geeignet ist, ist zwar prima, eine Beschränkung auf diesen Einsatzzweck wäre aber wirklich etwas unglücklich. Java ist zum Beispiel sehr gut geeignet, um Plattformübergreifende Clients zu entwicklen. Es wird auch sehr gern genommen, um verteilte Anwendungen zu realisieren. Java bietet eine hervorragende Datenbank-Schnittstelle, die es für die Entwicklung von Datenbankanwendungen empfiehlt.

Aus eigenen Erfahrungen fallen mir da eine ganze Menge Anwendungsfälle ein:
  • Jabber-Dienste
  • Middleware zur Kopplung heterogender DB-Umgebungen (z. B. IBM XWorlds, TransConnect der SQL-GmbH)
  • Plattformunabhängige Clients für DB-Anwendungen
  • DB-Replikationsengines
  • Entwicklungsumgebungen (Eclipse, Netbeans)
  • Kommunikationskomponenten (E-Mail/FTP/HTTP-DB-Kopplung)
  • Serverseitige Dokumentengenerierung (PDF, RTF,...)
Grüße, Marco

Verfasst: 16.03.2004 12:25:27
von jogix
Hidiho,

von Java mag ich persönlich abraten -- aber das ist wohl eher aus meiner Abneigung zu Java zu verstehen.
Wie angenehm ist es doch unter c++ mit Templates zu arbeiten oder dynamisch Objekte zu übergeben, deren Typen man nicht kennt. Auch an dieser Stelle die Nutzung eingebauter Datentypen. Unter Java muß man sich da mitunter ein wenig verrenken. Oder vielleicht liegts einfach daran, daß durch die c++ Erfahrung der Blick für Java getrübt ist?
However, ich finde c++ um einiges leistungsfähiger, schließlich benötigt man keinen Interpreter, der im übrigen einen riesigen Overhead aufbaut und zwar für jede einzelne Java-Applikation. Und portabel kann man unter c++ auch super programmieren.

Nun, durch die Uni habe ich einige Erfahrung, wie schwer sich viele tun, eine objektorientierte Sprache zu lernen, wenn sie noch nie programmiert haben. Es scheint nicht wirklich leicht zu sein, in Klassen und Onjekten zu denken. Und wenn die Sprache noch so "strikt obejktorientiert" ist wie Java (ja,ja, kein Vergleich zu Smalltalk,...), dann wird's noch schwerer.

Da auch die Linux-Programmierung ganz vorne steht, aber noch keine direkte Richtung, in die's gehen soll, würde ich persönlich das Erlernen einer imperativen Sprache empfehlen, wie z.B. C oder Pascal. C ist sicherlich brauchbarer und verbreiteter, Pascal einfacher. Zudem steht z.B. in den GNU-Coding-Standards [1] ein ganz netter Spruch zur Kenntnis von C ;)
Eine imperative Sprache läßt sich IMHO vergleichsweise einfach lernen. Hat man dann ein wenig Erfahrung mit Programmierung allgemein gesammelt, auch mal systemnah geproggt und weiß, wohin es in Zukunft gehen soll, kann man dann die "passende" Sprache lernen, also z.B. Perl, C++, Python,...
Zudem lassen sich IMHO in C die kleinen Helferlein prima hacken -- wobei das auch sicherlich geschmacksache ist.

Ach, und BTW, sollte systemnahe Programmierung wirklich von Interesse sein, kann ich nur Assembler empfehlen. Nicht direkt zum Programmieren, aber zum generellen Verständniss dessen, was intern abgeht. Insbesondere zur Optimierung eignet sich trotz allem immer wieder der gute alte Inline-Assembler :)


[1] http://www.gnu.org/prep/standards.html

Verfasst: 16.03.2004 12:56:56
von suntsu
@jogix: Also Templates und Generics versteht Java in der neuen Version imo schon.

gruss
manuel

Verfasst: 16.03.2004 13:24:15
von Dookie
Für Python gibts auch deutsche Tutorials und Seiten.
http://www.lernnetz-sh.de/opensource/do ... ernen.html
http://www.way2python.de/
http://www.freenetpages.co.uk/hp/alan.gauld/german/

um englische Fachausdrücke wirst Du aber bei keiner Sprache herumkommen.


Gruß

Dookie

Verfasst: 16.03.2004 13:37:23
von s4p
Danke, werde ich mir mal anschauen :)
Dookie hat geschrieben:um englische Fachausdrücke wirst Du aber bei keiner Sprache herumkommen.
Das ist mir klar, wie gesagt, ich habe nur problemme bei englishen Tutorials und Buechern, aber sonst um Programme oder paar Ausdruecke zu verstehen ehr weniger. Ansonsten gibs bei leo ja ein Wort-uebersetzter.

Verfasst: 16.03.2004 14:04:11
von spiffi
suntsu hat geschrieben:@jogix: Also Templates und Generics versteht Java in der neuen Version imo schon.
Nein, Java kennt keine Templates. Und Generics bieten gerade einmal einen minimalen Teilaspekt von dem, was Templates zu leisten vermögen.

Trotzdem (oder gerade deswegen) würde ich von C++ als Einstieg für einen Anfänger abraten. C++ ist wesentlich komplexer als Java und hält gerade für den Anfänger so manchen Fallstrick bereit.

Verfasst: 16.03.2004 15:50:10
von jogix
spiffi hat geschrieben: Trotzdem (oder gerade deswegen) würde ich von C++ als Einstieg für einen Anfänger abraten. C++ ist wesentlich komplexer als Java und hält gerade für den Anfänger so manchen Fallstrick bereit.
Prinzipiell rate ich ich schon von einer objektorientierten Sprache allgemein und c++ im besonderen ab, aber ich denke schon, daß c++ durchaus für einen Anfänger geeignet ist / sein kann.

Stroustrup schreibt in seinem Standardwerk, daß der Lernerfolg linear ist. Das sehe ich durchaus auch so. Man kann sich ja für den Anfang auf die "einfachen" Elemente beschränken, und die fortgeschritteneren Sprachaspekte später mit hinzu nehmen. Ich nehme mal an, daß die meisten c++-Einsteigerbücher so aufgebaut sind.

Jedoch finde ich zum Einstieg eine imperative Sprache das non-plus-ultra. Kann man doch die Konzepte der Programmierung erlernen und auch langsam das strukturierte Entwickeln, ohne gleich komplett in Objekten denken und designen zu müssen. IMHO läßt sich sinnvoll oo nur entwickeln, wenn man von Anfang an designt, das jedoch ist für den Einsteiger meist die allergrößte Hürde.

Verfasst: 16.03.2004 23:30:26
von s4p
so, also allen viellen Dank fuer eure Meinungen dazu, also ich werde mich an Python heranwagen, nach dem was ich hier und auch im anderem Forum lass, ist Python erst mal am besten fuer mich, spaeter kann ich ja dann noch eine andere Sprache dazu lernen :)

MfG
s4p