Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Programmiersprache der Zukunft
pdelvo
myCSharp.de - Member

Avatar #avatar-3354.png


Dabei seit:
Beiträge: 1.346

beantworten | zitieren | melden

f# ist keine konkurenz zu c#. genau so wenig wie c# fu f# keine ist. die sprachen sind komplett unterschiedlich. manche aufgaben lassen sich in c# sehr umständlich lösen, wogegen das in f# ganz leicht ist. wiederum andere sind in f# nur sehr unschön möglich, und in c# kein problem. sie decken unterschiedliche bereiche ab.
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

Zitat von pdelvo
f# ist keine konkurenz zu c#. genau so wenig wie c# fu f# keine ist. die sprachen sind komplett unterschiedlich. manche aufgaben lassen sich in c# sehr umständlich lösen, wogegen das in f# ganz leicht ist. wiederum andere sind in f# nur sehr unschön möglich, und in c# kein problem. sie decken unterschiedliche bereiche ab.

Welche Aufgaben sind denn in F# unschöner zu lösen, als in C#?
private Nachricht | Beiträge des Benutzers
markus111
myCSharp.de - Member

Avatar #avatar-3108.png


Dabei seit:
Beiträge: 479
Herkunft: Henstedt-Ulzburg

beantworten | zitieren | melden

Der Thread schläft zwar schon 2 Monate, aber das finde ich (auch zu meinem obigem Beitrag) ganz Interessant: C ist wieder die Nummer 1

mfg.
markus111
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von markus111 am .
private Nachricht | Beiträge des Benutzers
Marsti
myCSharp.de - Member



Dabei seit:
Beiträge: 120

beantworten | zitieren | melden

@Über mir: Ich finds eher ganz erschreckend :D
Davon unabhängig, dass sich meiner Meinung nach so langsam mal C++ als Minimumstandard, auch im Embeddedbereich, durchsetzen könnte, denke ich, dass es bei C(++) zuviel "Ballast" für den Programmierer gibt.
Erst recht wenn es nicht um systemnahe Anwendungszwecke geht. Davon abgesehen, dass die Syntax teilweise einfach nur grausig ist, gibt's da zu viel Ecken und Kanten wo man aufpassen muss, wo man sich selber grundlegende Funktionen/Bibliotheken zusammensuchen und für eine (oder mehrere) Entscheiden muss, kein GC, etc. Man muss sich zuviel um das drumherum kümmern und wird so zusehr von der eigentlichen Aufgabe abgelenkt (okay mag sein, dass sich das nach mehreren Jahren C++ Erfahrung legt, aber das ist ja auch nicht gerade ein schöner Zustand).
Meiner Meinung nach könnten sich Frameworks wie Java/.NET durchsetzen; jedoch nicht mit Runtime, sondern eher so eine Mischung aus C++/C#/.NET. Mit einer C#-vergleichbaren Syntax, fest in jedes System integriert (also ohne, dass zusätzliche Prozesse laufen bzw. installiert werden müssen; plattformübergreifend, aber dennoch nativ), ohne die "Kompliziertheiten" / Ecken und Kanten von C++, dafür mit den Vorteilen von .NET wie GC, mit einer mit der von .NET vergleichbaren Standardbibliothek, ...
Natürlich fehlen auch in .NET/C# noch so einige Sachen bzw. die sind zu kompliziert, die häufiger benötigt werden und die so ein "Framework"/Sprache dann direkt mitbringen und vereinfachen sollte (z.B. Multithreading).
Und natürlich schließt sowas keine spezialisierten Programmiersprachen aus, aber es wäre eine Basis für eine solche (inkl. allen Standardfunktionen) und würde aber allgemein für den Großteil der Anwendungen/Anwendungsentwicklung genug bieten.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Marsti am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo markus111,

man sollte nicht alles glauben, was geschrieben wird. :-) Wenn man sich anguckt, wie das Ranking ermittelt wurden (TIOBE Programming Community Index Definition), kann man schon ins Grübeln kommen, ob es da überhaupt einen echten Zusammenhang zu der tatsächlichen Verbreitung bzw. tatsächlichen Benutzung von Programmiersprachen gibt. Ich möchte das bezweifeln. Jedenfalls kann man auf dem Ranking keine Schlussforderung aufbauen, bevor man das Ergebnis durch den Vergleich mit auf andere Weise ermittelten Rankings verifiziert hat.

herbivore
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

Zitat von Marsti
Meiner Meinung nach könnten sich Frameworks wie Java/.NET durchsetzen; jedoch nicht mit Runtime, sondern eher so eine Mischung aus C++/C#/.NET. Mit einer C#-vergleichbaren Syntax, fest in jedes System integriert (also ohne, dass zusätzliche Prozesse laufen bzw. installiert werden müssen; plattformübergreifend, aber dennoch nativ), ohne die "Kompliziertheiten" / Ecken und Kanten von C++, dafür mit den Vorteilen von .NET wie GC, mit einer mit der von .NET vergleichbaren Standardbibliothek, ...

Es gibt schon Sprachen, die zu Maschinencode kompiliert werden und trotzdem einen GC haben (siehe Objective-C und D) und zumindest bei Objective-C ist auch mit Cocoa ein schönes Framework vorhanden. Leider haben beide Sprachen Nachteile, denn Objective-C ist zwar für Windows/Linux/Unix/Mac verfügbar, jedoch nur unter Mac komfortabel verwendbar. Und D hat afaik leider noch nicht so eine umfassende Library. Aber das ist auch alles kein Problem, da die Prozessoren eh immer leistungsfähiger werden und somit nur noch für Systemprogrammierung Sprachen wie ASM und C benutzt werden müssen.
private Nachricht | Beiträge des Benutzers
Bigdeak
myCSharp.de - Member



Dabei seit:
Beiträge: 22

beantworten | zitieren | melden

Bezüglich dessen hab ich mir auch schonmal Gedanken gemacht.
Dabei bin ich auf die Überlegung gestoßen, eine höher stufige Sprache in C# mit einem eigenen Compiler zu entwickeln. Dieser Compiler kann dann den Quelltext für diese eigene Sprache in jede beliebige Sprache (C, C++, C#, BlitzBasic, VisualBasic) etc. umwandeln.

Genau diese Vorstellung wäre für mich die Programmiersprache der Zukunft, eine Sprache, die man in alle anderen Sprachen umwandeln kann.

In .NET gibt es allerdings schon die Möglichkeit, in etwa das hinzubekommen, ob man da noch eigene Sprachen implementieren kann, weiß ich nicht, aber auf jeden Fall kann mit einer Reflector Klasse (war das glaub ich) Strukturen in VB.NET, C++, C# oder java.NET umwandeln/zurück geben lassen und dynamisch kompilieren...
private Nachricht | Beiträge des Benutzers
JuyJuka
myCSharp.de - Experte

Avatar #avatar-2316.jpg


Dabei seit:
Beiträge: 2.187
Herkunft: Deutschland

beantworten | zitieren | melden

Hallo Bigdeak,

C# und alle anderen .Net sprachen werden in eine gemeinsame "Basis-Sprache" übersetzt die IL heißt. In einer .Net-Dll sind auch keine Binärdaten enthalten sondern dieser IL-Code, der zur Laufzeit noch mal kompiliert wird.
(siehe auch in der MSDN)

Gruß
Juy Juka
private Nachricht | Beiträge des Benutzers
Bigdeak
myCSharp.de - Member



Dabei seit:
Beiträge: 22

beantworten | zitieren | melden

@JuyJuka

Ah, wieder was neues gelernt :D
private Nachricht | Beiträge des Benutzers
sth_Weird
myCSharp.de - Member



Dabei seit:
Beiträge: 469
Herkunft: BaWü

beantworten | zitieren | melden

Also bei uns in der Firma geht es sehr viel um Embedded Programmierung, und da sind wir mit die einzigen, die bei neueren Projekten C++ (teilweise) im Einsatz haben.
Glücklich sind darüber bei weitem nicht alle.
Der Code ist langsamer und braucht viel mehr Speicher. Vor allem wenn man "schön" programmieren will. Ist also in vielen Hinsichten keine Frage, ob C nun nostalgisch ist oder nicht, sondern, was hat man den überhaupt für Voraussetzungen. Bei der PC Programmierung sind ein paar Megabyte mehr oder weniger lächerlich, und Reaktionszeiten...nuja 0.x Sekunden? Im embedded Bereich wird noch um jedes Kilobyte gekämpft und es wird Schnelligkeit gefordert (ms und µs Bereich), das bestimmt ja auch den Preis des Endgeräts.
Nur weil es "schöner" und "moderner" ist C++ einzusetzen, das ist da kein Argument.
Im Bereich der Oberflächenentwicklung denke ich C# und Java (letzteres vor allem bei Web-Entwicklungen) werden noch lange aktuell bleiben. Visual Basic hoffe ich ja immer dass es aussterben wird, aber die Programmierer sind langlebig und schaffen es auch immer wieder Neulinge, die nach einer Einstiegsprogrammiersprache suchen, zu überreden...
Ich sehe keine Notwendigkeit, eine neue Programmiersprache der Art C++, C# oder Java zu entwickeln, die dann nur ne andere Syntax und ein paar kleine Besonderheiten hat. Wenn, dann müsste es was komplett neues geben. Ich seh da aber im Moment auch nicht viel. Vielleicht dass man noch besser verteilt programmieren kann, so wie man jetzt in WPF Oberfläche und Code teilen kann, dass das noch in mehr Teilen so einfach geht (weiß aber auch nicht genau wie genau).

gruß
sth_Weird
~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+
Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht
* * *
Linux is for free...if your time is worth nothing
~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+
private Nachricht | Beiträge des Benutzers
edsplash
myCSharp.de - Member

Avatar #avatar-3111.jpg


Dabei seit:
Beiträge: 390

beantworten | zitieren | melden

Zitat von sth_Weird
Im embedded Bereich wird noch um jedes Kilobyte gekämpft und es wird Schnelligkeit gefordert (ms und µs Bereich), das bestimmt ja auch den Preis des Endgeräts.

Es fragt sich halt wo man das Geld investieren will. Wird in C programmiert kann man die schwächeren und günstigeren Prozessoren wählen. Dafür kann man C++ Code später noch erweitern und holt so das Geld für die teureren Prozessoren wieder rein. ;)
using Skill
private Nachricht | Beiträge des Benutzers
ikaros
myCSharp.de - Member



Dabei seit:
Beiträge: 1.739

beantworten | zitieren | melden

Ich hätte gern C# mit unsafe Option für Inline IL-Code.
private Nachricht | Beiträge des Benutzers
ViperNeo
myCSharp.de - Member



Dabei seit:
Beiträge: 352
Herkunft: Darmstadt

beantworten | zitieren | melden

warum denkt man eigentlich das c aussterben könnte? um sprachen wie c# und das ganze .net zur verfügung zu stellen braucht man doch eine grundlage, oder irre ich mich da? das würde bedeuten, dass ein kleiner kreis immer noch mit den alten geschichten durch die gegend läuft, um anderen das leben einfacher zu machen. somit würde eigentlich gar nichts so wirklich aussterben ;)

und neue programmiersprachen werden sicher auch nicht mit .net entwickelt sondern werden wieder auf c basieren^^
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

Zitat
Ich hätte gern C# mit unsafe Option für Inline IL-Code.

du kannst in c# sogar assembler embedden und ausführen.

il code ist natürlich kaum aufwändiger. du müsstest nur den compiler sagen "ab hier nur copy&paste" und fertig....
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo zusammen,

werdet mal nicht fipsig. :-) Die Diskussion driftet stark in eine "wie werden die Programmiersprachen sich in den nächsten 10 Minuten entwickeln". Oder wie wird sich die Verbreitung dieser oder jene bekannten Programmiersprache entwickeln.

Auf der ersten Seite des Threads gibt es noch um ganze andere Dimensionen und echte neue Sprachen bzw. sogar die Programmierparadigmen. Und das zu recht, denn auch die Eingangsfrage zielt auf diese große Bild.

Berücksichtigt das bitte bei weiteren Antworten. Vielen Dank!

herbivore
private Nachricht | Beiträge des Benutzers
ikaros
myCSharp.de - Member



Dabei seit:
Beiträge: 1.739

beantworten | zitieren | melden

Irrtum
nur weil c weitverbreitet ist, heist das nicht das gleiches nicht auch mit modula oder Lisp machen kann.
MAn unterscheidet in dem was du unbewusst ansprichst nur Konzepte 2G oder 3G. 2G ist im Lowlevel nicht wegzudenken(momentan) hat aber 1G erstetzt, trotz angeblicher Performanceschwächen.
Assembler Rulz ist letztes Jahrzehnt. 2G-Sprachen haben für ein und Ausgaben noch Performancevorteile sind jedoch ungeeignet für höhere Komplexität. Es wird also Anpassungen geben die von 3 oder gar 4D 2D Probleme in angemessener Zeit Lösen. C ist Tot. jetzt schon. Es gibt noch Nischen, aber immer weniger. Assembler kann so gar 3G, wenns not tut - nur tut sich das niemand mehr an(12fache Zeit ggü einer nativen 2g).
Assembler und C sind Spezialfälle, die durch Modula Haskell wegzudenken sind(Andere angepasste Sprachen) C# läuft auf dem Mikroframework noch als Interpreter aber das angenehmer weniger fehleranfällig(billiger). Einer besseren Anpassung steht nichts im Weg. C als Notfall steht noch da. nur kann C nicht mal éin Wort abstrahieren. C folgt Assembler als Notlösung - je Weniger desto besser
private Nachricht | Beiträge des Benutzers