Salü Herb
Ich fühle mich in keinster Weise qualifiziert für Entwickler im allgemeinen zu sprechen. Ich bin Generalist der u.a. mehrere Jahre entwicklet hat und im regen Kontakt mit anderen Entwicklern (.NET / Visual Basic / C++) hat.
Meine Aussagen beruhen auf Softwareentwicklungen im Wirtschaftsinformatikbereich mit MS Visual Basic 4 - 6 / VBA / relationalen Datenbanken und ein wenig Internet. Auch habe ich bereits
Projektleitungen von kleinen Projekten (Internet) verantwortet. Derzeit an C# / .NET und SQL Sever 2005 - soweit die knappe Zeit es zulässt 
Mit dieser Einschränkung meine Meinung dazu:
Hi ho Peter,
Softwareentwickler lieben Sicherheit nicht. D.h. es macht das
entwicklen aufwendiger und komplizierter.
das kann ich so nicht unterschreiben. Softwareentwicklung war
schon immer ein nicht gerade einfacher Prozess. Die Sicherheit
des erstellten Codes solle immer bedacht werden.
Dieser Satz ist eine Luftblase. Jede Zeile Code die Du schreibst, jede Klasse, jede Funktion basiert auf Annahmen und innerhalb der Kaste geltender Abmachungen.
Ein einfaches Bsp. ist der „Buffer Overflow“ der in vielen C++ codierten Codes auf JEDEM Betriebssytem für viele Applikationen ein Problem ist.
Für die Kaste der C++ Enwickler (IMO) war klar, dass unterdimensierte Speicherbereiche „nicht schlimm“ sind. Schlimmstenfalls schmierte eine
Applikation ab, basta. Ein akzeptiertes Risiko.
In der Welt des 21. Jahrhunderts wo jedes IT - System von 1000 von SW Hooligans auf Lücken und Fehlfunktionen abgeklopft wird, um destruktive Aktivitäten zu generieren, hat dieses nun „Folgen“.
Oder schau Dir das Jahr 2000 Problem an. Jeder (Mainframe-) Entwickler
der mehr Speicherplatz belegen wollte, um sauberen (sicheren) Code zu
schreiben und eben die Jahrszahlen 4stellig abgespeichern wolle, wäre
von der Kaste verhöhnt und von der Firma kurz oder lang als Theoretiker abgeschoben worden.
In einem
ordentlich geleiteten Projekt ist das auch kein Problem.
Du hast sicher Recht, dass das (professionelles) Projektmanagement einer der wichtigsten Faktoren für die Qualität der Software ist.
Software Entwicklung ist ein sehr komplexer Prozess wo Technik, Mensch en und Organisation verwoben sind. Die Risiken oder Probleme werden primär von Menschen verursacht - Anwenderseitig oder auf der Entwicklerseite.
Wenn
allerdings die „Geiz ist geil“ Mentalität durchschlägt (was
sie auch bei der Softwareentwicklung immer häufiger tut), dann
fallen Code Reviews aus, die Entwicklung wird in ein
Billiglohnland ausgelagert und der Entwickler selber macht
übermässig Cut and Paste Entwicklung.
„Cut and Paste“ ist gerade der Garant für stabilen Code.
Egal ob OO oder strukturiert. Klassen wie Funktion werden durch permanente Wiederverwendung immer besser. Ein bekanntes Bsp. dafür ist
das Produkt „Star Office“. Als das Programm auf dem Markt kam, war es sehr schnell auf anderen Plattformen verfügbar. Gemäss dem Entwicklungsleiter, weil man sich am Anfang Zeit nahm und erst mal ein sauberes Klasendiagramm entwarf und strikt alle Funktionen „zuammengesetzt“ hat.
So schauts aus. Und solange die Anwender den Kram kaufen wird
sich auch nichts ändern.
Grüsse,
Herb
Die meisten Anwender nehmen Software nicht als Produkt wahr. Menschen die kein Fahrrad oder Butter im Discount stehlen würden, kopieren hemmungslos Software. Auf der anderen Seite wird seblst kommerzielle Software noch nicht mit den qualitativen Standards wie es in der Industrie üblich ist, hergestellt und unterstützt.
Analog dem Urheberrecht ist es ein primär kultureller Prozess der seine Zeit braucht. Software sprengt nunmal viele der traditionellen Sichtweisen und d.h. wir müssen uns noch immer mit den veränderten Gegebenheiten auseinandersetzen…
viele Grüsse
Pete