ich kam in letzter Zeit in Kontakt mit Assembler, da stellte sich mir die Frage wie Programmiersprachen der Zukunft aussehen werden. Da zwischen Assembler und C# ein gewaltiger Unterschied ist.
Was glaubt ihr wie sehen die Sprachen der Zukunft aus?
Grüße
FZ
"We better hurry up and start coding, there are going to be a lot of bugs to fix."
je nachdem für was... assembler wird nachwievor verwendet. im desktopbereich ist java/c#/c++ und im embedded bereich assembler/c. die frage ist zu allgemein... in zukunft wird es ebenso speziallisierte sprachen je nach anwendungsbereich geben.
Also ich würde vermuten, dass jetzt erstmal C# bzw generell die .NET Plattform noch lange Jahre als Standard so bleibt.
Java wird denke ich weniger werden , zumindest wird es in der Verbreitung sicherlich neben C# liegen...
Bei Wikipedia gibt es irgendwo ein Bild da steht so ne Übersicht über die Entwicklung der Sprachen.
So wann welche Sprache eingeführt worden ist und welche nachfolgte...
Hat da jemand zufällig den Link?
Bei Wikipedia gibt es irgendwo ein Bild da steht so ne Übersicht über die Entwicklung der Sprachen.
So wann welche Sprache eingeführt worden ist und welche nachfolgte...
Hat da jemand zufällig den Link?
ich denke auch dass sich die .net sprachen gegenüber anderen sehr stark durchsetzen werden und vllt wird der Tag kommen an dem einige sprachen (z.b. VB + C# + C++ und assembler) in eine zusammengefasst werden
weelchen sinn das hat weiss ich nicht XD
MfG
ProGamer
Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
Gibt eine Special Ausgabe von ix: "Programmieren heute".
Evtl. ist es noch am Kiosk erhältlich: iX Special "Programmieren heute" ab sofort am Kiosk
Falls ausverkauf kann man es denke ich auch nachbestellen .
bitte immer erst die Forensuche benutzen. Es gibt einen Thread zum gleichen Thema mit sogar (fast) gleichem Titel und so alt ist der nun wirklich noch nicht: Programmiersprachen der Zukunft.
Mehr als die konkrete Sprache wäre sowieso das Paradigma spannend. Seit sich die Objektorientierung durchgesetzt hat, hat sich nach meiner Kenntnis noch kein anderen Paradigma aufgetan, das in absehbarer Zukunft die Objektorientierung vom Thron stoßen könnte.
Anders Hejlsberg sagt (sinngemäß), dass die Entwicklung von Programmiersprachen in die Richtung geht, immer mehr unterschiedliche Ansätze in einer Sprache zu integrieren, wie es z.B. mit schon LINQ und C# erfolgt ist. So sinnvoll und praktisch wie das seien kann, ist meine Befürchtung, dass Programmiersprachen dadurch überfrachtet werden. Ich bin skeptisch, dass das wirklich die Zukunft ist.
Da die Leistungssteigerung zukünftiger Prozessoren wohl kaum noch über die Taktfrequenz sondern über die Anzahl der Kerne stattfinden wird, kommt der Parallelverarbeitung eine immer größere Rolle zu. So ziemlich alle bestehen Sprachen tun sich mehr oder weniger schwer damit. Das könnte ein Faktor sein, der die Entwicklung von Programmiersprachen entscheidend bestimmt.
Gibt eine Special Ausgabe von ix: "Programmieren heute".
Die habe ich
Die Programmiersprache der Zukunft wird meiner Meinung nach sicher nicht C# sein: CLR benötigt, nicht sehr Plattformunabhängig (mit Mono zwar fast, aber so richtig überzeugt bin ich davon nicht...), schlecht mit anderen Sprachen wie C/C++ kreuzbar, ... .
In #include-Anweisung für C# habe ich zwar einmal angefangen einen Parser für C-Includes für C# zu schreiben, so richtig 'toll' ist das aber nicht (funktioniert eh nicht mit Visual Studio).
Mein Vater, der bereits seit Ewigkeiten C programmiert meint, das C auch die Sprache der Zukunft wird. Man sieht auch, Beispiel VS, das C# nur selten für den eigentlichen Kernel eines Programmes wird (mach ich auch so: Oberfläche C#, Kern C).
In der ix stand auch was zu den Programmiersprachen der Zukunft (meine ich), habe ich aber noch nicht gelesen.
Nicht böse sein das ich C# so niedermache Sie ist einfach und für kleine Programme echt gut
mfg.
markus111
EDIT: Oh, da war jemand schneller als ich, sorry^^
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von markus111 am .
Mein Vater, der bereits seit Ewigkeiten C programmiert meint, das C auch die Sprache der Zukunft wird.
ohh.... wie ich diese einstellung kenne und hasse....
mal ganz ehrlich... für die dinge, die einfach sein sollen, programmiert man sich in c einen wolf ab... und mit lesbarkeit hat c code auch nur am rande was zu tun ;-) (naja ok es ist besser wie assembler)
in der zukunft wird performanceoptimierung immer irrelevanter da die rechenleistung brutal am steigen ist. das ist ein trend, der schon seit jahren zu beobachten ist. zu 486er zeiten könnte man eine sprache wie c# garnicht einführen, da man mit seinen ressourcen ganz genau haushalten musste und man die grenzen immer spüren konnte... doch heutzutage, mit 2-4 GB ram und 1 TB plattenplatz... was solls.. dann mach ich halt mal ein array mit 100 einträgen mehr....
oder eine liste mit maximal 20 einträgen irgendwie speicherschondend zu durchsuchen, wen nich weiß das n bedingungen erfüllt sind? -> egal, das mach ich dennoch sequienzell... der prozessor macht das quasi nebenbei im stromsparmodus....
Zitat
das C# nur selten für den eigentlichen Kernel eines Programmes wird
naja... mit kernel hat man mit c# tatsächlich schlechte chancen aber wenn du den "kern" eines programmes meinst (also das backend) dann kann ich dir nicht zustimmen. ja, es wird gemacht aber genauso häufig wird es auch komplett in c# gemacht. es kommt immer darauf an, was man vor hat. will man über ein c-programm eine neue oberfläche stülpen hat es keinen sinn das backend auch zu migrieren.
Zitat
Hier habe ich zwar einmal angefangen einen Parser für C-Includes für C# zu schreiben, so richtig 'toll' ist das aber nicht (funktioniert eh nicht mit Visual Studio).
meine persönliche meinung über includes ist, das das kein mensch der welt braucht und das das nur gut ist, das diese endlich aussterben. das ist wiedermal das klammern am alten, das einfach sehr sehr viele menschen gemeinsam haben (nicht nur in dieser branche...)
also ich denke das die zukünftige programmiersprache auf jeden fall viel mehr unterstützung für multicore systeme bieten wird. evtl sogar für grafikkarten interaktionen. denkbar wäre auch einen multicorefähigen GC, der naicht alle kerne unterbricht und auch einen Echtzeitmodus für heapbereiche und threads unterstützt.
Also in naher Zukunft wird es sicherlich in Richtung funktionale Programmiersprachen gehen, da die Multicoresysteme sonst einfach nicht handzuhaben sind. Selbst C# unterstützt seit der Sprachversion 3.0 und dem zugehörigen Framework einige funktionale Konzepte, wenn auch noch lange nicht genug. F# ist ein weiteres Beispiel und der Versuch von Microsoft sein Stück vom funktionalen Kuchen abzuschneiden^^. Dann gibt es z.B. noch Clojure, welches eine LISP implementation für die JVM ist (wer´s mag). Aber mein klarer Favorit ist Scala. Die Mischung aus funktionaler und objektorienterter Sprache (beides wird voll unterstützt) ist einfach genial. Im Bereich Multicore punktet Scala eindeutig mit den Aktoren, welche aus Erlang stammen und ein besseres Konzept bieten als herkömmliche Threads.
in der zukunft wird performanceoptimierung immer irrelevanter da die rechenleistung brutal am steigen ist. das ist ein trend, der schon seit jahren zu beobachten ist.
Obwohl ich mir, wenn ich die Leistungseinbussen nach einem Umstieg auf Win 7 betrachte, wünschen würde, dass man nicht einfach mit Ressourcen herumschleudert ;)
Ich könnte mir vorstellen, dass die aspektorientierte Programmierung vermehrt einzug hält. Auch wären wohl Techniken zum sinvollen nutzen mehrerer Kerne nicht verkehrt.
Ich sehe in C eher keine Zukunft. Ich könnte mir vorstellen, dass früher oder später auch auf kleineren Mikropozessoren objektorientiert entwickelt werden kann. Aber solange das Gerücht existiert, dass C++ einen enormen Overhead verursacht und darum für kleinere Systeme nicht geeignet ist, wird das wohl nichts. ;)
Ich denke, dass man in der Zukunft keine Programme mehr schreibt, sondern einfach einzelne Aktivitäten und Komponenten zusammenklickt, ähnlich wie bei der WorkflowFoundation von MS.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Sehe ich genauso wie kleines_eichhoernchen. In ferner Zukunft wird es glaube ich keine Sprachen mehr so geben wie Heute. Es werden nur noch, wie gesagt, Aktivitäten geschrieben und diese zusammengefügt.
Und in naher Zukunft denke ich wird .NET der neue Standard. Es wird noch weiter in Windows integriert und MS selber wird noch mehr .NET im Applikations- und Serverumfeld nutzen (was ja zZ auch schon der Fall ist).
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
vielleicht basiert ja das nächste oder übernächste windows auf singularity und dann wären auch treiber in c# (vielleicht nicht mit .net framework aber dennoch) denkbar.
MS selber wird noch mehr .NET im Applikations- und Serverumfeld nutzen.
so wie ich es mal gehört habe (von einem AWE lehrer an meiner schule) soll office 2010 in einer .NET sprache geschrieben werden
[/OFFTOPIC]
Zitat
Und in naher Zukunft denke ich wird .NET der neue Standard.
ich glaube nicht dass .NET zum standard wird da es nicht platform unabhängig ist und sollte dies geschehen (Platform unabhängigkeit) gibt es keinen grund mehr windows zu nutzen. Viele würden dann Sofort auf andere OS umsteigen.
somit würde M$ pleite gehen und das will doch keiner ;-)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ProGamer am .
MfG
ProGamer
Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
sollte dies geschehen (Platform unabhängigkeit) gibt es keinen grund mehr windows zu nutzen.
das sehe ich nciht so. nur weil eine sprache platform unabhängig wird, ist es die software, die man macht noch lange nciht. wenn ich mir z.b. anschaue, wo wir noch überall pinvoke auf die winapi machen, dann könnte das framework noch so unabhängig sein aber unsere software wäre es nicht.
mono ist platformunabhängig aber dennoch hat jede größere software ein paar spezielle sachen, die es abhängig machen.
edit: und du wirst jemanden ,der schon 20 jahre lang windows nutzt und kein informatiker ist, nicht dazu überreden können auf linux oder mac-os umzusteigen. vorher schaffst du es, das sich die welt rückwärts dreht.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal am .
Ich denke, dass man in der Zukunft keine Programme mehr schreibt, sondern einfach einzelne Aktivitäten und Komponenten zusammenklickt, ähnlich wie bei der WorkflowFoundation von MS.
Genau meine Sicht. Man siehe sich mal das erstellen von SSIS Paketen unter den MSSQL Server an.
Ich denke das es aber dennoch viele Sprachen gibt, die ein bestimmtes Problem behandeln, wie z.B. Concurrency (siehe Erlang).
Ausserdem wird es immer Platz für die "alten" geben wie C, Cobalt. Da wie wir alle wissen, gibt es mehr Wartungsprojekte als From Scretch.
[OFFTOPIC]
da magst du recht haben aber mal angenommen M$ schreibt sein Framework auch für linux und das VS noch gleich mit und du wärst in der lage in einer Linux umgebung für Windows und linux zu schreiben, würdest du dann noch bei Windows bleiben?
[/OFFTOPIC]
MfG
ProGamer
Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
dass visuelles Programmieren die Zukunft ist, glaube ich nicht. Visuelles Programmieren gibt es ja schon lange, ohne dass sich das auf breiter Font durchgesetzt hätte. Das Problem ist immer wieder das gleiche: Für kleine Programme ist es schnell und übersichtlich. Für große Programme ist es unpraktikabel.
Sicher wird es in Zukunft immer leistungsfähige Komponenten geben, so dass das eigentliche Programm immer kürzer wird, aber anderseits heißt das ja nur, dass die Komponenten immer komplexer werden, also eher nicht visuell programmiert werden können. Es gibt also nur eine Verlagerung der Komplexität, keine Verringerung, wie das für visuelle Programmierung nötig wäre. Die Hauptlast der Programmerstellung wird sich also weiterhin nicht für visuelle Programmierung eignen.
Anderseits glaube ich auch nicht unbedingt daran, dass in alle Zukunft weiter Programmiersprachen im herkömmlichen Sinne verwendet werden, wie ich schon in Programmiersprachen der Zukunft geschrieben habe.
Ich könnte mir vorstellen, dass Programme zukünftig in einem natürlichsprachlichen Dialog mit einem künstlich intelligenten Designer/Programmierer erstellt werden. Also aus Anwendersicht quasi so wie jetzt auch. So wie er jetzt zu seiner IT-Abteilung oder einer externen Programmierbude geht, und sagt: "Ich hätte gerne das und das, schreiben Sie mir das mal". Natürlich inkl. der qualifizieren Rückfragen des Designer/Programmiers, solange bis das gewünschte Programm ausreichend genau spezifiziert ist. Nur dass der Designer/Programmierer kein Mensch mehr ist, sondern eben ein Computersystem. Ist natürlich eine Langzeitperspektive.
herbivore
PS: Bei solchen Diskussionen frage mich mich immer, was jemand denkt, der sowas in 100 oder mehr Jahren liest. Vermutlich: "Naja, es war halt finsterstes Mittelalter damals und die Leute wussten es einfach nicht besser". Oder anders ausgedrückt: "Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen". :-)
Ausserdem wird es immer Platz für die "alten" geben wie C, Cobalt.
ich denke du meinst wohl eher Cobol?
Zitat
und du wärst in der lage in einer Linux umgebung für Windows und linux zu schreiben, würdest du dann noch bei Windows bleiben?
ich sehe kein grund für mich zu linux zu wechseln. ich habe knapp 17 jahre windows erfahrung aber nur ca 6 monate linux erfahrung.... mit win XP und win7 bin ich zufrieden.
so sehen das auch die meisten in der bürowelt. du wirst eine tipse nicht linux näherbringen können, wenn sie schon blut und wasser geschwitzt hat um sich einigermaßen in windows zurechtzufinden.
ich will jetzt nicht linux oder andere OS schlecht reden aber der mensch ist ein gewohnheitstier und die anderen OS sind nun mal anders.
Zitat
Nur dass der Designer/Programmierer kein Mensch mehr ist, sondern eben ein Computersystem.
prinzipiell könnte man das ja auch heutzutage mithilfe eines expertensystems hinbekommen. die frage ist nur, welcher programmierer würde schon freiwillig ein programm schreiben, das ihn arbeitslos machen könne? :D
so wie ich es mal gehört habe (von einem AWE lehrer an meiner schule) soll office 2010 in einer .NET sprache geschrieben werden
2007 enthält schon einige .NET Teile. 2010 noch etwas mehr. Die Basis von Office ist immer noch c++. Genau so wie das Visual Studio. Der komplette VS Host ist in c++. Der gesamte Rest! ist in VS2010 in c# geschrieben.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
C ist eigentlich eine feine Sprache, ohne die es die heutigen und gestrigen Mainstreams wie Objective C, C++ oder C# gar nicht gäbe.
der erste holzpflug war auch eine feine sache, ohne das es die moderne landwirtschaft nicht gäbe.
ich stimme dir zu, das man je nach anwendungsgebiet die passende sprache wählen soll aber C ist meiner ansicht nach nur noch da weil es gewohnheit ist.
Naja, auch wenn ich mit C nicht mehr viel anfangen kann, ist deine Sichtweise dann doch
etwas "beschränkt".
Fast die gesammte Embedded Welt hängt noch an C, da die meisten C++ Compiler
dort zu grossen code erzeugen, und es dort wirklich noch auf bytes ankommt.
ich stimme dir zu, das man je nach anwendungsgebiet die passende sprache wählen soll aber C ist meiner ansicht nach nur noch da weil es gewohnheit ist.
FZelle schrieb es ja schon, C ist eben mehr als nur Nostalgie. Aber in vielen Fällen hast Du natürlich Recht: Viele Entwickler schwören auf C, weil Sie nicht ständig neue Sprachen erlernen wollen, denn der Tellerrand ist furchtbar hoch und weil Sie duzende an Bibliotheken, eigene und von Drittanbieter, haben und nutzen.
Denselben Dialog hätten wir vor 20 Jahren hinsichtlich COBOL führen können...
selbstverständlich wird man in 100 Jahren hierüber schmunzeln, denn: "Nichts ist älter als die Zukunft von gestern." :-)
Aber auch ich find die Frage nach dem Programmier-Paradigma viel wichtiger, als nach der dann eigentlichen, konkreten Sprache.
.Net unterstützt ja die Multi-Paradigmität. C#, F#, ... Das find ich gut. Aber die Integration könnte noch weiter gehen. Der Mix noch einfacher werden!
Und ob es elegant ist, alles in eine Sprache zu packen - das weiß ich nicht. C# scheint mir sich in diese Richtung zu entwickeln. Lambda-Ausdrücke, LINQ, ... Allerdings wird die Sprache so ziemlich überfrachtet. Da wär ich für klarere Trennung.
Was ich mir sowieso vorstellen kann: Eine immer weitergehende Abstraktion vom "Wie" zum "Was". Deklarativer !
Ich will nicht schreiben, wie ich etwas mache, algorithmisch als Zusammenspiel von Operationen, sondern was ich erreichen will; so wie SQL.
Ist das nun ein Paradigma? Weiß nicht. Jedenfalls ist es ein ganz anderes als Paradigmen wie OOP und co. Fast orthogonal zueinander. Mit OOP mach ich zwar Code modularisiert und wiederverwendbar, aber ich muss ja dennoch alles detailliert runtercoden. Und oft genug ist die Implementierung (Das WIE) trotz OOP nicht wiederverwendbar, weil es eben eine zu spezielle Implementierung war. Hätte man programmiert "was" passiert, wäre dies meines Erachtens weitaus wiederverwendbarer.
Außerdem wäre es intuitiver. Wir alle gehen ja vom was aus und überlegen uns ein wie. Aber es muss doch nicht jeder dieses Rad neu erfinden. So wie das Datenbankmanagement-System die richtig geilen Algorithmen implementiert hat und wir nur noch sagen, was wir wollen, so will ich das auch! :-)
Allerdings bezweifle ich, dass SQL dafür geeignet ist, es mag zwar mächtig genug sein. Aber richtig schön ist es nicht.
Und was den C-Flamewar hier angeht
C wird seine Berechtigung behalten - solange sich die Rechnerarchitektur nicht grundlegend wandelt. Es gibt für so viele Systeme C-Compiler. C ist universell, C ist schnell, C ist von den "höheren" Sprachen am nähsten an der Maschine dran.
Und der ThreadStarter meinte ja:
Zitat
Da zwischen Assembler und C# ein gewaltiger Unterschied ist.
Und ich finde, der Unterschied zwischen Assembler und C ist ebenso gewaltig. Zwischen C und C# finde ich ihn schon wesentlich kleiner.
Und alle Laufzeitumgebungen höherer Sprachen werden irgendwie irgendwo auf C aufbauen. Sei es der Kern der VM, sei es der Kern des OS, ... So wie der erste C-Compiler ja auch direkt auf Assembler aufbauen musste - ist halt alles Bottom-Up.
Und der Vorteil, dass C sehr nah an der Maschine ist, ist auch ein Nachteil.
Aber die Zukunft ist ist C heute nicht mehr. Auch find ich ein VirtualMachine-Konzept einfach zu genial. Ich progge zwar auf Arbeit auch in C, aber es ist eben nicht einfach, dynamisch, zukunftsweisend, schön zu programmieren - schlichtweg nicht elegant - sondern im Grunde nur bodenständig.
Und noch ein letztes Wort für visuelle Programmierung. Ich kann sie mir schon als Zukunft vorstellen. Herbivore meinte zwar als Gegenargument (überspitzt formuliert) "Was sich bisher nicht durchsetzen konnte, wird es in Zukunft auch nicht"
Aber ich habe da schon mehr Hoffnung.
Bisher war es ja auch immer nur die Visualisierung eines anderen Paradigmas. Man hatte visuell die Funktionsaufrufe vor sich. In Form von Kreisen, Graphen o.Ä.
Aber wirklich eigenständig ist die visuelle Programmierung nicht - sie basiert stets auf einem zugrundeliegenden Paradigma.
Und die bisherigen ließen sich einfach nicht elegant visualisieren.
Aber es ist sowieso schwierig eine Art zu Programmieren zu erdenken, die sowohl auf der Implementierungsebene feingranular genug ist, alles zu tun, aber dennoch genug Abstraktion und Grobsicht aufweißt, um das Große-Ganze, die SystemArchitektur, elegant zu konzipieren. Naja, abwarten was die Zukunft bringt
Für mich ist "Eleganz" die Zielgröße. Ich will mich am Programmieren erfreuen, an der Simplizität und zugleich der Mächtigkeit, sie als Kunst auffassen und produzieren, konsumieren aber vor allem genießen!
Und um nun mit den Worten von Antoine de Saint-Exupéry abzuschließen: Die Zukunft soll man nicht voraussehen wollen, sondern möglich machen.
beste Grüße
zommi
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von zommi am .
Eine Ultra Sprache, die alles kann, finde ich nicht sonderlich gut. Da ist man 70 bis man(n) vernünftig damit umgehen kann. ich sehe die zukunft in .net, welches dann viel besser in windows integriert ist, so dass systemnahe sachen ohne imports möglich sind. am besten währe natürlich eine komplette portierung der clr auf linux und macos. mono ist zwar schön und gut, fun ktioniert oftmals aber mehr schlecht als recht. C sehe ich aussterben. denke dass später so gut wie garnichts mehr in C geschrieben wird(außer die clr). windows wird dann darauf basieren und in .net geschrieben sein. natürlich ist das ganze nur spekulation und es kommt sowieso ganz anders.
Also ich sehe auch C# und Java aussterben, wenn sich nicht schnellstens was in Richtung Concurrency tut. Das Thema wird nunmal immer wichtiger und wurde bisher leider nur sehr Stiefmütterlich behandelt. Wenn die C# Entwickler nicht aufpassen werden die bald von F# aus dem Rennen gekickt.