Zukunftssicher - Java oder C#?
-
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
pumuckl schrieb:
Anima schrieb:
C++ war mir allerdings ein bisschen zu kryptisch, weswegen ich bei der Konsolenprogrammierung geblieben bin.
Was ist C++ denn im Vergleich zur Konsolenprogrammierung? Das klingt wie "Englisch liegt mir nicht, deshalb bleib ich lieber beim Zeitunglesen". Es gibt auch englische Zeitungen. Und C++ auf der Konsole. Wenn du natürlich gleich irgendein "C++ für xyz"-Buch genomme hast, das dir neben der Sprache auch noch irgendwelche GUI-Frameworks beibringen wollte, versuchs mit C++-Konsolenprogrammierung.
Hast du den Satz absichtlich nicht verstanden? C++ war ihm zu kryptisch, darum ist er mit dem Lernen nicht weiter als Konsolenprogrammierung gekommen/gegangen.
Beide (vor allem Java) sind aktuell ziemlich gehyped. Es gibt sogar Software-Firmen, die ihre Software in Java komplett neu schreiben, weil die Vorstände der Kundenfirmen gehört haben, dass Java total cool ist und deshalb die Software jetzt bitte in Java statt in C++ haben wollen. Die Vorstände der Softwarefirma wollen dann natürlich auch total coole Software verticken und geben Unsummen aus, um die gut funktionierende C++-Software als coole Java-Software komplett neu zu schreiben. Ungeachtet jeglicher technischer Probleme. Schon wegen solcher Hypes sind Java-Entwickler aktuell recht begehrt.
lebst du noch in 2000?
Vor allem interessiert mich letzteres: Bietet Java einen Ersatz für PHP?
Du vergleichst da Äpfel mit Birnen, das macht wenig Sinn.
Uh nein tut er nicht. Ja Java kann ein Ersatz für PHP sein.
protip @ OP: welche Sprache von den beiden du lernst ist egal, lern Programmieren. Lern eine von beiden, und wenn du die verstanden hast lern die andere, die hast du dann auch in wenigen Wochen drauf. Programmieren können ist schließlich nicht das auswendig können von Standardbibliotheken. Wenn du einen Beruf anfängst wirst du dich eh nochmal von vorne in neue Sachen einarbeiten müssen; und im Studium wird dir übrigens auch keine Programmiersprache beigebracht, am öftesten benutzt werden dort allerdings C und Java.
-
Man kann ja beides lernen, so unterschiedlich sind diese Sprachen wohl gar nicht.
Java für Handy und Co und Linuxe, C# für Windows. Ein bißchen scheint mir der derzeitige Hype in Richtung Scriptsprachen und funktionale Sprachen zu gehen.
Der Vorteil von Java ist, das durch den Hype sehr viele Tuts und Programmiertechniken verfügbar sind. Außerdem gibt es durch die langschweifige Schreiberei bei Java viele Erleichterungshilfen wie Scala oder Groovy ( http://www.oio.de/public/java/groovy/groovy-einfuehrung.htm ).
Was man ein wenig im Auge behalten könnte, ist die trotz vieler Vorerfahrungen noch immer in den Kinderschuhen steckende Parallelprogrammierung.
-
Wenn du Wirtschaftsinformatik machen willst Java ansonsten JavaScript.
-
Auch eine Insel schrieb:
Wenn du Wirtschaftsinformatik machen willst Java ansonsten JavaScript.
-
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
-
Ich finde Platformunabgängigkeit völlig überbewertet. Viele stecken da viel Energie rein und brauchen es am Ende nicht.
Ich persönlich entwickel primär C# unter Windows und Java unter Linux (Mint).
Ob du nun C# lernst und dann Java oder genau umgekehrt ist völlig egal - die beiden Sprachen sind so ähnlich das du das in sehr kurzer Zeit drinne hast.
Überleg dir einfach was du so gerne schreiben würdest, und dann schau welche Sprache dafür am geeignetsten ist.
-
Bashar schrieb:
pumuckl schrieb:
Beide (vor allem Java) sind aktuell ziemlich gehyped.
Nanu? Hast du das letzte Jahrzehnt im Kälteschlaf verbracht? Java ist inzwischen langweilig und etabliert, von Hype keine Spur. Oder der Hype dauert seit über 10 Jahren an, kann auch sein, aber dann ist es kein echter Hype mehr, oder?
Kommt drauf an bei wem. Bei den Entwicklern ist es etabliert. Aber normalerweise setzt sich so ein Hype mit einiger zeitlicher Verzögerung in den höheren Ebenen fort. Was bei Entwicklern nurnoch ein müdes Gähnen hervorlockt ist bei den Schlipsträgern am oberen Ende der Excelschubserkette grade das Neueste vom Neuen.
-
pumuckl schrieb:
Kommt drauf an bei wem. Bei den Entwicklern ist es etabliert. Aber normalerweise setzt sich so ein Hype mit einiger zeitlicher Verzögerung in den höheren Ebenen fort. Was bei Entwicklern nurnoch ein müdes Gähnen hervorlockt ist bei den Schlipsträgern am oberen Ende der Excelschubserkette grade das Neueste vom Neuen.
Du meinst, Java hat sich durchgesetzt, weil die Entwickler davon so begeistert waren, und mit 10 Jahren Verspätung greift die Begeisterung auf das Management über? Naja, ich war nicht dabei und kenne nur die Klagen einzelner betroffener, aber die sagen im Gegenteil, dass Java zuerst den Entscheidern verkauft wurde, die es dann den Entwicklern aufgedrückt haben.
-
David W schrieb:
Ich finde Platformunabgängigkeit völlig überbewertet. Viele stecken da viel Energie rein und brauchen es am ende nicht.
Sehe ich genauso. Im Forum liest man oft so Sachen wie "Nimm XY, weil das laeuft auf Windows und Linux und Mac und Bla". In der Realitaet ist das nicht wirklich so oft ein Kriterium. Meistens entwickelt man doch nur fuer Windows oder iOS oder Linux. Ich hab auf jeden Fall noch nicht einmal ein Projekt gesehen, dass auf zig Plattformen laufen sollten.
-
Ich schon.
-
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.
-
RDE_AVS_NGL läuft auf Windows und Linux. Kennste wahrscheinlich nicht. Ist speziell fürs GÜZ Letzlinger Heide gemacht worden.
-
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.
-
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