Überladen / Überschreiben von Funktionen in C möglich?
-
Fred vom Jupiter schrieb:
[...]
Wir haben hier auch solche Leute (oft ältere Kollegen, aber nicht immer). Die haben vor 25 Jahren mit Ada 83 auf der VAX angefangen.
Diese Kollegen weigern sich krampfhaft, was anderes zu lernen. Argumente:- Ada ist gut.
- Mit Ada kann ich alles machen
- C (Beispiel) ist mir zu kompliziert (!)
- C ist zu unsicher (okay)
- weitere fadenscheinige Argumente
Das die Kollegen C zu kompliziert finden, ist in sofern verwunderlich, als dass Ada eine sehr blumige und reichaltige (komplizierte) Syntax hat und mit SIcherheit deutlich komplizierter ist.
Im Großen und Ganzen haben die Kollegen einfach nur keine Lust, sich mit was anderem zu beschäftigen, als mit ihrer kleinen Welt.
Das es schwer ist, Entwickler zu finden die nicht erst monatelang eingearbeitet werden müssen, oder das Kunden bestimmte Anforderungen stellen, ist den Kollegen dabei egal.PS: Ich musste mich aufgrund von Altlasten selbst in Ada einarbeiten, und finde die Sprache durchaus gut und durchdacht. Ich bin also keine Ada-Hasser. Ich finde nur die Argumente einiger Kollegen sehr fadenscheinig.
-
Tachyon schrieb:
Fred vom Jupiter schrieb:
[...]
Wir haben hier auch solche Leute (oft ältere Kollegen, aber nicht immer). Die haben vor 25 Jahren mit Ada 83 auf der VAX angefangen.
Diese Kollegen weigern sich krampfhaft, was anderes zu lernen. Argumente:- Ada ist gut.
- Mit Ada kann ich alles machen
- C (Beispiel) ist mir zu kompliziert (!)
- C ist zu unsicher (okay)
- weitere fadenscheinige Argumente
sicherlich gibts leute, die sich standhaft weigern, was neues zu lernen (so einer wird fred bestimmt nicht sein). aber wenn ADA und C gleichsam auf einem system verfügbar sind, braucht man handfeste gründe, C zu lernen, wenn man ADA schon kann. gibt natürlich freaks, die möglichst viele programmiersprachen lernen wollen, weil sie's einfach geil finden.
-
+fricky schrieb:
[...]aber wenn ADA und C gleichsam auf einem system verfügbar sind, braucht man handfeste gründe, C zu lernen, wenn man ADA schon kann. gibt natürlich freaks, die möglichst viele programmiersprachen lernen wollen, weil sie's einfach geil finden.
Der Grund liegt darin, dass die Leute, die Ada können immer weniger werden. Neue Projekte werden von diesen Leuten aber nach wie vor in Ada geschrieben. Neue Kollegen müssen dann erstmal in die Sprache eingearbeitet werden, und dann auch noch in den Code verstehen (der als Ada-Anfänger oft nur schwer zu verstehen ist (und sich manchmal auch dem Fortgeschrittenen nicht erschließt)
). Weiterhin müssen viele Dinge mühsam von Hand implementiert werden, für die es in anderen Sprachen bereits fertige und leistungsfähige Bibliotheken gibt. Das Rad wird ständig neu erfunden.
Ich habe vergessen zu erwähnen, dass die besagten Kollegen mitnichten nur auf dem i860 (wofür die VAX die Entwicklungsplattform ist) ihr Ada propagieren. Das wäre nachvollziehbar. Nein, auch auf modernen MPP muss es Ada sein.
-
Tachyon schrieb:
Der Grund liegt darin, dass die Leute, die Ada können immer weniger werden. Neue Projekte werden von diesen Leuten aber nach wie vor in Ada geschrieben. Neue Kollegen müssen dann erstmal in die Sprache eingearbeitet werden, und dann auch noch in den Code verstehen (der als Ada-Anfänger oft nur schwer zu verstehen ist (und sich manchmal auch dem Fortgeschrittenen nicht erschließt).
du tust ja so, als wäre Ada völlig veraltet. warum gibt es immer weniger ada-programmierer? ist ada nicht das mittel der wahl, wenn programme möglichst stabil und fehlerfrei sein und trotzdem direkt auf der hardware rennen sollen? die kombination: 'extrem sicher und trotzdem für low-level anwendungen geeignet', wäre fast schon ein alleinstellungsmerkmal. d.h. Ada hat seinen festen platz im werkzeugkasten der softwareentwickler. C wär jedenfalls kein ersatz, wegen der vielen unsicheren konstrukte, die damit möglich sind.
-
Tachyon schrieb:
Weiterhin müssen viele Dinge mühsam von Hand implementiert werden, für die es in anderen Sprachen bereits fertige und leistungsfähige Bibliotheken gibt. Das Rad wird ständig neu erfunden.
Oh, das gibt es aber durchaus auch unter C und zwar aus gutem Grunde:
Im Hochsicherheitsbereich, im militärischen und einigen anderen mußt Du einen kontinuierlichen Nachweis über die Codesicherheit führen können. Das ist schlecht möglich, wenn Du eine Lib einfach ins Projekt klinkst. Auch, wenn man die Source hat, macht das Durchforsten auf Verstöße gegen (haus)eigene Standards fast soviel Mühe wie selber schreiben.Im Vergleich zu C fand ich Ada höchst interessant, bei mir erledigt sich das leider weitgehend durch das Fehlen von Ada- Compilern für meine Kisten.
Achja, nochmal zurück zu Objective C: Meine GCC- Ports führen natürlich keine objC mit, war ja klar
.Aber wenn ich das recht verstehe, bräuchte man "nur" einen generischen Precompiler à la lwcpp und eine Runtime, die man wohl als statische Lib mitgeben könnte. Bei Sourceforge kriege ich zwar fünfstellige Hits, aber genau sowas auf den ersten zwanzig Trefferseiten nicht. Wonach müßte ich denn suchen oder hat mir jemand direkt einen Link?
Aufm Controller probieren wollte ich das dann schon mal ...
-
+fricky schrieb:
du tust ja so, als wäre Ada völlig veraltet[...]
Ich tue nicht so. Und Ada ist auch nicht völlig veraltet, sondern wird nach wie vor weiterentwickelt. Meine Aussage ist nur, dass es schwer ist Programmierer zu bekommen. Zumindest in Deutschland. Das ist zumindest meine Beobachtung aus meiner Firma.
Meine Aussage richtet sich auch nicht gegen Ada. Die Sprache musste nur als Beispiel herhalten, weil sie in unserer Firma symptomatisch für die oben beschriebene Lernresistenz ist. Man kann Ada in anderen Firmen bestimmt passend durch Sprache XY ersetzen.
Ada finde ich persönlich sehr gut. Die Sprache ist gut durchdacht, und bietet von Haus aus sehr viele Features, für die man in anderen Sprachen dicke (oft nicht portable) Bibliotheken benötigt. Ein Beispiel seien hier Threads. Auch die extrem starke Typisierung empfinde ich eher als Vorteil denn als Nachteil.
-
Meine Aussage ist nur, dass es schwer ist Programmierer zu bekommen.
Gute Programmierer zu finden, ist fuer jede Sprache schwer. Jedes Kind kann Java und C#, weil es irgendwie Hip ist. Ada im Vergleich ist mehr als nur eine Sprachspezifikation, an Kompiler und Hardware sind zusaetzliche Bedingungen gesetzt. Es steckt auch unglaublich viel Know-How in dieser Sprache und man bracht etwas mehr Verstaendnis fuer die Materie als nur ein Tutorial oder Lehrbuch wie "Ich lern jetzt C#" oder "Java fuer Dummies". Wer sich schon mal mit Lisp oder Prolog ernsthaft auseinandergesetzt hat, weiss, dass diese im Vergleich zu anderen Sprachen unglaubliche Moeglichkeiten bieten. Und ob irgendetwas weiterentwickelt wird, ist manchmal kein gutes Kriterium, z.B. Lisp ist fertig entwickelt. Aber auch sie leiden unter dem Image, alt zu sein. Was erstaunlicherweise immer mit veraltet oder Steinzeit assoziiert wird. Die meisten Menschen wissen das Alte nicht zu schaetzen: Aber nur ein alter Apfelbaum traegt reichlich Fruechte.
-
knivil schrieb:
[...]Ada im Vergleich ist mehr als nur eine Sprachspezifikation, an Kompiler und Hardware sind zusaetzliche Bedingungen gesetzt.[...]
Nichts für ungut, aber die Aussage ist Quark. Ada ist gerade eine Sprachspezifikation. Nur ist die Sprachspezifikation sehr genau und lässt sehr wenig Spielraum für Interpretationen.
Lisp und Prolog kann man nicht mit imperativen Sprachen vergleichen. Der Anwendungszeck ist jeweils ein völlig anderer. Und "deutlich mehr Möglichkeiten" ist, so geschrieben, völlig aus dem Kontext gegriffen. Es ist mit sehr wenig Aufwand möglich, regelbasierte Systeme zu entwickeln. Andere Probleme lassen sich hingegen nur mit viel Aufwand lösen. Das Gleiche gilt umgekehrt für imperative Sprachen.
Und gute Programmierer findet man für C++, Java, C# etc. auf jeden Fall deutlich mehr (bzw. überhaupt). Bei Ada kann man froh sein, wenn man jemanden findet, der die Sprache irgendwie kann. Ein paar Leute haben sich angeboten, weil sie VHDL kannten. Aber Ada? Fehlanzeige.
-
knivil schrieb:
Gute Programmierer zu finden, ist fuer jede Sprache schwer. Jedes Kind kann Java und C#, weil es irgendwie Hip ist.
und PHP sowieso. kommt aber drauf an, was für dich 'können' bedeutet.
knivil schrieb:
Und ob irgendetwas weiterentwickelt wird, ist manchmal kein gutes Kriterium, z.B. Lisp ist fertig entwickelt. Aber auch sie leiden unter dem Image, alt zu sein.
ich glaub' das grösste manko ist die syntax von lisp (diese millionen von klammern und so). das schreckt viele einsteiger von vorn herein ab, da kann lisp noch so toll und mächtig sein. vielleicht sollte sich mal jemand eine alternative syntax ausdenken, um lisp der allgemeinheit schmackhafter zu machen.
-
Tachyon schrieb:
Ein paar Leute haben sich angeboten, weil sie VHDL kannten. Aber Ada? Fehlanzeige.
hihi, ich glaube, die haben's am schwersten mit Ada.
-
+fricky schrieb:
Tachyon schrieb:
Ein paar Leute haben sich angeboten, weil sie VHDL kannten. Aber Ada? Fehlanzeige.
hihi, ich glaube, die haben's am schwersten mit Ada.
Ne, das geht schon. Nur versuchen die immer, Schleifen zu vermeiden. Sehr komisch, das.
-
knivil schrieb:
... Und ob irgendetwas weiterentwickelt wird, ist manchmal kein gutes Kriterium, z.B. Lisp ist fertig entwickelt. Aber auch sie leiden unter dem Image, alt zu sein. Was erstaunlicherweise immer mit veraltet oder Steinzeit assoziiert wird. Die meisten Menschen wissen das Alte nicht zu schaetzen: Aber nur ein alter Apfelbaum traegt reichlich Fruechte.
C ist ja auch kein Jungspund und an der mäßigen, meist nur teilweise implementierten C99- Unterstützung läßt sich erahnen, daß den Lord Siegelbewahrern damit wohl kein großer Wurf gelungen ist, eher wurde Firlefanz moniert, der den "spirit of C" unterminierte.
Ich vermute mal, daß der real überwiegend verwendete Standard C89 sein dürfte und der ist - tadaa - 20 Jahre alt. Würde sagen, das kann man mit Fug und Recht als "ausentwickelt" bezeichnen.PS: Hat wirklich keiner einen Link auf ein generisches Objective- C- Precompiler/Runtime- Paket, das man auch unter Win ins Laufen kriegt?
-
pointercrash() schrieb:
...eher wurde Firlefanz moniert, der den "spirit of C" unterminierte.
was? nee, die macher des standards achten sehr wohl darauf, dass der sprit of C nicht vor die hunde geht.
-
pointercrash() schrieb:
PS: Hat wirklich keiner einen Link auf ein generisches Objective- C- Precompiler/Runtime- Paket, das man auch unter Win ins Laufen kriegt?
such mal nach 'gnustep', da sollte eine dabei sein, auch für windosen.
-
...hat sich erledigt... x]