In welcher Sprache Programmierst du denn gerne? - Deutsch!

Hinweise auf besondere Websites, Vorstellung eigener Websites, Internet-Smalltalk
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von cloidnerux » Fr Nov 19, 2010 5:16 pm

So lustig das Zitat auch sein kann, bald könnte es der Wirklichkeit entsprechen:
http://blog.stephenwolfram.com/2010/11/ ... g-to-work/
Wenn man Stephen Wolfram glauben kann, dann werden wir unserem Computer irgendwann nur noch sagen:
"Programmire mir mal ein cooles 3D-Action Ego-Shooter-Game", oder so ähnlich :D
Auf jeden Fall, sehe ich die Zukunft der Programmiersprachen auch auf einem stärker Abstrakten Level, da für den Programmierer von heute die Hardware immer unwichtiger wird, da das OS das meiste schon kapselt.
Also was haltet ihr davon?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von Xin » Fr Nov 19, 2010 5:31 pm

Es gibt in menschlicher Sprache, wie auch in Programmiersprachen ein Problem: Das sind Mehrdeutigkeiten.

In Programmiersprachen hat man das Problem teilweise gelöst und man hat es mit wenigen Worten gelöst. Trotzdem führen diese wenigen Worte zu Leseschwierigkeiten, so dass man versucht den Kontext z.B. mit using zu klären.

Ich glaube nicht, dass es irgendwann möglich sein wird, in menschlicher Sprache zu programmieren. Man wird Probleme formulieren können, man wird Fragen stellen können und man wird Anweisungen geben können.
Aber man wird einfache Dinge machen können oder für komplexere Dinge Romane vorlesen dürfen.

Weiterhin sind Anweisungen wenig kreativ. Man ruft nur existierendes. Will man kreativ sein, muss man an die Details und selbst machen. Und da sind wir wieder bei den Romanen.

Eine kleine Neuerung bedeutet häufig einen großen Aufwand. Und man kann dabei nicht existierendes anweisen, sonst wäre es nichts Neues.
Der Bedarf nach Neuem geht zurück, das beweisen das Java-Framework und .NET. Entwickler werden Anweiser. Aber es wird immer noch Entwickler geben, die den Anweisern die Möglichkeit geben, Anweisungen zu formulieren.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von Jside » Fr Nov 19, 2010 5:36 pm

Nein, also ich werde immer lieber en paar Bits rumschubsen als sowas. Ich bekomme schon in C bei jeder unnoetigen if abfrage und bei jedem jump/branch die Krise, weil mir das zu lange dauert und hinterher merkt man dann im Programm davon eh nix, aber je hoeher der Abstraktionslevel desto hoeher die Ausfuerhrungszeit/CPU Load xD Aber wo bleibt denn da der Spa[ss], wenn dann jeder moechtegern 1337 h4x0r, der es nicht schafft bei seinem Windows PC ne IDE Festplatte zu verbauen dann ploetzlich nen Spiel "programmiert" ohne zu wissen, was da im hintergrund abgeht, daher nix lernt, weiterhin nichts kann aber so zeug erschafft? Nein ich bin dafuer das es weiterhin so bleibt und man erst lernen muss was ein Computer macht ehe man Zeug auf diesem erschaffen kann, das waere sonst so wie einen beliebigen Passanten der keine Ahnung von Architektur hat ein Atomkraftwerk planen/bauen zu lassen.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von cloidnerux » Fr Nov 19, 2010 6:08 pm

Nein, also ich werde immer lieber en paar Bits rumschubsen als sowas.
Das magst du gerne handhaben wie du willst, aber Bitschupsen ist auf einem 64-Bit Quadcore meiner Meinung nach auch nur Zeit Verschwendung ^^
Ich bekomme schon in C bei jeder unnoetigen if abfrage und bei jedem jump/branch die Krise, weil mir das zu lange dauert und hinterher merkt man dann im Programm davon eh nix, aber je hoeher der Abstraktionslevel desto hoeher die Ausfuerhrungszeit/CPU Load xD Aber wo bleibt denn da der Spa[ss], wenn dann jeder moechtegern 1337 h4x0r, der es nicht schafft bei seinem Windows PC ne IDE Festplatte zu verbauen dann ploetzlich nen Spiel "programmiert" ohne zu wissen, was da im hintergrund abgeht, daher nix lernt, weiterhin nichts kann aber so zeug erschafft?
Das ist jetzt die frage was du mit "so zeugs schafft" meinst.
Ein 3-D Ego Shooter zu Programmieren hat sehr wenig mit der Hardware zu tun, da du zu 90% eine Spiellogik implementieren musst, die sich aber nicht dafür Interessiert, ob du eine olle IDE Platte oder ne Sata-6G-SSD hast.
Auch ist es weder zwingend noch Hilfreich, wenn du alle Datails der Hardware kennst, wenn du es nicht schafst, ein Problem zu Abstrahieren und mit den mitteln deiner Sprache darzustellen.
Und wenn man deiner Logik folgt, müsstest du dich so lange mit allen Details deiner Hardware beschäftigen, bis du sie wirklich alle kennst und Erklären kannst, und auch die Physikalischen Effekte und Interferenzen von sehr nahe liegenden Leiterbahnen in sehr schnellen Datenbussen, dem Einfluss von Leiterbahnlänge auf die Datenübertragung und überhaupt wie der CPU funktioniert, ansonsten wärst du ja auch nur ein "1337 h4x0r", der nur so "zeugs schafft" ohne das Wissen um die Hardware.
Ich bastle selbst mit 8-BIT MCUs und das SEHR Hardware nah, so nahe, dass ich beinahe direkt 230V über ein Relais schalten kann, indem ich ein Bit einens Ports auf 1 Setzte, das nutzt mir aber für den Egoshooter nix, da es mich nicht interessiert. Der Code den du nutzt um nicht wirklich bei 0 anzufangen ist gigantisch, und eben das ist Abstraktion.
Kein Programmierer will für jedes Programm das Rad neu erfinden. Alleine schon "printf ", ein Befehl den fast jeder Programmieranfänger benutzt ist schon so umfangreich(in einem Windows/Linux/Mac), dass keine sich die Mühe machen will, das selber zu machen.
Nein ich bin dafuer das es weiterhin so bleibt und man erst lernen muss was ein Computer macht ehe man Zeug auf diesem erschaffen kann, das waere sonst so wie einen beliebigen Passanten der keine Ahnung von Architektur hat ein Atomkraftwerk planen/bauen zu lassen.
Du vergleichst hier Äpfel und Birnen. Programmieren ist die Nutzung der Logik einer Programmiersprache zum Lösen eines Problems, das Planen eines AKWs ist ein Problem das gelöst werden muss.
Programmieren setzt voraus, das du die Logik verstehst, ein AKW zu Planen setzt voraus, das du Planen kannst, das du was von Architektur und Statik verstehst und natürlich was von AKWs-

Und das jetzt mal zu verallgemeinern:
Wer hat Lust, sich immer mit dem Hintergrund auseinander zusetzen, wenn es nicht für die Lösung eines Problems als Zwingend oder Nützlich erweist?
Nur der der Lust darauf hat ;)
Und das muss man tolerieren und auch akzeptieren, denn man selber ist nicht besser.
Es gibt in menschlicher Sprache, wie auch in Programmiersprachen ein Problem: Das sind Mehrdeutigkeiten.
Kann man dann auch Bug nennen. Ein Fehler in der Aussage, da die Logik ein anderes Ergebnis ausgibt, als man wollte.
Ich glaube nicht, dass es irgendwann möglich sein wird, in menschlicher Sprache zu programmieren. Man wird Probleme formulieren können, man wird Fragen stellen können und man wird Anweisungen geben können.
Aber man wird einfache Dinge machen können oder für komplexere Dinge Romane vorlesen dürfen.
Wenn man es genau nimmt, tust du das jetzt mit C oder C++ auch schon.
Wenn du betrachtest was Passiert, wenn du nur "printf" aufrufst, was alles Passiert, dass du eine Aussage auf dem Bildschirm hast, ist schon sehr viel.
Aber wir haben doch auch solche "Funktionen" und "Makros" in unserer Sprache:
"Gib die Lösung an" ist etwas anderes als "Rechne aus" und beide sind eine Bündelung an Befehlen
oder der Überbegriff Auto und z.B "Ferrari".
Mir ist bewusst, dass die gegeben Beispiele auch mehrdeutig sind, mir sind aber gerade keine besseren eingefallen.
Als besten versuch, kann jeder für sich selbst Probieren, wie weit er eine einfache Aussage in gezieltere Aussagen zerlegen kann, ohne denn Sinn zu verändern.
z.B "Hole mir Kaffee, Praktikant", als Aufforderung für loslaufen zur Kaffemaschine, wenn der Kaffee alle ist, neuen kochen, Kaffee in einen Tasse füllen und zurückkehren.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von Xin » Fr Nov 19, 2010 7:07 pm

cloidnerux hat geschrieben:
Nein, also ich werde immer lieber en paar Bits rumschubsen als sowas.
Das magst du gerne handhaben wie du willst, aber Bitschupsen ist auf einem 64-Bit Quadcore meiner Meinung nach auch nur Zeit Verschwendung ^^
Das kommt wie immer auf's Problem an...

Die Frage, was man als Privatanwender mit der ganzen Rechenleistung eines PCs machen soll, stellte sich schon vor 15 Jahren. Da war ein 28.8er Modem schnell und eine 25MHz CPU nur was für die Profis.
Das Problem hat sich auch gelöst und obwohl wir heute ein Rechenzentrum von 1995 in jedem Spiele PC haben, stellen wir fest, dass es immernoch Rechenzentren gibt, also der Bedarf an mehr Rechenleistung immernoch da ist.
Und der einfachste Weg, mehr Leistung aus einem Computer heraus zu holen, ist die Leistung nicht zu verschwenden.

Ich habe mal beruflich einen Algorithmus optimiert. Von 14 Tagen Laufzeit auf 6 Stunden. Und da waren 3 Gigahertz schon normal.
In der letzten Phase habe ich komplizierte Dinge wie a+1 zwischengespeichert - das hat die Laufzeit des Algorithmus' nochmal gedrittelt.

Ob etwas Zeitverschwendung ist, hängt vom Problem ab, nicht von einer Meinung. Und die Bitschupser können das Problem eventuell lösen. Wer nur eine Meinung hat, kann darüber diskutieren, bis das Problem sich selbst gelöst hat. Bitschupsen wird damit auch in 10 Jahren noch aktuell sein.
Prolog hat sich auch noch nicht durchgesetzt.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AnGaiNoR
Beiträge: 212
Registriert: Sa Jul 19, 2008 7:07 pm
Wohnort: Dresden

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von AnGaiNoR » Fr Nov 19, 2010 7:20 pm

cloidnerux hat geschrieben: Programmieren setzt voraus, das du die Logik verstehst, ein AKW zu Planen setzt voraus, das du Planen kannst, das du was von Architektur und Statik verstehst und natürlich was von AKWs-
Der Dativ Plural von "Atomkraftwerk" heißt "Atomkraftwerken" und nicht "Atomkraftwerks". ;D


Bis wann wollte man doch gleich ein Programm schreiben, dass den Turingtest besteht? 2030 war das doch, oder?
Egal für wann das geplant ist, wenn man das schafft, dann sollte das "Programmieren" mit natürlicher Sprache auch kein Problem darstellen.
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von cloidnerux » Fr Nov 19, 2010 7:30 pm

Der Dativ Plural von "Atomkraftwerk" heißt "Atomkraftwerken" und nicht "Atomkraftwerks"

Code: Alles auswählen

#define AKWs  Atomkraftwerke
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von Jside » Fr Nov 19, 2010 7:58 pm

cloidnerux hat geschrieben:
Nein, also ich werde immer lieber en paar Bits rumschubsen als sowas.
Das magst du gerne handhaben wie du willst, aber Bitschupsen ist auf einem 64-Bit Quadcore meiner Meinung nach auch nur Zeit Verschwendung ^^
Kommt auf den Algorithmus, Hardware und Funktion an.
cloidnerux hat geschrieben:
Ich bekomme schon in C bei jeder unnoetigen if abfrage und bei jedem jump/branch die Krise, weil mir das zu lange dauert und hinterher merkt man dann im Programm davon eh nix, aber je hoeher der Abstraktionslevel desto hoeher die Ausfuerhrungszeit/CPU Load xD Aber wo bleibt denn da der Spa[ss], wenn dann jeder moechtegern 1337 h4x0r, der es nicht schafft bei seinem Windows PC ne IDE Festplatte zu verbauen dann ploetzlich nen Spiel "programmiert" ohne zu wissen, was da im hintergrund abgeht, daher nix lernt, weiterhin nichts kann aber so zeug erschafft?
Das ist jetzt die frage was du mit "so zeugs schafft" meinst.
Ein 3-D Ego Shooter zu Programmieren hat sehr wenig mit der Hardware zu tun, da du zu 90% eine Spiellogik implementieren musst, die sich aber nicht dafür Interessiert, ob du eine olle IDE Platte oder ne Sata-6G-SSD hast.
Auch ist es weder zwingend noch Hilfreich, wenn du alle Datails der Hardware kennst, wenn du es nicht schafst, ein Problem zu Abstrahieren und mit den mitteln deiner Sprache darzustellen.
Und wenn man deiner Logik folgt, müsstest du dich so lange mit allen Details deiner Hardware beschäftigen, bis du sie wirklich alle kennst und Erklären kannst, und auch die Physikalischen Effekte und Interferenzen von sehr nahe liegenden Leiterbahnen in sehr schnellen Datenbussen, dem Einfluss von Leiterbahnlänge auf die Datenübertragung und überhaupt wie der CPU funktioniert, ansonsten wärst du ja auch nur ein "1337 h4x0r", der nur so "zeugs schafft" ohne das Wissen um die Hardware.
Ich bastle selbst mit 8-BIT MCUs und das SEHR Hardware nah, so nahe, dass ich beinahe direkt 230V über ein Relais schalten kann, indem ich ein Bit einens Ports auf 1 Setzte, das nutzt mir aber für den Egoshooter nix, da es mich nicht interessiert. Der Code den du nutzt um nicht wirklich bei 0 anzufangen ist gigantisch, und eben das ist Abstraktion.
Kein Programmierer will für jedes Programm das Rad neu erfinden. Alleine schon "printf ", ein Befehl den fast jeder Programmieranfänger benutzt ist schon so umfangreich(in einem Windows/Linux/Mac), dass keine sich die Mühe machen will, das selber zu machen.
Mit "1337 h4x0r" meine ich die es nicht schaffen zwei Stecker im Computer richtig einzustecken, aber meinen sie waeren der naechste super hacker und das hat wohl meines erachtens nichts damit zutun, das sie sich wegen Abstraktion nicht damit auseinander setzen muessten.(weder das diese per se dumm sind)
Ich bin derzeitig im Hardware Development taetig und ich kann nur dazu sagen, das es bei Hochperformanten Zeug - wie div. High end Grafik Engines - ehr darauf ankommt das Problem auf niedrigster Ebene zu loesen, anstatt es auf hoeheren ebenen zwar ebenfalls - ggf. leichter aber tausendmal langsamer zu loesen. Aber das ist halt abhaenig von der Anwendungssituation.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: In welcher Sprache Programmierst du denn gerne? - Deutsch!

Beitrag von Kerli » Fr Nov 19, 2010 8:02 pm

Jside hat geschrieben:ich kann nur dazu sagen, das es bei Hochperformanten Zeug - wie div. High end Grafik Engines - ehr darauf ankommt das Problem auf niedrigster Ebene zu loesen, anstatt es auf hoeheren ebenen zwar ebenfalls - ggf. leichter aber tausendmal langsamer zu loesen. Aber das ist halt abhaenig von der Anwendungssituation.
Da hast du vollkommen recht. Vor allem bei Spielen wo gewisse Codeteile leicht einmal mehrere Millionen Mal pro Sekunde ausgeführt werden können (zb. Fragmentshader) kommt es sehr auf Effizienz an. Also wer das mit natürlicher Sprache schafft - Respekt^^
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Antworten