Zukunftssicher - Java oder C#?



  • Cybertec schrieb:

    Tyrdal schrieb:

    Ich schon.

    Dann nenn mal bitte eins das auf allen Plattformen (ich gehe jetzt nicht von mobilen Endgeräten aus) läuft und in der gleichen Sprache programmiert wurde.

    Ich schaue mal kurz mein Dock durch:
    Terminal - Nein, bash aber ja
    FirstClass - Ja
    Opera - Ja
    FireFox - Ja
    Safari - Jein (Windows + Mac)
    Eclipse - Ja
    Netbeans - Ja
    MS Office - Nein
    LibreOffice - Ja
    FileMaker - Ja
    ...

    soll ich weiter machen?
    Prinzipiell ist die Mehrheit der Software die ich täglich verwende Multiplatform fähig. Die Commandline Tools die auf allen Unix-Artigen Systemen laufen, lasse ich sowieso mal aussen vor.



  • Die Frage war ernst gemeint. Ich habe an so alltägliche Sachen wie Browser nicht gedacht. 😉



  • Dravere schrieb:

    tg3463v634v6 schrieb:

    Dravere schrieb:

    Gilt nur im Marketing. Tatsächlich gilt für beide Sprachen: Compile once, debug everywhere!

    Tatsache? Ich musste meine Anwendungen noch nie debuggen nachdem (~=weil) ich die von meiner Mac Workstation auf den Linux Server deployed hab 🙄

    Wenn du nur in deinem Bereich bleibst, kann dies womöglich problemlos funktionieren. Wenn du aber Endkunden belieferst und die Anwendungen etwas grösser werden, ist es ein feuchter Traum, dass Java irgendwie plattformunabhängiger wäre als C#, C++ oder sonst irgendeine Sprache. Vor allem wenn eine der Plattformen noch Windows und die andere unixartig ist.

    Grüssli

    Falsch, ich denke mal unsere Anwendung hier erfüllt deine Vorstellung von "groß" und es klappt problemlos, einige Kollegen entwickeln auch unter Windows, insofern wüsste ich nicht was das damit zu tun haben soll.
    Aus deinem Post kann ich also nur noch schließen, dass du a) selbst nie an einer entsprechenden Anwendung gearbeitet hast, b) deine Meinungen nur vom Hörensagen in Foren wie diesem bildest und/oder c) für dich die Plattformunabhängigkeit schon nicht mehr gegeben ist wenn deine Klickibunti Software auf dem Mac scheiße aussieht weil du nicht damit gerechnet hast, dass z.B. Buttons auf anderen System auch andere Dimensionen haben... 👎



  • Cybertec schrieb:

    Tyrdal schrieb:

    Ich schon.

    Dann nenn mal bitte eins das auf allen Plattformen (ich gehe jetzt nicht von mobilen Endgeräten aus) läuft und in der gleichen Sprache programmiert wurde.

    Ich schaue mal kurz meine Taskleiste durch:
    Chrome - Ja
    Notepad++ - Nein 😞
    VMWare - Ja
    VirtualBox - Ja
    FileZilla - Ja
    IntelliJ - Ja
    WebStorm - Ja
    Photoshop - Ja
    Flash/Illustrator - Ja
    Wireshark - Ja
    MS Solitär - Nein 😞
    Pidgin - Ja



  • Cybertec schrieb:

    Die Frage war ernst gemeint. Ich habe an so alltägliche Sachen wie Browser nicht gedacht. 😉

    Mag sein, dass gerade von den alltäglichen Sachen diejenigen am Besten überleben, die auf mehreren Plattformen verfügbar sind. Auch bei anderer Software, die nicht grade für die Zielgruppe "Privatanwender, die eh zu 95% Windows-PC haben" gedacht sind, wird häufig mit möglichst verbreiteten Sprachen entwickelt, um den Kundenkreis nicht künstlich einzugrenzen. Das Produkt, an dem ich auf der Arbeit mitwirke, läuft z.B. auf Windows, Unixen und HOST-Rechnern (z/OS).

    Cybertec schrieb:

    Dann nenn mal bitte eins das auf allen Plattformen (ich gehe jetzt nicht von mobilen Endgeräten aus) läuft und in der gleichen Sprache programmiert wurde.

    Nenn mir mal bitte andersrum ein Produkt, das auf verschiedenen Plattformen läuft und dafür in verschiedenen Sprachen jeweils neu implementiert wird.

    Dass Sprachen nie absolut plattformunabhängig sind ist denke ich den meisten klar. An irgendeiner Stelle greifen immer Restriktionen des OS, außerdem müssen häufig irgendwo die jeweiligen Systembilbiotheken angebunden werden, und spätestens wenns sehr kritisch um Performance geht, geht irgendwann nichts mehr an plattformspezifischen Hacks vorbei. Trotzdem ist es besser, bei der Portierung auf eine andere Plattform <0.1% des Codes anzupassen, als den ganzen Kram in irgendeiner anderen Sprache neu zu schreiben.



  • Hallo?

    Meine Frage war wirklich ernst gemeint, da ich nicht an solche Sachen gedacht habe. Es war also rein aus Interesse.

    Ein Produkt welches auf versch. Plattformen läuft und jeweils neu implementiert wurde?

    Skype. Windows soweit ich weiß Delphi, unter Linux C++ mit Qt.



  • Cybertec schrieb:

    Meine Frage war wirklich ernst gemeint, da ich nicht an solche Sachen gedacht habe. Es war also rein aus Interesse.

    Gibt viele Tools die speziell sind auf die das auch zutrifft. Vorallem Server komponenten sind teilweise enorm Protabel. Apache, MySQL, Oracle,...

    Ein Produkt welches auf versch. Plattformen läuft und jeweils neu implementiert wurde?

    MS Office fällt mir da noch ein.


  • Administrator

    tg3463v634v6 schrieb:

    Falsch, ich denke mal unsere Anwendung hier erfüllt deine Vorstellung von "groß" und es klappt problemlos, einige Kollegen entwickeln auch unter Windows, insofern wüsste ich nicht was das damit zu tun haben soll.
    Aus deinem Post kann ich also nur noch schließen, dass du a) selbst nie an einer entsprechenden Anwendung gearbeitet hast, b) deine Meinungen nur vom Hörensagen in Foren wie diesem bildest und/oder c) für dich die Plattformunabhängigkeit schon nicht mehr gegeben ist wenn deine Klickibunti Software auf dem Mac scheiße aussieht weil du nicht damit gerechnet hast, dass z.B. Buttons auf anderen System auch andere Dimensionen haben... 👎

    Es ist schön, wenn die Leute vernünftig diskutieren und die andere Partei ernst nehmen und probieren ein wenig mitzudenken.

    Du solltest mal lesen, was ich geschrieben haben.
    1. Compile once -> Debug Everywhere.
    2. Man braucht trotzdem ein Testsystem für die andere Plattform.
    3. Java ist nicht plattformunabhängiger als C, C++, C# oder andere Sprachen.

    Ich habe nirgends geschrieben, dass Java nicht plattformunabhängig ist!

    Du bestätigst meine Aussage direkt:

    tg3463v634v6 schrieb:

    ... c) für dich die Plattformunabhängigkeit schon nicht mehr gegeben ist wenn deine Klickibunti Software auf dem Mac scheiße aussieht weil du nicht damit gerechnet hast, dass z.B. Buttons auf anderen System auch andere Dimensionen haben...

    Nein, ich sage nicht, dass keine Plattformunabhängigkeit gegeben ist. Ich habe gesagt, dass du es auf dem anderen System testen musst. Womöglich debuggen musst. Und das du die genau gleichen Probleme hast, wie wenn du z.B. C, C++ oder C# nimmst. Und die Unterschiede sind ja nicht nur bei "Klickibunti" zu finden. Das geht von Pfaden bis zu unterschiedlichen JVMs.

    Es ist ein feuchter Traum zu glauben, dass man Java einmal kompilieren müsste und dann würde es auf jedem System laufen, ohne auch nur einen Test auf dem anderen System durchzuführen.

    Grüssli

    PS: Sorry, für die späte Antwort, hab den Thread irgendwie vergessen 🙂



  • Dravere schrieb:

    Und das du die genau gleichen Probleme hast, wie wenn du z.B. C, C++ oder C# nimmst.

    Also gewisse Probleme hat man mit Java und/oder C# definitiv nicht, die man mit C btw. C++ sehr oft hat.

    z.B. die integralen Typen, darüber muss ich mir bei Java und C# einfach überhaupt keinen Kopf machen.

    Und dann kommt noch dazu, dass bei Java und C# die Standard-Library viel grösser ist. Klar, die verhält sich nicht immer 100% perfekt genau gleich wie auf allen Systemen. Aber auf jeden Fall besser, als wenn man den Code entweder ganz selbst schreiben muss, oder auf irgendwelche frickel Libs von frickel OS-Entwicklern zurückgreifen.

    Natürlich gibt es auch Gegenbeispiele. zlib ist supi, da kann man nix sagen, mit sowas kann man toll arbeiten. Ein "überhaupt nicht super" Beispiel für Komponenten der Java-Standard Library kann ich jetzt nicht nennen, dafür kenn ich das Teil zu wenig.

    Es gibt auf jeden Fall etliche Firmen die Java verwenden, die kreuz und quer Systeme mischen beim Entwickeln/Testen/Deployen etc., und wo das sehr gut hinhaut. Mit ganz normalen "off the shelf" Programmierern, keine Programmierer-Götter die einfach alles können.

    Dagegen kenn' ich keine Firma, wo das mit C oder C++ in dieser Art hinhaut.

    Was ich damit eigentlich sagen will: man kann glaube ich mit Java viel einfacher systemunabhängigen Code schreiben, als mit C oder C++ 🙂



  • Meiner Meinung nach sind Programmiersprachen und -systeme nur Mittel zum Zweck.
    Eine langfristige und sichere Perspektive für dein Wissen hast du nicht.
    Spezialisierung auf ein System ist immer ein Risiko, nämlich dass es nicht mehr gebraucht wird, dort wo du bist.
    Im technischen Bereich z.B. ist es viel wichtiger sich in Mathe,Physik,... ein solides Fundament zu erarbeiten. D.h. auch nach dem Studium dran bleiben. Das erlaubt dir flexibel auf neue Situationen zu reagieren (bis zur Rente 😮 ).

    Ich finde es wichtiger sich ein Projekt als Ziel zu setzen und zu Überlegen/Recherchieren, wie komme ich da hin. Da ist das Programmieren dann vielleicht nur ein kleiner Teil davon.



  • hustbaer schrieb:

    Was ich damit eigentlich sagen will: man kann glaube ich mit Java viel einfacher systemunabhängigen Code schreiben, als mit C oder C++ 🙂

    Das stimmt jetzt nicht, weil man das auch mit C/C++ machen kann.
    Boost, Qt, zlib, curl, OpenGL, OpenCL, OpenAL, SDL, SFML, ...
    kann man auf allen 3 System den "gleichen" Code verwenden.



  • Du bis 14?

    Vergeude deine Jugend nicht mit vor dem Computer sitzen. Das machst du im Studium/Beruf noch genug. Das hat auch keinerlei Relevanz für deine spätere Kompetenz.
    Mach lieber was, zu dem du nachher, neben Familie und Beruf, nicht mehr so leicht kommst. Z.B. ein oder mehrere Musikinstrumente lernen. Da ist 14 ein ideales Alter damit anzufangen und später ein super Ausgleich.



  • tg3463v634v6 schrieb:

    Chrome - Ja
    Notepad++ - Nein 😞
    VMWare - Ja
    VirtualBox - Ja
    FileZilla - Ja
    IntelliJ - Ja
    WebStorm - Ja
    Photoshop - Ja
    Flash/Illustrator - Ja
    Wireshark - Ja
    MS Solitär - Nein 😞
    Pidgin - Ja

    Du benutzt die VirtualBox nur für Notepad++ und MS Solitär?
    Na, das nenne ich mal Begeisterung.



  • Was besseres lernen schrieb:

    Du bis 14?

    Vergeude deine Jugend nicht mit vor dem Computer sitzen. Das machst du im Studium/Beruf noch genug. Das hat auch keinerlei Relevanz für deine spätere Kompetenz.
    Mach lieber was, zu dem du nachher, neben Familie und Beruf, nicht mehr so leicht kommst. Z.B. ein oder mehrere Musikinstrumente lernen. Da ist 14 ein ideales Alter damit anzufangen und später ein super Ausgleich.

    Also mit 14 hab ich auch anefangen C++ zu Programmieren.
    Allgemein hab ich mit 12 angefangen überhaupt was zu Programmieren und ich bin trotzdem normal und geh mit Freunden saufen in Discos und mach sonst was 😃



  • gamebuntu schrieb:

    Das stimmt jetzt nicht, weil man das auch mit C/C++ machen kann.
    Boost, Qt, zlib, curl, OpenGL, OpenCL, OpenAL, SDL, SFML, ...
    kann man auf allen 3 System den "gleichen" Code verwenden.

    hast du dir schon mal ein -zigtausend Zeilen langes makefile genauer angesehen? 🙄



  • ne warum sollte ich ? 😃
    ich bin doch nich bekloppt 😃



  • volkard schrieb:

    tg3463v634v6 schrieb:

    Chrome - Ja
    Notepad++ - Nein 😞
    VMWare - Ja
    VirtualBox - Ja
    FileZilla - Ja
    IntelliJ - Ja
    WebStorm - Ja
    Photoshop - Ja
    Flash/Illustrator - Ja
    Wireshark - Ja
    MS Solitär - Nein 😞
    Pidgin - Ja

    Du benutzt die VirtualBox nur für Notepad++ und MS Solitär?
    Na, das nenne ich mal Begeisterung.

    Nö, die Liste war von meinem Windows System, darum hab ich ja auch Taskleiste geschrieben 🤡

    PS: Du hast allerdings halb recht, ich hatte lange Zeit ne XP VM nur um das alte Solitär zu spielen, weil das Windows 7 Solitär einfach scheiße ist. Irgendwann war mir das zu blöd und hab mir die XP Solitär Binary & Dll rüberkopiert 🕶 👍



  • gamebuntu schrieb:

    hustbaer schrieb:

    Was ich damit eigentlich sagen will: man kann glaube ich mit Java viel einfacher systemunabhängigen Code schreiben, als mit C oder C++ 🙂

    Das stimmt jetzt nicht, weil man das auch mit C/C++ machen kann.
    Boost, Qt, zlib, curl, OpenGL, OpenCL, OpenAL, SDL, SFML, ...
    kann man auf allen 3 System den "gleichen" Code verwenden.

    OK. Und das deckt alles ab was man braucht? Bzw. was in der Java Standard-Library dabei ist, bzw. in verlässlichen quasi-standard Libs/Komponenten?

    Nene, der Vergleich funktioniert nicht.


  • Administrator

    hustbaer schrieb:

    Was ich damit eigentlich sagen will: man kann glaube ich mit Java viel einfacher systemunabhängigen Code schreiben, als mit C oder C++ 🙂

    Selfquote aus meinem ersten Beitrag:

    Dravere schrieb:

    Man braucht trotzdem ein Testsystem und meistens kann man den Code nicht 1:1 auf das andere System übernehmen. Es kann die Sache vielleicht vereinfachen, aber ich würde davon nicht ausgehen.

    Ich würde deine genannten Punkte allerdings als nicht so wichtig einstufen.
    -> Bei der Grösse bei integralen Typen: Wenn du wirklich Typen mit einer bestimmten Grösse brauchst, dann gibt es dafür Bibliotheken.
    -> Bei der Grösse der Standardbibliothek: Es gibt zusätzliche etablierte Bibliotheken für C und C++.
    -> Frickel Libs? Qt ist für dich eine frickel Lib oder wie soll man das verstehen? 😉

    hustbaer schrieb:

    Es gibt auf jeden Fall etliche Firmen die Java verwenden, die kreuz und quer Systeme mischen beim Entwickeln/Testen/Deployen etc., und wo das sehr gut hinhaut.

    Dagegen hat niemand was gesagt. Nur dass sie eben auf den anderen Plattformen trotzdem testen müssen 😉

    hustbaer schrieb:

    Dagegen kenn' ich keine Firma, wo das mit C oder C++ in dieser Art hinhaut.

    Dann schau dich mal ein bisschen um 😉
    Spontan fällt mir ein, was ich gerade brauche -> Opera.
    Aber man kann sich auch auf der Qt Webseite mal anschauen gehen, was da für Projekte genannt werden, welche mit Qt entwickelt wurden. Und gibt sicher noch massig mehr.

    Wichtig ist am Ende, dass man es auch auf dem System testet, wo man das Programm veröffentlicht. Das muss man mit allen Programmiersprachen machen.

    Grüssli



  • und ich bin trotzdem normal und geh mit Freunden saufen in Disco

    Was ist am Saufen normal?
    Oh du schreckliche Drogenverherrlichung.


Anmelden zum Antworten