Warum sollte jemand C anstelle von C ++ benutzen? [Duplikat]

8

Ich habe mit dem Lernen von C angefangen, bin dann aber direkt in C ++ gesprungen, einfach weil es OO unterstützt und auch für die weitere Arbeit benötigt wurde. Einige Unternehmen bestehen jedoch darauf, Mitarbeiter mit besonders starker C-Erfahrung zu beschäftigen - und ich habe festgestellt, dass dies besonders für Entwickler von Hardware-Treibern gilt.

    
Nick Bolton 24.02.2010, 15:05
quelle

5 Antworten

4

Die Verarbeitung von C-Zeichenfolgen ist sehr anders als C ++ - typischer Zeichenfolgencode. Natürlich würde ich keine C ++ - Zeichenfolge in der Nähe meiner Treiber haben wollen!

Genauer gesagt müssen Sie in gutem, modernem C ++ Zeiger nicht wirklich verstehen und Puffer auf niedriger Ebene handhaben; aber das sind grundlegende und entscheidende Fähigkeiten im Gerätetreiber-Code.

Ja, es ist möglich, gute Treiber in C ++ zu schreiben; aber das C ++ würde wirklich wie C aussehen mit ein paar zusätzlichen Funktionen. Der größte Teil der C ++ - Bibliothek hat keinen Platz in Deviceland.

    
Javier 24.02.2010 15:10
quelle
3

Es könnte einfach sein, dass sie keinen C ++ - Compiler für die Plattform haben, mit der sie arbeiten ... Ich persönlich würde immer C ++ anstelle von C verwenden.

    
Martin Milan 24.02.2010 15:09
quelle
3

C ist viel portabler - unter der derzeitigen Standardisierung von C ++ kann es einfach nicht verwendet werden, wenn Portabilität wichtig ist. Es ist auch sehr schwer für C ++ - Code, in eine C-Umgebung (in einer zuverlässigen und tragbaren Weise) integriert zu werden.

    
Ofir 24.02.2010 15:10
quelle
1

Viele eingebettete Systeme wie Mikrocontroller, SPS usw. verwenden C und nicht C ++, da sie keine Klassen haben müssen, sondern nur eine riesige Schleife, über die einige Funktionen verteilt sind. Nichts Besonderes, aber genug, um die Arbeit in einer höheren Sprache zu erledigen. Da C den Menschen vertrauter ist als die Montage, funktioniert es in ~ 98% der Fälle gut.

    
user195488 24.02.2010 15:10
quelle
-1

Ich denke, dass der Grund ziemlich einfach ist, viele Unternehmen wollen effizient lesbaren Code. C ist eine relativ einfache Sprache zu verstehen und zu verstehen, und für viele Anwendungen gibt es keinen Grund, Entwicklung und Code-Kontinuität zu verkomplizieren, indem ganze neue Konzepte (Klassen, Polymorphie, Vererbung usw.) hinzugefügt werden, die OO-Sprachen ermöglichen, aber nicht benötigt werden.

    
Hortinstein 24.02.2010 15:18
quelle

Tags und Links