Tools
C ein Aprilscherz?
Released by matroid on Mo. 31. März 2003 11:25:10 [Statistics] [Comments]
Written by Hans-Juergen - 4778 x read [Outline] Printable version Printer-friendly version -  Choose language   
Vermischtes

\(\begingroup\) Auf seiner, verschiedenen Programmiersprachen gewidmeten Webseite www.gksoft.com/a/fun/unix-c-quatsch.html, behauptet Bernd Leitenberger im letzten Absatz (Überschrift: "Alles Quatsch!"), daß zwei amerikanische Entwickler die Sprache C nur zum Spaß geschaffen hätten.


Dieser Text, der auf den heutigen Tag, den 31.3., datiert ist, sieht sehr nach einem Aprilscherz aus.

Unabhängig davon bleibt bestehen, was auf der genannten Seite weiter oben zu lesen ist: daß Pascalprogramme leichter zu verstehen sind, als in C oder C++ geschriebene Programme. Bei Pascal kann man oft besser erkennen, was eigentlich gemacht wird; deshalb gehört es weiterhin zu meinen Lieblingssprachen.

Hans-Jürgen

\(\endgroup\)
Get link to this article Get link to this article  Printable version Printer-friendly version -  Choose language     Kommentare zeigen Comments  
pdfFür diesen Artikel gibt es keine pdf-Datei


Write a comment

Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
: Vermischtes :: Aprilscherz :: Humor :: Spiel und Spaß :
C ein Aprilscherz? [von Hans-Juergen]  
Auf seiner, verschiedenen Programmiersprachen gewidmeten Webseite bernd-leitenberger.de/programmiersprachen.html, behauptet Bernd Leitenberger im letzten Absatz (Überschrift: "Alles Quatsch!"), daß zwei amerikanische Entwickler die Sprache C nur zum Spaß geschaffen hätten.
[Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]
 


 
 
Aufrufzähler 4778
 
Aufrufstatistik des Artikels
Insgesamt 153 externe Seitenaufrufe zwischen 2012.01 und 2023.06 [Anzeigen]
DomainAnzahlProz
https://www.startpage.com21.3%1.3 %
http://google.de11776.5%76.5 %
https://google.com138.5%8.5 %
https://google.de74.6%4.6 %
http://google.com21.3%1.3 %
http://www.bing.com21.3%1.3 %
http://yandex.ru10.7%0.7 %
http://suche.aol.de10.7%0.7 %
http://r.duckduckgo.com10.7%0.7 %
http://de.search.yahoo.com10.7%0.7 %
http://suche.web.de10.7%0.7 %
https://www.ecosia.org10.7%0.7 %
http://suche.t-online.de21.3%1.3 %
http://google.at10.7%0.7 %
http://google.ch10.7%0.7 %
http://173.194.69.9400%0 %

Häufige Aufrufer in früheren Monaten
Insgesamt 126 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2013-2017 (43x)http://google.de/url?sa=t&rct=j&q=
2020-2023 (13x)https://google.com/
2012-2015 (9x)http://google.de/url?sa=t&rct=j&q=unix c aprilscherz
201207-07 (9x)http://google.de/url?sa=t&rct=j&q=unix ist ein aprilscherz
201203-03 (8x)http://google.de/url?sa=t&rct=j&q=mathematischer Aprilscherz
2012-2013 (7x)http://google.de/url?sa=t&rct=j&q=unix aprilscherz
2022-2023 (6x)https://google.de/
201201-01 (5x)http://google.de/url?sa=t&rct=j&q=matrixprodukt programmierung c
201212-12 (5x)http://google.de/url?sa=t&rct=j&q=programmiersprache c ein scherz
201211-11 (5x)http://google.de/url?sa=t&rct=j&q=matrizen miteinander multiplizieren haskell...
201210-10 (4x)http://google.de/url?sa=t&rct=j&q=c unix scherz
201301-01 (4x)http://google.de/url?sa=t&rct=j&q=c nur ein scherz
201209-09 (4x)http://google.de/url?sa=t&rct=j&q=c++ scherz
2012-2013 (4x)http://google.de/url?sa=t&rct=j&q=c aprilscherz


[Top of page]



"C ein Aprilscherz?" | 15 Comments
The authors of the comments are responsible for the content.

Re: C ein Aprilscherz?
von: Eckard am: Mo. 31. März 2003 11:57:33
\(\begingroup\)Apropos Aprilscherz! Wer so schöne Weihnachtskalender bastelt, denkt bestimmt auch an Aprilscherze *aufdieZungebeiss*\(\endgroup\)
 

Re: C ein Aprilscherz?
von: matroid am: Mo. 31. März 2003 12:06:42
\(\begingroup\)@Eckard: ich könnte ja schreiben, daß ich das Forum gelöscht habe ...

und zur Sache:

Ich verstehe Pascal nicht. Es klingt für mich gekünstelt, will ganz auf vermeintliche Klarheit getrimmt sein, aber eine poliertes Erscheinungsbild kann man nur behalten, wenn man der Praxis fern bleibt. Das gilt m.E. auch für Programmiersprachen.

Hans-Jürgen, ich danke für die Gelegenheit einer polemischen Antwort.

Gruß
Matroid\(\endgroup\)
 

Re: C ein Aprilscherz?
von: Eckard am: Mo. 31. März 2003 13:05:00
\(\begingroup\)@matroid: Nee, Forum löschen zählt nicht! Das war zu früh vor dem 1.4. Aber lass mal, ich hab mal vor ...zig Jahren an einem Freitag nachmittag alle meine Programme, die ich zur Diplomarbeit brauchte mit einem einzigen kurzen Blackout unwiederbringlich gelöscht. Das darauffolgende Wochenende war versaut, klar. Hier waren es "nur" ca. 36 Stunden Forum. So etwas passiert jedem mal. *trostspend*\(\endgroup\)
 

Re: C ein Aprilscherz?
von: InWi am: Mo. 31. März 2003 19:15:46
\(\begingroup\)Wieso programmiert eigentlich keine Sau mit funktionalen Programmiersprachen (ML,Opal,Haskell,Gofer,Lisp...) - und wieso muss ich mich mit dem Scheiß dann rumschlagen? **grummel**

mfg florian\(\endgroup\)
 

Re: C ein Aprilscherz?
von: Ex_Mitglied_40174 am: Mo. 31. März 2003 19:53:28
\(\begingroup\)Hallo Matroid,

hier meine Antwort, ganz unpolemisch:

Es wundert mich, daß Du Pascal "nicht verstehst" und es anscheinend auch für wenig praxisbezogen hältst. C++-Programme finde ich oft recht unübersichtlich, allein schon wegen der weitschweifigen, viel Platz verbrauchenden Schreibweise. Durch sie verliert man leicht den Zusammenhang und weiß bei längeren Programmen nach einer Weile kaum noch, worum es eigentlich geht und was nun gemacht wird. Pascalprogramme sind da konzentrierter. (Von "poliertem Erscheinungsbild" schrieb ich nichts und möchte bei Pascal auch nicht so weit gehen.)

Natürlich ist alles letzten Endes Gewohnheitssache, und es kommt darauf an, was man hinreichend ausführlich gelernt hat und geübt ist. C++ gehörte bei mir leider nicht (mehr) dazu, und es sich im Selbststudium über Anfangsgründe hinaus beizubringen, ist recht mühselig.

Im übrigen wäre auch ich daran interessiert, daß jemand die in meinem Pi-Beitrag vorgestellte Formel in C++ programmierte (hiernach wurde in einem Kommentar gefragt); dabei könnte ich eine Menge lernen.

Freundliche Grüße,
Hans-Jürgen

Bemerkung zu Florian: Deine Ausdrucksweise finde ich sehr unkollegial. Du brauchst Dich ja nicht mit diesem "Sch... herumzuschlagen". Wer zwingt Dich dazu? Mach's doch 'mal vor, programmier' die angegebene Formel selber statt in Pascal in einer der von Dir genannten Sprachen. Sieh nach, wieviele Pi-Dezimalen Du damit richtig erhältst und in welcher Zeit. Das wäre doch eine ganz nette Übung für Dich und Deine Programmierkünste. Oder?
\(\endgroup\)
 

Re: C ein Aprilscherz?
von: InWi am: Mo. 31. März 2003 23:12:34
\(\begingroup\)Also Hans-Jürgen, erstens war das überhaupt nicht unkollegial gemeint - und zweitens habe ich dich auch nicht irgendwie angegriffen oder so. Ich war nur auf deinem Link und habe gesehen dass dort keine funktionale programmiersprache aufgeführt ist nur objektorientierte und imperative. So und da ich schon öfters feststellen musste, wie wenig Leute mit funktionalen Programmiersprachen arbeiten, und mich mein Prof zumindest indirekt "zwingt" in Haskell zu programmieren [ich kann mir aussuchen ob ich es lassen - das schmälert dann eben meine Chancen in der Klausur oder ich schlage mich eben damit herum] habe ich das mal an dieser stelle eingestreut.

Und ja wenn ich zeit habe versuch das vielleicht mal mit dem Pi-Programm.

mfg florian \(\endgroup\)
 

Re: C ein Aprilscherz?
von: matroid am: Mo. 31. März 2003 23:36:04
\(\begingroup\)@Inwi: ... und ich kenne keine einzige dieser Programmiersprachen.
Erklär mal den Unterschied am Beispiel - wenn Du magst.

Gruß
Matroid\(\endgroup\)
 

Re: C ein Aprilscherz?
von: matroid am: Mo. 31. März 2003 23:38:00
\(\begingroup\)@Hans-Jürgen: Was wird wohl der Scherz gewesen sein: C oder die Behauptung, daß C ein Aprilscherz ist?\(\endgroup\)
 

Re: C ein Aprilscherz?
von: InWi am: Di. 01. April 2003 00:17:58
\(\begingroup\)Die funktionalen programmiersprachen sind sehr eng an mathematischen Notationen notiert und wie ihr name schon sagt arbeiten sie sehr viel mit funktionen - eigentlich nur mit funktionen. Besonders bezeichnen sind für sie sind funktionen höherer Ordnung, das sind funktionen, denen man Funktionen als argumente mitgibt, oder die einem als Funktionsergebnis eine Funktion zurückliefern. Durch die verbundenheit mit mathematischen Notationsprinzipien wird die funktionale Programmierung sehr abstrakt - aber auch sehr kurz. Ich geben zwei kleine Codebeispiele:


1) Ein Scalarprodukt und Matrizenmultiplikationsprogramm in nur 10 Codezeilen, dass zeigt wie hochkomprimiert und kurz funktionales Programmieren ist:

scalarProduct :: Vector -> Vector -> Float
scalarProduct xs ys
| length xs /= length ys = error "die Vektoren sind nicht gleich !!"
| otherwise = sum [x*y | (x,y) <- zip xs ys]


matrixProduct :: Matrix -> Matrix -> Matrix
matrixProduct m p = [ [scalarProduct r c | c <- columns p] | r <- m ]


columns :: Matrix -> Matrix
columns y = [ [z!!j | z <- y] | j <- [0..s]]
where
s = (length (head y)) - 1


An [x*y | (x,y) <- zip xs ys] sieht man wiederum die mathematisch orientierte Mengennotation x ist element von der Liste xs und y ist element von der Liste ys - beide werden dann multipliziert und in die neue Liste geschrieben.

und 2) Das permutationsprogramm:

perms :: Eq a => [a] -> [[a]]
perms [] = [[]]
perms xs = [x:-ps | x <- xs , ps <- perms (xs \\ [x]) ]
man sieht auch hier in der funktion columns eine andeutung weitere besonderheit (allerdings nur von Haskell - in Opal und allen anderen funktionalen programmiersprachen welchen nach der strikten und nicht der Lazy-methode auswerten geht das nicht). In haskell sind unendliche listen möglich durch faule Auswertung, welche Funktionsargumente nur dann auswertet wenn sie zur berechnung von Funktionswereten auch wirklich gebraucht werden. Also kann man die positiven ganzen Zahlen durch folgende notation [1..] darstellen.

Ein weiteres grundlegendes Prinzip ist die Rekursion. In beiden beispielen zu sehen.

mfg florian\(\endgroup\)
 

Re: C ein Aprilscherz?
von: InWi am: Di. 01. April 2003 13:55:03
\(\begingroup\)Um nochmal auf die Kürze der funktionalen Programmiersprachen zurückzukommen - ich bin heute über einen Interessanten Artikel gestoßen. Ein Softwareprojekt, in dem verschiedene Programmiersprachen verwendet und anschließend die Ergebnislösungen der verschiedenen Sprachen verglichen wurden. zu finden ist das ganze unter:

http://www.haskell.de/

ganz unten auf der Startseite findet sich ein Link zu den artikel.

Ich gebe hier einen kurzen Auszug:

(...)

Zusammenfassung:
Hier werden die Ergebnisses eines Experiments dargestellt, in dem einige brauchbare Programmiersprachen, darunter die funktionale Sprache Haskell, dazu benutzt wurden, einen Prototyp für ein Programm für einen Geometrischen-Regions-Server zu erstellen, das vom Naval Surface Warfare Center (NSWC) gebraucht wird. Die Programme, die dabei herauskamen, und die Bewertungen wurden von einem Komitee noch einmal durchgesehen, das von der Navy ausgewählt wurde. Die Ergebnisse zeigen, dass der Haskell Prototyp deutlich weniger Zeit zum Entwickeln gebraucht hat und dass er einfacher zu verstehen war, wie die Prototypen, die in imperativen Programmiersprachen geschrieben worden sind, darunter Ada und C++.

(......)

Das Ziel:
-Einen Prototyp mit einem Algorithmus erstellen, der die Anwesenheit von Objekten in geometrischen Regionen berechnet
-Die Arbeit für eine erste Ausgabe minimieren
-Möglichkeiten lassen, das Programm später zu erweitern

Die Kriterien:
Erweiterbarkeit, Verständlichkeit, Eignung, Genauigkeit, Kompaktheit,

(....)

Die Ergebnisse:
Programmiersprache Zeilenzahl Zeilen der Doku Entwickl.zeit
(1) Haskell 85 465 10
(2) Ada 767 714 23
(3) Ada9X 800 200 28
(4) C++ 1105 130 -
(5) Awk/Nawk 250 150 -
(6) Rapide 157 0 54
(7) Griffin 251 0 34
(8) Proteus 293 79 26
(9) Relational Lisp 274 12 3
(10) Haskell 156 112 8


(1) Haskell
Das Haskell-Programm wurde hauptsächlich von Mark P. Jones geschrieben, mit etwas Hilfe von Paul Hudak.
Interessant ist, dass von den 85 Zeilen Programm-Code 20 für das Dekodieren der Eingaben waren und 29 weitere waren Typ Dekleration. Also waren nur 36 Zeilen dynamischen Codes notwendig, um einen voll funktionalen Geo-Server Prototyp herzustellen.

Das Verhältnis Dokumentation - Programm-Code ist ebenfalls bemerkenswert.

Die Haskell-Lösung war sozusagen ein lauffähiges Latex-Dokument.

(...)


(10) Haskell
Intermetrics hat unabhängig und ohne Wissen der NSWC oder der Yale Universität selbst ein Experiment ausgeführt: der Haskell Report wurde einem erst kürzlich eingestellten Universitätsabsolvent gegeben, dem 8 Tage zum Lernen von Haskell gegeben wurden. Dieser Neueingestellte erhielt kein formales Training, ihm wurde nur erlaubt, einen erfahrenen Haskell-Programmierer Fragen zu stellen, die während dem Selbststudium aufkamen. Nach dieser Trainingszeit, gab man dem Neueingestellten die Beschreibung des Geo-Servers und verlangte von ihm einen Prototyp in Haskell. Die Ergebnisse, die dabei herauskamen, stehen in Zeile 10 und sind vielleicht die erstaunlichsten überhaupt und sie zeigen, mit welcher Leichtigkeit Haskell erlernt und effektiv angewendet werden kann.


Nun ja also das mit der Leichtigkeit des Erlernens kann ich nicht unbedingt teilen. Es ist sehr schwer sich die Denkweise von funktionalen Programmiersprachen anzueignen - zumindest habe ich das so empfunden. Vor allem wenn man vorher nur imperativ oder gar objektorientiert programmiert hat.


bin nur zufällig auf den Artikel gestoßen und dachte das ist doch interessant zu sehen wie groß die unterschiede ein und derselben Softwarelösung in verschiedenen programmiersprachen doch ist.

mfg florian

P.S. ich hoffe dieser lange Text wird nicht irgendwo abgeschnitten **hoffend** **betend** :-)

\(\endgroup\)
 

Re: C ein Aprilscherz?
von: viertel am: Mo. 23. Februar 2004 02:25:27
\(\begingroup\)Schade, die http://www.haskell.de Seite ist weg.

Zu dem Skalarprodukt und der Matrixmultiplikation hätte ich da noch das Beispiel in APL:
Bild
Vektor v mit 5 Zufallszahlen belegen und ausgeben. Anschließend Skalarprodukt.
Zwei Matrizen (3x4 und 4x5) mit Zufallszahlen erzeugen und multiplizieren.
Geht's irgendwo noch kürzer?\(\endgroup\)
 

Re: C ein Aprilscherz?
von: Ex_Mitglied_40174 am: Di. 23. Mai 2006 23:01:48
\(\begingroup\)hmm da fehlen aber die Funktionen die die Vektoren bzw Matrizen miteinander multiplizieren\(\endgroup\)
 

Re: C ein Aprilscherz?
von: marvinius am: Mi. 27. August 2008 14:50:56
\(\begingroup\)Der im Artikel angegebene Link funktioniert im Augenblick scheinbar nicht mehr. Inhaltlich dürfte es sich aber um dasselbe handeln, was man unter http://www.gksoft.com/a/fun/unix-c-quatsch.html findet.\(\endgroup\)
 

Re: C ein Aprilscherz?
von: matroid am: Do. 28. August 2008 08:54:59
\(\begingroup\)@marvinius: Link oben ausgetauscht. Danke.\(\endgroup\)
 

Re: C ein Aprilscherz?
von: marvinius am: Mi. 17. September 2008 22:05:35
\(\begingroup\)möglicherweise wäre es sinnvoll, außer dem link auch den namen von dessen inhaber zu berichtigen. liebe grüße, rené.\(\endgroup\)
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]