Zum Inhalt springen

Ist das Lernen von C++ ein Muss?


Quantus

Empfohlene Beiträge

Nun ist es ja durchaus auch so, dass man immer wieder einschätzung liest und hört, dass der wechsel von c++ auf java einfacher ist als umgekehrt.

Dem muss ich doch "leider" zustimmen. Ich finde Java in vielen Punkten einfacher als C++, auch so Sachen wie Reflections sind doch sehr nett in Java.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 65
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Ich würde Dir dann gerne mal die Frage stellen, wie tiefgehend Deine C++ Kenntnisse sind?
Ich würd sie mit "sehr gut" bezeichnen, wobei natürlich nach oben durchaus noch luft ist.

Kannst Du cross-plattform Anwendungen schreiben
Klar. Du nicht?

arbeitest Du mit der Boost
Eher selten.

kannst Clustersysteme z.B. via MPI programmieren?
Bevor ich darauf antworte, verrätst du mir, was das mit c++ zu tun hat?

Hast Du schon mal mit Bibliotheken wie LAPACK, ARPACK o.ä. gearbeitet?
Ist das nicht eher fortran? Genau das gleiche wie MPI. Was hat das mit c++ zu tun?

Dürfte ich dich was fragen? Kanns sein, dass du (wie viele andere auch) kenntnisse der verschiedenen ebenen (sprachen, bibliotheken, konzepte, APIs, ...) vermengst, das konglomerat am ende aber nutzt, um nach den kenntissen in EINEM der bereiche zu fragen?

Mit anderen worten: deine fragen taugen nicht, um die kenntnisse in c++ von irgendwem zu erfahren. Das kann man eh nicht mit einer handvoll fragen erkennen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dem muss ich doch "leider" zustimmen. Ich finde Java in vielen Punkten einfacher als C++, auch so Sachen wie Reflections sind doch sehr nett in Java.

Dafür ist auf der anderen seite die template-programmierung in c++ sehr nett. Nur sind das alles sinnlose vergleiche. Ausserdem nutze ich beide sprachen gern und intensiv.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bevor ich darauf antworte, verrätst du mir, was das mit c++ zu tun hat?

Ist das nicht eher fortran? Genau das gleiche wie MPI. Was hat das mit c++ zu tun?

LAPACK und ARPACK sind in Fortran geschrieben, wobei es auch eine C-Port gibt. MPI ist sicher kein Fortran (Message Passing Interface ? Wikipedia)

Dürfte ich dich was fragen? Kanns sein, dass du (wie viele andere auch) kenntnisse der verschiedenen ebenen (sprachen, bibliotheken, konzepte, APIs, ...) vermengst, das konglomerat am ende aber nutzt, um nach den kenntissen in EINEM der bereiche zu fragen?

Zu einem guten Entwickler sollte es auch gehören über den Tellerrand zu schauen. Deine Aussagen beziehen sind binär, entweder man kann C++ und man ist damit ein guter Entwickler, wenn man eben kein C++ kann, ist man es eben nicht. Jedenfalls einmal überspitzt gesagt.

Zu einem guten Entwickler gehört eben auch, dass er eben mit Hilfe einer Sprache und der dazu resultierenden Paradigmen arbeiten kann. Ich denke, die wenigsten Entwickler werden mit einer funktionalen Sprache wie Haskell oder logischen Sprache wie Prolog arbeiten (können), weil sie nur sehr selten gelehrt werden.

Transferiert auf Deine Aussage, könnte ich dann auch sagen, wer nicht einmal was in Prolog programmiert hat, ist kein guter Entwickler, wobei ich dann sehr vielen guten Entwicklern ins Kreuz trete, da primär die Entwicklung auf imperativen Sprachen liegt.

Du sagst, das ich die Sprachkonzepte vermische, woran soll man dann fest machen, was ein "guter" Entwickler ist? An welchen belegbaren Fakten machst Du einen "guten" Entwickler fest?

Du sagst er muss C++ können okay, das kann sein wenn er nur eine main-Funktion geschrieben bekommt, die er kompilieren und linken kann. Im anderen extrem gesprochen, ein guter Entwickler sollte vielleicht auch den Einsatz von Fortran-Libs in eine C++ Programme beherrschen, dazu noch cross-plattform Anwendungen konzipieren können, das ganze noch als Template-Klassen in der OOP aufbauen und oben drauf noch das ganze auf einem Cluster-System zum laufen bekommen und dabei die höchstmögliche Effizienz heraus holen.

Bisher fehlen mir Fakten, an denen Du einen guten (C++) Entwickler fest machst

Link zu diesem Kommentar
Auf anderen Seiten teilen

MPI ist sicher kein Fortran

Genau das gleiche wie MPI. Was hat das mit c++ zu tun?

Alles klar?

Zu einem guten Entwickler sollte es auch gehören über den Tellerrand zu schauen.

Was hab ich denn genau in dem post geschrieben, den du als erstes zitierst hast?

Ich denke, die wenigsten Entwickler werden mit einer funktionalen Sprache wie Haskell oder logischen Sprache wie Prolog arbeiten (können), weil sie nur sehr selten gelehrt werden.
Wer auf ner uni war, kam mit haskell wahrscheinlich in kontakt.

Transferiert auf Deine Aussage, könnte ich dann auch sagen, wer nicht einmal was in Prolog programmiert hat, ist kein guter Entwickler, wobei ich dann sehr vielen guten Entwicklern ins Kreuz trete, da primär die Entwicklung auf imperativen Sprachen liegt.
Sag von mir aus was du willst. Wenn du das so siehst, dann siehst du das so.

An welchen belegbaren Fakten machst Du einen "guten" Entwickler fest?
An der art und weise, wie der entwickler welche projekte entwickelt hat. Also grösse/komplexität/umfang der projekte sowie anhand des geschriebenen codes. Und nicht anhand irgendwelcher stichpunktartigen fragen in einem forum ;)

Du sagst er muss C++ können okay, das kann sein wenn er nur eine main-Funktion geschrieben bekommt, die er kompilieren und linken kann.
Das ist unnötiges überziehen und verdrehen meiner aussagen. Ich hab nicht nur einmal von mindestens _guten_ c++ programmierern gesprochen.

Im anderen extrem gesprochen, ein guter Entwickler sollte vielleicht auch den Einsatz von Fortran-Libs in eine C++ Programme beherrschen, dazu noch cross-plattform Anwendungen konzipieren können, das ganze noch als Template-Klassen in der OOP aufbauen und oben drauf noch das ganze auf einem Cluster-System zum laufen bekommen und dabei die höchstmögliche Effizienz heraus holen.
Hab ich irgendwas gegenteiliges behauptet?

Bisher fehlen mir Fakten, an denen Du einen guten (C++) Entwickler fest machst

Die hab ich dir ja jetzt genannt. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also grösse/komplexität/umfang der projekte sowie anhand des geschriebenen codes.

Aber Du beziehst Dich hier nicht auf C++, sondern eher auf den Bereich Projektmanagement, d.h. ich kann schlussfolgern, dass die Sprache nicht relevant ist, sondern dass es darum geht, die Problemstellung mit Hilfe einer Sprache angemessen umzusetzen. Somit wäre also C++ kein Pflichtelement eines guten Entwicklers, sondern allenfalls ein "kann"

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

Deswegen schrieb ich ja, dass es meine ganz persönliche sicher nicht allgemeingültige erfahrung ist.

"Persönliche heiligkeit"? Vielleicht aber doch auch nur, um sich persönlich weiterzubilden? Es gibt eben leute, die nicht gern bei einer sache stehenbleiben, sondern sich auch privat weiterbilden. Gerade in der softwareentwicklung kann einem das früher oder später vorteile bringen. Selbst schon mehrmals erlebt.

"Sag mal, du bist doch c++ programmierer. Wie siehts bei dir mit java kenntnissen aus?"

Würde ich der einstellung "ich mach mein ding und gut ist" anhängen, dann hätte ich sagen müssen "leider nicht gut". So bin ich aber in ein interessantes projekt gerutscht. Und das wo java bei meiner einstellung absolut keine rolle gespielt hat.

Und ja, von einem gutem programmierer erwarte ich nunmal ein breiten _und_ auch tiefgehenden kenntnisstand. Und C++ gehört einfach dazu. So.

Zur "freiwilligen, persönlichen Weiterbildung" ist das, was ich versucht habe mit "persönlicher Heiligkeit" meinte; ich beschäftige mich -profan- auch aus "Spaß an der Freud" mit "berufsfremden" Sprachen. Deshalb bin ich aber noch lange nicht der Auffassung, daß jeder das tun muss, geschweige denn, qualifiziere ich jemanden ab, der das nicht tut.

Im übrigen hast Du mir auf meinen Einwand, warum ein Webentwickler sich mit C++ auskennen sollte, noch keine fundierte Entgegnung gegeben - oder habe ich die Überlesen?

Desweiteren bin ich der Meinung, daß es heutzutage praxisfern ist, Hansdampf in allen Gassen sein zu können/wollen. Dazu ist die Materie viel zu komplex und umfangreich. Latent sehe ich da den klassischen "Bildungsbürgergedanken" vom "Universalgelehrten" á la Humboldt am Werke, der sich gerade in der heutigen Zeit selbst ad absurdum führt. De facto sieht es so aus, daß ich die Wahl habe, bestenfalls Spezialist auf einem Gebiet sein zu können (was so schon recht schwer wird) oder aber jede Menge an "Teilwissen" habe, was in der Art für die Praxis untauglich ist, da ich zum einen die für viele Aufgaben nötige tiefe an Wissen in den Gebieten nicht aufweisen kann, und zum anderen viel Wissen anhäufe, welches nie in der Praxis gebraucht werden wird - naja bei Günther Jauch evtl. für 500.000€ oder bei "Genial daneben" ("Elternknoten" für 500€) ;)

Aber ich schweife ab vom Thema *G*

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber Du beziehst Dich hier nicht auf C++, sondern eher auf den Bereich Projektmanagement, d.h. ich kann schlussfolgern, dass die Sprache nicht relevant ist, sondern dass es darum geht, die Problemstellung mit Hilfe einer Sprache angemessen umzusetzen. Somit wäre also C++ kein Pflichtelement eines guten Entwicklers, sondern allenfalls ein "kann"

Ein reiner codesklave wird eh nie ein guter entwickler. Aber ich spreche in dem fall durchaus vom code, nicht vom projektmanagement. Das was ich erwähnte, ist natürlich nicht nur auf c++ bezogen. Gute entwickler sehen es einem code an, ob er gut ist oder von jemanden geschrieben wurde, der schwierigkeiten mit spracheigenschaften und konzepten hat (jaja, ich weiss. codemetriken machen das auch).

Deshalb bin ich aber noch lange nicht der Auffassung, daß jeder das tun muss, geschweige denn, qualifiziere ich jemanden ab, der das nicht tut.
"Müssen" muss keiner was. Ich bin aber der meinung, dass jemand, der ein guter entwickler sein/werden will, sich nebenher weiterbilden muss. "Wer sich nicht weiterentwickelt, fällt zurück", oder so ähnlich habe ich es in einem anderen thread hier im forum gelesen. Und _gerade_ in so einer schnelllebigen branche ist es in meinen augen unabdingbar, sich ausserhalb des gerade aktuellen beruflichen umfelds weiterzubilden. Auch das macht einen guten entwickler aus (ist ja nicht so, dass ich gesagt hätte, c++ wäre das alleinige merkmal).

Im übrigen hast Du mir auf meinen Einwand, warum ein Webentwickler sich mit C++ auskennen sollte, noch keine fundierte Entgegnung gegeben - oder habe ich die Überlesen?

Sorry, nein, habe ich überlesen.

Warum? Als allererstes natürlich der tellerrand.

Andererseits sind webentwickler doch sowieso keine richtigen programmerier :D

Desweiteren bin ich der Meinung, daß es heutzutage praxisfern ist, Hansdampf in allen Gassen sein zu können/wollen. Dazu ist die Materie viel zu komplex und umfangreich.

Das habe ich ja auch nie gesagt. Siehe meinen ersten post, wo ich schrieb "c++ und java ODER c#" (+ diverses). Ich bin auch kein hansdampf in allen gassen. Allerdings brauche ich mich eben auch nicht nur auf stellenanzeigen zu begrenzen, wo gerade die eine sprache, die ich kann, verlangt wird.

De facto sieht es so aus, daß ich die Wahl habe, bestenfalls Spezialist auf einem Gebiet sein zu können (was so schon recht schwer wird) oder aber jede Menge an "Teilwissen" habe, was in der Art für die Praxis untauglich ist, da ich zum einen die für viele Aufgaben nötige tiefe an Wissen in den Gebieten nicht aufweisen kann...

"Experte", ok. Sicherlich sind begrifflichkeiten wie "sehr gut", "experte" und ähnliches schwammig. Natürlich kann keiner überall experte sein, und jeder hat ein bestimmtes thema, was ihm besonders liegt. Dennoch kann man in anderen bereichen doch mindestens so gut oder "sehr gut" sein, dass man in anspruchsvollen projekten sofort eingesetzt werden kann. Das macht eben auch den unterschied zwischen guten und mittelmäßigen entwicklern aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Entschuldige, wenn ich jetzt nicht en detail auf Deine Antwort zu sprechen komme, aber folgendes picke ich heraus, um mal wieder etwas in Richtung Thread zu kommen:

Allerdings brauche ich mich eben auch nicht nur auf stellenanzeigen zu begrenzen, wo gerade die eine sprache, die ich kann, verlangt wird.

D' accord.

Aber die Frage war ja eingangs, ob C++ vernachlässigbar ist. Und da lautet die Antwort eben: Ja, durchaus. Es gibt genügend Einsatzgebiete, wo kein C++ benötigt wird.

Daß es beruflich nicht schadet, wenn man etwas vielseitiger gebildet ist, bestreitet ja auch niemand.

Oder wie Johannes Gross einmal sagte: "Ich bin vielseitig ungebildet" ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der Hoffnung, dass ich jetzt durch wiederholendes Stellen einer Frage nicht zugebe, keineswegs alle Posts gelesen zu haben:

Ich selber (FISI, Ende 1. LJ) lern in der BS "nur" C++ mit den zugrundeliegenden Techniken, brauche es aber in der Ausbildung (noch) nicht wirklich, obwohls mich eigentlich schon (auch privat) interessiert.

So viel zum langen ausholen, jetz die eigentliche Frage:

Wie viel kann man aus C++ in andere Programmiersprachen übernehmen?

Damit meine ich nicht zwangsläufig den Synthax, sondern eher die zugrundliegenden Herangehensweisen wie Variablen, Schleifen, Funktionen und Pointer (weiter bin ich selber noch nich gekommen ^^)

Gruß

NPC

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, da kann man einfach einen naive Gegenfrage stellen:

Wann war Vorwissen jemals nicht von Vorteil ?

Sag ich dir gerne:

Wenn man das Falsche gelernt hat, zb. in diesem Fall ohne Konventionen vor sich hin codet und Spaghetticode produziert. Falsch Gelernte wieder los zu werden ist schwieriger, als Neues richtig zu lernen.

Hoffe, deine Frage hiermit verständlich beantwortet zu haben, ohne zu naiv zu sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sag ich dir gerne:

Wenn man das Falsche gelernt hat, zb. in diesem Fall ohne Konventionen vor sich hin codet und Spaghetticode produziert. Falsch Gelernte wieder los zu werden ist schwieriger, als Neues richtig zu lernen.

Hoffe, deine Frage hiermit verständlich beantwortet zu haben, ohne zu naiv zu sein.

Hat mir geholfen, danke.

Also lieber nichts lernen und beibringen lassen, bevor man es falsch lernt - so habe ich das jetzt verstanden...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...