Alte Nachrichten |
Lieber Hermann, herzlich willkommen im DseWiki. Mach es dir bequehm und fühl' dich wie zu Hause. Deine C-Kritik werde ich so bald wie möglich lesen und kann sie auch nachfühlen, obwohl C noch immer meine bevorzugte Sprache ist. Ich beteilige mich aber auch aktiv an der Entwicklung der SpracheD - vielleicht interessiert dich das auch. Liebe Grüße -- HelmutLeitner
Habe gleich Java gelernt. Gruß Hermann
(Dieser Eintrag musste leider entfernt werden, da sich gewisse Mitmenschen in ihrer Privatssphäre verletzt sahen.)
Dein Namensfetter
Sören (westwind.net@web.de)
Hallo Sören, vielen Dank für den Eintrag. Ich sende dir in kürze eine E-Mail. Gruß Hermann
Moin wackerer Fechter gegen die Windmühlen!
Viele Leute gibt es ja nicht, die mal was gehaltvolles gegen C zu sagen haben. Deshalb mein Respekt vor deiner C-Katastrophenseite! Ich als Diplom-C-Hasser muss natürlich hier auch meine Hundemarke setzen. Wessen bevorzugte Sprache trotz besseren Wissens immer noch C ist, dem kann ich vielleicht weiterhelfen. :-) -- HenningThielemann
Hallo Hermann,
About two years ago, the Lisp programmer and dot-com millionaire Paul Graham wrote an essay entitled Hackers and Painters, in which he argues that his approach to computer programming is better described by analogies to the visual arts than by the phrase "computer science".
So zu lesen unter http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm. Offenbar ist der Autor aber anderer Meinung:
So let me say it simply - hackers are nothing like painters.
Nach seiner Vorstellung schauen sich 'Painter' wohl den lieben langen Tag nackte Frauen an.
;-) - SDö
Aus dieser jahrelangen Erfahrung kann ich zwar Deine Warnungen von C bestätigen, aber nicht vollständig. (Übrigens, in C++ ist das genauso schlimm.) Aus folgenden Gründen:
C (auch C++) ist nahe an der Maschinenprogrammierung. Man kann Alles machen, ist aber auch für Alles verantwortlich. Folglich ist C/C++
Von Java bin ich überzeugt (obwohl ich auch schon ein paar dumme Ecken festgestellt habe). Alles, was auf dem PC als Applikation läuft, sollte man nur in Java schreiben, Vorteil: Läuft unter Windows genauso wie unter Linux. Java ist viel strenger, das führt zu ordentlichen Programmen, viel besser in Fehlermeldungen beim Compilieren, viel besser beim debuggen usw.
Nun gibt es noch den Querschläger C#, der wieder alles besser können will und Java das Wasser abgraben will, aber es gibt die Open Software-Gemeinde, die kein Freund von besserwissenden Großfirmen ist.
Weil mit Java Software auch für die Automatisierungstechnik (schnelle Zeitscheiben) besser erstell- und testbar ist, aber diese dann aus mehreren Gründen nicht auf dem Zielsystem laufen kann (keine Java-VM, sehr schnelle Zeitscheiben, Garbage-Collector benötigt ausschließende Zeiten), habe ich einen Java2C++-Übersetzer realisiert. Er funktioniert, aber im Kollegenkreis wurde dieser Ansatz nicht angenommen (wollen lieber in C++ programmiernen). Der Ansatz ist folgender: Austesten der Algorithmen in Java nicht in Echtzeit, danach Umsetzen in C++, compilieren und geht. In der zugehörigen Laufzeitumgebung ist eine Speicherverwaltung mit garabageCollector und gleichgroßen Speicherblöcken enthalten, mit dem Vorteil, dass der GarbageCollector die Unterbrechung zulässt, damit kann er in einer niedrigen priorität konkurrierend zu schnellen Threads laufen. Die Laufzeitumgebung umfasst auch Unterstützung von String, LinkedList?, ArrayList?. Vielmehr nicht. Das ganze ist nicht dazu gedacht, komplexe Java-Programme zu übersetzen (das braucht wirklich niemand), sondern dazu, Automatisierungssoftware in Java zu designen und in C/C++ zu implementieren.
PS: In der Vorschau habe ich gesehen, das Windows als Link unterstrichen ist, und hinter LinkedList?, Java2C ein Fragezeichen mit Link steht. Hier gibt's wohl einen automatischen Linkersteller, anders als bei der Wikipedia-Lexikon. (?)
Mit freundlichen Grüßen, Hartmut Schorrig
Hmm, also Java ist mir nicht wirklich sehr geheuer. Das ist das selbe als ob man Windows benutzt man weiss nie was wirklich abläuft. Am besten macht sich das bei DRM Hardware bemerkbar (habe hier ca 8 TV Tuner und 5 davon haben DRM kompatible Komponenten eingebaut) Am Beispiel von IBM Lotus Notes, die Software stirbt nach einiger Zeit an Speichermangel und die Software soweit mir bekannt ist läuft das Teil auch mit Java. Und wenn ein Java Programmierer einen Fehler sieht der eigentlich im JNI des jeweiligen Moduls steckt steht er vollkommen an. Das mit den Timeslices finde ich merkwürdig, wie soll ein Java Userspace Prozess bessere Zeiten hinbekommen als eine native Realtime Applikation?! .. Da wäre dann zusätzlich noch die Java VM zwischen Betriebssystem und eigentlicher Applikation. (Eventuell bei dafür ausgelegter Hardware ja, aber nicht bei normalen 0815 Kisten die mit einem OS laufen) Sofern man wirklich weiss wie Java programmiert wurde kann man auch mutmaßen wie zuverlässig das ganze ist, wenn nicht dann sieht man halt nur die Auswirkungen.
C Programmieren ist auch ein sehr weitreichender Begriff finde ich, es gibt sehr viele APIs die einem das Leben leichter machen (auch Speichermanagement). Für Applikationsprogrammierung finde ich nachwievor C++, Python, Perl, PHP, C (sofern man Erfahrung mit den jeweiligen APIs hat) vollkommen in Ordnung.
Gruß,
Markus Rechberger