Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: . Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

1

Freitag, 4. April 2008, 19:30

Probleme der Softwareentwicklung

Hallo liebe Flusianer!

Die ganze Zeit geistern bei der Flugzeugentwicklung und auch allen anderen Projekten, die mit Software zu tun haben, Hiobsbotschaften über verspätungen oder Abbrüche durch die Gegend. Ich wollte mal ein klein wenig Licht ins dunkle bringen.

Laut der Chaos-Studie der Standish-Group laufen auch heute noch ungefähr 66% der Softwareprojekte nicht so, wie sie sollten:


http://www.bilder-hochladen.net/files/1629-22-png.html


Wobei Challanged soviel bedeutet: Man hat noch was sinnvolles rausbekommen. Aber nicht das, was man haben wollte.


Zwar hat sich mittlerweile einiges getan und die Quote steigt, dennoch ist Software der Grund für die Mehrzahl an Fehlern! Beispiel gefällig?

- Erster Ariane-5 Start endet in einem Desaster. Was ist passiert? Bei der Entwicklung der Ariane-5 Software wurde verständlicherweise auch auf Teile des Vorgängermodells zurückgegriffen. Dadurch schlich sich allerdings ein Fehler in die Flugcomputer ein. Eine Variable war nur bis zu einem gewissen Maße definiert und diese Zahl reichte bei den Beschleunigungswerten der Ariane 4 dahingehend auch aus. Bei der Ariane 5 nun nicht mehr. Die Zahl wurde größer als die definierte Variable und gab eine Fehlernummer zurück. Diese interpretierten alle 3 Boardcomputer (alle gleiche Software) als Beschleunigungswert und reagierten auf diesen abnormalen Flugverlauf (der ich wiklichkeit normal ist!) mit einer Kurskorrektur. Mit fatalen Folgen, die Rakete musste gesprengt werden. Bzw. sprengte sich selber, nachdem die g-Werte ein definierten Wert überschritten haben.

Nun wünschen wir uns alles andere, wenn wir in einem Linienflugzeug sitzen, dessen Technik ja nun auch zu großen Teilen aus Rüstungs und Weltraumtechnologien hervorgehen. (EADS-Airbus bzw die Boeing Company). Nun könnte ich noch weitersuchen und verschiedene andere Beispiele geben, aber die soll als Exempel genügen.

Wie kommt das? Software wird immer komplexer. Reden wir bei MS-DOS 1.0 von 4000 Programmzeilen, sind es bei Windows 95 bereits 10 Millionen, bei Windows XP 40 Millionen usw... Gehen wir statistisch mal das Space Shuttle durch. Es hat ca. 3 Millionen Zeilen Code und man geht von weniger als 0.1 Fehler pro Zeile aus.

Space Shuttle Software
3 Millionen Zeilen => 300 Fehler
$ 3000 Millionen Kosten => $ 1000 pro Zeile
15 000 Mannjahre

Wie man siehst, macht das noch immer über 300 Fehler bei der Space Shuttle Software!

Wer da also immernoch denkt, Software wird von ein paar Kellerprofis entwicklet liegt falsch. Der organisatorische Aufwand sprengt bei aktuellen Softwareentwicklung jedes Budget. Sei es nun die neue Arbeitsamtsoftware oder ein neues Abrechnungssystem für die RWE, gestartet Ende der 90er, eingestellt nach einigen Jahren. Mit dem Fazit: "Nicht zu gebrauchen"! Millionen € weg! Jetzt läuft bei RWE ein SAP System.

Dagegen wurden mittlerweile verschiedene Softwareentwicklungsprozesse eingeführt:

Das uralte http://de.wikipedia.org/wiki/Wasserfallmodell
zum http://de.wikipedia.org/wiki/Unified_Process
über http://de.wikipedia.org/wiki/Extreme_Programming
hin zum http://de.wikipedia.org/wiki/Capability_…del_Integration wobei auch die V-Modelle nicht außer Acht gelassen werden dürfen. So schreibt der Bund immernoch die Entwicklung seiner Software nach dem V-Modell XT vor! http://de.wikipedia.org/wiki/V-Modell

Mit all seinen qualitätssichernden Maßnahmen versuchen Projektmanager qualitative Softwareaspekte zu setzen.


Die soll als kleine Einleitung für den unbedarften gefallen. Bei angemessenem Interesse, würde ich auch hier und da mal ins Detail gehen.


Beste Grüße,

Klaus

ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

2

Freitag, 4. April 2008, 19:39

Schöner Einblick :)
Ich bin grade am Ende meines Studiums angelangt (Technische Informatik) und auch wir haben Softwaretechnik belegt. Leider ist es wohl so, dass Softwareentwicklung auch sehr stark den Bereich des Testens mit einbezieht, was aber in der freien Wirtschaft doch stiefmütterlich behandelt werden SOLL (hab ja noch nicht da gearbeitet, kann mich da nur auf Aussagen vom Prof stützen und was man manchmal als Kunde so vorgesetzt bekommt).
Außerdem kann auch eine ständig wechselnde Anforderung seitens des Auftraggebers dazu führen, dass ein Softwareprodukt irgendwann einfach zu aufgebläht ist, dass Funktionen drin sind, die man nicht mehr braucht, kurzum, dass es unübersichtlich wird und man am liebsten einen Neuanfang machen sollte.

klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

3

Freitag, 4. April 2008, 19:49

Danke!

In der Tat sind viele Menschen noch nicht in der Lage zu bewerten, was alles zu Software gehört. Da nimmt die reine Programmierung vielleicht 40% der Zeit ein. Der Rest geht drauf für Planung, Reviews, Dokumentation, Testen usw... Ich finde, dass sollte sich langsam mal rumsprechen, die Mehrheit ist nämlich der Meinung, mit bissel Eingewöhnung und Zeitaufwand wäre jeder in der Lage was großes zu reißen.

Ich hatte eigentlich ein relativ kleines Projekt und hatte 3 Monate Entwicklung veranschlagt. Im Ergebnis war es nach 6 Monaten noch nichtmal testreif! Von daher spreche ich auch aus eigener Erfahrung.

PS: Waaah, die technische Informatik war immer ein Teil, den ich gemieden habe... Integrale hier und dort... Brrrrrrrr
Fand aber so einfache Schaltpläne ziemlich interessant. So Fahrstuhlsteuerungen bis auf Transistoreben herunter usw...
Dennoch Respekt, ich hab mich immer Richtung Software orientiert :luxhello:

ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

4

Freitag, 4. April 2008, 20:03

Ja, ist sehr interessant, ich wollte hauptsächlich was mit Informatik machen. Meine Diplomarbeit besteht aber darin, dass ich für Airbus Software entwickeln werde, eine Verwaltungssoftware, von daher werde ich da einen guten Einblick in die Praxis kriegen ;)

Oldfly1

Anfänger

  • »Oldfly1« wurde gesperrt

wcf.user.posts: 344

Wohnort: Zwischen Himmel und Erde

Beruf: Selbständig

  • Nachricht senden

5

Freitag, 4. April 2008, 20:07

Hy, das sehe ich ähnlich wie ihr...

Zitat

Der Rest geht drauf für Planung, Reviews, Dokumentation, Testen usw...

gerade hier ist ein Netzwerk wo man sich austauschen kann von Vorteil,
Wir Coden in einem Team, und Helfen uns gegenseitig dabei die Aufträge zu erfüllen die da sind.
Jeder hat seine Peaks und Drops es ist sehr aufwendig sich an der Spitze herum zu coden.

Gruß

Durch Professoren habe ich mich nie formen lassen, ich habe immer selbst geformt, war ja auch noch eine andere Zeit. :lol:
Gruß Klaus
:winke: Wir begegnen uns beim fusieren..... :thumb:

klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

6

Freitag, 4. April 2008, 20:13

Zitat

Original von Oldfly1

gerade hier ist ein Netzwerk wo man sich austauschen kann von Vorteil,


Damit meinst Du eine Knownledgebase? Ein Forum? Bugzilla? Oder die gute alte Mittagsrunde :D :thumb:

Oldfly1

Anfänger

  • »Oldfly1« wurde gesperrt

wcf.user.posts: 344

Wohnort: Zwischen Himmel und Erde

Beruf: Selbständig

  • Nachricht senden

7

Freitag, 4. April 2008, 20:25

:D

Zitat

Original von klausd

Zitat

Original von Oldfly1
gerade hier ist ein Netzwerk wo man sich austauschen kann von Vorteil,

Damit meinst Du eine Knownledgebase? Ein Forum? Bugzilla? Oder die gute alte Mittagsrunde :D :thumb:


:thumb: So oder so ähnlich, die Zeiten ändern sich....

Kennst Du >Git-Wiki< und hier die >Home-Page<

Gruß

P.S. Zum Mittagstisch kurz mal nach Hongkong/Australien/Brasilien/USA usw. währe aber auch nicht schlecht. :luxhello:

Edit: Wenn ihr schon beim Lesen seit nehmt auch gleich den >Git - SVN Crash Course<mit, und hier die >Innereien<
.
Gruß Klaus
:winke: Wir begegnen uns beim fusieren..... :thumb:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Oldfly1« (4. April 2008, 21:07)


8

Freitag, 4. April 2008, 23:05

RE: Probleme der Softwareentwicklung

Zitat

Original von klausd
Space Shuttle Software
3 Millionen Zeilen => 300 Fehler


Und hier reden wir von der absoluten Liga...

Es geht bei komplexen Programmen leider kaum mit weniger Fehlern - und das ist, bei o.g. (quote) Verhältnis auch beachtlich wenig ...

Dann gibt es diesen Verlauf in einem, durch *Software (*hier Mehrzahl) gesteuerten, System - wo eben die Systemsoftware, die ja Fehler im Promillebereich aufweist, durch eben solche Kontrollsoftware überprüft wird, die ebenfalls Fehler enthält - und so weiter...

Aus diesem Grund funktioniert ein Betriebssystem auch fast einwandfrei, der Verlauf, der in der Systemsteuerung einsehbar ist, enthält auch Hinweise auf Fehler, nur ist hier nicht jeder Fehler auch einer, der angezeigt wird...

Wenn man nun Vista oder XP mit dem Betriebssystem des Space Shuttle vergleicht, dann kommt man immerhin auf eine Fehlerhäufigkeit von etwa

2 - 3 Fehler pro 1000 Zeilen bei 40 Millionen Zeilen bei XP

gegenüber

< 0.1 Fehler pro 1000 Zeilen bei 3 Millionen Zeilen bei der Shuttle Software

und zeigt somit einmal mehr die Verhältnisse der einzelnen Programme auf...

Als Leitspruch zu der Komplexität der Programme kann man sagen - je größer im Sinne von - je mehr Zeilen ein Programm hat , je mehr Fehler enthält es, was auch logisch ist - aber, und jetzt kommt der Kernpunkt der Geschichte, mir steigender Zeilenanzahl steigen die Fehler überproportional...

Als Vergleich einmal die Komplexität verschiedenener Programme...
[list]
MS DOS etwa 4 000 Zeilen
Linux Gentoo (2.6) etwa 6 Millionen Zeilen
Windows 95 etwa 10 Millionen Zeilen
Windows 2000 etwa 27 Millionen Zeilen
Windows XP etwa 40 Millionen Zeilen
SAP etwa 80 Millionen Zeilen[/list]

und mit Abstand

[list]Raketenabwehrsystem der Nato etwa 100 Millionen Zeilen[/list]

Soviel dazu ;)

Gruß

Dirk
Gruß

Dirk 8)

Flusitechnisch nun in den Rentenstatus gewechselt

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Superburschi« (4. April 2008, 23:07)


Oldfly1

Anfänger

  • »Oldfly1« wurde gesperrt

wcf.user.posts: 344

Wohnort: Zwischen Himmel und Erde

Beruf: Selbständig

  • Nachricht senden

9

Freitag, 4. April 2008, 23:41

:D Hy Superburschi,

das stimmt schon manche Software ist nicht mehr zu überblicken, deswegen geht auch teilweise schon der Trend dazu über das man Module programmiert, die dann Ergebnisse liefern, und sich leichter optimieren bzw. austauschen lassen, sogenanntes Cluster-Coding.

Gerade jetzt wo die Mehrkerntechnologie der CPUs im kommen ist, kann da vieles besser gemacht werden, und ist billiger und überschaubarer..

Gruß
Gruß Klaus
:winke: Wir begegnen uns beim fusieren..... :thumb:

klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

10

Samstag, 5. April 2008, 13:14

Zitat

Original von Oldfly1


P.S. Zum Mittagstisch kurz mal nach Hongkong/Australien/Brasilien/USA usw. währe aber auch nicht schlecht. :luxhello:
.


Hehe, das kenne ich... Meine alte Firma hatte Hauptsitz in Neuseeland :shocked: Da musste man auf jede Nachfrage immer gleich n ganzen Tag warten! :banghead: (NAVMAN)


Bin überhaupt mal gespannt wo das mal hinlaufen soll mit der Komplexität der Software... Irgendwann brauchen wir mal noch höhere Programmiersprachen...

11

Samstag, 5. April 2008, 14:17

Zitat

Original von klausd
Irgendwann brauchen wir mal noch höhere Programmiersprachen...


...oder intelligentere Compiler-Software, die dann auch wieder Fehler pro Zeilen hat... :lol:

Wo das nun letztendlich hinführt, nun, wer kennt nicht solche Filme wie Terminator, vielleicht ist da der Kern, der jetzt schon wächst (Stichwort CyberDyne im Film) die Grundlage der Zukunft, das wäre dann eine gewöhnungsbedürftige Angelegenheit... Aber wer weiß das schon...

Gruß

Dirk
Gruß

Dirk 8)

Flusitechnisch nun in den Rentenstatus gewechselt

klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

12

Samstag, 5. April 2008, 14:42

Es gibt in der Softwareentwicklung die MDA welches Codegenerierung umfasst anhand von Modellen. Das könnte ebenfalls eine Zukunft haben!

http://de.wikipedia.org/wiki/Model_Driven_Architecture

13

Samstag, 5. April 2008, 21:41

Klaus (klausd), sehr interessanter Thread :thumb:

Ich sitze her auf der anderen Seite : also der Inputgeber, dann Tester und schliesslich Anwender bzw. Lehrer.
Was mich interessieren würde : ist eine "intelligente Programmiersprache" Fiktion oder theoretisch möglich ? Also eine integrierte KI die Codes prüft, sozusagen eine selbstprüfende (nicht unbedingt korrigierende) Ausprägung ?

:bier:
Gruß


Oldfly1

Anfänger

  • »Oldfly1« wurde gesperrt

wcf.user.posts: 344

Wohnort: Zwischen Himmel und Erde

Beruf: Selbständig

  • Nachricht senden

14

Samstag, 5. April 2008, 22:02

Er meint Dich @KlausD, :D

:pepsi: Bei so vielen [SIZE=7]Kläusen[/SIZE] kommt man schon mal aus dem Tritt. :lol:

Gruß

P.S. Ich finde den Thread auch sehr interessant. :thumb:
Gruß Klaus
:winke: Wir begegnen uns beim fusieren..... :thumb:

ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

15

Samstag, 5. April 2008, 22:38

Also ich weiß jetzt nicht genau, was du mit selbstprüfend meinst, aber Compiler prüfen den Code, ob er formal korrekt ist (Also z.B. dass du nicht mit Buchstaben zu rechnen anfängst oder so).
Ob der Code das macht, was er tun soll, das obliegt dem Programmierer, das korrekt zu designen ;)

16

Samstag, 5. April 2008, 22:42

Nicht (nur) die Syntax abprüfen, auch die kausalen und logischen Zusammenhänge, Abhängigkeiten und Auswirkungen mit Lösungsvorschlägen.

Aber wie gesagt, ich habe keine Ahnung von der Materie und kann nur mit Laien-Vorstellungen dienen ;)
Gruß


ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

17

Samstag, 5. April 2008, 22:51

Nunja, was ist logisch. Ich denke, dass es gut ist, wenn man dem Programmierer so viele Freiheiten lässt wie möglich. Wenn der Compiler mir was abnimmt, was ich ganz anders vorhatte und sich das auch nicht ändern lässt (das von dir angesprochene "Vordenken"), dann liefert das nur Frust. Denn der Entwickler des Compilers kann ja einen ganz anderen Programmierstil haben als ich und auch andere Ansichten, was denn ein bestimmtes Stück Code tun soll. Verstehst du, wie ich meine?

18

Samstag, 5. April 2008, 22:54

Ja.

Wobei ich sagen muss : ich fantasiere hier. Also spielt die "persönliche" Note auch eine Rolle, also allgemeingültige Sprache ist somit kaum durchzusetzen. Oder der Compiler "versteht" das und interpretiert das. Wenn er ein "Ziel oder Ergebnis" hätte wüsste er ja wo er hinkommen soll.
Gruß


ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

19

Samstag, 5. April 2008, 23:00

Jupp. Und dieses "Vordenken", was der Programmierer will, in Code zu kloppen, dass der Compiler sagt, aha, der Programmierer will das und das, also können da und da Fehler sein, das funktioniert nicht, weil das meiner Meinung nach viel zu komplex ist. Immerhin kommt es ja auch nicht nur auf den Programmierer und seinen Programmierstil an, so ist ja auch jedes Programm anders und von daher kann die Vorraussage für ein Programm zutreffen, für ein ähnliches mit anderem Zweck aber total daneben liegen. Ich merke grade selber, was einem da so in den Kopf schießt und wie vielseitig dieses Thema überhaupt ist. Das kann man beliebig komplex machen und sehr schlecht auf die Spitze treiben, von daher dürfte es unmöglich sein, Compiler zu entwickeln, die dem Programmierer diese Codeüberprüfung so weit abnehmen.
Die aktuellen Entwicklungsumgebungen nehmen Programmierern ja eh schon extrem viel Arbeit ab, von daher ist das Programmieren immer einfacher geworden.

20

Samstag, 5. April 2008, 23:02

Passt, jetzt sind wir auf einem Gedanken. Und genau diese Komplexität ist der "Casus Knacktus" :lol:
Wenn das eine (neuronal verlinkte ? ) KI übernehmen köntne *träum*
Gruß


ferrari2k

Anfänger

wcf.user.posts: 3 620

Wohnort: Bremen EDDW

Beruf: Softwareentwickler

  • Nachricht senden

21

Samstag, 5. April 2008, 23:09

Ja, das stimmt, aber wie gesagt, ich denke das Thema ist beliebig komplex, von daher sollte es eigentlich so gut wie unmöglich sein, das irgendwie entwickeln zu können.

22

Samstag, 5. April 2008, 23:59

Ki

Naja, KI ist relativ ...

Da gibt´s ja immer mehrere Arten, und die sind nicht alle realisierbar, zumindest noch nicht...

Compiler, die Berechnungen testen, sind ja eine Art KI - nur, und das wurde ja auch bereits erwähnt, testen die NUR die Berechnung einzelner Teile eines Programms ...

Andere Programme, die beim Programmieren helfen, die aber nichts mit Compilern oder Ähnlichem zu tun haben, sind ebenfalls eine Art von KI, und die testen nicht jede Zeile, die testen ob es zu einem gewünschten Ergebnis kommt (z.B. VB.NET was auf NET.Framework basiert ) ... Diese Programme sind schon viel intelligenter ...

Als Basis steht immer ein Betriebssystem auf dem eine Software laufen soll, welches ja auch eine gewisse KI besitzt ...

Wie man sieht, eine Summe an KIs ;)

Vielleicht ist es deshalb noch nicht so einfach möglich eine Automatisierung bezüglich Fehlerkorrektur zu schaffen ...

Gruß

Dirk
Gruß

Dirk 8)

Flusitechnisch nun in den Rentenstatus gewechselt

Ingenieur

Gerhard

wcf.user.posts: 1 753

Wohnort: LOWG

Beruf: Software Entwickler

  • Nachricht senden

23

Sonntag, 6. April 2008, 00:56

Ich möchte es mit einem trivialen Beispiel illustrieren:

wir erstellen ein winziges Programm, das die Kosten pro Quadartmeter Wohnnutzfläche berechnen soll.

Offensichtlich brauchen wir zwei Eingabefelder: die Kosten und die Quadratmeter. In einem Ausgabefeld wird das Ergebnis gezeigt.

Höchst simpel, oder?

Was soll nun geschehen, wenn ein Anwender in das Feld für die Quadratmeter den Wert 0 eingibt? Die Division durch 0 ist mathematisch bekanntlich nicht definiert und daher unzulässig.

Klarerweise gibt es diesen Fehler beim Kompilieren noch nicht. Bei den meisten Programmiersprachen kommt wohl ein Runtime-Error, der zB "Error 1234: Division by Zero" lauten könnte.

Für mich und meine Kollegen (allesamt Softwareentwickler) wäre das ausreichend. Für den "normalen" Anwender meist nicht. Für diesen sollte es ein Fenster mit einer leicht verständlichen, freundlichen Erklärung geben. Möglichst mit Hinweis welche Anwenderinteraktion zur Behebung des Fehlers erforderlich ist.

Und da stellt sich schon die nächste Frage: in welcher Sprache soll diese Meldung erscheinen? In Deutsch? In Englisch? In der Sprache des Betriebssystems? In der Sprache, die der Anwender in seinem Benutzerprofil hinterlegt hat (und gibt es ein solches überhaupt)?

Und was soll im Ergebnisfeld stehen? Nichts, oder 0, oder die Kosten?

Woher soll eine KI das Wissen haben, um diese Fragen je nach Projekt anders, aber jeweils richtig zu beantworten?

Und die Division durch 0 abzufangen ist von allen Programmieraufgaben wohl eine der Einfachsten. Aber auch dafür sind schon Wissen oder Annahmen über den Kenntnisstand zukünftiger Anwender nötig.

Bei den in der Praxis häufig vorkommenden Anforderungen ist zumeist viel Umwelt-Wissen (über die zukünftigen Anwender, über die fachliche Aufgabenstellung, über gängige Lösungsansätze, Traditionen in der Branche usw) nötig, um die richtige Entscheidung zu treffen. Und genau hier sehe ich das Problem: Computer haben gar kein Umweltwissen!

Jedes Kind kann sich beim Wort "Hund" etwas vorstellen. Wenn man ihm 100 Fotos mit 20 Hunden und 80 anderen ähnliche Vierbeinern wie Katze, Wolf, Kalb, usw zeigt wird es meist leicht bei den richtigen Fotos "Hund" sagen. Obwohl die Hunde unterschiedliche Größen, Farben, Fellänge, Gesichtausdruck usw. haben.

Für einen Computer sind solche Aufgaben schwierig. Und es ist ja nicht damit abgetan, daß ein Programm nach viel Training mittel neuronaler Netzte dann Hunde erkennen kann. Es gibt noch > 10.000 weitere Begriffe, die ebenso gedanklich durchdrungen sein möchten. Und auch Verwendungen wie: "da liegt der Hund begraben" müssen bekannt sein, damit nicht nach einem verwesenden Kadaver gesucht wird.

Wenn wir die letzten 20 oder 30 Jahre betrachten gab es eine langsame, aber stetige evolutionäre Weiterentwicklung der Programmiersprachen. Sie sind anwenderfreundlicher und leistungsfähiger geworden. Aber den revolutionären Schritt das Denken für den Programmierer zu übernehmen sehe ich nirgends - und erwarte ihn auch für die absehbare Zukunft (die nächsten 20 Jahre) nicht.

Und ehrlich gesagt: ich bin froh darüber, daß mein Computer mir zu Einkommen verhilft statt mich überflüssig und arbeitslos zu machen.
Gruß Gerhard
Intel DH67BL, Core i5-2500, 16 GB RAM, XFX HD6790, NEC 2690WUXi, Saitek Pedal + Yoke + X52 Pro, TrackIR 4 Pro, Windows 7 64bit, FSX, Acceleration, APX, LDS 767, Iris PC-9

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Ingenieur« (6. April 2008, 02:15)


klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

24

Sonntag, 6. April 2008, 19:45

Die eigentliche Frage ist ja:

Können Computer und Mensch eine Sprache finden, die beide verstehen?

Mit Modellen kommt man ja schon relativ weit. Jeder, der das objektorentierte Denken in sich hat, kann aus UML Diagrammen schon den Rahmen für den Quellcode generieren lassen. Mit dieser Model Driven Architecture geht man etwas weiter und möchte es genauer haben.

Quasi: Ich habe ein Auto, jedes Auto hat ein Aramturenbrett, einen digitalen oder analogen Zeiger usw.... Man kloppt sich also die S-Klasse unter den Softwaremodellen zusammen und kann die kleinen B-Klasse / A-Klasse Modelle quasi generieren ohne viel Hand anlegen zu müssen. Das geht schon relativ weit!

EDIT
Achja, es geht ja auch nicht darum, dass ein Computer Algorythmen entwickelt, die Hauptarbeit des Programmierens (der Rest ist eine Fingerübung), sondern vielleicht doppelte und dreifache nervige Arbeit automatisieren kann!


Zitat

Original von Superburschi

Andere Programme, die beim Programmieren helfen, die aber nichts mit Compilern oder Ähnlichem zu tun haben, sind ebenfalls eine Art von KI, und die testen nicht jede Zeile, die testen ob es zu einem gewünschten Ergebnis kommt (z.B. VB.NET was auf NET.Framework basiert ) ... Diese Programme sind schon viel intelligenter ...


Mit Intelligenz hat es aber nicht viel zu tun, wenn eine Entwicklungsumgebung etwa überprüft, ob Verknüpfungen existieren, aber Typendefinitionen korrekt sind oder einem Arbeit beim Refactoring nehmen.

Als Definition der Intelligenz gilt in der Informatik, wenn mindestens folgende 3 Merkmale erfüllt sind:

- Die Fähigkeit zur Verarbeitung beliebiger Symbole.
- Der Aufbau eines inneren Modells der die äußeren Welt zumindest teilweise abbildet.
- Die Fähigkeit zu einer zweckentsprechenden Anwendung des Wissens.




Ich werde im Laufe der Woche, wenn ich wieder etwas mehr Zeit habe, mal etwas genauer auf die Fragen eingehen bzw. es versuchen.

Grüüüße,

Klaus(d) :lol:

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »klausd« (6. April 2008, 19:57)


25

Sonntag, 6. April 2008, 19:58

Zitat

Original von klausd
Die eigentliche Frage ist ja:

Können Computer und Mensch eine Sprache finden, die beide verstehen?



Das wäre ja echte KI und wird zumindest nicht einfach, weder jetzt - noch in der näheren Zukunft ;)

Gruß

Dirk
Gruß

Dirk 8)

Flusitechnisch nun in den Rentenstatus gewechselt

26

Sonntag, 6. April 2008, 20:00

Also....um jetzt völlig spacig zu werden....warten wir auf Lt.Cmd.Data ;)
Gruß


klausd

Anfänger

  • »klausd« ist der Autor dieses Themas

wcf.user.posts: 564

Wohnort: Hannover

Beruf: Informatiker

  • Nachricht senden

27

Sonntag, 6. April 2008, 20:01

Zitat

Original von Superburschi

Zitat

Original von klausd
Die eigentliche Frage ist ja:

Können Computer und Mensch eine Sprache finden, die beide verstehen?



Das wäre ja echte KI und wird zumindest nicht einfach, weder jetzt - noch in der näheren Zukunft ;)

Gruß

Dirk


Damit meine ich natürlich keine normale Unterhaltung. Sondern etwas Abstraktion auf der Seite des Menschens, was quasi noch zumutbar ist (Für den ein oder anderen ist ein UML Sequenzdiagramm schon unzumutbar) und wo man softwareseitig noch etwas abstahieren kann.

Ingenieur

Gerhard

wcf.user.posts: 1 753

Wohnort: LOWG

Beruf: Software Entwickler

  • Nachricht senden

28

Sonntag, 6. April 2008, 20:48

Computer und Menschen verarbeiten Informationen sehr unterschiedlich. Wieder ein kleines Beispiel:

Afugrnud enier Stidue an der elingshcen Cmabrdige Unvirestiät ist es
eagl, in wlehcer Rienhnelfoge die Bcuhtsbaen in eniem Wrot sethen,
das enizg wcihitge dbaei ist, dsas der estre und lzete Bcuhtsbae am
rcihgiten Paltz snid. Der Rset knan ttolaer Bölsdinn sien, und man
knan es torztedm onhe Porbelme lseen.
Das ghet dseahlb, wiel das mneschilche Geihrn nciht jdeen Bchustbaen
liset sodnern das Wrot als Gnaezs.


Obwohl dieser Text mehr Fehler als Wörter enthält, ja eigentlich fast nur aus Fehlern besteht, kann ihn jeder Mensch sinnerfassend lesen. Computerprogramme scheitern an einem einzelnen falsch gesetzten Zeichen. Eben weil sie nicht "sinnerfassend lesen".

Künstliche Intelligenz würde aber genau dieses Erfassen von Sinn und Zweck voraussetzten.
Gruß Gerhard
Intel DH67BL, Core i5-2500, 16 GB RAM, XFX HD6790, NEC 2690WUXi, Saitek Pedal + Yoke + X52 Pro, TrackIR 4 Pro, Windows 7 64bit, FSX, Acceleration, APX, LDS 767, Iris PC-9

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Ingenieur« (6. April 2008, 20:52)


29

Sonntag, 6. April 2008, 20:50

Ja, den Versuch kenn ich. Total erstaunlich dass es trotzdem sehr gut geht mit dem Verstehen des Inhalts :yes:
Gruß


30

Sonntag, 6. April 2008, 21:13

Zitat

Original von Juergen_LOWW
Ja, den Versuch kenn ich. Total erstaunlich dass es trotzdem sehr gut geht mit dem Verstehen des Inhalts :yes:


Und genau das ist der Unterschied zwischen menschlicher Intelligenz und künstlicher Intelligenz (KI) - der Verstand und das Gewissen ...

Ich denke der Klaus([SIZE=7]donath[/SIZE]) hat mit diesem Thread einmal ein echtes Denkthema aufgemacht, das sowohl technischer- als auch kognitiver Natur sein kann ...

Und diese Unterschiede sind sehr fein gesetzt - grade weil man festmachen müsste in wie weit eine Software bzw. ein Compiler welche KI-fähigkeiten besitzen soll, und genau das ist das Problem, denn wenn der Programmierer allein eine KI schafft, die von seiner Persönlichkeit ausgeht - wie ist das dann als Grundlage für KI zu sehen ...

Gruß

Dirk
Gruß

Dirk 8)

Flusitechnisch nun in den Rentenstatus gewechselt