Verglichene Sprachen: Java, C++ Seniorität: Senior Domäne: Desktop Applikationen, Embedded, Server Applikationen
I: Also erstmal zum Einstieg, du arbeitest momentan als Softwareentwickler und da bist du eher auf einer Junior oder Senior stellen.
B:Senior,
I: Welche Programmiersprachen hast du mal länger als 1 Jahr täglich eingesetzt.
B: Java, C, C++, Perl
I: Und welchem kontext war das dann jeweils immer ein Arbeitskontext
B: Studium, Arbeit und dann Open Source Linux sachen.
I: Und welche Sprachen waren so die letzten Sprachen, Java war ja das aktuellste, und was war davor
B: Naja ich hab jetzt nicht direkt Phase wo ich eine bestimmte Sprache machen, ich benutzt die alle noch Paralell, jetzt weniger Perl, eher Java. Die Attraktivität von manchen Sprachen lässt ja auch manchmal nach. Und C++ auch gerade weniger aber auch noch ab und zu.
I: Wenn wir jetut mal die Sprachen C++ und Java vergleicht, das ist ja so ein ganz nettes Paar, Welche von denen Nutzt du momentan gerade am Häufigsten.
B: Ja java benutzt ich deshalb Häufiger weil ich es beruflich brauch.
I: Wenn du jetzt die Sprachen mal vergleichst, welche würdest du da bevorzugen, ohne den Beruflichen Kontext
B: Sagen wir mal so, von der ganzen Architektur und der Performance gefällt mir C++ besser. Von der Benutzbarkeit, vom Komfort und vom der Syntax finde ich java besser, Weil es einfach übersichtlicher ist. C++ kann manchmal ziemlich Kryptisch werden. Und auch Fehlersuche ist manchmal komfortabler.
I: Ah ok Debugging ist ja eher so aus der Nutzerperspektive, Wenn man jetzt Features vergleichst. meinst du es gibt Dinge die man mit Java Lösen kann die sich mit C++ nicht so einfach lösen lassen oder umgekehrt.
B: Naja es gibt Sprachfeatures die von dem einen besser unterstützt werden als von dem anderen. Java ist für mich besser in dem Bereich was Sachen angehen die sich mit Reflection lösen lassen. Das geht halt fast nur mit Java und Java ist auch realtiv gut beim Testen. Also man kann auch relativ gut Testcases schreiben, Aber an systemnahe schnittstellen kommt man mit Java nur schlecht ran.
I: Gibt es Unterschiede was die Communitys angeht.
B: Ja auf jedenfall. Also (überlegt) es sind doch recht unterschiedliche Communitys. die überschneiden sich auch selten da kaum projekte beide Sprachen kombinieren. Aber es sind auch andere Anwendungsgebiete. Java ist halt sehr stark im Webbereich und C++ halt immernoch für systemnahe programmierung. Betriebssysteme und Anwendungsprogramme.
I: Mittlerweiel versucht man ja alles möglichst Modular zu machen. würdest du da sagen das es da unterschiede gibt zwischen den beiden Sprachen
B: Ja aber beide bieten denke ich ausreichend möglichkeiten zur Modularisierung
I: Gibt es ein Feature in Java das du in C++ wirklich vermissen würdest, außer jetzt die Sachen die sich nicht ändern lassen oder umgekehrt.
B: Na ehrlich gesagt suche ich immernoch nach Infrastruktur für C++. Es gibt halt kaum verbreitet Applikation Server zum Beispiel. Das ist halt ganz entscheidend, man will halt nicht alles selbst erstellen und ist extrem abhänig von dem System
I: Gab es mal einen Moment wo du vor einem problem standest wo du in der eine Sprache nicht lösen konntest aber in der anderen Sprache sofort wüsstes wie man es macht
B:Also da gibt es glaube ich eine ganze Menge Beispiele. So Sachen wie zum Beispiel Low Level Zugriff auf Multimedia Formate, da wüste ich jetzt garnicht ob das in Java so geht und ob das sinn macht. Und umgekehrt gibt es auch Dinge die man in C++ nur mit Mühe nachbilden kann die in java relativ easy von der Hand gehen.
I:Du benutzt jetzt im Moment im Beruflichen Alltag Java. War das so das das durch die Firma vorgegeben war.
B:Ja der Auftraggeber hatte keine genaue Aussage über die Programmiersprache gemacht, aber er wollte Plattformunabhängikeit. Allerdings auch eher aus strategischer sicht ohne konkreten Bedarf.
I: Was würdest du sagen, hatte die Programmiersprache auswirkungen auf die Stellenwahl. oder war das eher anders rum das du aus anderen Gründen die Stelle wolltest und das das dann so mitgebracht hat.
B: (überlegt) als das wurde alles zusammenbesprochen. Als das war bei mir so, das wir erst das Projekt besprochen hatte und dann die Stelle. insofern war mir das alles von Anfang an klar
I: Und Java benztzt du für die Entwicklung einer Desktopapplikation. und C++ ehr für Betriebssystemnahe
B: Ja Betriebssystem bis hin zu größeren Anwendungsprogrammen. C++ ist ja generell schon eine Universelle Programmiersprache mit Java bekommt man halt systemnahe dinge kaum geregelt. Aber auch da gibt es ausnahmen. Das Android Projekt zeigt ja auch das man auch auf Systemnahen Anwendungsn Java verwenden kann.