Welche Zweitsprache? Python oder Perl?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Colttt
Beiträge: 2986
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Welche Zweitsprache? Python oder Perl?

Beitrag von Colttt » 11.02.2014 21:47:52

Hallo,

Ich würde mir gerne neben bash/shell programmieren noch eine Sprache näher an gucken.
Hat da jmd eine Empfehlung? Viele raten zu perl oder Python..

Schon mal danke für eure Hilfe!
Zuletzt geändert von Colttt am 12.02.2014 12:27:14, insgesamt 1-mal geändert.
Debian-Nutzer :D

ZABBIX Certified Specialist

schorschruffneck
Beiträge: 174
Registriert: 29.04.2012 22:55:06

-----------------------------------------------------

Beitrag von schorschruffneck » 11.02.2014 21:58:28

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zuletzt geändert von schorschruffneck am 06.06.2014 10:51:49, insgesamt 1-mal geändert.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Welche Zweitsprache?

Beitrag von novalix » 11.02.2014 23:15:03

Hi,
"näher angucken" kann vielerlei heissen.
Wenn Du eine Leidenschaft für konzeptionelle Eleganz füttern willst, bieten sich Sprachen der Lispfamilie, Haskell, OCaml und eingeschränkt auch Python an.
Willst Du hingegen gezielt Deinen Werkzeugkoffer für z.B. System{administration,programmierung} oder Webentwicklung aufrüsten, sind Perl, PHP, Ruby und auch die C-Familie zielführende Möglichkeiten.
Willst Du beide Seiten zu ihrem Recht kommen lassen, empfehle ich Practical Common Lisp oder eintauchen in Python.

Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Welche Zweitsprache?

Beitrag von wanne » 12.02.2014 01:13:13

Größere Pojekte sind dann irgendwann doch alle in C(++) oder selteener Java. Vor allem in der Linux-Desktop Welt.
Quick und dirty lösungen für den Einaleinsatz sind dann eher in perl,Python oder Ruby.
Im Web ist PHP immr noch immer absolut dominant und natürlich für den Client JS,HTML und CSS.
novalix hat geschrieben:Practical Common Lisp
Über elleganz kann man sich streiten. Aber für systemadministration ist das eher ungeeignet.
rot: Moderator wanne spricht, default: User wanne spricht.

Colttt
Beiträge: 2986
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Welche Zweitsprache?

Beitrag von Colttt » 12.02.2014 08:01:56

novalix hat geschrieben:[...]
Willst Du hingegen gezielt Deinen Werkzeugkoffer für z.B. System{administration,programmierung} oder Webentwicklung aufrüsten, sind Perl, PHP, Ruby und auch die C-Familie zielführende Möglichkeiten.[...]
sorry das hätte ich erwähnen sollen.. es geht hier primär um die Linuxadministration..
Debian-Nutzer :D

ZABBIX Certified Specialist

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Welche Zweitsprache?

Beitrag von Liffi » 12.02.2014 09:01:48

Kann sowohl Perl als auch Python uneingeschränkt empfehlen. Beide sind unter allen üblichen Linuxen (und zumindest Perl auch unter den meisten Unixen) vorinstalliert und deutlich komfortabler als reine Shellskripte.

Colttt
Beiträge: 2986
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Welche Zweitsprache?

Beitrag von Colttt » 12.02.2014 12:27:01

ok.. und welche von beiden? python oder perl?
Debian-Nutzer :D

ZABBIX Certified Specialist

ctwx
Beiträge: 321
Registriert: 04.04.2010 23:06:55
Lizenz eigener Beiträge: MIT Lizenz

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von ctwx » 12.02.2014 12:32:12

Perl, integrierte Reguläre Ausdrücke. Sind auch überall anders mittlerweile Nutzbar (C++, Python, Ruby, Javascript, alle haben es irgendwie nun auch drin). Ansonsten wenn du eher auf Objektorientiert stehst Python.

(Wobei ich persönlich, wenn ich zwischen den beiden eher Perl wählen würde, weil ich Einrückung und damit die Syntax von Python nicht mag. Da finde ich Ruby z.B. deutlich "schöner".)

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von wanne » 12.02.2014 12:49:59

perl ist noch die weitaus verbreitere Sprache. Stirbt aber im Moment. Deswegen würde ich eher Python empfehlen, auch wenn ich's auch nicht so gerne mag. (Wobei ich es mir auch nur flüchtig angeguckt habe.)
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Welche Zweitsprache?

Beitrag von novalix » 12.02.2014 13:11:25

wanne hat geschrieben:
novalix hat geschrieben:Practical Common Lisp
Über elleganz kann man sich streiten. Aber für systemadministration ist das eher ungeeignet.
Der Threadersteller hat sein Anliegen ja zwischenzeitlich spezifiziert. Für seine konkreten Bedürfnisse ist Lisp wahrscheinlich nicht die erste Wahl. Das reflektiert mein erster Post nach meiner Lesart allerdings durchaus.
Die grundsätzliche Einschätzung Common Lisp sei für Systemprogrammierung und -administration ungeeignet, ist mir zu vorschnell.
Um da genaueres heraus zu finden, könnte man, wenn es denn die Zeit erlaubt, oben verlinktes Buch einfach mal lesen.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

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

Re: Welche Zweitsprache?

Beitrag von Meillo » 13.02.2014 09:23:19

Colttt hat geschrieben:ok.. und welche von beiden? python oder perl?
Ich haette auch Perl oder Python empfohlen. Zwischen diesen wuerde ich dann nach persoenlicher Vorliebe oder trivial-praktischen Gruenden entscheiden ... oder vielleicht auf Grund der verschiedenen Philosophien: In Perl TIMTOWTDI. Python ist da ``geradliniger'' bzw. weniger ``kunstvoll''.
Use ed once in a while!

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Liffi » 13.02.2014 10:10:55

Perl ist von der Syntax her etwas näher an der Shell. Deshalb auch meine Empfehlung für dich: Perl.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von uname » 13.02.2014 19:06:26

Ich nutze Perl. Neben Bash halte ich eine Sprache wie Perl oder Python für notwendig, da C oder C++ für gewisse Zwecke nicht geeignet ist. Leider habe ich ein paar Perl-Programme (vielleicht je eine Seite), die ich heute nicht mehr verstehe ;-)

Benutzeravatar
mragucci
Beiträge: 598
Registriert: 08.09.2004 03:21:24
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Endor
Kontaktdaten:

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von mragucci » 13.02.2014 19:12:23

uname hat geschrieben:Ich nutze Perl. Neben Bash halte ich eine Sprache wie Perl oder Python für notwendig, da C oder C++ für gewisse Zwecke nicht geeignet ist. Leider habe ich ein paar Perl-Programme (vielleicht je eine Seite), die ich heute nicht mehr verstehe ;-)
Perl ist ja auch eine "write once, read never again" Sprache :mrgreen:
Mein persönliches Empfinden gegenüber Perl ist ja, dass es seine Sternzeiten schon hatte... So in den 90er Jahren. Python ist gerade gewaltig auf dem Vormarsch und ich würde eher auf diesen Zug springen. Aber das ist eben nur meine Meinung, ich halte mich sowieso eher an Java und Javascript
Ich will im Schlaf sterben - Wie mein Opa...
Und nicht weinend und schreiend wie sein Beifahrer!
-----
https://www.whisperedshouts.de

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von uname » 13.02.2014 19:53:36

Die Zeit von Perl mag vorbei sein. Wahrscheinlich wie beim Editor Vim, den ich erst vor wenigen Jahren für mich entdeckt habe. Somit am besten die Konzepte vergleichen und selbst entscheiden.

Colttt
Beiträge: 2986
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: AW: Welche Zweitsprache? Python oder Perl?

Beitrag von Colttt » 13.02.2014 20:53:18

Ohh man ihr macht es einen echt nicht einfach..

Perl ist öfters auf Systemen installiert(Linux,solaris,BSD).. Python ist logischer zu programmieren und ist mächtiger (wenn man sich die Softwareprojekte so anschaut)
Debian-Nutzer :D

ZABBIX Certified Specialist

Radfahrer

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Radfahrer » 13.02.2014 21:04:19

ctwx hat geschrieben: (Wobei ich persönlich, wenn ich zwischen den beiden eher Perl wählen würde, weil ich Einrückung und damit die Syntax von Python nicht mag.
Wie sich die Geschmäcker doch unterscheiden. :D
Ich empfinde gerade die Einrückungen und die dadurch wegfallenden Klammer-Orgien bei Python als sehr elegant. Auch sonst finde ich die Python-Syntax sehr schön.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von uname » 13.02.2014 21:05:20

Ich habe mal ein Beispiel rausgesucht. Die rekursive Berechnung von 5 Fakultät (5!) also im Prinzip 5! = 5 * 4 * 3 * 2 * 1

Perl:

Code: Alles auswählen

#!/usr/bin/perl -w

sub fakul
 {
  my $x=$_[0];
  if($x)     
    {
      return $x * fakul($x-1);  
    }
  return 1;
 }

print fakul(5) . "\n";
Python:

Code: Alles auswählen

#!/usr/bin/python

def fakul (n):
    if n == 1:
        return 1
    else:
        res = n * fakul (n-1)
        return res

print(fakul(5))
Man muss dazu sagen, dass ich die Beispiele im Internet gefunden habe. Perl wartet auf den Wert 0 und gibt dann 1 zurück. Python hat als Rekursions-Ende den Wert 1. Ich denke auffällig ist vor allem, dass man bei Perl bei den Variablen ein $ vorschreibt. Dafür gefallen mir die geschweiften Klammern. Leider habe ich kein Beispiel welches objektorientiert arbeitet oder ein schönes Beispiel mit Hashes.
Zuletzt geändert von uname am 13.02.2014 21:10:03, insgesamt 3-mal geändert.

Radfahrer

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Radfahrer » 13.02.2014 21:07:54

Jepp, schönes Beispiel.
Ich finde da den Python-Code sehr viel eleganter.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von wanne » 14.02.2014 05:19:15

Das ist elegent:

Code: Alles auswählen

use List::Util qw(reduce);

$n = shift;
print reduce {$a * $b} 1..$n;
Kein Funktionsoverhead kein nichts. Und dabei vermutlich um längen schneller.
Wobei python auch fold könnte.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von peschmae » 14.02.2014 09:13:46

Falls jemand nach einem Beispiel für die Unleserlichkeit von Perl gefragt hätte, wäre das die Richtige Antwort gewesen ;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Radfahrer

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Radfahrer » 14.02.2014 09:51:05

Ich hatte eigentlich auch gedacht, dass elegant nicht gleichbedeutend mit unverständlich. Elegant heißt auch nicht möglichst wenig Zeilen. :mrgreen:

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Liffi » 14.02.2014 11:01:27

Unleserlich ist eher sowas (valides Perl):

Code: Alles auswählen

    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';
Auch wenn python auf dem Vormarsch ist, würde ich es nicht so sehen, dass perl deswegen komplett an Bedeutung verliert. CPAN bietet so unfassbar viel, das muss Python erst mal aufholen :-). Auch heute gibt es noch Firmen, die auf Perl setzen (z.B. xing oder booking.com).

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

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Meillo » 14.02.2014 12:18:51

Wie konstruktiv ist die Diskussion zwischen Perl und Python denn noch? Das ist doch nicht anders als Emacs vs. vi: Eine Glaubensfrage, da man sachlich kein Ergebnis finden wird. Also lassen wir das ...
Use ed once in a while!

Radfahrer

Re: Welche Zweitsprache? Python oder Perl?

Beitrag von Radfahrer » 14.02.2014 12:22:53

Stimmt. Muss halt jeder selber ausprobieren und sich eine eigene Meinung bilden.

Wobei vim natürlich um Welten besser ist als emacs. :twisted:

Antworten