Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Programmiersprachen: Mono…

wieso?

  1. Thema

Neues Thema Ansicht wechseln


  1. wieso?

    Autor: einer_meiner 12.11.10 - 21:27

    >F# ist eine funktionale Programmiersprache, die vor allem für >rechenintensive Anwendungen gedacht ist, etwa für Finanz- oder >Datenanalysen, Datenmodellierung oder wissenschaftliche Anwendungen

    ich weiß dass funktionale programmierung gern in der wissenschaft genutzt wird... programmierfehler und so... aber wieso soll sie für rechenintensive anwendungen genutzt werden? ist die codeoptimierung so gut?

  2. Re: wieso?

    Autor: einer_keiner 12.11.10 - 22:24

    Bei Funktionaler Beschreibung kann der Interpreter besser die parallelen Teile erkennen und verteilen.

  3. Re: wieso?

    Autor: meiner_einer 12.11.10 - 23:04

    einer_meiner schrieb:
    --------------------------------------------------------------------------------
    > ich weiß dass funktionale programmierung gern in der wissenschaft genutzt
    > wird... programmierfehler und so... aber wieso soll sie für rechenintensive
    > anwendungen genutzt werden? ist die codeoptimierung so gut?


    ja.













    z.B. BMF, Fusion/Deforestation, Memoization, Flattening, Supercompilation mit Compile-Time Code Execution




    darüberhinaus nutzen *echte* wissenschaftler lieber technologien, die andere einfach nicht verstehen :P

  4. woid ()

    Autor: ilydotvbswarnesauerei 13.11.10 - 01:18

    es nennt sich prozedurales programmieren und eine prozedur ist genauer betrachtet ein programm. bei der funktion ist lediglich die übergabe des referenzparamters welcher ergebnisse zurückgibt bereits festgelegt/alloziert.

    genetic algorythm: open varFile for output write varprogramcontent und je nachdem exec compiler exec file.

    program attachment: always virus

  5. Re: woid ()

    Autor: Himuralibima 13.11.10 - 07:41

    ilydotvbswarnesauerei schrieb:

    > es nennt sich prozedurales programmieren und
    > eine prozedur ist genauer betrachtet ein
    > programm.

    Nein. Das ist etwas anderes.

    > bei der funktion ist lediglich die übergabe des
    > referenzparamters welcher ergebnisse zurückgibt
    > bereits festgelegt/alloziert.

    Das machen manche Compiler so, aber längst nicht alle. Die besseren geben Ergebnisse vorzugsweise als Werte zurück und nur wenn sie in den dafür vorgesehenen Registern des jeweiligen Prozessors keinen Platz haben, kommt ersatzweise eine Ergebnisreferenz zum Einsatz.

    Mit funktionaler Programmierung hat die Pascal-Eigenheit, nur Funktionen ohne Funktionswert als Prozeduren zu bezeichnen, nichts zu tun.

    Der Knackpunkt ist, daß Funktionen (oder Prozeduren) in prozeduralen Sprachen feste Abläufe beschreiben, die allenfalls zu Optimierungszwecken automatisch manipuliert werden dürfen, soweit damit der vorgesehene Effekt nicht verändert wird.

    Funktionale Programmierung benutzt Funktionen als gezielt vom Programmierer manipulierbare Objekte. Funktionen können auf verschiedene Weisen miteinander zu neuen Funktionen verknüpft werden; einzelne Parameter lassen sich substituieren, so daß nur noch die übrigen angegeben werden müssen; die Art und der Zeitpunkt der Bindung einer Funktion an ihre (statische) Umgebung („globale Variablen“) lassen sich steuern.

    Verzichtet man auf Nebeneffekte (funktionelle Programmiersprachen verbieten sie oft) und auf Zuweisungen, dann löst sich der prozedurale Ablauf vollständig auf, und es bleiben nur noch Abhängigkeiten übrig. Es ist Aufgabe des Compilers, diese Abhängigkeiten zu analysieren und daraus einen Ablauf (oder mehrere parallele Abläufe) so zu konstruieren, daß in den miteinander verknüpften Funktionen unnötige Berechnungen unterbleiben.

    Wenn allerdings ein Compiler beim Zugriff zu einer Variablen nicht erkennen kann, welche Zuweisung ihr den aktuellen Wert gegeben hat, dann bleibt er an den vorgegebenen prozeduralen Ablauf gefesselt und kann keinen schnelleren Maschinencode erzeugen.

    Der eigentliche Vorteil ist aber nicht die bessere Optimierbarkeit durch den Compiler, sondern die überschaubaren Effekte für den Programmierer. Wo es keinen sequentiellen Ablauf gibt, kann man nichts versehentlich in der falschen Reihenfolge ausführen. Der Code sieht mathematischer aus und enthält keinen Nonsens der Form I=I+1. Man macht deutlich weniger Fehler.

    Außerdem lassen sich Invarianten mit funktionalen Sprachen oft recht leicht beweisen, so daß sie nicht zur Laufzeit überwacht werden müssen. Mit geeigneten Invarianten läßt sich dann oft die Korrektheit eines Programms beweisen. Prozedurale Spaghetti-Codierer können davon nur träumen.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Lidl Dienstleistung GmbH & Co. KG, Neckarsulm
  2. Stadtwerke Bonn GmbH, Bonn
  3. Joyson Safety Systems Aschaffenburg GmbH, Aschaffenburg
  4. MGRP - Management Group Dr. Röser & Partner, Crailsheim

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 4,16€
  2. 4,99€
  3. 39,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


IT-Arbeitsmarkt: Jobgarantie gibt es nie
IT-Arbeitsmarkt
Jobgarantie gibt es nie

Deutsche Unternehmen stellen weniger ein und entlassen mehr. Es ist zwar Jammern auf hohem Niveau, aber Fakt ist: Die Konjunktur lässt nach, was Arbeitsplätze gefährdet. Auch die von IT-Experten, die überall gesucht werden?
Ein Bericht von Peter Ilg

  1. Homeoffice Wenn der Arbeitsplatz so anonym ist wie das Internet selbst
  2. Bundesagentur für Arbeit Informatikjobs bleiben 132 Tage unbesetzt
  3. IT-Headhunter ReactJS- und PHP-Experten verzweifelt gesucht

Schienenverkehr: Die Bahn hat wieder eine Vision
Schienenverkehr
Die Bahn hat wieder eine Vision

Alle halbe Stunde von einer Stadt in die andere, keine langen Umsteigezeiten zur Regionalbahn mehr: Das verspricht der Deutschlandtakt der Deutschen Bahn. Zu schön, um wahr zu werden?
Eine Analyse von Caspar Schwietering

  1. DB Navigator Deutsche Bahn lädt iOS-Nutzer in Betaphase ein
  2. One Fiber EWE will Bahn mit bundesweitem Glasfasernetz ausstatten
  3. VVS S-Bahn-Netz der Region Stuttgart bietet vollständig WLAN

Google Game Builder ausprobiert: Spieldesign mit Karten statt Quellcode
Google Game Builder ausprobiert
Spieldesign mit Karten statt Quellcode

Bitte Bild wackeln lassen und dann eine Explosion: Solche Befehle als Reaktion auf Ereignisse lassen sich im Game Builder relativ einfach verketten. Der Spieleeditor des Google-Entwicklerteams Area 120 ist nicht nur für Einsteiger gedacht - sondern auch für Profis, etwa für die Erstellung von Prototypen.
Von Peter Steinlechner

  1. Spielebranche Immer weniger wollen Spiele in Deutschland entwickeln
  2. Aus dem Verlag Neue Herausforderungen für Spieler und Entwickler

  1. Playstation: Sony kauft Insomniac Games
    Playstation
    Sony kauft Insomniac Games

    Gamescom 2019 Das Entwicklerstudio Insomniac Games hat auch schon Spiele für die Xbox One produziert, doch damit ist nun wohl Schluss: Sony hat das Team hinter Spider-Man gekauft und gliedert es in seine internationale Studiogruppe ein.

  2. Spielestreaming: Cyberpunk 2077 erscheint für Stadia
    Spielestreaming
    Cyberpunk 2077 erscheint für Stadia

    Gamescom 2019 Google hat das Rollenspiel Cyberpunk 2077 für Stadia eingekauft - leider ohne zu verraten, ob die Raytracing-Version gestreamt werde. Auch der Landwirtschaft-Simulator 2019 und Borderlands 3 sollen über die neue Plattform erscheinen.

  3. Magentagaming: Auch die Telekom startet einen Cloud-Gaming-Dienst
    Magentagaming
    Auch die Telekom startet einen Cloud-Gaming-Dienst

    Google Stadia, Blade Shadow und jetzt Magentagaming: Die Deutsche Telekom macht beim derzeit viel diskutierten Cloud-Gaming-Geschäft mit. Das Angebot der Telekom umfasst zum Beginn 100 Spiele und soll in Full-HD und später in 4K funktionieren. Die Beta startet noch auf der Gamescom 2019.


  1. 07:15

  2. 20:01

  3. 17:39

  4. 16:45

  5. 15:43

  6. 13:30

  7. 13:00

  8. 12:30