Welche Sprache
-
berniebutt schrieb:
Er war mit C++ schon auf dem richtigen Weg.
zweifellos, wenn er den weg des waldarbeiters bevorzugt.
-
muemmel schrieb:
die Existenzberechtigung von Java und C#, das ist ähnlich wie die Frage, warum viele (seriöse?) Firmen immer noch mit Basic und dessen Varianten programmieren.
Es ist einfach billiger einen Programmierer für Basic, Java, C# auszubilden als für C++. Irgendwann wird der C++-Programmiere vielleicht besser und produktiever sein als aus den anderen Sprachen, vor allem wenn er sich seinen eigenen Fundus auf den er zurückgreifen kann zusammenprogrammiert hat. Aber wenn ich einen habe der frisch von der UNI oder BA kommt, dann wird der eben wesentlich schneller produktiv werden als mit C++. Und es werden mit den Sprachen auch die klar kommen, die man nie im leben auf C++ loslassen würde. C++ ist zwar eine ganz tolle Sprache, mit der man alles machen kann, aber es ist wohl derzeit die mit weitem Abstand umfangreichste Sprache.Sehe ich nicht so. Meine Erfahrung ist die: Java ist zwar einfach zu lernen und man hat alle Fallen schnell gerafft, aber dafür muß man sehr viel Lehrzeit in Frameworks und Laufzeitumgebungen investieren. D.h. es reicht nicht Java+JRE zu lernen, denn damit kann man im Enterprise-Bereich keinen Blumentopf gewinnen. Nach Java+JRE geht erst das Lernen richtig los! JEE, EJB, OSGi, Eclipse-RCP, Spring uvm.
Ich finde es wirklich naiv und gefährlich hier zu verbreiten, das man mit java+JRE in Enterprise-Projekten voll dabei sein kann. Ganz im Gegenteil, wer bei uns mit Java-JRE ankommt, muß erstmal an Schulungen teilnehmen und dann hat er immer noch keine Praxiserfahung, sondern wird jeden Tag ankommen und fragen, wo denn wie und was nochmal ging.
Die Komplexität in Java verschiebt sich einfach nur in Richtung Tools, Frameworks und Platformen. Warum? Weil Dinge wie OSGi und Eclipse-RCP das Java-Defizit wieder ausbügeln müssen! Das was ich in C++ & Operating System schon komplett habe, muß ich bei Java + JRE durch OSGi & Co erweitern, um überhaupt an die Features von C++ & Operating System zu kommen. Schaut euch doch mal OSGi und Eclispe-RCP an: die ganzen Features habe ich schon in C++ und Windows (oder auch jedes andere OS).
Warum sollte ich auch mit einer naiven Sprache und Runtime im Enterprise das erreichen können, was komplexe Systeme ermöglichen? Die ganzen Features in Windows (oder auch jedes andere OS) sind doch nicht zum Spaß entwickelt worden. Sondern weil sie benötigt werden. Und da Java & Co. absolut keinen Zugriff drauf bieten, muß man sie durch Tools, Frameworks und Runtime/Platforms erweitern - und natürlich muß sie ein Studienabgänger alle lernen!
Denkt bitte mal darüber nach, ob man mit Java & Co. wirklich weniger Lehrzeit benötigt!?
-
Frameworks musst du immer lernen... Egal welche Plattform du verwendest...
Du brauchst zB theoretisch keine EJB, etc. aber es ist einfach praktisch. In C++ oder Python oder lisp hast du das selbe Problem. Es gibt Tools und Frameworks die man können muss.
-
Shade Of Mine schrieb:
Frameworks musst du immer lernen... Egal welche Plattform du verwendest...
Klar. Hoffentlich kommt niemand in die Situation, sich selbst "einen Fundus" an Funktionalität "zusammenprogrammieren" zu müssen, wie hier jemand schrieb. Das mag aber auf manchen Plattformen nötiger sein als auf anderen...
-
Frameworks/Libs ja, aber was ist mit OSGI und Eclipse-RCP? Das sind keine Java-Standards, da wird eben die Java-Plattform erweitert. Ich muß Bundles lernen, Public- und Private-Packages, Extensionpoints usw. Das hat nichts mehr mit Java-Libszu tun, sondern neue technische Grundlagen.
Und was macht den Kohl jetzt noch angeblich fett, wenn man in C++ lernen soll, was ein Linker, Pointer usw. sind? Ich will damit nur sagen, das die C++-Eigenheiten auf die Lehrzeit betrachtet ein Augenzwinkern lange dauert. Lernen muß man immer! Und deshalb ist das Argument, das man ja in C++ so viel lernen muß heuchlerich.
-
Bulli schrieb:
Und deshalb ist das Argument, das man ja in C++ so viel lernen muß heuchlerich.
der grösste lernaufwand bei c++ ist doch, wie man halbwegs vernünftig was hinbekommt und den tausenden von fallstricken ausweicht. da musste erstmal in deiner 'hello world' konsolen-grundlagenwelt ein jahr und länger erfahrung sammeln. warum sollte man sich das antun, wenn's leichtere wege zum ziel gibt?
-
Bulli schrieb:
Frameworks/Libs ja, aber was ist mit OSGI und Eclipse-RCP? Das sind keine Java-Standards, da wird eben die Java-Plattform erweitert. Ich muß Bundles lernen, Public- und Private-Packages, Extensionpoints usw. Das hat nichts mehr mit Java-Libszu tun, sondern neue technische Grundlagen.
Und ist das jetzt soviel schwerer als MFC, COM, boost, etc.?
-
feraL schrieb:
Ich kanns echt nicht mehr verstehen und sehen.
Dann lies es doch nicht.
-
Shade Of Mine schrieb:
Bulli schrieb:
Frameworks/Libs ja, aber was ist mit OSGI und Eclipse-RCP? Das sind keine Java-Standards, da wird eben die Java-Plattform erweitert. Ich muß Bundles lernen, Public- und Private-Packages, Extensionpoints usw. Das hat nichts mehr mit Java-Libszu tun, sondern neue technische Grundlagen.
Und ist das jetzt soviel schwerer als MFC, COM, boost, etc.?
Nein, natürlich nicht. Aber ich kann auch die Frage stellen, ob MFC, COM Boost etc. schwerer als die ganzen Java-Techniken sind. Eben! Man muß sie nur lernen. Aber was ich nicht ok finde ist, so zu tun, als ob man bei Java nichts lernen muß: "Naja, du mußt ja nur lernen wie man ne Klasse in Java schreibt und wie man ein Fenster öffnet. Dann kannst du Java!". Ebend nicht... ich will nur hier mal wieder Gleichgewicht in die Diskussion bringen.
-
Bulli schrieb:
ich will nur hier mal wieder Gleichgewicht in die Diskussion bringen.
indem du willkürlich den schwerpunkt verschiebst. na, dann mach mal, Artchi.
-
Bulli schrieb:
Frameworks/Libs ja, aber was ist mit OSGI und Eclipse-RCP? Das sind keine Java-Standards, da wird eben die Java-Plattform erweitert. Ich muß Bundles lernen, Public- und Private-Packages, Extensionpoints usw. Das hat nichts mehr mit Java-Libszu tun, sondern neue technische Grundlagen.
Und was macht den Kohl jetzt noch angeblich fett, wenn man in C++ lernen soll, was ein Linker, Pointer usw. sind? Ich will damit nur sagen, das die C++-Eigenheiten auf die Lehrzeit betrachtet ein Augenzwinkern lange dauert. Lernen muß man immer! Und deshalb ist das Argument, das man ja in C++ so viel lernen muß heuchlerich.
Meine Ansicht ist folgende: Wozu braucht jemand der eine Enterprise Anwendung schreiben will sich mit Pointer, Templates und Operator Uberladung aufzuhalten? Wozu brauche ich diese Sprachfeatures fuer eine GUI Anwendung? Closures sind zwar gut und fein, aber wirklich notwendig sind sie auch nicht. Selbst Generics, die weitaus eingeschraenkter sind als C++ Templates, werden in den meisten Programmen fast gar nicht verwendet. Lamda expresion sind zwar huebsch aber vermisst man sie wirklich?
Was wirklich interessant ist, fuer Enterprise/GUI/Web, fehlt aber C++. Das waere Reflection, Anotiations, Threads und aspektorientierte Programmierung (was auch in Java fehlt). Aspektorientierte Programmierung waere das super Feature fuer Java, aber naja, man hat ja AspectJ.
Was aber die Sprachen Java, Python, C#, Ruby, usw. wirklich so erfolgreich macht, ist die Standard Bibliothek. Es ist einfach nur furchtbar in C/C++ das jede kleine Bibliothek ihre eigene Implementation eines Strings mitbringt (oder List, Map, Iterator, Tree, usw, usf).
-
DEvent schrieb:
Aspektorientierte Programmierung waere das super Feature fuer Java, aber naja, man hat ja AspectJ.
AOP ist ein super Feature, das man in Java nutzen kann. Wo ist das Problem?
AspectJ ist nur eine Implementierung. Es gibt auch andere, die unterschiedliche Ansätze verfolgen. Zum Beispiel "leichtgewichtige" AOP wie in Spring oder Guice, oder mächtiges Loadtime-Weaving mittels Bytecode-Instrumentation.Warum eine Programmiersprache mit weiteren Features überladen, wenn dies nicht nötig ist?
-
Hola...
ich stell mir seit längerem die Frage, ob wirklich bei PHP bleiben soll. Mich nervt es, dass ich die Funktionskonstrukte mir nicht merken kann, da der Aufbau ähnlicher Funktionen immer unterschiedlich ist. Aber das ist nur ein Kritikpunkt von mir.Java hab ich mir bislang noch nicht angeguckt.
Vor ein paar Wochen hab ich mich mal rangesetzt und einmal ein paar Grundzüge einer neuen Programmiersprache definiert, deren Aufbau ähnlich wie Javascript, ActionScript und (wahrscheinlich) auch Java. Vorallem hab ich bereits klar machen wollen, dass die Sprache vorallem für das portieren auf mehrere Plattformen geeignet sein soll, also dass es im Grunde Plattform unabhängig ist. Was mich einfach bei den gängigen Java-Programmen nervt ist, dass die systemeigenen Objekte wie Buttons und dergleichen nicht ordentlich umgesetzt wurden.Ich hab sicherlich noch nicht das nötige Know-How und daweil auch noch keine Zeit dafür (Matura/Abi) aber fände ne Programmiersprache für Web- und Desktopanwendungen mit der man eben beides gut umsetzen kann nicht schlecht
Was denkt ihr darüber? Ist das von mir alles Schwachsinn? Oder hat es seine Berechtigung?
-
Joa, PHP ist Mist, aber Mist der weit verbreitet ist.
Gibt viele viele Möglichkeiten für dich und der Flamewar würde wieder starten, also erkundige dich einfach mal in Google über andere Scriptsprachen wie Python, Ruby und anderen Sprachen generell wie Java, C++ u.s.w. und Technologien um sie für Webanwendungen einzusetzen
-
Lumio schrieb:
Was mich einfach bei den gängigen Java-Programmen nervt ist, dass die systemeigenen Objekte wie Buttons und dergleichen nicht ordentlich umgesetzt wurden.
Meinst du das Java die GUI Elemente selbst zeichnet, anstelle die vom System zu nutzen? Dann schau dir mal SWT oder den Java Qt Port an.
-
Naja, ich such ne Websprache, die auch einfach handzuhaben ist... ich habs beispielsweise nicht geschafft Ruby auf meinem Apache mit FastCGI zum laufen zu bringen.
-
sowas wie curl?