Wie lange wird es die Programmierung in der heutigen Form geben
#1
geschrieben 02. Juni 2014 - 17:43
was denkt ihr wie sich die Programmierung in Zukunft verändern wird? Von welchen Zeiträumen sprechen wir hier?
Es ist klar, dass sich Programmiersprachen über die Jahre ändern und die eine, oder andere Funktion hinzubekommen, oder sich anders strukturieren. Ich meine von den wirklich grundsätzlichen Änderungen. Das könnte beispielsweise das Aufkommen von Quantencomputern sein, in der man mit der heutigen Programmierlogik (Variablen, Operatoren, Kontrollstrukturen) nicht weit kommen würde.
Was wäre eurer Meinung nach die Auswirkung? Würden unsere heutigen Programmiersprachen nicht ungemein schnell aussterben? Dazu möge man die Performance von herkömmlichen PCs mit Quantencomputern mal vergleichen
Bin gespannt,
-TexasDolls
Anzeige
#2
geschrieben 02. Juni 2014 - 18:57
Ob sich das groß ändern wird? ... zumindest vorerst seh ich es jedenfalls so, daß ein paar Wenige mit der Ahnung den ganz großen Reibach machen werden - einfach mangels Konkurrenz, weil kaum wer dafür programmieren kann.
Aber auch langfristig seh ich ehrlich gesagt eher schwarz. Der Mensch neigt zur Bequemlichkeit und das gilt insbesondere auch für Programmierer (auch wenn man es da "Prozessoptimierung" nennt). Heißt, möglichst einfach zu handhabende Programmiersprache... die für einen alles andere als 'einfachen' Rechner kompiliert werden soll (muß) und während Compiler zwar eine ganze Menge schaffen, sind sie aber dennoch ebensowenig intelligent wie eine KI.
Den ganz großen Durchbruch gibt es erst (wenn überhaupt) wenn - ich nenn's mal ein Programm -- 'lernen' lernt, es sich also zum einen selbst modifizieren kann und dies zum zweiten anhand seines eigenen Kontexts kann. Dies setzt dann aber unweigerlich ein gewisses (Eigen-)bewußtsein voraus (okay, wir können gerne diskutieren, ob dieses nicht eher daraus folgt, aber das ist hier wohl eher nebensächlich).
Ob *das* natürlich etwas *Wünschenswertes* ist... wo doch jetzt schon, da wir noch ewig weit von sowas entfernt sind, von 'Skynet' gebrabbelt und Panik geschoben wird vor 'autonomen' Systemen, das sei erstmal dahingestellt. Und ob es 'gut' wäre für uns, wenn es sowas (praktisch) gäbe, auch.
Dieser Beitrag wurde von RalphS bearbeitet: 02. Juni 2014 - 19:04
#3
geschrieben 02. Juni 2014 - 19:13
Denkst du aber nicht, dass sich solch starke technologische Sprünge rasend schnell durchsetzen, egal ob gewollt, oder nicht?
Insbesondere wenn mann einen wirtschaftlichen Vorteil wittert, wäre der Druck so groß, dass man entweder mit der Technologie geht, oder selber gehen muss.
Sieht beispielsweise gut an Handys. So gut wie jeder streubte sich anfangs gegen 5" aufwärts gehende Displays. Wenn also jeder dagegen ist, wieso gibt es denn nichts mehr kleienr als 4,7"?
Es ist der rein technologische Fortschritt (bzw. hier die Ausnutzung des technologischen Potentials), der mächtiger als des Menschen's Wille ist.
#4
geschrieben 02. Juni 2014 - 19:52
Aber ich erinnere auch an den Titanic-Effekt, der da eine ganze Menge zurückgeworfen hat... und, auch wenn es vielleicht hier nicht ganz passend ist, den 'Kriegs-Effekt', der da eine ganze Menge mehr zurückwirft. Und der Rums steht schon vor der Tür; es ist nur noch nicht klar, wann und wie und wo genau.
- Mir ging es allerdings in erster Linie darum, ob und was für Auswirkungen ein neues Rechnermodell auf Programmiersprachen hätte, ... und naja, ich denke nicht, daß man das mit der bisherigen Entwicklung vergleichen kann.
Denn damals wußte man genau, was man will und wie man da rankommt. Man hatte nur nicht das Mittel in der Hand.
Und ich seh das Problem, daß man sozusagen dem Programmierer den Quanten-Computer in die Hand gibt und der aber keine Ahnung hat, wie er sein Problem dem Computer begreiflich machen soll.
Um das mal ein bißchen zu vereinfachen: das ist in etwa so, wie wenn man einem Autofahrer ein Auto mit jeweils zwei Lenkrädern, Schalthebeln, Bedienungskonsolen etc. in die Hand drückt und dem sagt, so, dieses Auto funktioniert "multi-core" und benötigt jetzt ZWEI Fahrer und die müssen sich jetzt die Fahraufgaben untereinander aufteilen.
Würde bestimmt besser gehen als bisher. Aber man müßte alles bisher Gelernte vergessen.
Dieser Beitrag wurde von RalphS bearbeitet: 02. Juni 2014 - 19:54
#5
geschrieben 02. Juni 2014 - 20:06
#6
geschrieben 02. Juni 2014 - 20:21
Haben (bzw die Möglichkeit haben) wollen immer alle - in den Westen fahren zum Beispiel. Aber wenn sie's dann können, nutzen sie es nicht, sondern sitzen zu Haus und regen sich über Nachbars' Katze auf.
Aber keine Ahnung, wer am Ende recht behält: Du oder ich.
#7
geschrieben 02. Juni 2014 - 20:27
Man bedenke, dass es unendlich schwieriger ist, einem Lichtimpuls seinen Willen aufzuzwingen, als einem Elektron. Das ist dagegen gar handzahm.
Am Ende kommt dann eine Befehlssatzerweiterung für C(+)^n und die Sache ist erstmal gegessen. Oder man bastelt gleich mit nem Photonenassembler rum
Dieser Beitrag wurde von Sturmovik bearbeitet: 02. Juni 2014 - 20:28
Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.
True Cloudstorage
#8
geschrieben 02. Juni 2014 - 20:53
Man könnt ja auch nen Wasser-PC haben. Fließt -> fließt nicht sind zwei Zustände; nur schnell genug muß es gehen mit dem Auf- und Zudrehen.
Mir ging es eher um die *Möglichkeiten* und ich glaub, wir machen mit der Core-Architektur schon eine ganze Menge falsch (bzw nutzen sie alles andere als optimal).
Oder anders gesagt, wenn wir dann mal irgendwann 'den' "Quanten-PC" unterm Tisch haben, spielen wir auch nur schlecht programmiertes Solitär drauf.
#9
geschrieben 02. Juni 2014 - 21:12
Alles was seit ~1994 kam, war im Endeffekt nix.
Netburst war ne gute Idee, aber wegen der saumäßigen Energieeffizienz nicht händelbar ohne Supraleiter, also zurück zu P6. Und was AMD derzeit abliefert sind auch eher Elektroheizungen, die nebenbei rechnen können.
CISC war ne gute Idee, hat sich aber auch nur kurz halten können.
Ehe die Anzahl gleichzeitiger Berechnungen pro Takt nicht drastisch steigt, führt kein Weg an Parallelisierung vorbei. Ich seh da schon mit Grauen 128kernige ARM-Rechner am Horizont.
Die ganze Entwicklung ist irgendwie stehengeblieben, weil die Physik nein sagt. Und bald kommt das nächste Nein, wenn die Strukturgrößen nicht mehr herstellbar sind.
Und solange es nicht endlich wieder mal in Mode kommt, effizient zu programmieren, muss die Hardware über ihre Grenzen hinauswachsen.
Wobei ich gar nicht daran denken will, wie dann mit den endlos erscheinenden Ressourcen eines Quantenrechners rumgeschlampt wird. Den bekommen die Programmierer sicher auch auf die Geschwindigkeit eines 386 runter, nur halt viel bunter.
Dieser Beitrag wurde von Sturmovik bearbeitet: 02. Juni 2014 - 21:15
Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.
True Cloudstorage
#10
geschrieben 02. Juni 2014 - 21:31
Das Problem bei Parallelisierung allgemein und bei der Core-Architektur ganz besonders ist aber, daß man zusätzlichen Aufwand in die Zusammenführung der Teilergebnisse stecken muß.
Und mit Core hat man den Determinismus in die Tonne gestopft, weswegen man die meiste Zeit mit "ja was denn nun?" (Ab-)Fragen beschäftigt ist.
.... doch eher suboptimal.
#11
geschrieben 03. Juni 2014 - 12:09
Zitat (Sturmovik: 02. Juni 2014 - 20:27)
Wie soll das möglich sein? Heutige Computer gehen von zwei Zuständen aus, Quantencomputer von unendlich vielen. Auch die Auswertung bei Quantencomputern ist völlig anders. Wie soll das mit heutigen Programmieransätzen machbar sein? Ein völlig anderer Denkansatz.
Ich denke, wir sind auch gar nicht soweit von neuen Technologien entfernt, wie ihr denkt. Bisher sind nur Quantancomputer als Alternative genannt werden.
Aber selbst dort war in den letzten zehn Jahren der Fotschritt von 1-Qubit, zu über 10-Qubit-Systemen. Bei einem exponentiellem Fortschritt sind wir bald bei den 1000Qubit, mit denen sich nutzbare Quantencomputer realisieren lassen würden.
Das Problem liegt imho an anderer Stelle:
1. Kosten (auch wenn ich keine Werte kenne, gehe ich mal von hohen Entwicklungskosten bei neuen Technologien aus)
2. Im Falle von Quantencomputer Dekoheränz. Heisst, es ist zwar möglich Quantencomputer zu erstellen, die aber sehr sensibel auf die Außenwelt reagieren und so das System "in sich" zerfällt. Hier muß letztendlich aber auch nur EINE Lösung her. Ob man dort in 10 Jahren, 100 Jahren, oder nie trifft ist wie immer in der Forschung auch viel vom Glück/einem richtigen Zusammentreffen der Zustände abhängig.
Nebst Quantencomputern, gibt es aber noch viele andere Technologien, wie Molekularcomputern, oder Optischen Computern...
Michio Kaku erklärt finde ich ganz gut, wieso wir möglicherweise gar nicht soweit von neuen Technologien entfern sind, sieher hier:
Dieser Beitrag wurde von TexasDolls bearbeitet: 03. Juni 2014 - 12:19
#12
geschrieben 03. Juni 2014 - 15:27
Stichwort JAVA. Es gibt bisher keine echte JAVA-Maschine. Warum? Weil eine JAVA-Maschine bereits unendlich ist und daher nicht in ein endliches Gerät gegossen werden KANN.
Wie alt ist JAVA jetzt?
Dasselbe mit Quantencomputern und sonstwelchen anderen Computersystemen. Wenn ich nicht irre, ist es ja inzwischen auch schon möglich, halbwegs zuverlässig tristate zu speichern.. und das nutzen wir ebenfalls (noch) nicht.