Beschreibe hier die neue Seite. |
Vorbemerkung / Einleitung Ich habe ad hoc diesen Begriff und diese Seite ins Leben gerufen, um ein Thema an dem SoftwareEntwicklungsbereich anzusprechen, das mich schon seit langem beschäftigt, und mir daher ein persönliches Anliegen ist. Mal sehen, wer sich an der Diskussion beteiligen möchte, und was daraus wird... Dabei drehen sich meine diesbezüglichen "Überlegungen" weitestgehend um die Themen...: *SmallIsBeautiful *EinfachesDesign *KISS Ausgangspunkt Was mich nun konkret veranlasst hat, eine eigene Seite zu diesem Thema anzulegen, war folgende Bemerkung von Kent Beck, einem Vorreiter der XP-Bewegung, im WardsWiki: :Code wants to be simple. If you are aware of CodeSmells?, and duplicate code is one of the strongest, and you react accordingly, your systems will get simpler. When I began working in this style, I had to give up the idea that I had the perfect vision of the system to which the system had to conform. Instead, I had to accept that I was only the vehicle for the system expressing its own desire for simplicity. My vision could shape initial direction, and my attention to the desires of the code could affect how quickly and how well the system found its desired shape, but the system is riding me much more than I am riding the system. :-- Kent Beck (in a mystical mood) Weitere Beiträge Auch einige Bemerkungen anderer bekannter Leute gehen in eine durchaus ähnliche Richtung; wenn sie auch nicht unbedingt direkt auf Software bezogen sind: :"[a design] is complete not when there is no longer anything to add but when there is no longer anything to take away..." :--Antoine de Saint-Exupéry (1900-1944) :"Alles Komplizierte ist unnötig. Alles Notwendige ist einfach." :--Michail Kalaschnikov Jedoch geht eben Kent Beck mit seinen Bemerkungen noch WEIT über das von diesen Autoren Gesagte hinaus: er konstatiert nicht nur, dass "die Lösung einfach ist", sondern gibt auch gleich noch einen Hinweis auf eine Methode, sich diesem Ziel zu nähern. Auf den Punkt gebracht Ich möchte es mal auf folgenden Punkt bringen...: Er [Kent Beck] spricht hier von einer der Software (bzw. dem Software-System) inhärent innewohnender "Drang" nach Einfachheit...: "Code wants to be simple." Und seine Äußerungen kulminieren schließlich in dem Satz: "I had to accept that I was only the vehicle for the system expressing its own desire for simplicity." Meinungen, Erfahrungen, Gedanken dazu...? Siehe auch ![]() ![]() === Gedanken = Irgendwo hier habe ich kürzlich geschrieben, dass Komplexität so wie Unordnung automatisch entsteht, während Einfachheit und Ordnung nur durch Einsatz von viel Disziplin und Energie erzeugt werden kann. Das würde eigentlich gegen Kent Beck's Erfahrung sprechen, dass das System ihm quasi die Einfachheit aufdrängt. Andererseits gibt es die Erfahrung (es gibt glaube ich im Wards Wiki einige Seiten dazu), dass man in einen besonders befreiten Zustand der Programmierung kommen kann, wo einem die optimalen, einfachen Lösungen quasi von selbst zufallen. Ein Zustand, den man vielleicht mit Supraleitung vergleichen könnte. Alles wird einfach, wenn man es richtig angeht. Die Schwierigkeit von XP ist es IMHO, diese Form der Problemlösung mit dem Begriff "Design" zu verbinden. Wer genug Erfahrung hat und in einem guten "Betriebszustand" ist, der trifft einfach die richtigen Entscheidungen, ohne lange darüber nachzudenken. Ist das Design? Für mich steckt eine Teil des Geheimnisses (das ich nicht behaupte gelüftet zu haben) in einer Loslösung des Denkens von den konkret verwendeten Paradigmen und Programmiersprachen. Ich habe - vermutlich schlecht - versucht, meine Gedanken dazu in ![]() -- HelmutLeitner KategoriePhilosophie KategorieDesign |
Vorbemerkung / Einleitung
Ich habe ad hoc diesen Begriff und diese Seite ins Leben gerufen, um ein Thema an dem SoftwareEntwicklungsbereich anzusprechen, das mich schon seit langem beschäftigt, und mir daher ein persönliches Anliegen ist.
Mal sehen, wer sich an der Diskussion beteiligen möchte, und was daraus wird...
Dabei drehen sich meine diesbezüglichen "Überlegungen" weitestgehend um die Themen...:
Was mich nun konkret veranlasst hat, eine eigene Seite zu diesem Thema anzulegen, war folgende Bemerkung von Kent Beck, einem Vorreiter der XP-Bewegung, im WardsWiki:
Auch einige Bemerkungen anderer bekannter Leute gehen in eine durchaus ähnliche Richtung; wenn sie auch nicht unbedingt direkt auf Software bezogen sind:
Auf den Punkt gebracht
Ich möchte es mal auf folgenden Punkt bringen...: Er [Kent Beck] spricht hier von einer der Software (bzw. dem Software-System) inhärent innewohnender "Drang" nach Einfachheit...: "Code wants to be simple."
Und seine Äußerungen kulminieren schließlich in dem Satz: "I had to accept that I was only the vehicle for the system expressing its own desire for simplicity."
Meinungen, Erfahrungen, Gedanken dazu...?
Gedanken | ![]() |
Irgendwo hier habe ich kürzlich geschrieben, dass Komplexität so wie Unordnung automatisch entsteht, während Einfachheit und Ordnung nur durch Einsatz von viel Disziplin und Energie erzeugt werden kann. Das würde eigentlich gegen Kent Beck's Erfahrung sprechen, dass das System ihm quasi die Einfachheit aufdrängt.
Andererseits gibt es die Erfahrung (es gibt glaube ich im Wards Wiki einige Seiten dazu), dass man in einen besonders befreiten Zustand der Programmierung kommen kann, wo einem die optimalen, einfachen Lösungen quasi von selbst zufallen. Ein Zustand, den man vielleicht mit Supraleitung vergleichen könnte. Alles wird einfach, wenn man es richtig angeht.
Die Schwierigkeit von XP ist es IMHO, diese Form der Problemlösung mit dem Begriff "Design" zu verbinden. Wer genug Erfahrung hat und in einem guten "Betriebszustand" ist, der trifft einfach die richtigen Entscheidungen, ohne lange darüber nachzudenken. Ist das Design?
Für mich steckt eine Teil des Geheimnisses (das ich nicht behaupte gelüftet zu haben) in einer Loslösung des Denkens von den konkret verwendeten Paradigmen und Programmiersprachen. Ich habe - vermutlich schlecht - versucht, meine Gedanken dazu in WardsWiki:LanguageOrientedProgramming transparent zu machen.