Ein Zitat von Edsger Dijkstra

Die erforderlichen Techniken für effektives Denken sind ziemlich formal, aber solange die Programmierung von Leuten durchgeführt wird, die sie nicht beherrschen, wird die Softwarekrise bei uns bleiben und als unheilbare Krankheit betrachtet. Und Sie wissen, was unheilbare Krankheiten bewirken: Sie laden die Quacksalber und Scharlatane ein, die in diesem Fall die Form von Software-Engineering-Gurus annehmen.
Ich bin nicht der Meinung, dass alle Software Open-Source-Software sein wird. Es gibt bestimmte Software, die in eine Nische passt und nur für ein bestimmtes Unternehmen oder eine bestimmte Person nützlich ist: zum Beispiel die Software direkt hinter der Benutzeroberfläche einer Website. Aber die überwiegende Mehrheit der Software ist eigentlich ziemlich allgemein gehalten.
Um das Programmieren wissenschaftlich behandeln zu können, muss es möglich sein, die erforderlichen Eigenschaften von Programmen genau zu spezifizieren. Formalität ist sicherlich kein Selbstzweck. Die Bedeutung formaler Spezifikationen muss letztendlich in ihrem Nutzen liegen – ob sie zur Verbesserung der Softwarequalität oder zur Reduzierung der Kosten für die Herstellung und Wartung von Software verwendet werden oder nicht.
Es gibt keine unheilbare Krankheit, sondern nur unheilbare Menschen.
Die unaufhörliche Angst und Anspannung einiger Menschen ist eine nahezu unheilbare Form der Krankheit. Wir werden dazu gebracht, die Wichtigkeit dessen, was wir tun, zu übertreiben. und doch, wie viel wird von uns nicht getan!
Einige Krebsarten sind heilbar, während andere höchstwahrscheinlich unheilbar sind. Das Spektrum ist riesig. Metastasierter Bauchspeicheldrüsenkrebs ist eine höchst unheilbare Krankheit, während einige Leukämieformen sehr gut heilbar sind. Es gibt einen großen Unterschied zwischen einer Form und einer anderen.
Software-Engineering ist die Etablierung und Anwendung fundierter technischer Prinzipien, um auf wirtschaftliche Weise Software zu erhalten, die zuverlässig ist und auf realen Maschinen effizient funktioniert.
Software ist ein Spiegelbild unseres eigenen Geistes. Und wenn sich unsere Software verbessert, wird sie nicht nur die Muster unseres Geistes besser erfassen, sondern auch die Energie unseres Geistes aufnehmen; Mit anderen Worten: Ich denke, dass Software lebendig ist.
Obwohl die fortschrittlichsten Softwareinnovationen möglicherweise in Großstädten mit Forschungsuniversitäten stattfinden, gibt es eine Menge Arbeit in Bezug auf die Anwendung von Software auf Geschäftsprozesse und die Verwaltung und Wartung von Softwaresystemen, die aus der Ferne erledigt werden können.
Bei Softwareprodukten kommt es häufig vor, dass die Software schwerwiegende „Fehler“ aufweist und bei manchen Benutzern nicht zuverlässig funktioniert. Der Laie, der nur mit wenigen Vorfällen von Softwareausfällen vertraut ist, könnte diese als Ausnahmen betrachten, die durch Ausnahmen verursacht wurden unfähige Programmierer. Diejenigen von uns, die Softwareprofis sind, wissen es besser; Die kompetentesten Programmierer der Welt können solche Probleme nicht vermeiden.
Ein weiterer Trick bei Software besteht darin, das Umschreiben der Software zu vermeiden, indem ein bereits geschriebener Teil verwendet wird, der sogenannte Komponentenansatz. Der neueste Begriff dafür in der fortschrittlichsten Form ist die sogenannte objektorientierte Programmierung.
Vor Ruby on Rails erforderte die Webprogrammierung viel Wortschatz, Schritte und Zeit. Jetzt können Webdesigner und Softwareentwickler eine Website viel schneller und einfacher entwickeln und so produktiver und effektiver arbeiten.
Die Softwareproduktion ist wie jede andere Produktion davor, es sind keine Rohstoffe erforderlich, es ist keine Zeit erforderlich und es ist kein Aufwand erforderlich. Sie können sofort eine Million Kopien der Software kostenlos erstellen, und das ist etwas ganz Besonderes.
Oracle ist mein zweiter Job überhaupt, bei dem ich nicht als Kellnerin gearbeitet habe. Aber ich habe immer noch meine Kellnerschürze für den Fall, dass das nicht klappt. Es ist nur so, dass ich mich während meines Programmierstudiums in Software verliebt habe. Als ich Investmentbanker war, gab es hauptsächlich Mainframe-Unternehmen und nur sehr wenige Software-Unternehmen.
Es gibt verschiedene Techniken, um Software in Einzelteile zu zerlegen und die Softwareentwicklung effizienter zu gestalten. Viele dieser Techniken waren irgendwie ... und jeder war davon begeistert, aber als die Sache in die Praxis umgesetzt wurde, ergab sich tatsächlich nur sehr wenig Nutzen.
In der Softwareentwicklung gibt es keine „Wurzel allen Übels“. Design ist in vielerlei Hinsicht schwierig. Menschen neigen dazu, die intellektuellen und praktischen Schwierigkeiten zu unterschätzen, die mit dem Aufbau eines bedeutenden Systems mit Software verbunden sind. Es ist und wird nicht auf einen einfachen mechanischen „Fließband“-Prozess reduziert. Um ein zufriedenstellendes großes System zu schaffen, sind Kreativität, technische Prinzipien und evolutionäre Veränderungen erforderlich.
Das Testen allein verbessert die Softwarequalität nicht. Testergebnisse sind ein Indikator für die Qualität, verbessern diese aber an sich nicht. Der Versuch, die Softwarequalität durch mehr Tests zu verbessern, ist so, als würde man versuchen, Gewicht zu verlieren, indem man sich häufiger wiegt. Was Sie essen, bevor Sie die Waage betreten, bestimmt, wie viel Sie wiegen werden, und die Softwareentwicklungstechniken, die Sie verwenden, bestimmen, wie viele Fehler beim Testen gefunden werden. Wenn Sie abnehmen möchten, kaufen Sie keine neue Waage; Ändern Sie Ihre Ernährung. Wenn Sie Ihre Software verbessern möchten, testen Sie nicht mehr; besser entwickeln.
Diese Website verwendet Cookies, um Ihnen das bestmögliche Erlebnis zu bieten. Mehr Info...
Habe es!