Was sollte ein professioneller C++ Entwickler kennen und können?
-
rthrthrt schrieb:
Rate mal warum wir alle C++ so doof finden. Weil es nichts taugt.
Mal von der Ausführungsgeschwindigkeit abgesehen kann jede beliebige Sprache C++ ersetzen und das viel besser!
Welche modernen Sprachelemente? Das wäre mir neu.
Top Programmiersprachen? Der einzige Grund warum C++ immer noch so weit verwendez wird ist, wie du es oben erwähnt hast, der vorhandene Code, sowie die unzähligen C++ Programmierer, die man halbwegs günstig bekommt.
C++ hat nunmal nichts zu bieten. Wow, die std lib bietet Sachen an, mit denen man einfach segfaults verursachen kann. Unglaublich! Diese dynamischen Datenstrukturen sind in richtigen modernen Sprachen sowas von selbstverständlich. In C++ wird damit immer noch angegeben. Armselig sowas ist.
Mal meinen Senf dazugeben:
Java, C# , CLI und was sich da noch so tummelt, genau betrachtet alles C++ mit eigenem Framwork, deren Might am Ende des Framworks endet(Nur ordnunghalber mal erwähnen das deren Laufzeitumgebung in C++ geschrieben ist, warum blos ? ).Andere Sprachen sind dann welche die sich in Programmierparadigmen und Syntax unterscheiden, da gibt es mit Sicherheit welche die sich für das eine oder andere besser eignen als C++ .
So und Senf zum Topic:
-Erfahrung, Erfahrung , Erfahrung
-Syntax
-OOP
-Design
-Visualisierung von Konzepten
-Boost
-Mindestens ein Framwork
-Winapi und Posix verstehen
-Sql sollte man können, die großen 3 DB sollte mann sich schonmal angeschaut haben ( IBM Db2 , Oracle , MS SQL ( Sybase ).
-Netzwerk ( Protokollem, Osi, LDAP, Routing ..... )-Und ganz wichtig, die Fähigkeit nicht IT lern IT Inhalt verständlich zu vermitteln.
-Nicht IT ler sind immer der Meinung ( und gerade Chefs ) das IT ler alles was IT ist können muß , die Breitbandigkeit ist den wenigsten bewußt . Hier sollte man sich in vieles schnell einarbeiten können.
Im MS Umfeld halte ich die MFC für einen sehr guten Basis Skill, auch wenn man andere Frameworks wie Qt benutzt.
-
Zabou schrieb:
Mal meinen Senf dazugeben:
Java, C# , CLI und was sich da noch so tummelt, genau betrachtet alles C++ mit eigenem Framwork, deren Might am Ende des Framworks endetMerkst du was? Bei C++ endet die "Might" auch mit dem eigenen Framework. Leider hat C++ kein eigenes Framework. Ich glaube das ist einer der Haken an C++.
Zabou schrieb:
(Nur ordnunghalber mal erwähnen das deren Laufzeitumgebung in C++ geschrieben ist, warum blos ? ).
Nur mal ordnungshalber, warum wird C++ in maschinensprache beim compilieren übersetzt, warum bloß? Weil das eine mit dem anderen nichts zu tun hat. ps: Die Laufzeitumgebungen kannst du auch in C oder asm oder jeder beliebigen sprache schreiben.
-
Leider hat C++ kein eigenes Framework. Ich glaube das ist einer der Haken an C++.
Selten dämliches Argument...
C++ ist nicht perfekt, aber es verbindet hohe Abstraktion mit schneller Ausführgeschwindigkeit wie keine andere Sprache - wenn man es richtig macht. Wenn's nicht schnell gehen muss, greife auch ich lieber zu Python.
....
-
[quote="ddddddf
Merkst du was? Bei C++ endet die "Might" auch mit dem eigenen Framework. Leider hat C++ kein eigenes Framework. Ich glaube das ist einer der Haken an C++.Nur mal ordnungshalber, warum wird C++ in maschinensprache beim compilieren übersetzt, warum bloß? Weil das eine mit dem anderen nichts zu tun hat. ps: Die Laufzeitumgebungen kannst du auch in C oder asm oder jeder beliebigen sprache schreiben.[/quote]
Es gibt wohl kaum eine Sprache wo es mehr Auswahl an Framworks gibt als C++ ^^ , da endet nix an irgendeinem Framwork nur am Lötkolben, was mit C++ nicht geht muß gelötet werden ^^ auch wen es nicht immer Sinn macht.
Und um deine 2 Frage mal nicht zu beantworten, weißt du eigentlich wovon du so sprichst ?
-
Zwangs-OOPisierung :schland:
-
zwangs-OOpisierung , Wo ?
-
nach schlag schrieb:
zwangs-OOpisierung , Wo ?
Na überall. Lieber eine Klasse bestehend aus einer (von der Klasse unabhängigen) methode, als einfach eine funktion zu schreiben. Letzteres wäre ja C und C ist ja laut C++-Propaganda per Definition Gefrickel pur.
-
Warum sollte man das machen ?
C++ kann muß aber nicht OOP .
C hinngegen kann kein OOp
-
OOP ist kein Sprachfeature...
-
fghfghffssss schrieb:
Na überall. Lieber eine Klasse bestehend aus einer (von der Klasse unabhängigen) methode, als einfach eine funktion zu schreiben. Letzteres wäre ja C und C ist ja laut C++-Propaganda per Definition Gefrickel pur.
Schwachsinn, C++ ist eine Multiparadigmensprache und OO ist nur ein Sprachkonzept unter vielen in C++. Das ändert aber nichts daran, das man in C++ dennoch anders als in C programmiert (in der Regel auch weniger Zeigerlastig).
Meine C++ Programme sind zwar weitgehend OO, aber nicht ausschließlich (Manchmal machen Funktionen mehr Sinn).
-
dot schrieb:
OOP ist kein Sprachfeature...
Wird aber durch Sprachbestandteile besser oder schlechter unterstützt.
-
Hmmmm schrieb:
C hinngegen kann kein OOp
das stimmt nicht, das geht sehr wohl. FILE ist das beste Bsp dafür, oder GTK+, da hast du sogar Klassenvererbung.
-
Das ist eine Implementierung von GTK+ welche aber nicht zum Sprachumfang von C gehört.
C ist eine Prozedurale Sprache.
OOP ist auch weit mehr als Klassen und Klassenvererbung.Was nicht bedeutet das C eine schlechtere Sprache als C++ ist, sie hat in einigen Bereichen ihre Stärken was sie für bestimmte Problemlösungen zur besten Wahl werden läßt, ebenso C++ in seinem Bereich.
Manchmal erinnern mich in dem Forum hier die "Diskusionen" schon ein wenig an die Mantafraktion, meine Sprache hat mehr PS ^^.
Wat soll dat eigentich bringen ?
Ausser vieleicht das Buchhandlungen gerade feststellen das C und C++ gar nicht mehr verwendet wird, MFC seit Jahren schon abgelöst ist (O Ton des Verkäufers) und icke mir mein Buch beim Versand bestellen kann, deswegen nur noch Restbestände, in 3 Buchhandlungen .
-
^^ schrieb:
Ausser vieleicht das Buchhandlungen gerade feststellen das C und C++ gar nicht mehr verwendet wird,...
Okay, C und C++ kommen zusammen nur etwa auf die Buchverkaufszahlen von Java oder C#, das heißt aber nicht, das es nicht mehr verwendet wird (Zumal man auch bedenken muss das sich sowohl in C, wie auch in C++, seltener etwas Entscheidendes ändert, als beispielsweise in Java oder C#, und auch schon ein deutlich größerer Buchbestand schon Regale diverser Firmen und Personen füllen).
Das heißt aber nicht, das es nicht mehr verwendet wird (ich kenne noch sehr viele Firmen im C++ Umfeld, weniger im C-Umfeld - aber ich bin auch in der Anwendungsentwicklung und nicht im Umfeld von Treibern und Embedded Systems tätig (wo C wiederum einen höheren Stellenwert geniest).
Die Aussage ist daher Schwachsinn (und auch gulp & Co sprechen eine andere Sprache, selbst wenn der Anteil etwas zurückgegangen ist).
^^ schrieb:
MFC seit Jahren schon abgelöst ist (O Ton des Verkäufers)...
Von den Büchern her stimmt das auch. Wenn man zum Thema MFC Bücher sucht, muss man auf sehr alte Bestände zurück greifen, das gilt aber auch für einige andere Frameworks. Das hat aber nichts damit zu tun, das MFC nicht mehr eingesetzt wird. Die MFC hat noch immer einen sehr hohen Verbreitungsgrad im C++ Umfeld.
Leider werden auch nicht die alten Bücher mehr nachgedruckt, was es einen Einsteiger in MFC um so schwerer macht, oder neue (und sei es mit wenigen Aktualisierungen) heraus gebracht.
-
C++, Java, C# objektorientiert? Quatsch! Nur Eiffel ist objektorientiert - weil Bertrand Meyer das so definiert hat.
Man kann natürlich auch Alan Kay die größere Definitionskompetenz zum Begriff 'Objektorientierung' zugestehen und folgende Zitate bemühen:
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.
Actually I made up the term "object-oriented", and I can tell you I did not have C++ in mind.
Zum ursprünglichen Posting möchte ich anmerken: es wurde gefragt, was ein professioneller Programmierer bei C++ können, kennen und wissen sollte. Unter "professionell" verstehe ich, dass da jemand seine Brötchen mit verdienen will. Das kann man heute sicher auch genausogut (wenn nicht besser) mit Java oder C#, aber all die Fürsprecher von esotherischen/akademischen Sprachen wie Haskell oder PTL Racket, etc. sei bemerkt, dass man bei Gulp oder Monster sehr, sehr wenig Stellenangebote findet, die Kenntnisse in diesen Sprachen fordern.
Uns hat man im Grundstudium auch Übungsaufgaben in Oberon-2, Standard ML, Eiffel, Prolog und irgendeinem LISP-Dialekt gestellt. Im Beruf habe ich die noch nirgends angetroffen. C, C++, Java, VBA, Perl, Python aber schon... und sogar (Trarar!): Assembler