[Teil-/Vollzeit] - Web-Entwickler bei geizhals.at (haupts. Perl)

  • Also, wenn man sich als Programmierer bewirbt, dann sollte man schon in der Lage sein lesbaren Code zu schreiben, egal ob in Perl oder Python. Ich habe auch schon viel unleserlichen Code in Python gesehen und mich stört es an Python, dass man da oft das Problem hat, dass Sachen, die man in Perl mal schnell, simpel ausdrückt in Python so "explizit" schreibt, dass man den Code drei mal lesen muss, dass alles da ist.

    Korrekt einrücken ist toll, aber mit Code-Lesbarkeit hat das noch recht wenig zu tun. Lediglich eine Möglichkeit zu haben Code zu schreiben kann da sehr behindernd sein.

    Klar, wenn man gerade erst begonnen hat und kaum Erfahrung mit Programmierung hat kann man in Perl viel, viel einfacher unleserlichen Code, der trotzdem funktioniert schreiben. Allerdings sollte man bedenken, dass man Perl auch ganz einfach im selben Stil, wie sein Pythonprogramm schreiben kann, nur dass man auch mehr Freiheiten hat. Mich stört der Elitismus, der simple Dinge, wie den ++ Operator als zu kompliziert darstellt schon eher, oder dass man einen Lambda-Hack braucht, während Perl vollwertige Clousers (im funktionalen Sinn) hat da deutlich mehr. Und Python hat auch viel unreines, wie zum Beispiel, dass Print ein Statement und keine Funktion ist, nur damit Hello World schöner aussieht oder dass es eben NICHT durchgehend objektorientiert ist. Jedem das Seine, aber ich würde Python nicht als das Maß aller Dinge sehen - genau so wenig wie Perl.

    Hatte aber auch schon selbst viel Freude mit Python und vielen anderen Sprachen, also nichts für ungut. Die Leute, die Sprachen entwerfen denken sich für gewöhnlich ja etwas dabei. Sie ticken nur alle ein wenig anders.

    Einmal editiert, zuletzt von reezer (14. Dezember 2012 um 07:16)

  • Die Leute, die Sprachen entwerfen denken sich für gewöhnlich ja etwas dabei. Sie ticken nur alle ein wenig anders.

    Wobei die Entwurfsphase bei Perl schon 25 Jahre her ist und seitdem viel Zeug drangepappt wurde, das einen ganz anderen Zweck verfolgt als die ursprüngliche Sprache - so ist halt ein ziemlich problematisches "Etwas" entstanden, das nicht einmal mehr formal spezifizierbar ist, kaum für eine Neuimplementierung geeignet ist und auch m.E. aus diesem Grund stagniert. Java hat mittlerweile ja auch einige Entwicklungsschritte durchgemacht und dadurch diverse Auswüchse (http://static.springsource.org/spring/docs/2.…actoryBean.html ...), aber zu mehr Disziplin und eher sauberem Code verleitet es noch immer (mit dem Nachteil, dass man so viel tippen und viel zu viel XML editieren muss!).

    Aber für ein Unternehmen ist unter'm Strich nur interessant, wie a) produktiv (über die gesamte Lebensdauer der Codebase, das können schon mal 10+ Jahre sein, also spielt Wartbarkeit/Lesbarkeit eine große Rolle) die Leute mit der Sprache sind und b) wie sicher und performant der Code bedingt durch die Sprache/Plattform in der Praxis ist (PHP-Exploits, oder solche Sachen: http://www.ocert.org/advisories/ocert-2011-003.html oder auch von C bekannte buffer overflows weil selbst die kompetentesten Programmierer manchmal einfach faul sind und es viel zu einfach ist, so eine Lücke zu bauen).

    Der Rest ist dann Geschmackssache, da sollte man aber auch mal nachgeben können (ich kann's ...).

  • Das ist eine zweischneidige Sache, finde ich. Man ist dadurch auch viel leichter ersetzbar und konkurriert mit einem Überangebot an Java-Programmierern (mit einem breiten Qualifikationsspektrum). Zudem dürfte man als Java-Entwickler aufgrund dessen eher weniger verdienen.

    Ich frage mich aber: macht das wirklich Spaß, in Java zu programmieren? ;)


    solche Aussagen produziere ich am Fließband ;)
    a) Ferrari Verkäufer verdienen i.d.Regel mehr wie VW-Verkäufer, sind aber schwer ersetzbar.
    b) Gute Trüffelschweine bringen mehr Rendite; hingegen eignen sich Hausschweine besser zum verzehr, da sie keine bzw. nur schwer trüffel finden können ;)
    c) ...

  • [Blockierte Grafik: http://i.imgur.com/BOc6q.jpg]

    Java ist geil.


    Entschuldigung, aber was ist dies für ein Unsinn ? Eine Exception soll heißen, dass eine Sprache gut oder schlecht ist ? Jede Sprache hat bitte eine gewisse Entstehungshistorie, Zweck, Haupteinsatzbereich etc. Es ist aus meiner Sicht gut, dass man heutzutage aus vielen Sprachen wählen kann.... deswegen sollte man für den jeweiligen Zweck/Kd passende Sprache einsetzen. Ich glaube nicht, dass Java die beste Sprache aller Zeiten ist, es ist aber sicherlich auch keine schlechte Sprache. Java lehnt seine Syntax an die der Programmiersprache C++. Im Gegensatz zu C++ wurden komplexe Konstrukte Konstrukte wie Mehrfachvererbung entfernt. Heißt es jetzt, dass C++ eine "schlechtere" Sprache ist ? Ist C eine schlechte Sprache ? Java ist halt momentan eine der größten Mainstream-Sprachen, niemand zwingt Dich aber, sie auch aktiv einzusetzen. Soweit Du beim Kd Python oder was auch immer durchsetzen kannst, programmiere Dein Projekt halt in Python/Perl. Es interessiert kein Schwein, was der eine oder andere Entwickler in seinen privaten Projekten einsetzt. Dies ist gleich wie die ewigen Apple VS Samsung Kriege.... ist ein Auto "besser" als ein Fahrrad ? Bzw. ist ein Flugzeug besser als ein Hubschrauber ?

    Ich persönlich bin z.B. kein Fan von "kleinen, effektiven Skriptsprachen".... gebe aber offen zu, dass der Hauptgrund auch darin liegen kann, dass ich sie eben nicht gut kenne bzw. in diesem Bereich halt bissl konservativ bin. Wenn man auch eine gewisse Sprache gut kennt, ist man eh' relativ schnell. Natürlich sollte man neue Dinge lernen - mmn ist es aber besser, einen gewissen Tech-Stack gut zu beherrschein, als in jedem Bereich die Grundlagen zu kennen. Es gibt heutzutage so viele verschiedene bessere oder schlechtere Technologien, dass Du sowieso nicht "alles" ordentlich beherrschen kannst. Abgesehen davon glaube ich nicht, dass Du - nur deswegen weil Du was anderes einsetzen würdest, deutlich effektiver bist. Ein guter Entwickler ist ein guter Entwickler und ein schlechter Entwickler bleibt ein schlechter Entwickler, abgesehen von der Sprache, die er einsetzen würde.

    Außerdem gibt es auch andere Gründe, die man erwägen muss. Es ist zwar schön, dass Du in "irgendwas" super schnell entwickeln kannst, das Ding wird man aber auch warten müssen etc.... im kommerziellen Bereich wirst Du kaum irgendeine exotische Sprache einsetzen können, weil die dann einfach keine Entwickler finden, die Dein Produkt verwalten können. Etc etc.

    Falls sich im Mainstreambereich in der Zukunft eine andere Sprache durchsetzen wird, werden gute Entwickler halt auf die neue Sprache umsteigen. Ich verstehe nicht diese ewige "Language Wars". Verwende halt, was Dir für Deine Sache gut passt und sei glücklich damit.

    Und: btw. es ist in diesem Fall eh ein schlechter Programmierstyl, dass solche Exceptions direkt das Front-End erreichen. Normalerweise gehören solche Dinge in die Console bzw. Log. Der Kunde sollte nur eine "Technical Exception"...bitte wenden Sie sich an den Administrator oder so ähnlich sehen. D.h. der Entwickler, der dieses Ding programmiert hat, war anscheinend kein erfahrener Entwickler.... und deswegen ist es aus Deiner Sicht unfair, anhand dessen die Qualität einer jew. Sprache zu beurteilen.


    http://javarevisited.blogspot.sk/2011/06/noclas…ception-in.html

    7 Mal editiert, zuletzt von Martin Mintál (14. Dezember 2012 um 15:06)

  • Was soll das Beispiel jetzt zeigen? Dass SP, erst recht der 2007er, eigenwillig ist? Oder doch eher dass der Admin die falschen Permissions gesetzt hat? Jedenfalls kann man daraus wohl ned schließen dass SQL ne schlechte DB Sprache ist^^

    :(){ :|:&};:

  • Was soll das Beispiel jetzt zeigen? Dass SP, erst recht der 2007er, eigenwillig ist? Oder doch eher dass der Admin die falschen Permissions gesetzt hat? Jedenfalls kann man daraus wohl ned schließen dass SQL ne schlechte DB Sprache ist^^


    Ja, genau das habe ich eben gemeint! (Analogie zum vorigen Bild mit Java Exception)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!