Hi, ich habe bereits C gelernt und würde gerne noch eine weitere Programmiersprache lernen, was meint ihr lohnt sich mehr? C++ oder Java? Anwendungen unter anderem auch Apps Danke!
Wenn du vor hast eher Apps für Android zu programmieren dann solltest du Java lernen
Wenn es für Deine berufliche Zukunft sein soll: - im Embedded-Bereich wird vornehmlich C++ gesprochen - bei allem was mit dem Web zu tun hat wird gerne Java verwendet - ansonsten mal Stellenanzeigen wälzen, was da in deinem bevorzugten Bereich so gefordert wird Privat würde ich Dir eher zu Java raten, und zwar einfach weil Java "angenehmer in der Handhabung" ist: - Java unterstützt/erzwingt einen saubereren Programmierstil als C++ - Java kommt mit umfangreichen Bibliotheken daher, die auch noch einheitlich aufgebaut sind - bei Java muss man sich nicht um "Banalitäten" wie die Bitbreite von Integern oder das Freigeben von Speicher kümmern - Java schmiert i.d.R. nicht einfach mit einem Coredump ab sondern mit einer (zumeist recht aussagekräftigen) Exception, was die Fehlersuche vereinfacht Bei der Ausführungsgeschwindigkeit der compilierten Programme nehmen sich C++ und Java erfahrungsgemäß kaum noch etwas. Vergleiche zwischen beiden Sprachen sind nicht ganz leicht zu treffen, da Java-Plattformen bisweilen diverse Späße zur Optimierung enthalten (z.B. einen JIT-Compiler, welcher häufig verwendete Programmteile auch während der Laufzeit noch optimieren kann). Vorteile von C(++) wären u.a.: - man kann damit auch mal Hardware ansteuern. Das geht bei Java in aller Regel nur über JNI (Java Native Interface), also über externe Libs, welche (zumeist) in C(++) geschrieben wurden. - der Resourcenbedarf von C(++)-Programmen ist besser abschätzbar, da es hier keine virtuelle Maschine/JIT-Compiler gibt (Resourcen bedeutet hier: Speicher, Rechenzeit, Stromverbrauch etc.). Darüberhinaus benötigen C(++)-Programme von Haus aus eher weniger Resourcen als vergleichbare Java-Programme. (Wobei der Resourcenbedarf eines halbwegs modernen Programms auf einem halbwegs modernen PC erfahrungsgemäß eher selten eine Rolle spielt...) Ansonsten gilt natürlich das man am besten beide Sprachen lernt. Ob der spätere Umstieg von Java nach C++ einfacher ist als umgekehrt liegt im Auge des Betrachters. Darüber hinaus haben sich übrigens auch noch zusätzliche Kenntnisse in Matlab und Perl als sehr praktisch herausgestellt. :)
Obwohl ich Java lange abgelehnt habe, würde ich es eher als C++ empfehlen. Java ist merklich angenehmer zu programmieren. Die Vorteile von C++ wirst du wahrscheinlich nicht brauchen, wenn du gerade in dem Bereich anfängst. Solltest du dann etwas von C++ brauchen, wird der Umstieg mit der dann vorhandenen Erfahrung nicht mehr so schwer sein. USB (und andere Hardwarezugriffe) ist allerdings ist Java ein Problem.
>Obwohl ich Java lange abgelehnt habe, würde ich es eher als C++ >empfehlen. Java ist merklich angenehmer zu programmieren. Das sehe ich auch so. Ansonsten würde ich sagen: Beides lernen. Falls man noch nicht Objekt-Orientiert programmiert hat, würde ich mit Python anfangen und mich damit in die Objekt-Orientierung einarbeiten. Danach Java und dann C++.
Besucher schrieb: > Wenn es für Deine berufliche Zukunft sein soll: > - im Embedded-Bereich wird vornehmlich C++ gesprochen Seit wann bzw. was ist Embedded? Die Hauptsprache ist in diesem Bereich und wird es (leider) auch noch länger bleiben C. Es gibt zwar ein paar sehr vielversprechende Ansätze wie bspw. Kvasir 1), verbreitet ist C++ in diesem Bereich allerdings noch lange nicht, obwohl es, sinnvoll angewandt, deutliche Vorteile gegenüber C hätte. 1) http://kvasir.io/ > - bei allem was mit dem Web zu tun hat wird gerne Java verwendet Wird verwendet != sollte verwendet werden... wer da immer noch auf Java setzt, hat imho die sinnvolle Entwicklung der letzten Jahre weg von Java verpasst (das Oracles Java/VM, neben den Browsern, mittlerweile eines der Haupteinfallstore für Viren auf PCs ist, spielt dabei nicht einmal die größte Rolle...) > Privat würde ich Dir eher zu Java raten, und zwar einfach weil Java > "angenehmer in der Handhabung" ist: > - Java unterstützt/erzwingt einen saubereren Programmierstil als C++ Bei C++98 und davor vielleicht. Spätestens mit C++11 und C++14 hat sich C++ soweit gewandelt, dass man da durchaus von einer neuen Sprache sprechen könnte. > - Java kommt mit umfangreichen Bibliotheken daher, die auch noch > einheitlich aufgebaut sind Einheitlich schlecht. > - bei Java muss man sich nicht um "Banalitäten" wie die Bitbreite von > Integern oder das Freigeben von Speicher kümmern Das kennt noch nicht mal unsigned integer bzw. gibt's seit 1.8(?) mal ein paar Methoden in der Integerklasse. Speicherfreigabe geht auch in C++ automatisch. Und das ist der große Vorteil: Man kann es nutzen, wird aber nicht dazu gezwungen. > - Java schmiert i.d.R. nicht einfach mit einem Coredump ab sondern mit > einer (zumeist recht aussagekräftigen) Exception, was die Fehlersuche > vereinfacht > > Bei der Ausführungsgeschwindigkeit der compilierten Programme nehmen > sich C++ und Java erfahrungsgemäß kaum noch etwas. http://benchmarksgame.alioth.debian.org/u64q/java.html "Bester" Benchmark: In Java geschriebene IDEs vs. IDEs die nicht mit/in Java geschrieben wurden... > (Wobei der Resourcenbedarf eines halbwegs > modernen Programms auf einem halbwegs modernen PC erfahrungsgemäß eher > selten eine Rolle spielt...) Der Desktop ist da auch so ziemlich die einzige Ausnahme. In allen anderen Bereichen spielt es eine Rolle.
Arc N. schrieb: > Besucher schrieb: >> - Java kommt mit umfangreichen Bibliotheken daher, die auch noch >> einheitlich aufgebaut sind > > Einheitlich schlecht. > Lass mal deinen persönlichen Argwohn stecken. Was es an Bibliotheken gibt ist doch nicht zu verachten. Und für unsigned int, manuelle Speicherverwaltung oder Performance im direkten Vergleich muss man sich nicht interessieren, das geht auch ohne. Java ist eben eine Abstraktionsschicht höher angesetzt. Ich denke es ist egal welche Sprache genommen wird. OOP als nächsten Lernschritt kannst Du mit beiden gut. Falls Dir dann Multivererbung fehlt und Du dich für Java entschieden hast, wechselst du eben zu C++.
Arc N. schrieb: > Besucher schrieb: >> Wenn es für Deine berufliche Zukunft sein soll: >> - im Embedded-Bereich wird vornehmlich C++ gesprochen > Seit wann bzw. was ist Embedded? Die Hauptsprache ist in diesem Bereich > und wird es (leider) auch noch länger bleiben C. Stimmt, müsste C heissen. Nichtsdestotrotz kommt C++ hier noch lange vor Java. >> - bei allem was mit dem Web zu tun hat wird gerne Java verwendet > > Wird verwendet != sollte verwendet werden... wer da immer noch auf Java > setzt, hat imho die sinnvolle Entwicklung der letzten Jahre weg von Java > verpasst (das Oracles Java/VM, neben den Browsern, mittlerweile eines > der Haupteinfallstore für Viren auf PCs ist, spielt dabei nicht einmal > die größte Rolle...) Möglicherweise hast ja du verpasst das es im Bereich "Web" nicht mehr vornehmlich um die Client-Seite geht? ;-) > Bei C++98 und davor vielleicht. Spätestens mit C++11 und C++14 hat sich > C++ soweit gewandelt, dass man da durchaus von einer neuen Sprache > sprechen könnte. Wenn man unbedingt will kann man das sicher. Diese "neue Sprache" basiert allerdings immer noch auf dem gleichen alten Mumpitz. >> - Java kommt mit umfangreichen Bibliotheken daher, die auch noch >> einheitlich aufgebaut sind > > Einheitlich schlecht. Unsinn. > Das kennt noch nicht mal unsigned integer Und? > Der Desktop ist da auch so ziemlich die einzige Ausnahme. In allen > anderen Bereichen spielt es eine Rolle. Trotzdem wird Java auch ausserhalb von Desktops verwendet (Und das nicht nur weil allen Menschen - außer dir - der Durchblick fehlt).
Besucher schrieb: > Möglicherweise hast ja du verpasst das es im Bereich "Web" nicht mehr > vornehmlich um die Client-Seite geht? ;-) Auf der anderen Seite geht es schon lange nicht mehr um Java... die Innovationen kommen aus anderen Ecken. Auf dem Desktop war Java schon tot bevor es die Evangelisten und Vertriebler von Sun gepusht haben. > >> Bei C++98 und davor vielleicht. Spätestens mit C++11 und C++14 hat sich >> C++ soweit gewandelt, dass man da durchaus von einer neuen Sprache >> sprechen könnte. > Wenn man unbedingt will kann man das sicher. Diese "neue Sprache" > basiert allerdings immer noch auf dem gleichen alten Mumpitz. Ebenso bei Java. Der Unterschied: Andere Sprachen entwickeln sich weiter, Java nicht. >>> - Java kommt mit umfangreichen Bibliotheken daher, die auch noch >>> einheitlich aufgebaut sind >> >> Einheitlich schlecht. > Unsinn. Das geht mit "Generics" und Type Erasure los (name clash) oder anders gesagt: es geht direkt mit der Sprache los aufgrund der in vielen Fällen nichts brauchbares rauskommen kann >> Das kennt noch nicht mal unsigned integer > Und? Arrays mit negativer Länge etc. es gibt etliche Fälle in denen alleine dieses "Feature" schon div. Checks überflüssig machen würde (selbes Argument bei "dynamisch" 1) typisierten Sprachen wie JS) 1) letztlich sind diese Sprachen extrem statisch typisiert: sie kennen nur einen Typen und halsen dem Entwickler die Arbeit auf, die ansonsten der Compiler nebenbei erledigen kann. >> Der Desktop ist da auch so ziemlich die einzige Ausnahme. In allen >> anderen Bereichen spielt es eine Rolle. > Trotzdem wird Java auch ausserhalb von Desktops verwendet (Und das nicht > nur weil allen Menschen - außer dir - der Durchblick fehlt). Danke für die Aufklärung. Es geht nur nicht darum ob etwas und wie oft verwendet wird, sondern ob es sinnvoll ist und/oder es bessere Lösungen/Alternativen gibt d.h. leichter zu schreiben, besser zu warten, höhere Performance etc. pp und davon kann Java nichts am besten
Wird Java eigentlich noch genutzt? Wenn ich mich an früher erinnere, dann musste man für ein paar Applikationen immer die Java-Umgebung bereit halten. Die hatte dann garantiert auch die falsche Version. Auch im Browser liefen Java Applets, dafür brauchte der auch eine Java-VM. Ich habe seit 5 Jahren da nichts mehr geupdated oder überhaupt hochgeladen. Und das letzte Java-Applet war damals die Post-Frankierungsapp, mit der man Pakete online bezahlen konnte. Auch das ist Vergangenheit. Im Browser wird nur noch Javascript benutzt. Beruflich und privat ist auf meinen Rechnern kein Java mehr drauf, weil kaum ein Anwendungsprogramm das wohl noch benötigt.
Besucher schrieb: > Wenn es für Deine berufliche Zukunft sein soll: > - im Embedded-Bereich wird vornehmlich C++ gesprochen Schön wärs, hier wird z.B. (leider) C und (nochmal leider) Java verwendet. C++ ist erst im kommen bei embedded Anwendungen. Mit Java gibt es die meisten Probleme. Es gibt immer wieder mal ein neues Framework und dann funktioniert irgendwas nicht mehr richtig (= Pflegeaufwand) > - bei allem was mit dem Web zu tun hat wird gerne Java verwendet Ich sehe hier eine Trend zu Scriptsprachen > - ansonsten mal Stellenanzeigen wälzen, was da in deinem bevorzugten > Bereich so gefordert wird Ist das interesse Privat oder Geschäftlich? Ich z.B. würde nie private Interessen mit geschäftlichen Interessen verwurschteln. > > Privat würde ich Dir eher zu Java raten, und zwar einfach weil Java > "angenehmer in der Handhabung" ist: > - Java unterstützt/erzwingt einen saubereren Programmierstil als C++ Durch verschiedene Einschränkungen bei Java gegenüber C++ sehe ich öfters Codeverdoppelungen. In C++ hätte man ganz elegant Funktionstemplates verwenden können. Und ja Generics gibt es in Java die sind aber so stark eingeschränkt das vieles nicht geht. Const correctness gibt es in Java auch nicht, Defaultparameter gibt es auch nicht, usw. usf.. Ich persönlich fühle mich stark eingeschränkt in Java. Java ist schon deshalb langsamer weil man jedes kleine Objekt per new anlegen muss während man in C++ auch den Stack verwenden kann. > - Java kommt mit umfangreichen Bibliotheken daher, die auch noch > einheitlich aufgebaut sind Gibt es in C++ auch: stl, boost, usw... > - bei Java muss man sich nicht um "Banalitäten" wie die Bitbreite von > Integern oder das Freigeben von Speicher kümmern Hier sollte man lieber schreiben: .... man kann sich nicht darum kümmern... > - Java schmiert i.d.R. nicht einfach mit einem Coredump ab sondern mit > einer (zumeist recht aussagekräftigen) Exception, was die Fehlersuche > vereinfacht Ich bekomme andauernd NULL-Pointer Exceptions was die Fehlersuche auch nicht gerade vereinfacht (Hähä man höre und staune angeblich gibt es doch keine Pointer, stimmt nicht in Java gibt es besonders viele Pointer) ............ > > Ansonsten gilt natürlich das man am besten beide Sprachen lernt. Stimmt Ich empfehle allerdings zuerst C++ und dann Java, da Java recht ähnlich zu C++ ist mit ein paar Besonderheiten und vielen Einschränkungen. Letztendlich kann man die Sprache auch danach aussuchen ob es für das gestellte Problem vielleicht nicht schon eine Lösung (in Java, in Python, in ...) gibt und dann einfach diese nutzen.
chris_ schrieb: > Falls man noch nicht Objekt-Orientiert programmiert hat, würde ich mit > Python anfangen und mich damit in die Objekt-Orientierung einarbeiten. > Danach Java und dann C++. Python...Grusel. Jetzt mal ehrlich. Ich programmiere mittlerweile viel in Python und es macht auch einigermaßen Spaß. Man kann mit der Sprache viel in kurzer Zeit erreichen. Allerdings ist das Konzept der Objektorientierung so dermaßen im Arsch bei diese Sprache. (keine wirklich privaten Member, diese bescheuerten self.__ bei den Variablen, die irgend wo stehen dürfen -> Tschüß Übersichtlichkeit) Will sagen zum Lernen von OO halte ich Python für eine schlechte Wahl. Dann doch lieber Java. C++ würde ich persönlich bevorzugen, allerdings ist das der echt schwere Weg. Grüße,
Arc N. schrieb: > Der Unterschied: Andere Sprachen entwickeln sich > weiter, Java nicht. Sorry, aber Java hat wohl in den letzten 10 Jahren sich etwas 5-10 mal dynamsicher entwickelt als C++. Und dein generelles Schlechtgerede kann ich auch nicht nachvollziehen. Ich sage nicht, dass Java eine ideale Sprache ohne Fehler ist, aber man kann in ihr Probleme zügig und zielgerichtet umsetzen, und vor allem praktisch unabhängig von DBMS und Betriebssystem. Und das gern genutzte Schlagwort "Big Data" ist auch kein Problem. Man muss sich nicht um Unicode scheren, man hat eine saubere Trennung einheitliche Schnittstellen zwischen Byte und Character, man kann einheitlich deployen, ... Für Spielsoftware oder Software, die auf einem µC laufen soll ist das nichts, aber Software die unabhängig vom Betriebssystem auf Server Clustern laufen soll ist das deutlich mehr wert als die 30-100% schnellere Ausführzeit eines C++ Codes. C++ ist eine hybride Sprache mit all ihren Nachteilen. Wenn du dir fremden C++ Code anschaust ist zu 90% objktorientierte und prozedurale Programmierung wild gemischt. Das führt zu einem unsäglichen Codegewurstel den kein Mensch mehr durchblickt, selbst der Verfasser nach einem halben Jahr nicht mehr, selbst oft genug sehen müssen. Wir verarbeiten hier große Datenvolumina, (Millionen Finanztransaktionen pro Tag) in Echtzeit, und sowohl bei uns als auch unserem Mutterkonzern wird nur Java im Backend Bereich benutzt. Arc N. schrieb: > davon kann Java nichts am besten Man muss nicht unbadingt etwas am besten können, es reicht wenn man vieles gut kann. Schreibe mal eine Software für 10 Betriebssysteme (incl. Host) und ca. 20 veraschiedene DBMS Systeme in C / C++ und verwalte das in der Generierung Tests und Auslieferung. Wie haben das früher gemchat incl. solchen Dingen wie OS/2, AS400, IBM-MVS, CICS, sogar BS2000 und Vax VMS, jeweils mit unterschiedlichen DBMS auch solchen Dingen wie VSAM, ISAM, ... Wir haben das gemacht.
Der Andere schrieb: > Man muss nicht unbadingt etwas am besten können, es reicht wenn man > vieles gut kann. Dies liegt inzwischen aber nicht mehr an der Qualität der Software und Programmierer sondern an der immer schnelleren Hardware. Wenn's nicht mehr läuft einfach schnelleren Prozessor nehmen.
Timmo H. schrieb: > Wenn du vor hast eher Apps für Android zu programmieren dann > solltest du Java lernen Bis zum zweiten Post gekommen, und schon die Augen gerollt. Nur weil viele Java nutzen, heißt das nicht das es a.) Gut ist, b.) Java sich langsam selbst begräbt, c.) Gut ist, d.) Das sinnvollste für Android ist, e.) Gut ist, f.) Performant ist. Ich habe früher meine Apps auch mit Java geschrieben und bin froh mittlerweile davon weg zu sein. Zu langsam, zu ineffektiv. Wäre Android nixhr, wäre Java schon längst tot. In den Webservices ist es, zu Recht, aus Sicherheitsrelevanten Gründen langsam völlig weg. Auf der Desktop Ebene ist es einfach nur unperformant. Aus Embedded Geräten wird es auch nach und nach verschwinden. Egal in welche Richtung deine Reise geht - Schnupper mal rein, aber lass Java links liegen.
Wolfgang R. schrieb: > Dies liegt inzwischen aber nicht mehr an der Qualität der Software und > Programmierer sondern an der immer schnelleren Hardware. > Wenn's nicht mehr läuft einfach schnelleren Prozessor nehmen. Du kannst natürlich auch 5 jahre statt einem Jahr eine Software entwickeln nur um dann zu sehen, daß dein Konkurrent mit seiner etwas langsameren Version schon seit 4 Jahren Gerd bei DEINEN Kunden damit verdient. Und C++ kann auch vieles absolut schlecht, z.B. daß viele durchschnittliche Entwickler wartbaren und lesbaren Code erzeugen, ein Deployment auf vielen Plattformen, ... Ich denke du hast den Punkt den ich rausstellen wollte nicht vestanden. Bleib bei deinen kleinen µCs, dort ist C oder auch c++ viel besser und Java völliger Unfug, aber im geschäft kommt es oft auf anderes an als die letzten 30% perdormance. Wo (ausser vieleicht im Cern) werden mehr Daten schnell verarbeitet als bei google, amazon und co? Und was nehmen die im Serverbereich? Rate mal.
Der Andere schrieb: > Sorry, aber Java hat wohl in den letzten 10 Jahren sich etwas 5-10 mal > dynamsicher entwickelt als C++. Was allerdings nicht heißt das das positiv zu Bewerten ist, ganz im Gegenteil. Gerade weil C / C++ so beständig sind / sind sie heute noch die gefragtesten. Und wer halt die Vorteile von C++ braucht, aber dies in ein Wrapper für z.b. Webservices benötigt - schreibt dies halt in C# und vice versa...
Der Andere schrieb: > Wo (ausser vieleicht im Cern) werden mehr Daten schnell verarbeitet als > bei google, amazon und co? > > Und was nehmen die im Serverbereich? Rate mal. Eigentor... Google jedenfalls programmiert mit Gc. Go - ein C Derivat ;-)
Draco schrieb: > Der Andere schrieb: >> Wo (ausser vieleicht im Cern) werden mehr Daten schnell verarbeitet als >> bei google, amazon und co? >> >> Und was nehmen die im Serverbereich? Rate mal. > > Eigentor... Google jedenfalls programmiert mit Gc. Go - ein C Derivat > ;-) Bei meinem letzten Kontakt mit einem Googlemitarbeiter war die Aussage aber, dass Go nur die wenigsten einsetzen. Der Rest programmiert in C++. Bezüglich den zig verschiedenen DBMS ansprechen, schau mal was C# LINQ kann. Meiner Meinung nach hat C# in den letzten Jahren Java den Rang abgelaufen. Und seit der Offenlegung des .NET Codes spricht auch nicht mehr viel gegen C#.
Ich würde Java nehmen, wenn's darum geht, OOP zu lernen. Java zwingt dich quasi objektorientiert zu programmieren, während man da bei C++ "freier" ist und alle möglichen Schweinereien machen kann. ;) Wenn dann irgendwann die Denke hinter OOP verstanden ist, kann man mit C++ weitermachen.
c++ iss moppelkotze. da versteht der eine das programm vom andern nich weil jeder nur seine 20% c++ gern hat.
Moppel schrieb: > c++ iss moppelkotze. da versteht der eine das programm vom andern > nich > weil jeder nur seine 20% c++ gern hat. Java ist genauso. Schon mal ein (embedded) Java Programm gesehen, wo alle Objekte global angelegt werden um ja nicht zur Laufzeit den Garbage Collector zu bemühen? Das ist dann auch "mobbelkotze" den keiner mehr versteht. Sch... zusammen programmieren geht in jeder Programmiersprache
xxx schrieb: > Schon mal ein (embedded) Java Programm Es wurde oben schon gesagt, daß Java für embedded Unfug ist. Operator S. schrieb: > Meiner Meinung nach hat C# in den letzten Jahren Java den Rang > abgelaufen. Und seit der Offenlegung des .NET Codes spricht auch nicht > mehr viel gegen C#. Nur für PC Gebastel. Nicht auf Servern. Die Welt ist größer als Windows. Und portable DBMS Zugriffe sind damit meines Wissens auch nicht möglich. Operator S. schrieb: > Bei meinem letzten Kontakt mit einem Googlemitarbeiter war die Aussage > aber, dass Go nur die wenigsten einsetzen. Der Rest programmiert in C++. Auch nicht, vieleicht die Core Routinen beim Suchen, aber viel drumrum wird meines Wissens mit Java programmiert.
Der Andere schrieb: > Es wurde oben schon gesagt, daß Java für embedded Unfug ist. ja ich weiss, aber es ging ja um die moppelkotze. Und moppelkotze gibt es überall (wenn man sich ein bißchen anstrengt)
Autor: PittyJ (Gast) schrieb >Wird Java eigentlich noch genutzt? >Wenn ich mich an früher erinnere, dann musste man für ein paar >Applikationen immer die Java-Umgebung bereit halten. Die hatte dann >garantiert auch die falsche Version. Auch im Browser liefen Java >Applets, dafür brauchte der auch eine Java-VM. <ironie> Geht so, Java liegt beim Tiobe Index an erster Stelle der am meisten verwendeten Programmiersprachen. http://www.tiobe.com/tiobe-index/ <\ironie>
Chris schrieb: > Anwendungen unter anderem auch Apps Apps für was? - Smartphone, Web, Desktop, Uhren ...
chris_ schrieb: > <ironie> > Geht so, Java liegt beim Tiobe Index an erster Stelle der am meisten > verwendeten Programmiersprachen. > http://www.tiobe.com/tiobe-index/ > <\ironie> <ironie> Na, endlich mal ein fundierter Beitrag von jemandem, der ganz genau verstanden hat, was der TIOBE-Index tatsächlich misst. </ironie>
Hier trieft es vor Ironie schrieb: > chris_ schrieb: >> <ironie> >> Geht so, Java liegt beim Tiobe Index an erster Stelle der am meisten >> verwendeten Programmiersprachen. >> http://www.tiobe.com/tiobe-index/ >> <\ironie> > > <ironie> > Na, endlich mal ein fundierter Beitrag von jemandem, der ganz genau > verstanden hat, was der TIOBE-Index tatsächlich misst. > </ironie> Hat er (hoffetlich) nicht gewusst. Darum nochmal zum nachlesen. http://www.tiobe.com/tiobe-index/programming-languages-definition/ Und DAS ist ein Kriterium? Ehrlich gesagt interessiert mich weniger wie hip eine Sprache gerade ist. Viel interessanter ist doch eher was die Sprache kann, ob Programme formal verifizierbar sind, wie die "Langzeitverfügbarkeit" (z.B. Verfügbarkeit verifizierter Compiler) ist. Zugegeben: Für die neue WEB-Site oder ein Game völlig egal. Für (z.B.) ein ATC oder die Streckensteuerung eines Bahnnetzes auch? /regards
Schau Dir Stellenausschreibungen von Berufen an, die dich interessieren. Aber nicht auf Xing, Stepstone, etc sondern in der Zeitung oder auf den Webseiten der jeweiligen Arbeitgeber. Und dann achte darauf, welche Programmiersprache die vorgeben. Du hast mehr davon, wenn du eine wirklich gefragte Sprache lernst, als wenn du die vermeintlich beste Sprache lernst. Und traue nicht diversen Statistiken und Rankings. Die berücksichtigen den jeweiligen Beruf nicht und erscheinen mir unabhängig davon äußerst fragwürdig. Vielleicht werden diese Statistiken von den selben Leuten erstellt, die früher für den ADAC gearbeitet hatten.
Der TIOBE Index wird daraus ermittelt wie oft eine Programmiersprache bei Suchmaschinen gesucht wird?! :-D Na das nenne ich ja mal eine "Aussagekräftige Statistik"! :'D
Draco schrieb: > Der TIOBE Index wird daraus ermittelt wie oft eine Programmiersprache > bei Suchmaschinen gesucht wird?! Meine Güte, es ist doch wirklich fast zum Verzweifeln... Also jetzt hier ganz explizit zum Mitmeißeln: Der TIOBE-Index misst ausschließlich die Anzahl von Treffern, die von diversen Suchmaschinen auf den Suchbegriff +"<language> programming" hin zurückgeliefert wird. Nichts, aber auch wirklich gar nichts anderes sagt dieses Ranking aus. Das steht auch genau so in dem Link, den Andreas gepostet hat. Das ändert aber am Ende natürlich nichts daran, dass diese "Metrik" für die Praxis völlig irrelevant ist.
Ach, und weil ich gerade so schön in Fahrt bin, möchte ich hiermit den BULLSHIT-Index als neues Ranking vorstellen. Aus den zugrundeliegenden, von mir sorgfältig ausgewählten, höchst wissenschaftlichen Metriken ergibt sich, dass Java exakt sieben Mal so beschissen ist wie C++. http://www.google.de/search?q=%2B%22java+programming+sucks%22&btnG=Suche&hl=de&gbv=1 http://www.google.de/search?q=%2B%22c%2B%2B+programming+sucks%22&btnG=Suche&hl=de&gbv=1 Damit wäre ja dann die Ausgangsfrage auch endlich geklärt.
> chris_ schrieb: >> Geht so, Java liegt beim Tiobe Index an erster Stelle der am meisten >> verwendeten Programmiersprachen. >> http://www.tiobe.com/tiobe-index/ >Autor: Hier trieft es vor Ironie (Gast) >Das ändert aber am Ende natürlich nichts daran, dass diese "Metrik" >für die Praxis völlig irrelevant ist. Ich wage mal zu behaupten, dass das für die Praxis am meisten relevante Metrik überhaupt ist. Oder um es etwas genauer zu sagen: für die Programmierpraxis Es zeigt nämlich, wie viel Unterstützung durch Forenbeiträge man für die Sprache bekommt. Alleine Stack-Overflow: Dort gibt es fast für jede Frage zu Java eine Antwort. Meistens mit fertigen Code-Beispielen, die direkt laufen.
chris_ schrieb: > Es zeigt nämlich, wie viel Unterstützung durch Forenbeiträge man für die > Sprache bekommt. Oder es zeigt, wie häufig Leute Probleme mit der Sprache haben und deshalb in Foren nachfragen müssen. Die Zahl der Suchmaschinen-Ergebnisse kann so ziemlich alles bedeuten, deshalb ist es sinnlos, darauf basierend einen Index zu erstellen. Das einzige, was dabei rauskommt, ist, wie häufig eine Sprache im Gespräch ist, aus welchem Grund auch immer.
Rolf M. schrieb: > chris_ schrieb: >> Es zeigt nämlich, wie viel Unterstützung durch Forenbeiträge man für die >> Sprache bekommt. > > Oder es zeigt, wie häufig Leute Probleme mit der Sprache haben und > deshalb in Foren nachfragen müssen. > Die Zahl der Suchmaschinen-Ergebnisse kann so ziemlich alles bedeuten, > deshalb ist es sinnlos, darauf basierend einen Index zu erstellen. Das > einzige, was dabei rauskommt, ist, wie häufig eine Sprache im Gespräch > ist, aus welchem Grund auch immer. Das einzige was dabei wirklich rauskommt, sind viele Clicks auf der Werbebanner-bewehrten Tiobe Website. Und je weniger klar ist, was man eigentlich ausgewertet hat, desto $$$
Autor: Rolf Magnus (rmagnus) >Oder es zeigt, wie häufig Leute Probleme mit der Sprache haben und >deshalb in Foren nachfragen müssen. Da C++ noch deutlich schwieriger als Java zu handhaben ist, dürfte es dort auch deutlich mehr Probleme geben. Insofern müsste Java in der Realität im Index noch weiter oben liegen, weil nach Deiner Argumentation durch die C++ Problemfragen der Index noch weiter in Richtung C++ verzerrt wird. Autor: Carl Drexler (jcw2) >Das einzige was dabei wirklich rauskommt, sind viele Clicks auf der >Werbebanner-bewehrten Tiobe Website Das denke ich nicht, sonst würde der Index nicht so oft im Heise-Newsticker erwähnt. Sicherlich gibt es mit der absoluten Genauigkeit der Tiobe-Metrik einige Kritikpunkte, aber als Schätzung, wie viele Leute sich mit einer Programmiersprache befassen, taugt er näherungsweise sicherlich. Und was Java anbelangt: Insbesondere weil es Milliarden an Android-Geräten und deren Apps gibt, muss Java ziemlich verbreitet sein.
chris_ schrieb: > Alleine Stack-Overflow: Dort gibt es fast für jede Frage zu Java eine > Antwort. Meistens mit fertigen Code-Beispielen, die direkt laufen. Aha, und das wirkt sich nun wie auf den TIOBE-Index aus? http://www.google.de/search?q=%2B%22Java+programming%22+site%3Astackoverflow.com http://www.google.de/search?q=%2B%22C%2B%2B+programming%22+site%3Astackoverflow.com Da passt aber irgendwas nicht so ganz zusammen... chris_ schrieb: > Und was Java anbelangt: Insbesondere weil es Milliarden an > Android-Geräten und deren Apps gibt, muss Java ziemlich verbreitet sein. Und wie viele Milliarden Geräte gibt es, in denen winzige 8-Bit- Controller werkeln? Klar, die Leute, die solche Systeme in C/C++ programmieren, werden wohl nicht mehr so häufig Fragen auf Stack Overflow stellen müssen wie die ganzen Erstsemester, die mit dem Java-Programmierzettel komplett überfordert sind und sich ihre Hausaufgaben "vom Internet" machen lassen.
chris_ schrieb: > Autor: Rolf Magnus (rmagnus) >>Oder es zeigt, wie häufig Leute Probleme mit der Sprache haben und >>deshalb in Foren nachfragen müssen. > > Da C++ noch deutlich schwieriger als Java zu handhaben ist, dürfte es > dort auch deutlich mehr Probleme geben. Insofern müsste Java in der > Realität im Index noch weiter oben liegen, weil nach Deiner > Argumentation durch die C++ Problemfragen der Index noch weiter in > Richtung C++ verzerrt wird. Du hast mich nicht verstanden. Meine Argumentation ist, dass es Tausend Gründe geben, kann, warum eine Sprache in einem Suchergebnis auftaucht - sowohl positive, als auch negative. Das, was ich oben geschrieben habe, war nur ein Beispiel, wie ein Suchergebnis auch das Gegenteil von dem bedeuten kann, was du geschrieben hast. Somit sind daraus keine Rückschlüsse darüber möglich, wie gut oder beliebt eine Sprache im Vergleich zu den anderen ist. > Sicherlich gibt es mit der absoluten Genauigkeit der Tiobe-Metrik einige > Kritikpunkte, aber als Schätzung, wie viele Leute sich mit einer > Programmiersprache befassen, taugt er näherungsweise sicherlich. > > Und was Java anbelangt: Insbesondere weil es Milliarden an > Android-Geräten und deren Apps gibt, muss Java ziemlich verbreitet sein. Man darf nicht vergessen, dass Milliarden von Geräten existieren, in denen µCs verbaut sind. Das sind keine offensichtlichen Computer, aber Code läuft darauf auch jede Menge - allerdings ist der selten in Java geschrieben. Es gibt auch einen Unterschied zwischen der Anzahl der Geräte und der Anzahl der Programmierer, die dafür Code schreiben. Sehr viel Code wird anwendungsspezifisch und damit für Einzelstückzahlen geschrieben.
Bedenke das Java mit dem Internet groß geworden ist. Da war C/C++ längst Erwachsen und deren Anwender längst erfahren. Die stellen weniger Fragen. Ich schätze, dass die allermeisten Fragen zu Java von Anfängern kommen, die es gerade erst lernen. Die allermeisten C Anfänger hatten gar keine Chance ihre Fragen im Internet zu diskutieren, weil es da noch gar kein Internet gab. Ich gebe euch mal ein anderes Beispiel für blöde Zählungen dieser Art: "elektro Auto" wird von Google 5,6 Millionen mal gefunden. "benzin auto" wird 34 Millionen mal gefunden. Was leiten wir daraus ab? Dass man bei Neuentwicklungen auf Benziner setzen soll? Da sind sämtliche Experten sicher anderer Meinung. Oder soll das heißen, dass in naher Zukunft Benzin Autos weiterhin am beliebtesten sein werden? Wohl kaum. Ich kenne niemanden, der plant, demnächst einen Benziner zu kaufen. Alle wollen Elektro, sobald die Voraussetzungen dafür geschaffen sind.
>Du hast mich nicht verstanden. Meine Argumentation ist, dass es Tausend >Gründe geben, kann, warum eine Sprache in einem Suchergebnis auftaucht - >sowohl positive, Es kann tausend Gründe geben. Nur der Satz von oben, dass Java eine tote Sprache sei, ist wohl ziemlicher Quatsch. Es mag schwierig sein, die Zahl der C-Programmierer mit der Anzahl der Java Programmierer aus dem Tiobe-Index abzuleiten, aber die Verbreitung von Java zu leugnen halte ich für falsch.
Man vergesse auch nicht die Millionen von Android-Furzapps, deren "Programmierer" von Java oft keine Ahnung haben, überall nerven und Java im TIOBE PCI ordentlich hochdrücken. Stefan U. schrieb: > Oder soll das heißen, dass in naher Zukunft Benzin Autos weiterhin am > beliebtesten sein werden? Wohl kaum. Ich kenne niemanden, der plant, > demnächst einen Benziner zu kaufen. Ist zwar OT, aber: Lebst du in einem Paralleluniversum? E-Autos spielen bei uns fast keine Rolle (Neuzulassungen um die 0,6%, glaube ich; der Marktanteil stagniert), und daran wird sich "in naher Zukunft" sicher nicht viel ändern.
eben, es zeigt wie oft Probleme in einer Sprache existieren und um Hilfe ersucht wird, Daher sind Pascal und Basic gar nicht erfasst, da man damit einfach sein Programm erstellt und so gut wie eine Frage stellen muss.. Wie z.B: bei Lazarus PAscal.. einfach mal ausprobieren! Download, starten, schreiben, compilieren fertig ;-) Daserstellte Programm kann beliebig kopiert werden, es wird kein Installer oder Framework doer sonstwas bentigt :-) hehe
Ich würde Dir empfehlen, einfach mal eine kleine Anwendung in C++ und Java, evtl. versuchst Du auch mal C#, zu schreiben. Stell Dir ein paar kleinere Anforderungen, z.B. Tasks mit Zeitablauf, evtl. ein wenig SQL (was schon eine grössere Anforderung wäre), Stringoperationen, Meldungsfenster... Dann schreib einfach das Programm in z.B. C# und schau in Foren nach, wie Du am besten an Infos (ggf. auch Bücherinfos )kommst, die Dir relevant erscheinen. Dann versuchst Du das gleiche mit c++ und dann mit Java. Was Dir am besten liegt, das nimmst Du dann. Meiner Meinung nach sind die Sprachen nicht so weit auseinander und sie ähneln sich ziemlich. Was ich an Java klasse finde, ist einfach das: Du schreibst ein Programm, dann läuft es unter Windows, Mac und Linux(hoffentlich :-)). Das ist für mich im Moment auschlaggebend. Auch die Entwicklungsumgebung ist relevant. Für Windows versuche Visual C# oder C++ Express, für Java fand ich Netbeans klasse. Wie gesagt, testen und dann entscheiden.
Jürgen K. schrieb: > Was ich an Java klasse finde, ist einfach das: > Du schreibst ein Programm, dann läuft es unter Windows, Mac und > Linux(hoffentlich :-)). > Das ist für mich im Moment auschlaggebend. > > Auch die Entwicklungsumgebung ist relevant. > Für Windows versuche Visual C# oder C++ Express, für Java fand ich > Netbeans klasse. dem möchte ich mich anschließen (alle punkte), allerdings kenne ich c++/# nicht, nur java. ich schreibe beruflich beans zur verwendung in oracle forms, außerdem PDF bearbeitung, grafikbearbeitung, webservices für tomcat - zumindest da ist java angenehm zu benutzen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.