D Programmierung



  • adxin schrieb:

    PS: Mich würde interessieren, was z.B. die Entwickler von Java sich dabei gedacht haben als sie einen GC den Nutzern aufgezwungen haben. Aus Spaß haben sie das nicht gemacht - behaupte ich jetzt mal. Vielleicht können sie dann diese stichhalten Argumente liefern, wenn es diese überhaupt gibt.

    das ist einfach. es wurde mal eine sprache OAK entwickelt für embedded systems, waschmaschinen, toaster, kühlschränke und so. mit vm, damit der hersteller leicht den prozessor in der waschmaschine austauschen kann, und mit bewußt kindergartenhaftem verhalten, damit auch der dümmste programmierer damit klarkommt, in der annahme, daß mikrocode für toaster programmieren eine solche strafe ist, daß kein normaler entwickler dort landet. außerdem ist laufzeit gar nicht wichtig, voll interpretierter zwischencode, überall exceptions. der gc war sinnvoll, daß kein mensch mit OAK komplexe programme schreiben sollte, die laufzeit egal war und mit recht ungeschickten programmierern zu rechnen war. tja, und dann hat man OAK umgenannt nach JAVA und fürs internet entdeckt, schnell die ursprünge verwischt (in den ersten java-sdks war aber der name OAK noch zu lesen) und marketinglügen verbreitet, daß sich die balken biegen.
    so kommt es, daß keiner versteht, warum java genau so und nicht anders ist, daß java wie von hirnlosen idioten zusammengeklopt erscheint, aber wenn man die geschichte kennt, muß man zugeben, daß java für waschmaschinen einfach excellent ist, elegant, angemessen, toll, einfach super und nicht den hauch einer fehlentscheidung spüren läßt.



  • Wir reden hier immerhin über eine Waschmaschine mit Multithreading. 🤡 👍



  • Optimizer schrieb:

    for-Schleifen habe ich gar nicht so viele. Ich habe eigentlich mehr foreach-Schleifen. Natürlich nicht, um selber FindFirst(Predicate) nach zubauen, aber für Fälle, wo es sich eher anbietet.

    vielleicht hat deshalb dein Spiel Performance-Probleme?
    http://www.users.muohio.edu/janoside/For vs Foreach.png



  • Nein, ist nicht deswegen.



  • ob man schreibt

    foreach i in range (x, y)
       print i * i
    

    oder

    for i = x to y
       print i * i
    

    oder ob schreibt

    foreach e in collection
       print e
    

    oder

    for it = collection.begin to collection.end
       print it.value
    

    ist doch im grunde alles nur Synthax. Wäre der Compiler schlau genug, dann könnte er aus beidem das selbe generieren.



  • volkard schrieb:

    adxin schrieb:

    PS: Mich würde interessieren, was z.B. die Entwickler von Java sich dabei gedacht haben als sie einen GC den Nutzern aufgezwungen haben. Aus Spaß haben sie das nicht gemacht - behaupte ich jetzt mal. Vielleicht können sie dann diese stichhalten Argumente liefern, wenn es diese überhaupt gibt.

    das ist einfach. es wurde mal eine sprache OAK entwickelt für embedded systems, waschmaschinen, toaster, kühlschränke und so. mit vm, damit der hersteller leicht den prozessor in der waschmaschine austauschen kann, und mit bewußt kindergartenhaftem verhalten, damit auch der dümmste programmierer damit klarkommt, in der annahme, daß mikrocode für toaster programmieren eine solche strafe ist, daß kein normaler entwickler dort landet. außerdem ist laufzeit gar nicht wichtig, voll interpretierter zwischencode, überall exceptions. der gc war sinnvoll, daß kein mensch mit OAK komplexe programme schreiben sollte, die laufzeit egal war und mit recht ungeschickten programmierern zu rechnen war. tja, und dann hat man OAK umgenannt nach JAVA und fürs internet entdeckt, schnell die ursprünge verwischt (in den ersten java-sdks war aber der name OAK noch zu lesen) und marketinglügen verbreitet, daß sich die balken biegen.
    so kommt es, daß keiner versteht, warum java genau so und nicht anders ist, daß java wie von hirnlosen idioten zusammengeklopt erscheint, aber wenn man die geschichte kennt, muß man zugeben, daß java für waschmaschinen einfach excellent ist, elegant, angemessen, toll, einfach super und nicht den hauch einer fehlentscheidung spüren läßt.

    hä, meine geringe menschenkenntnis von pizzaliferanten verrät mir leider nicht ob das pure ironie war, oder ob das tatsächlich ernst gemeint war 😕 . klär mnich auf 😋



  • Er meint das mit Sicherheit vollkommen ernst und formuliert es aber absichtlich noch ein bisschen provokant. 🙂 Kann man aber leicht kontern. Was kann er schon einer eine Multithreading-fähige Waschmaschine, deren Programmiersprache foreach, sich gegenseitig aufrufende überladene Konstruktoren hat und keine affige Funktionen mit undefinierten return-Werten erlaubt, entgegensetzen? 😃 👍
    (Ja, ich weiß, wo es ihm wehtut, ich habe gut aufgepasst 🤡 👍 )



  • [quote="Helium"]ob man schreibt...[(quote]
    ja, ist an sich egal. ich möchte auch

    foreach e in collection
       print e
    

    schreiben dürfen.

    Synthax

    Syntax



  • Optimizer schrieb:

    Was kann er schon einer eine Multithreading-fähige Waschmaschine, deren Programmiersprache foreach, sich gegenseitig aufrufende überladene Konstruktoren hat und keine affige Funktionen mit undefinierten return-Werten erlaubt, entgegensetzen? 😃 👍
    (Ja, ich weiß, wo es ihm wehtut, ich habe gut aufgepasst 🤡 👍 )

    stimmt. hast gut aufgepaßt.

    aber entgegensetzen könnte ich, wenn es nicht auf die kosten ankommt, einen bemannten flugzeugträger. das ist mein lieblingswerkzeug, wenn es um universelle einsetzbarkeit ankommt. er kann auch wäsche waschen. als bonusfeatures kann er mir zum beispiel pizza backen, rum besorgen, fliegen erschlagen und musik machen.



  • Roar schrieb:

    hä, meine geringe menschenkenntnis von pizzaliferanten verrät mir leider nicht ob das pure ironie war, oder ob das tatsächlich ernst gemeint war 😕 . klär mnich auf 😋

    vielleicht hilft das ein wenig
    http://de.wikipedia.org/wiki/Star_Seven



  • btw. muss man allerdings hier schon sagen, dass auch dein bemannter Flugzeugträger nicht gerade eine astreine Entstehungsgeschichte vorweisen kann. C, C with classes, C++ (ohne Mehrfachvererbung, abstrakte Klassen, statische Methoden, templates, namespaces, exceptions), anständiges C++.

    Und jeder dieser Zwischenschritte bei fast vollständiger Aufrechterhaltung der Kompatibilität. Java merke ich die Herkunft jedenfalls nicht so krass an, wie C++. Denk' darüber vielleicht auch mal nach. 🙂



  • volkard schrieb:

    adxin schrieb:

    PS: Mich würde interessieren, was z.B. die Entwickler von Java sich dabei gedacht haben als sie einen GC den Nutzern aufgezwungen haben. Aus Spaß haben sie das nicht gemacht - behaupte ich jetzt mal. Vielleicht können sie dann diese stichhalten Argumente liefern, wenn es diese überhaupt gibt.

    das ist einfach. es wurde mal eine sprache OAK entwickelt für embedded systems, waschmaschinen, toaster, kühlschränke und so. mit vm, damit der hersteller leicht den prozessor in der waschmaschine austauschen kann, und mit bewußt kindergartenhaftem verhalten, damit auch der dümmste programmierer damit klarkommt, in der annahme, daß mikrocode für toaster programmieren eine solche strafe ist, daß kein normaler entwickler dort landet. außerdem ist laufzeit gar nicht wichtig, voll interpretierter zwischencode, überall exceptions. der gc war sinnvoll, daß kein mensch mit OAK komplexe programme schreiben sollte, die laufzeit egal war und mit recht ungeschickten programmierern zu rechnen war. tja, und dann hat man OAK umgenannt nach JAVA und fürs internet entdeckt, schnell die ursprünge verwischt (in den ersten java-sdks war aber der name OAK noch zu lesen) und marketinglügen verbreitet, daß sich die balken biegen.
    so kommt es, daß keiner versteht, warum java genau so und nicht anders ist, daß java wie von hirnlosen idioten zusammengeklopt erscheint, aber wenn man die geschichte kennt, muß man zugeben, daß java für waschmaschinen einfach excellent ist, elegant, angemessen, toll, einfach super und nicht den hauch einer fehlentscheidung spüren läßt.

    jetzt wunder ich mich nimmer, warum volkard arbeitslos is 😃



  • Optimizer schrieb:

    Java merke ich die Herkunft jedenfalls nicht so krass an, wie C++.

    Bei C++ braucht man die Herkunft auch nicht zu verbergen, weil C++ aus einer ordentlichen Sprache entstanden ist und nicht so einem gefrickel wie OAK



  • nagel aufm kopf schrieb:

    jetzt wunder ich mich nimmer, warum volkard arbeitslos is 😃

    Ich glaube, im Beruf würde sich volkard durchaus auch jederzeit mit Technologien auseinandersetzen, die er privat nicht leiden kann, sofern sie erwünscht sind. ...nur meine Einschätzung. Insofern denke ich, dass du das hier falsch siehst.

    ...zu Java und Oak: Ja, Java hat in der Tat einen weiten Weg hinter sich gebracht und ist jetzt schon weit von seinen Anfängen entfernt. Waren früher Embedded Systeme als Einsatzgebiet für diese Technologie (bzw. die Vorgängertechnologie) vorgesehen, so sind jetzt ganz andere Bereiche für Java interessant. Naja... kann ja nicht jede Sprache so auf der Stelle treten wie C++. 🤡 *SCNR*



  • und deswegen bewährt sich c++



  • TravisG schrieb:

    und deswegen bewährt sich c++

    Na, wenn du meinst. 😃



  • Gregor schrieb:

    ...zu Java und Oak: Ja, Java hat in der Tat einen weiten Weg hinter sich gebracht und ist jetzt schon weit von seinen Anfängen entfernt. Waren früher Embedded Systeme als Einsatzgebiet für diese Technologie (bzw. die Vorgängertechnologie) vorgesehen, so sind jetzt ganz andere Bereiche für Java interessant.

    mich nervt es ja schon, daß heutzutage jedes programm gleich eine neuartige technologie mitbringt. aber dem java jetzt noch ne zweite technologie zu geben, ist frech. die vorgesehenen einsatzgebiete bestimmt das marketing und die sind recht frei von aspekten der sprachentwicklung.

    Naja... kann ja nicht jede Sprache so auf der Stelle treten wie C++. 🤡 *SCNR*

    ja, schon ein starkes stück, daß c++ überhaupt noch verwendet wird. sowas lahmarschiges wie unser standardisierungkommitee kann alles töten. und c++ schreit laut nach nachfolgern. vielleicht ist jetzt der java-quatsch lange genug gegangen. sun hat versucht, ms eins auszuwischen, hat aber nicht gerade funktioniert, kein wunder bei einer für fast alles untauglichen sprache mit einer keiner-braucht-sie-maschine drunter und keinem werbeargument, daß 20 sekunden des drüber-nachdenkens überlebt. derzeit setzt ms auf einen java-clone und jetzt wäre es an der zeit, daß sun einen c++-clone macht (und natürlich als völlig neue technologie verkauft. vielleicht "java mit neuestem innovativen pre-execution-compiler" und sich gleich patentieren lassen, daß man programme vor auslieferung compilieren kann). natürlich mit massig verbesserungen aus der java- und .net-welt. und mit gewohnter produktaktualisierungsgeschwindigkeit.



  • Gregor schrieb:

    Ich glaube, im Beruf würde sich volkard durchaus auch jederzeit mit Technologien auseinandersetzen, die er privat nicht leiden kann

    ich arbeite ein wenig mit vb.net und mag es sehr. keine technischen argumente, die sprechen eher alle dagegen, aber der code ist so zauberhaft lesbar, daß es mir immer wieder eine freude ist.

    wir könnten doch ab jetzt immer statt "forum" "kommunikationsinfrastruktur" und statt "frickeln" "perspektiven erkunden" und statt "code" "technologie" sagen. das würde das forum enorm aufwerten und alle würden erkennen, wie enorm wichtig wir sind.

    und bevor wieder fragen kommen, ich schreibe nie etwas ironisches, das müßt ihr wissen.



  • volkard schrieb:

    wir könnten doch ab jetzt immer [...] statt "code" "technologie" sagen. das würde das forum enorm aufwerten und alle würden erkennen, wie enorm wichtig wir sind.

    Interessant, dass du das gleichsetzt. Wenn ich in meinen Beiträgen von "Technologie" rede, meine ich etwas anderes als "Code". Ich nutze es als Oberbegriff für diverse Dinge, die ich dann meine. Ich möchte mich dann in meiner Aussage nicht nur auf "Programmiersprachen" oder ähnliches begrenzen. Wenn das für dich so einzugrenzen ist: Ok. Dann siehst du dich halt als sehr sehr spezialisiert an. Ich habe da eine andere Sichtweise.

    ...weiß nicht, ob sich das darauf bezog, dass ich den Begriff "Technologie" durchaus in meinen Beiträgen verwende.



  • Da vergleicht volkard halt einfach immer viel zu sehr nur die Sprachen. Ich glaube wirklich, dass volkard Java viel zu sehr nur auf die reine Sprache reduziert. Ist mir natürlich schon klar, dass ein C++ler nicht von Haus aus viel mehr hat, als nur die Sprache, trotzdem muss doch der Unterschied langsam mal in's Auge fallen.
    Wenn es wirklich darum geht, was zu entwickeln, dann darf man schon auch noch in Betracht ziehen, dass man bei Java eine geile stdlib hat und jede Menge Community-Frameworks, gescheite IDEs.

    Und warum darf man Java nicht als Technologie bezeichnen? Warum darf ein Stück Software nicht als Technologie gelten, obwohl es komplexer ist als jedes Hardware-System, was die Menschheit je hervorgebracht hat?


Anmelden zum Antworten