Skip to content

Latest commit

 

History

History
65 lines (34 loc) · 9.46 KB

File metadata and controls

65 lines (34 loc) · 9.46 KB

Metadaten

Verglichene Sprachen: Java, Python Seniorität: Senior Domäne: Desktop Applikationen, Datenanalyse

Transkript

Vorgespräch

I: Zum Einstieg du arbeitest ja Momentan als Softwareentwickler. Würdest du sagen deine Stelle ist eine Junior oder Senior stelle.

B: Also das nennt sich Senior Consultant aber ist eigentlich eine Senior Entwicklerstelle

I: Und welche Programmiersprachen hast du bisher mal länger als ein Jahr, sagen wir mal fast täglich benutzt.

B: Das wäre dann Java und Python.

I: Und was benutzt du jetzt in letzter Zeit am Häufigsten. Beides im Wechsel ?

B: Also es ist vorwiegend Python, Momentan. Nur ein kleiner Teil mit Java.

I: Und welche Sprache hast du zuerst gelernt? Wahrscheinlich Java?

B: Ganz am Anfang war C++.

I: Bei den nächsten Fragen würden wir zwei Sprachen vergleichen. das würde sich dann auf auf Phyton und Java beziehen. Gab es da einen Weg von der einen Sprache zur anderen oder war das eher so paralell?

B: Paralell. Das ist auch immernoch total paralell. Also Java hat sich entwickelt aus C++, so kann man das sagen. Das war dann in der Uni noch. Im Grundstudium hat es mit C++ angefangen und in den höheren Semestern wurde dann umgeschwenkt. So kam ich auch in Java rein. Wenn dir das Hilft an der Stelle. Und mit dem (Java) hab ich dann auch weitergemacht. Auch meine ersten Jobs.

I: Welche von den Sprachen würdest du, falls es das gibt, als deine Lieblingssprache bezeichnen. Hast du das Präferenzen.

B: Java.

I: Und woran würdest du das festmachen.

B: Es ist sehr berechenbar was man tut, also nicht berechnbar von der Laufzeit, sondern es ist sehr klar wenn man was schreibt, was los ist. Also mit dem Typsystem das gefällt mir ganz gut und totale Toolunterstützung in dem Bereich. (unverständlich) aus dem Opensource bereich, die ganze Umgebung die finde ich sehr gut. DIe Standartbibliotheken, das Ökosystem allgemein, du bekommt im Open Source Bereich so gut wie alles was du brauchst, weniger die Sprache selbst, Ich benutzt da nur ganz normale Features, Aber einfach das du so ganz schnell Produktiv sein kannst mit den Bibliotheken. Das gefällt mir da sehr gut.

I: Würdest du da auch eine Unterscheidung machen zwischen Python udn Java an der Stelle was diese Gechwindigkeit angeht.

B: Ähm das würde ich nicht machen. Bei mir ist eben Python ist eher ..., also Java benutzt ich im Unternehmensumfeld für klassische Softwarentwicklung und Python nimm ich eher für Datenanalysen. Ich mach jetzt keine Anwendungsentwicklung in Python per se, sondern nur diese Analysegeschichten und da, also ich muss halt kein Profiling machen Beispielsweise, also es ist mir egal ob es das in Python gibt, oder so Performanceanalysen das brauch ich alles nicht, aber ist mit Java Bereich wieder wichtig, weil ich da Anwendungen schreib für mehrere Nutzer. Deswegen setzt ich da auf Java eben im konservaten Bereich eher und bin da auch mit den Bibliotheken ganz zufrieden die es da so gibt. In Python hatte ich da auch keine Probleme die Bibliotheken zu finden die ich Brauche zumindest für den eingeschränken Bereich in dem ich Python nutze. Ein Bauchgefühl ist noch das ich python in Unternehmenskritischen Anwendungen eher nicht so einsetzt würde weil mir da auch die Erfahrung fehlt aber auch weil das das Tooling nicht so ausgereift ist.

I: Du hast das Bauchgefühl ja selbst schon angesprochen. Die restlichen Argumente waren bisher ja eher rationale Argumente. Gibt es denn noch sachen bei denen du eher sagen würdest das wäre jetzt eher eine emotionale Geschichte. Das sich eine Sprache besser anfühlt.

B: Ja ich zögere da, weil das macht eigentlich das Framework aus das ich verwende, Ich benutzt ja Pandas, das Datenanalyseframework in Python und wenn ich mit dem in der Kombination Python und Pandas arbeite und dann noch mit diesem Jupyter Notebook System, dann ist richtig schnell für das was ich machen muss, deswegen nutze ich das so gerne, weil wenn ich im Datenanalyse bereich etwas machen muss will ich mich nicht um Typen, nicht um Classpfade kümmern muss sondern es funktioniert einfach in der sehr gut abgestimmten Umgegung , die sich sehr gut bewährt hat für den Einsatzbereich den ich eben in dem Datenanalysethema habe.

I: Hast du vielleicht noch einen Eindruck zu den Communitykulturen in den beiden Sprachen mitbekommen hast, gibt es da unterschiede?

B: Ja, Gut also es ist auch wieder sehr Datenanalyselastig im Python bereich. Wenn ich zum Beispiel auf Meetups gehe ist der Frauenanteil sehr hoch, das liegt aber daran, das wir da sehr nah an Domänen bzw. Betriebswirtschaftlichenanalysen sind. Also die meisten Fraue kommen da eher aus der Volkswirtschaft oder von der klassichen Betriebswirtschaftslehre oder auch Bioinformatik. Bei den Meetups geht da richtig gut was, da man da einfach klar an einem Ziel arbeitet eine Analyse durchzuführen, da ist dann die Programmiersprache im Hintergrund und eher die Fachlichkeit im Vordergrund und man möchte gerne etwas tun damit. Das würde ich jetzt da bemerkten. Also der Frauenanteil das der auf jedenfall höher ist. Vom Feeling der COmmunity ist Java sehr fragmentiert wenn man Richtung Tutorials geht, bei Python, wenn man da wieder in den Datenanalyse bereich geht, da gibt nicht so viel verschiedenes. Bei Java ist es so, da macht jeder was anderes wenn er etwas Vorstellt udn bei Pyhton ist es ziemlich fixiert, also die Tutorials ähneln sich alle, Also das kommt natürlcih wieder auf den Datenanalyse bereich da ist es klar das kann man da nicht so vergleich. Im Java Bereich seh ich in der Community noch das da viel kommt von firmen selbst die da Unterstützen und auch ihre Mitarbeiter entsprechend im Open Source bereich abstellen und bei Pyhton, insbesondere bei Pandas seh ich nciht so das da der kommerzielle Hintergrund so da ist, also da wird sehr viel auf Freiwilliger Basis gemacht. Ohne das jetzt große Firmen dahinter stecken. Das einzige das mir jetzt da bekannt ist, ist Anaconda die das ein bisschen was machen in diesem Bereich, aber das sieht im Java Bereich total anders aus, weil da gleich die Supportverträge für die ganze Server und so mit hast. Da ist das Geschäftsmodell viel klarer, da wird fast jeder Geld verdienen wollen, das würde ich da noch sehen das da noch mehr kommerzieller Support da ist, im Open Soruce Bereich bzw. in der COmmunity. Vom Feeling wie auf Mailinglisten oder auf Github Issues miteinander umgegangen wird, also auf der Zwischenmenschlichen Basis, ist es glaube ich ziemlich gleich. Wobei die Java Community natürlich anspruchsvoller ist. Die Erwartungen an die Bibliotheken ist das muss funktionieren und dann kommt eben auch komische Suportnachfragen an Leute die eigentlich kein Geld damit verdienen mit den ganzen Opensource projekten. Bei Python fühlt es sich eher so an als ob da klar ist das das alles auf freiwilliger Basis entstanden ist was da an Open Source da ist.

I: Gibt es bei den beiden Sprachen ein Feature, gerne auch auf Syntaxeben oder auch andere Bereiche, das es in der einen Sprache gibt und in der anderen nicht. Also bis vor ein paar Jahren währen das vielleicht noch Lambdas gewesen.

B: (überlegt) Das sind alles so marginalitäten, Also bei Pyhton ist ja alles ein Objekt, das macht es ein bisschen aus. das alles mehr strukturierter ist, aber das ist jetzt nicht wirklich ausschlaggeben. (überlegt) also die Multithreading fähigkeitn, also Paralellität von Java fühlt sich eher so out of the box an. Bei Pyhton ist das eher so das man das noch dazu packen musst. Das würde ich noch sagen. In Java ist das halt alles wirklich gut integriert. Und in Python fühlt es sich so an, also ich hab da noch nicht so viel in die Richtung gemacht nur mal versucht, aber man muss sehr viel Hand anlegen das es überhaupt funktioniert.

I: Vielleicht noch ein anderer Aspekt zum Thema Berufswahl/Arbeitgeberwahl. Wodurch wurde bei die Festgelegt das du Java benutzt. Also hast du dir einen Job gesucht weil du Java benutzten willst und das dort kannst oder war es eher umgekehrt das du zu Java gekommen bist weil der Job das eben vorgibt.

B: Also der erste Job hat es nicht vorgegeben. Da haben wir alles gemacht. Wir haben uns bloß im Team langsam dahin entwickeltn das wir gesagt haben, wir nehmen Java. Also gestartet sind wir mit C und haben auch C# gemacht aber dann sind wir mehr in die Webanwendungsschiene reingeraten und dann haben wir für Java entschieden. Und den zweiten Job hab ich dann gleich mit dem Java Hintergrund gewählt.

I: In welche Applikationdomäne. Sind das Desktopapplikationen oder webapplikationen die du entwickelst. Das im Javabereich sind Serverapplikationen.

B: Also das im java Bereich sind Serverapplikationen. Also ganz klassichen Webanwendungen.

I: Ok, hast du noch etwas, von dem du denkst das es zu dem Themenkomplex noch etwas beitragen wprden. Ansonsten währe ich mit meinen Fragen durch.

B: Also was ich noch sagen kann, mit den Datenanalysegeschichten, ich versuch schon andauernd in Java das zu machen, weil ich speziellen Fall diese spezielle Nische in der Datenanalyse haben die das ganze auf Softwaredaten fokussiert. Und da dachte ich mir immer für den Javaentwickler wenn er in seiner Programmiersprache entwickeln kann, ich probier das immer wieder aber, das funktioniert nicht gut, das passt irgendwie nicht dazu. Also unterm Strich würde man vielleicht sagen, Pyhton hat seine Berechtigung im Datenanalyse Umfeld. Nichts desto trotz würde ich trotzdem noch versuchen das in Java noch alles nachzuprogrammieren aber das macht mehr Arbeit als das es Spaß macht.