Welche Software hast du selbst programmiert oder von deren
Programmierung erfahren, daß sie besonders schwer war?
Schwer meint: in wenige Zeilen code ging sehr viel Überlegung, etwa hohe
Mathematik, mehrere komplizierte abstrakte Gedankengebäude.
Schwer meint nicht: umfangreich aber in jedem Schritt leicht, also etwa
ein Telefonbuch abzutippen.
Die Approximation der Diffusionsgleichung mittels einer
Reihenentwicklung aus n Differentialgleichungen 1. Ordnung unter
rottationssymmetrischen Randbedingungen. HF
Bäschäftige dich doch mit lockfree Threadsafe Algorithmen, z.B. eine
lockfree queue. Wenn man da danach denkt, es war einfach, ist es falsch,
und wenn nicht ... wundert man sich wie es möglich sein soll, da ja
bewiesen ist, dass es möglich ist.
Thomas F. schrieb:> BrainfuckHold Power schrieb:> Schwer meint nicht: umfangreich aber in jedem Schritt leicht, also etwa> ein Telefonbuch abzutippen.
Ich würde ASM sagen. Der Befehlssatz ist groß genug, um elegante und
clevere Lösungen lesbar zu implementieren und das Ganze ist verflucht
schwer, weil man alles zu Fuß machen muss.
Allerdings gibt einem das auch unendliche Möglichkeiten, etwas zu
optimieren.
Dabei den Überblick zu behalten, und eventuell noch ein paar Zeilen
kürzen zu können, das ist Kunst.
Hold Power schrieb:> Schwer meint: in wenige Zeilen code ging sehr viel Überlegung, etwa hohe> Mathematik, mehrere komplizierte abstrakte Gedankengebäude.
Passt dazu wie die Faust aufs Auge:
Seite 21: http://www.vaxman.de/publications/apl_slides.pdf
Ich selbst zog es vor, eher auf Lesbarkeit als auf Zeilenlänge zu
programmieren. Aber die Programme der Cracks sahen oft so aus wie hier.
Mehr breit als hoch.
Bei Matlab habe ich auch schon mal gedacht kommt es extrem vor, dass man
mit viel nachdenken und Tricks Code extrem verkützen kann. Wenn ich gut
drauf bin, komme ich auf sowas durch Internetrecherche oder nachdenken.
Wenn nicht oder zu faul was meistens der Fall ist, dann gibt es die
lange Variante. Ich hatte es bei Matlab auch schon, dass Ich einen Tag
mir irgendeinen "Mist" zusammen programmiert habe und dann am nächsten
Tag herrausgefunden habe durh Glück/Recherche, dass ich 150 Zeilen in zB
2 Zeilen kürzen konnte. Da finde ich es richig extrem inwiefern man mit
Spezialbefehlen seinen eigenen Code zigfach verkürzen/ vereinfachen
kann. Auch indem man Matrizenmultiplikation anstatt for Schleife benutzt
zb...
https://meetingcpp.com/index.php/vl15/items/9.html
Das zu Implementieren dürfte so manchen einen Knoten im Gehirn geben.
Btw: das war ein hervorragender Vortrag, mitunter der einzige an der
meetingcpp.
Grüsse,
René
COQ https://en.wikipedia.org/wiki/Coq wäre auch ein schöner Kandidat.
Cool aber erst mal schwer zu verstehen. Damit kann man mehr oder weniger
die gesamte Mathematik aus ein paar elementaren Annahmen (elemntarer als
die üblichen Axiome) herleiten. Fehler im klassischen Sinne gibt's
eigentlich nicht mehr, das Tool sagt Dir ob du mit der Hausaufgaben
fertig bist (dann sind Sie richtig) oder nicht, und welche Sätze noch
unbewiesen 'übrig' bleiben. Natürlich kann es weiterhin passieren das
man es nicht schafft das zu beschreiben, was man lösen will oder das man
keinen Beweis für irgendeinen Satz findet.
LG Karl
Und was welche meiner Meinung nach die komplizierteste "Software" zu
programmieren ist, sind physikalische Simulationen. Überall da, wo
höhere Mathematik vorkommt. FEM-Software,Regelungstechniksysteme,...
Weil da die Physik/Mathematik dahinter so komplex ist. Das war bei mir
auch das anspruchvollste bisher, DGLsysteme lösen.
Aber irgendwo sich einzuhacken stelle ich mir auch sehr anspruchsvoll
vor, weil man da über gutes PC Hardware wissen vergügen muss. Ich habe
aber von sowas auch wenig Ahnung von.
Eigentlich kann an sagen ist alle Software intelektuell Anspruchsvoll,
bei der man ein tiefes Hintergrundwissen haben muss.
Versuch mal Haskell zu lernen. Da werden Synapsen in Deinem Gehirn
aktiviert von denen Du gar nicht wußtest daß sie existieren. Das kann
aber am Anfang auch sehr schmerzhaft sein, also Vorsicht.