Die Mathe-Redaktion - 22.11.2017 22:53 - Registrieren/Login
Auswahl
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 745 Gäste und 32 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
C ein Aprilscherz?
Freigegeben von matroid am Mo. 31. März 2003 11:25:10
Verfasst von Hans-Juergen -   4616 x gelesen [Gliederung] [Statistik] Druckbare Version Druckerfreundliche Version
Vermischtes

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

Link auf diesen Artikel Link auf diesen Artikel  Druckbare Version Druckerfreundliche Version  Einen Freund auf diesen Artikel aufmerksam machen Weitersagen Kommentare zeigen Kommentare  
pdfFür diesen Artikel gibt es keine pdf-Datei


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]

 
Verwandte Links
 
Besucherzähler 4616
 
Aufrufstatistik des Artikels
Insgesamt 132 externe Besuche zwischen 2017.11 und 2017.11 [Anzeigen]
DomainAnzahlProz
http://matheplanet.com32.3%2.3 %
http://google.de11788.6%88.6 %
http://google.com21.5%1.5 %
http://www.bing.com21.5%1.5 %
http://r.duckduckgo.com10.8%0.8 %
http://google.ch10.8%0.8 %
http://google.at10.8%0.8 %
http://suche.aol.de10.8%0.8 %
http://suche.t-online.de21.5%1.5 %
http://suche.web.de10.8%0.8 %
http://de.search.yahoo.com10.8%0.8 %
http://173.194.69.9400%0 %

Häufige Aufrufer in früheren Monaten
Insgesamt 107 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2013-2017 (43x)http://google.de/url?sa=t&rct=j&q=
2012-2015 (9x)http://google.de/url?sa=t&rct=j&q=unix c aprilscherz
2012.07 (9x)http://google.de/url?sa=t&rct=j&q=unix ist ein aprilscherz
2012.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
2012.11 (5x)http://google.de/url?sa=t&rct=j&q=matrizen miteinander multiplizieren haskell...
2012.01 (5x)http://google.de/url?sa=t&rct=j&q=matrixprodukt programmierung c
2012.12 (5x)http://google.de/url?sa=t&rct=j&q=programmiersprache c ein scherz
2012.09 (4x)http://google.de/url?sa=t&rct=j&q=c++ scherz
2012.10 (4x)http://google.de/url?sa=t&rct=j&q=c unix scherz
2013.01 (4x)http://google.de/url?sa=t&rct=j&q=c nur ein scherz
2012-2013 (4x)http://google.de/url?sa=t&rct=j&q=c aprilscherz

[Seitenanfang]

" C ein Aprilscherz?" | 15 Kommentare
 
Für den Inhalt der Kommentare sind die Verfasser verantwortlich.

Re: C ein Aprilscherz?
von Eckard am Mo. 31. März 2003 11:57:33


Apropos Aprilscherz! Wer so schöne Weihnachtskalender bastelt, denkt bestimmt auch an Aprilscherze *aufdieZungebeiss*

 [Bearbeiten]

Re: C ein Aprilscherz?
von matroid am Mo. 31. März 2003 12:06:42


@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

 [Bearbeiten]

Re: C ein Aprilscherz?
von Eckard am Mo. 31. März 2003 13:05:00


@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*

 [Bearbeiten]

Re: C ein Aprilscherz?
von InWi am Mo. 31. März 2003 19:15:46


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

 [Bearbeiten]

Re: C ein Aprilscherz?
von Ex_Mitglied_40174 am Mo. 31. März 2003 19:53:28


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?


 [Bearbeiten]

Re: C ein Aprilscherz?
von InWi am Mo. 31. März 2003 23:12:34


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

 [Bearbeiten]

Re: C ein Aprilscherz?
von matroid am Mo. 31. März 2003 23:36:04


@Inwi: ... und ich kenne keine einzige dieser Programmiersprachen.

Erklär mal den Unterschied am Beispiel - wenn Du magst.



Gruß

Matroid

 [Bearbeiten]

Re: C ein Aprilscherz?
von matroid am Mo. 31. März 2003 23:38:00


@Hans-Jürgen: Was wird wohl der Scherz gewesen sein: C oder die Behauptung, daß C ein Aprilscherz ist?

 [Bearbeiten]

Re: C ein Aprilscherz?
von InWi am Di. 01. April 2003 00:17:58


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

 [Bearbeiten]

Re: C ein Aprilscherz?
von InWi am Di. 01. April 2003 13:55:03


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:



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** :-)



 

 [Bearbeiten]

Re: C ein Aprilscherz?
von viertel am Mo. 23. Februar 2004 02:25:27


Schade, die 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?

 [Bearbeiten]

Re: C ein Aprilscherz?
von Ex_Mitglied_40174 am Di. 23. Mai 2006 23:01:48


hmm da fehlen aber die Funktionen die die Vektoren bzw Matrizen miteinander multiplizieren

 [Bearbeiten]

Re: C ein Aprilscherz?
von marvinius am Mi. 27. August 2008 14:50:56


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.

 [Bearbeiten]

Re: C ein Aprilscherz?
von matroid am Do. 28. August 2008 08:54:59


@marvinius: Link oben ausgetauscht. Danke.

 [Bearbeiten]

Re: C ein Aprilscherz?
von marvinius am Mi. 17. September 2008 22:05:35


möglicherweise wäre es sinnvoll, außer dem link auch den namen von dessen inhaber zu berichtigen.

liebe grüße,
rené.

 [Bearbeiten]

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]