Programmiersprache?
-
fdghjkghjkhjkhjkhjk schrieb:
So sehr unterscheidet sich C++ von C dann auch nicht. Dieses lieblos draufgeklatschte OOP is ein witz
Oh doch, da gibt es sogar sehr viele Unterschiede, gerade wenn man sich wirklich ernsthaft mit C++ auseinander setzt. Der Programmierstil unterscheidet sich je nach Projekt schon gewaltig.
realitätsfern schrieb:
Du willst nicht ernsthaft behaupten das irgendjemand, der noch klar bei Verstand ist, C für ein neues größeres Projekt einsetzen wird wenn ihm für die Plattform C++, C#, Java, Python, Delphi usw. zur Verfügung steht...
Das wird er nicht nur behaupten, sondern das wird durchaus in einigen Firmen praktiziert. Ob du oder ich das genauso machen würden, ist etwas anderes.
-
erstaunt schrieb:
Gibt es denn nicht eine Seite die mehr der Praxis entspricht? Sicher ist für Embedded unschlagbar aber gibt es so viele MC-Software als das sie mit der Anzahl der Software für die großen Rechner mithalten können?
Bei den großen System ist es ja klar das dort kaum C zum Einsatz kommt wozu auch?
Du musst berücksichtigen, dass du bei Computern eine mehr oder weniger standardisierte Umgebung hast, bei vielen Mikrocontrolleranwendungen nicht. Du kannst nicht eine "Toastersoftware" einfach für einen anderen Toaster neu kompilieren oder einen Kühlschrank damit upgraden. Fast jedes popelige Kleingerät braucht seine eigene Software von Kopf bis Fuß. Deswegen heißt es ja "Eingebettet": Software und Hardware gehören zu einer festen Einheit. Das ist natürlich bei vielen größeren Geräten heute auch schon anders. Ein modernes Handy ist kein eingebettetes Gerät mehr und die Anwendungssoftware dafür erst recht nicht.
Übrigens verstehe ich nicht, was so schlimm an C++ für embedded Kram oder Kernel sein soll. Alleine Namespaces und stärkere Typisierung finde ich ein gutes Argument für C++.
guckt mal hier:
www.cs.inf.ethz.ch/ssw/files/SSW00Aos1.pdf
Ist zwar nicht C++, aber man kann wohl deutlich sehen, dass man nicht immer nur "primitive" Sprachen wie C benutzen muss. Haiku ist meines Wissens nach auch komplett samt Kernel in C++ geschrieben und ich glaube nicht, dass die ihre Entscheidung bereuen.
-
asc schrieb:
fdghjkghjkhjkhjkhjk schrieb:
So sehr unterscheidet sich C++ von C dann auch nicht. Dieses lieblos draufgeklatschte OOP is ein witz
Oh doch, da gibt es sogar sehr viele Unterschiede, gerade wenn man sich wirklich ernsthaft mit C++ auseinander setzt. Der Programmierstil unterscheidet sich je nach Projekt schon gewaltig.
realitätsfern schrieb:
Du willst nicht ernsthaft behaupten das irgendjemand, der noch klar bei Verstand ist, C für ein neues größeres Projekt einsetzen wird wenn ihm für die Plattform C++, C#, Java, Python, Delphi usw. zur Verfügung steht...
Das wird er nicht nur behaupten, sondern das wird durchaus in einigen Firmen praktiziert. Ob du oder ich das genauso machen würden, ist etwas anderes.
Echt, warum tut man sich denn so etwas an?
Naja, vielleicht wenn man ein wirklicher Experte ist möglich. Ich habe mal eine Routine zu einer relativ sicheren dynamischen Speicheranforderung gesehen und die wurde auch erklärt. Der Quelltext war ellenlang und sah extrem kompliziert aus, also nicht das übliche "normale" Zeigergewurschtel. OOP war auch von C++ nachgeahmt selbst das mit den vtables für Polymorphie, aber auch hier wurde davon abgeraten und in diesem Falle auf C++ verwiesen, da es hier gleich eingebaut ist und noch viel mehr bietet was nur sehr kompliziert in C nachzuahmen ist mit vielen Makros etc. Die Fehleranfälligkeit steigt dabei natürlich ziemlich an und es muss höhst konzentriert gearbeitet werden. Also alles sehr anstrengend im Vergleich, aber machbar. Aber das wäre es in Assembler auch.
-
realitätsfern schrieb:
SeppJ schrieb:
C ist erstaunlich verbreitet, auch bei großen Projekten.
Du willst nicht ernsthaft behaupten das irgendjemand, der noch klar bei Verstand ist, C für ein neues größeres Projekt einsetzen wird wenn ihm für die Plattform C++, C#, Java, Python, Delphi usw. zur Verfügung steht. *kopfklatsch
C ist nicht mehr als ein portabler Assembler, damit kann man alles machen muss man aber zum Glück heutzutage nicht mehr.
Du musst einfach beachten, dass es alle möglichen Projekte und Verwendungszwecke gibt. Ich kenne deine Perspektive nicht. Aber wenn du von C#, Java und sogar Delphi schreibst, dann geht es dir sicher um Desktopanwendungen. Da ist C sicher keine gute Wahl. Aber Desktopanwendungen sind ja nur ein sehr kleiner Bereich der Softwareentwicklung (mittlerweile ein sogar immer mehr unbedeutender!).
Aber es gibt zahlreiche andere Bereiche in der Softwareentwicklung. C spielt gerade bei allen möglichen Microcontrolersachen eine wichtige Rolle. Somit auch eine wichtige bei der Automatisierung. Oft wird das C da sogar nur noch teilweise von der Hand geschrieben und eher aus Matlab oder anderen Tools exportiert. Und solche Projekte sind nicht gerade klein. Also nicht mit ner simplen LED-Steuerung auf einem Atmel zu vergleichen :).
-
zuckerhut schrieb:
Echt, warum tut man sich denn so etwas an?
Naja, vielleicht wenn man ein wirklicher Experte ist möglich. Ich habe mal eine Routine zu einer relativ sicheren dynamischen Speicheranforderung gesehen und die wurde auch erklärt. Der Quelltext war ellenlang und sah extrem kompliziert aus, also nicht das übliche "normale" Zeigergewurschtel. OOP war auch von C++ nachgeahmt selbst das mit den vtables für Polymorphie, aber auch hier wurde davon abgeraten und in diesem Falle auf C++ verwiesen, da es hier gleich eingebaut ist und noch viel mehr bietet was nur sehr kompliziert in C nachzuahmen ist mit vielen Makros etc. Die Fehleranfälligkeit steigt dabei natürlich ziemlich an und es muss höhst konzentriert gearbeitet werden. Also alles sehr anstrengend im Vergleich, aber machbar. Aber das wäre es in Assembler auch.Ich glaube du kennst einfach nur ein sehr begrenztes Spektrum der Programmieraufgaben. Ich benötige in meinem Projekt z.B. keinerlei dynamische Speicheranforderung. Auch wüsste ich Dinge wie Polymorhie, Vererbung, Überladung whatever in diesem Projekt nur begrenzt anzuwenden. Die wirklichen Probleme (also der Großteil der Arbeit) bestehen nicht darin, dass ich C verwende, es sind ganz andere. Grob geschätzt gehen für die Implementierung bei mir gerade mal 2 Monate pro Jahr drauf. Kurz: C++, Java, C#, wasauchimmer würden mir die Arbeit praktisch nicht erleichtern. Warum also die Sprache wechseln? Wenn Sprache X sich in einem Bereich bewährt hat, wechselt man nicht einfach so zu Sprache Y. Alleine schon weil du wahrscheinlich gar nicht die Leute hast die Sprache Y ausreichend gut beherrschen. Die könntest du zwar einstellen, aber ihnen würde jahrelange Erfahrung mit den Projekten, den Denkweisen fehlen. Das nachzuholen ist teuer. Bei 0815-MVC-Anwendungen kannst du Sprache und Leute wahrscheinlich relativ einfach austauschen, aber je komplexer die Anwendung wird, desto schwieriger wird das. Und wenn man den Entwicklungsprozess evtl neu zertifizieren lassen muss, inklusive Tools/Compiler etc.... tja, das kostet auch.
-
So nochmal zum mitschreiben, es geht um Desktopanwendungen, Serverprogramme wie Webserver, Fileserver, Verschlüsselung, Gameserver, Backends etc. Bei MCs, GPUs, Systemprogrammierung sagt ja niemand was, wo ganz wenig Resourcen zur Verfügung stehen ist man mit einem portablen Assembler wie C ganz klar besser bedient.
-
Nein, es geht darum wo man die besten Chancen hat ordentlich zu verdienen. Und da sind Desktopanwendungen wohl eher unten angesiedelt.
-
HeroOf88 schrieb:
Welche Programmiersprache muss man lernen, um dann die besten Chancen auf dem Arbeitsmarkt zu haben und richtig viel Kohle zu machen?
zummitschreiben schrieb:
So nochmal zum mitschreiben, es geht um Desktopanwendungen, Serverprogramme wie Webserver, Fileserver, Verschlüsselung, Gameserver, Backends etc. Bei MCs, GPUs, Systemprogrammierung sagt ja niemand was, wo ganz wenig Resourcen zur Verfügung stehen ist man mit einem portablen Assembler wie C ganz klar besser bedient.
Echt? Gab es nichtmal Arbeitsmarktstatistiken nach denen Embedded Entwickler durchschnittlich etwas mehr verdienen als Anwendungsentwickler? wieso sollte man also die gerade ausschließen, wenn man den Eingangspost betrachtet?
-
Ja auf den Startpost bezogen hast du recht. Nur wollen viele C-Fanboys für wirklich alles C nehmen und halten das oft auch für die beste Lösung und wollen partout nicht einsehen dass hier und da eine andere Sprache die weit bessere Wahl wäre. Was ich hier so gelesen habe reagieren ca.80% so und die muss man dann schon einmal in die Schranken weisen. Viele scheinen sich aber nicht wirklich mit anderen Sprachen oder auch mit der Eigenen auseinandergesetzt zu haben.
-
zummitschreiben schrieb:
So nochmal zum mitschreiben, es geht um Desktopanwendungen
Ich glaube, du bist im falschen Thread.
Da behält ja auch keiner mehr den Überblick bei den ständigen CvsC++ Threads (und denen, die dazu gemacht werden)...
-
recht haste, ich habe auch keinen bock mehr drauf halbwahrheiten aus der welt zu schaffen.
-
gogogogo schrieb:
Ja auf den Startpost bezogen hast du recht. Nur wollen viele C-Fanboys für wirklich alles C nehmen und halten das oft auch für die beste Lösung und wollen partout nicht einsehen dass hier und da eine andere Sprache die weit bessere Wahl wäre. Was ich hier so gelesen habe reagieren ca.80% so und die muss man dann schon einmal in die Schranken weisen. Viele scheinen sich aber nicht wirklich mit anderen Sprachen oder auch mit der Eigenen auseinandergesetzt zu haben.
Trotzdem hat Tim doch Recht. Wenn ich einen Softwarebestand habe, der in C verfasst ist, die Leute mit der Erfahrung um mit C effektiv und sicher zu arbeiten und einen Haufen bewährter und bekannter Werkzeuge, dann muss ein Wechsel schon gut begründet sein. Deswegen hält sich C trotz eventuell "besserer" Alternativen auch zu Recht so gut.
Das "Fanboyverhalten" ist auch Gewöhnungssache. Jemand der Jahrelang in C gearbeitet findet eine Alternative nicht deswegen umständlich, weil er ein "C-Fanboy" ist, sondern weil die Alternativen für ihn ungewohnt sind. Und das gilt nicht nur für C. Das gilt auch für dynamische vs starke Typisierung beispielsweise. ein langjähriger Python-Entwickler wird es schwer haben in dem Typensystem von Ada ein "Werkzeug" zu sehen. Für ihn ist das ein Ärgerniss. Umgekehrt wird der Ada-Programmierer, der plötzlich mit einer dynamischen, unkontrollierten Umgebung konfrontiert wird, sich vor lauter Paranoia auf der Firmentoilette einschließen und laut, "Es ist eine Distanz, kein Volumen!", schreien.
_matze schrieb:
zummitschreiben schrieb:
So nochmal zum mitschreiben, es geht um Desktopanwendungen
Ich glaube, du bist im falschen Thread.
Da behält ja auch keiner mehr den Überblick bei den ständigen CvsC++ Threads (und denen, die dazu gemacht werden)...
Ja, ich glaube ich habe mich in meinem ersten Post hier auch in der Diskussion "C vs C++ für OSDev" hineingedacht...
-
gogogogo schrieb:
Ja auf den Startpost bezogen hast du recht. Nur wollen viele C-Fanboys für wirklich alles C nehmen und halten das oft auch für die beste Lösung und wollen partout nicht einsehen dass hier und da eine andere Sprache die weit bessere Wahl wäre.
So ein Quatsch. Ich habe hier eigentlich nur gelesen, dass C durchaus auch eingesetzt wird in Desktopanwendungen (Feststellung von Tatsachen, kein Fanboy-Gelaber), dass es Bereiche gibt, in denen C weiterhin vorherrscht und sinnvoll ist (ebenfalls kein Fanboy-Gelaber), und dass manchmal einfach aus nachvollziehbaren Gründen (keine Notwendigkeit für C++-Features, keine Umgewöhnung und damit verbundene Kosten gewollt) bei C geblieben wird (erst recht kein Fanboy-Gelaber). Genauso wurde erwähnt, dass C für Desktopanwendungen keine gute Wahl ist. Welche Posts genau meinst du also bitteschön??
-
Man wie oft denn noch!!!!! Es ging nie um bestehende Projekte sondern um große NEUE NEUE NEUE NEUE.
Jetzt aber schluß dass hält ja keiner aus wenn nicht mal richtig gelesen wird.
-
gähmalwieder schrieb:
Man wie oft denn noch!!!!! Es ging nie um bestehende Projekte sondern um große NEUE NEUE NEUE NEUE.
Jetzt aber schluß dass hält ja keiner aus wenn nicht mal richtig gelesen wird.
Junge, du bist im falschen Thread. Hier ging es zunächst um Verdienstmöglichkeiten und dann um die Verbreitung von C.
P.S.: "Wie oft denn noch" ist eine Frage und muss im Deutschen mit 5 Fragezeichen abgeschlossen werden, nicht mit Ausrufezeichen.
-
gähmalwieder schrieb:
Es ging nie um bestehende Projekte sondern um große NEUE NEUE NEUE NEUE.
Und was ist mit großen NEUEN NEUEN NEUEN NEUEN Automatisierungsprojekten für irgend welche merkwürdigen µCs bei denen der Code zum größten Teil autogeneriert wird?
Ne, du hast einfach nicht richtig gelesen.
Bei Softwareentwicklung gibt es einfach so viele Richtungen und Perspektiven. Aus dem Grund kommt man auch nie auf einen grünen Zweig bei den ganzen lächerlichen Kleinkriegen. Was gut für den einen ist, ist nicht unbedingt gut für den anderen und was gut für den einen ist, dass ist lächerlich aus der Perspektive des anderen. Wenn wir nicht immer alle so tun würden, ob hätten wir die Weißheit gepachtet, dann könnten wir auf den Blödsinn hier verzichten und lieber interessante Dinge diskutieren.
Das Thema hat sich eh erledigt. Der Op wird den Thread eh nicht lesen oder sich noch einmal melden. Wenn er das ganze überhaupt ernst gemeint hat. (Dennoch werden wir wohl noch 30 Seiten langeweile haben.
)
-
Meine Güte noch son Depp, es ging nie um MC oder Emebdded, SPS, blabla, etc etc sondern um große x86 Windows/Linux/OSX Anwendungen ob nun Desktop oder nicht ist peng. Wie blöd kann man sich denn noch stellen????
-
gähmalwieder schrieb:
Meine Güte noch son Depp, es ging nie um MC oder Emebdded, SPS, blabla, etc etc sondern um große x86 Windows/Linux/OSX Anwendungen ob nun Desktop oder nicht ist peng. Wie blöd kann man sich denn noch stellen????
Kannst du dich nicht mal registrieren, damit man dein Getrolle gezielt ignorieren kann? Das nervt, wenn du dauernd unter anderem Namen schreibst. Viele andere Trolle haben diesen wichtigen Schritt gewagt und produzieren seit dem qualitativ viel bessere Flamebaits. Denn mit einem festen Namen wächst auch der eigene Anspruch an Qualität. Die lese ich dann sogar teilweise gerne.
-
gähmalwieder schrieb:
Meine Güte noch son Depp, es ging nie um MC oder Emebdded, SPS, blabla, etc etc sondern um große x86 Windows/Linux/OSX Anwendungen ob nun Desktop oder nicht ist peng. Wie blöd kann man sich denn noch stellen????
Es gibt nie um große x86 Windows/Linux/OSX Anwendungen. Lern mal lesen
-
unbekannt101 schrieb:
gähmalwieder schrieb:
Meine Güte noch son Depp, es ging nie um MC oder Emebdded, SPS, blabla, etc etc sondern um große x86 Windows/Linux/OSX Anwendungen ob nun Desktop oder nicht ist peng. Wie blöd kann man sich denn noch stellen????
Es gibt nie um große x86 Windows/Linux/OSX Anwendungen. Lern mal lesen
Zumindest nicht exklusiv.