heisenberg hat geschrieben:Na. Ich würde sagen da gibt es gerade im Bashbereich auch schon Welten des Unterschiedes, je nach dem wie performant und effizient man gelernt hat damit zu programmieren - da hat man auch schnell mal ein paar Tausend? Millionen? Prozesse erzeugt bei grösseren Programmen.
Hatte darauf geachtet, dass ich ausschließlich befehle nutze, die in der bash integriert sind.
heisenberg hat geschrieben:Aber für grössere Programme würde ich selbst nur unter Androhung von Folter in Bash programmieren wollen.
War eine einzelne Schleife mit vielleicht 4 Zeilen.
heisenberg hat geschrieben:Im übrigen sind für mich Bash <-> HPC schon Positionen, wie Sie nicht weiter voneinander entfernt sein können.
In dem Fall gieng es um was für mich zu hause. Trotzdem ist die Bash da für Verwaltungsaufgaben natürlich groß.
tobo hat geschrieben:Da muss man sich nur mal ein paar Quelltexte durch die Bank anschauen, dann sieht man direkt, wie nah das an der Wahrheit ist.
Also gerade wenn du dir Android Apps anguckst ist das praktisch nur Spezialisierung und sonst gar nichts. Prozedural ist da absolut gar nichts. Die ich suche mir was, was für mich ähnlich klingt und dann auf Stackoverflow, wie ich das nach meinem Wunsch anpasse führt zwar ganz und gar nicht zu besserem Code aber so ist mittlerweile eine ganze Generation weg vom prozeduralen Programmieren gekommen. Die machen nur noch OOP. Bei C++ sieht das noch etwas anders aus. Da laufen aber auch immer noch verdammt viele rum, die mal mit Pascal angefangen haben. Und die programmieren halt ausschließlich Prozedural und sind vollständig resistent gegen jegliches dazulernen.
tobo hat geschrieben:Klar. Wie breits gesagt, Pseudocode wird im Allgemeinen ähnlich zur Pascalsyntax aufgeschrieben, so dass andere Proggrammierer (egal welche Sprache) es nachvollziehen können. Sollte ein ziemlich gutes Argument sein!?
NEIN! Genau das Gegenteil ist der Fall. Es gibt viele Konstrukte wie OOP die für sich komplex zu verstehen sind aber geübten Lesern Sachen deutlich vereinfachen. Eine Sprache weitestgehend ohne Grammatik (Klingonisch) ist deutlich einfacher zu lernen sinnvoll komplexere Sachverhalte zu formulieren geht aber eben extrem schwer.
Bronze schmieden ist deutlich einfacher als alle anderen Metallverarbeitungen. Kannst du als Workshop auf dem Mittelaltermarkt anbieten und wurde schon 5000 Jahre vor Edelstahl hergestellt. Stattdessen nutzen wir für Anwendungszwecke wo früher Bronze genutzt wurde heute typischerweise Edelstahl dessen Herstellung und Verarbeitungsverfahren ganze Bibliotheken füllen. Nicht weil es einfacher zu erlernen ist, sondern weil es für darauf spezialisierte Menschengruppen schneller billiger und in größeren Mengen funktioniert. Dabei ist dann das Ergebnis auch noch deutlich robuster.
Ansonsten ist der eher an basic angelehnt weil halt jeder mal basic gesehen hat, und die Leute es deswegen für einfach hielten. Und schwankt nach und nach Richtung C und Java weil das halt häufig ist. Und wäre haskell die verbreitetste Sprache sähe Pseudocode garantiert gaaanz anders aus.
Das einzig wirklich ohne Vorkenntnisse verständliche ist das "mit Pfeilen":
SGibbi hat geschrieben:C frißt 30% bis 50%. Rechenleistung. Gegenüber Assembler wäre unser Linux Rechner ziemlich genau doppelt so schnell, würden wir Assemblieren.
Das ist falsch. Es gab mal einen Wettbewerb für IA64 Assembler und C Programmierer gegen den Intel Compiler. Die allermeisten Assembelten deutlich langsamer. Du musst schon verdammt viel über derzeitige Prozessoren wissen (Wie große sind die Caches, wie lange die Pipelines), und verdammt gut sein, das alles einzubauen um einen guten Compiler outzuperformen. IA64 ist da natürlich noch besonders böse, aber dein mit Makros Plattformunabhängig gemachter Code ist garantiert auch auf einem modernen x86 deutlich langsamer als das was ein besserer Compiler produziert.
tobo hat geschrieben:Und was genau stört dich daran jetzt? … Wenn Du als Delphi-Programmier das so hinschreibst und damit schlechten Programmierstil offenbarst
Stören tut mich daran erstmals nichts. Das ist das Beispiel aus der Wikipedia für Pascal Code. So unüblich kann das nicht sein. In C haben sie aber tatsächlich was ähnliches drin. Die wollen halt auch allgemeinverständlich sein.
Aber in anderen Sprachen nimmst du andere Konstrukte. Und genau das ist das Problem mit Leuten die als erstes Delphi lernen. Sie machen genau das:
Abgrenzung von n<100 durch Klammern, Schleifenrumpf in begin/end, Leerschleife?
Und dann ist es eben gar kein schöner Programmierstil. Du nutzt eben nicht, was die Sprache dir bietet, sondern das was sie in Pascal gelernt haben, und denken am ende jede Programmiersprache würde so funktionieren.
Z.B. Könnte man sowas in C so lösen:
Über die Lesbarkeit von sowas kann man sich streiten, aber ein geübter C-Programmierer wird dir die Sinnlosigkeit des Codes gesehen haben, bevor du die 2 Zeilen Pascal überhaupt gelesen hast.
In Scheme wird das im übrigen richtig lustig:
Man könnte auch da irgend wie sowas schreiben:
Aber hier würde dir dann halt echt jeder das Programm links und rechts um die Ohren hauen weil schleifen in Scheme halt eigentlich nichts zu suchen haben.