Eigene OOP-Sprache



  • SideWinder schrieb:

    Bis ich das Diagram gezeichnet habe, habe ich das Programm geschrieben.

    Aber du kannst nen Unterbezahlten Volldau hinsetzen. Außerdem sind die Diagramme sowieso wieder nur die Low-Level-Idee. Ich habe ohnehin die Vision mit dem Computer zu quatschen.

    Wenn Du Visionen hast, solltest Du vielleicht was anderes rauchen oder die TeleVisionen etwas kritischer betrachten.
    Wenn Du Ideen hast, wie Du einen Computer zum Quatschen bringst, lass es mich wissen. Ich kenne da ein paar Menschen, die ich bei einem Anruf dann gerne mit einem Akkustikkoppler verbinden würde.
    Mir würde schon reichen, wenn im richtigen Moment ein "Ja, bin ich Deiner Meinung" kommt.

    SideWinder schrieb:

    "Hey du, hier noch nen BBtton der die Daten in der Tabelle mit dem Server abgleicht. Bei Fehlermeldungen gib wieder die Infobox von vorhin aus. ... Was? Oh ja, wieder im grünen Design. Du wart mal ich hol mir nen Kaffee."

    Lass mich raten, Dein Design ist die Informatik?

    Ich sehe es schon vor mir "Jow, Compi, pass mal auf, da musst Du dann ein Integer von -x nach +x drüber bilden und dann messagest Du das mit dem Server und wenn der antwortet, dann rechnest die Kreisfrequenz über das Quadrat... wie verstehst Du nich'? Kannst Du mir wenigstens 'nen Kaffee kochen?"

    Wer braucht schon Rente, ich geh' einfach zweimal im Monat in eine Firma, sage 0xbadc0de und das reicht für die Villa mit Meeresblick...

    SideWinder schrieb:

    Ich weiß zwar was ein Zeiger macht, aber ich glaub ich brauchs eigentlich gar nicht wissen. Ich glaub irgendwann schieb ich hinten soviel rein dass er vorne rausfällt oder umgekehrt.

    Je weniger Leute keine Ahnung haben, desto höher mein Gehalt. ^^

    Als Informatiker gut möglich. Als Programmierer kommst du nie in eine leitende Stelle. Da kannst schon froh sein wenn du mal ein Projektteam übertragen bekommst.

    Mag sein, es reicht auch noch nicht für die Villa mit Meeresblick, aber wenigstens hat mein Haus freien Meeresblick - auch wenn's nur zur Miete ist.

    Hey, stolzer Österreicher, ich war grade kurz auf Deiner Website. Da steht, dass als Du geboren wurdest, dass ich da erst 2 Jahre programmiert habe, da war ich 11. Es beginnt ein Wettrennen: Wirst Du zuerst lernen ohne Windeln zu leben oder werde ich zuerst ein Programm (kommerziell) veröffentlichen... Du hast bis September 1990 Zeit. :->

    Du hast in der Zwischenzeit sicher vieles gelernt. Du kannst lesen und schreiben und in ein Forum posten. Ich bin auch überzeugt, dass kreative Phantasie hochgradig wichtig ist, um Fortschritte zu erzielen. Aber man sollte erstmal da ansetzen, wo man selber Grundlagen besitzt.
    Ohne ein festes Fundament von Grundlagen, baust Du sonst nur eine Vision von einem Luftschloss oder wirst der unbezahlte DAU, der kleine Gemälde vor die Kamera Deines visionären Computers hält, sollte es ihn mal geben.

    Ich hab' in der Zeit auch was gelernt. Ich glaube zum Bespiel nicht nicht an Science-Fiction. Ich stelle mich auch nicht mit verschränkten Armen in die Welt, sondern höre zu und versuche die Grundlagen zu verstehen.

    Ich könnte auch hingehen und sagen, ich schreibe einen Compiler, dem ich nur noch sage "Ich brauche eine Textverarbeitung". Ich hab' nur grade keinen Plan, wie ich das machen soll, aber irgendwie wird das schon. Ich probiere es mal mit einem einfacheren Projekt, dessen Umsetzung im Rahmen meiner beschränkten Fähigkeiten liegt. Vielleicht fällt Dir in den nächsten 18 Jahren ja was ein, wie man künstliches Bewußtsein beschreibt, aber bis dahin ist das mehr Fi als Sci.
    Genauso wie UML vermutlich immer eine gute Lösung bleiben wird, für ein Problem, das im Alltag leider zu selten auftritt.



  • Irgendjemanden kann man hier aber ganz leicht aus der Fassung bringen 🤡 Ich liebe die "Diskussionen" bei denen der rhetorikgeübte Ältere im zweiten Satz bereits die Killerphrasen ala "in deinem Alter", "du kannst da ohnehin nicht mitreden" bringt weil er vor lauter Fassungslosigkeit und Überheblichkeit nichts anderes in die Tasten bringt 🙂 Aber so tragen wir wenigstens beide zur allgemeinen Forenbelustigung bei 👍

    Wer braucht schon Rente, ich geh' einfach zweimal im Monat in eine Firma, sage 0xbadc0de und das reicht für die Villa mit Meeresblick...

    Immerhin, erste Ansätze der Argumentation hast du in diesem Satz versteckt 👍, aber es bezieht sich halt leider auf nichts was ich geschrieben habe. Ganz im Gegenteil, Programmieren wird zum Handwerk und bringt daher wenig Geld (und noch weniger als jetzt ist echt kritisch).

    Ich könnte auch hingehen und sagen, ich schreibe einen Compiler, dem ich nur noch sage "Ich brauche eine Textverarbeitung". Ich hab' nur grade keinen Plan, wie ich das machen soll, aber irgendwie wird das schon.

    Deswegen schreibst du ja auch keinen Compiler und ich keinen sprachgesteuerten Code-Generator. Aber das hindert dich nicht an tolle Features einer Textverarbeitung zu denken und mich nicht an einen Code-Generator der Zukunft.

    Und sobald du einen Satz der nicht mit einer Killerphrase aus dem Rhetorikgrundkurs bespickt ist postest können wir auch weiter diskutieren 😃

    MfG SideWinder



  • Xin schrieb:

    Wenn Du Ideen hast, wie Du einen Computer zum Quatschen bringst, lass es mich wissen. Ich kenne da ein paar Menschen, die ich bei einem Anruf dann gerne mit einem Akkustikkoppler verbinden würde.
    Mir würde schon reichen, wenn im richtigen Moment ein "Ja, bin ich Deiner Meinung" kommt.

    Keine Sorge, daran arbeitet mittlerweile ein ganzer Wissenschaftszweig. 🙂



  • Bezüglich dieses Themas von wegen "Computer sagen was man will, und der macht das": Du forderst, dass Computer eigenständig zuverlässige Entscheidungen trifft?

    Nicht umsonst sagte einst eine weise Person: "Künztliche Intelligenz ist das Perpetuum Mobile der Informatik"; entweder, wir schaffen es, den Maschinen künstliche neuronale Netze zu verleien, die Biologisch exak wie unsere eigenen funktionieren -> Dann ist das der Anfang vom Ende und die Horros-Szenarien mit Computern die die Weltherrschaft an sich reißen wird Realität, oder wir schaffen es nicht, und die wahre künztliche Intelligenz, die grundlegende Basis deiner Theorie ist, bleibt für immer unerreicht.



  • Welche künstliche Intelligenz? Hochkomplex heißt nicht unbedingt intelligent. "Künstliche Intelligenz" würde bedeuten, dass ich gar niemanden mehr hinsetzen muss. Es würde heißen, dass der Computer selbständig die Probleme findet und sie löst bzw. den dazu nötigen Code generiert.

    Du hast aber recht, ich glaube auch nicht, dass man "Künstliche Intelligenz" wie man sich das so vorstellt erreicht. Die Intelligenz des Menschen zu kopieren ist a) ohnehin nicht das was man wirklich von einem Computer will und b) brauch ich dann eigentlich gar keinen Computer dafür. Was man eigentlich sucht ist ja eine berechnende Super-Und-Immer-Die-Wahrheit-Ausspuckende-Wundermaschine 😉

    MfG SideWinder



  • SideWinder schrieb:

    Irgendjemanden kann man hier aber ganz leicht aus der Fassung bringen 🤡 Ich liebe die "Diskussionen" bei denen der rhetorikgeübte Ältere im zweiten Satz bereits die Killerphrasen ala "in deinem Alter", "du kannst da ohnehin nicht mitreden" bringt weil er vor lauter Fassungslosigkeit und Überheblichkeit nichts anderes in die Tasten bringt 🙂 Aber so tragen wir wenigstens beide zur allgemeinen Forenbelustigung bei 👍

    Ja, ich habe mir auch überlegt, ob ich das wirklich schreiben will... weil es eigentlich darauf hinausläuft, dass Du keine Ahnung hast und ich schon so alt geworden bin, dass ich jüngere auf größere Erfahrung aufmerksam machen kann. Klingt für beide Seiten nicht positiv, scheint aber blöderweise der Wahrheit zu entsprechen.
    Die Erfahrung Älterer... die Erfahrung von Leuten, die älter sind als Jüngere 😉 zu ignorieren war allerdings ein Fehler, den ich hoffentlich nicht zu häufig begangen habe. Ich bemühe mich in der Regel um ein "Warum?", für den Fall, dass derjenige doch mehr Ahnung hat als ich. Sollte dem so sein, habe ich dann was gelernt.
    Das nutzt mir mehr, als den (noch) Ältern damit abzutun, dass der alte Sack zwar viel Erfahrung hat, aber die ja noch aus dem letzten Jahrtausend stammen würde.
    Was Du mit Erfahrung Älterer machst, sei Dir überlassen.

    SideWinder schrieb:

    Ganz im Gegenteil, Programmieren wird zum Handwerk und bringt daher wenig Geld (und noch weniger als jetzt ist echt kritisch).

    Programmieren wird sicherlich zum Handwerk. Aber genauso, wie es früher Leute gab, die etwas besonderes waren, weil sie Programmieren können, wird es auch in Zukunft Aufgaben geben, die man nicht dem Handwerker um die Ecke überlässt.
    Die interessanten (und besser bezahlten) Aufgaben werden an die Künstler fallen, die ihre Ideen umsetzen konnten. Ich sah mich immer mehr als Künstler, denn als Fließbandarbeiter.

    Aber auch Menschen mit Visionen wird es immer geben - wozu gibt es schließlich Marketing?

    SideWinder schrieb:

    Ich könnte auch hingehen und sagen, ich schreibe einen Compiler, dem ich nur noch sage "Ich brauche eine Textverarbeitung". Ich hab' nur grade keinen Plan, wie ich das machen soll, aber irgendwie wird das schon.

    Deswegen schreibst du ja auch keinen Compiler und ich keinen sprachgesteuerten Code-Generator.

    Grübel... bis eben dachte ich noch, einen Compiler zu schreiben. Offenbar hast Du schon wieder Visionen 😉

    SideWinder schrieb:

    Und sobald du einen Satz der nicht mit einer Killerphrase aus dem Rhetorikgrundkurs bespickt ist postest können wir auch weiter diskutieren 😃

    Hehehe, wie wär's damit: Ein Argument, das belegt, dass Du mehr als nur 'Jüngelchen' bist, zieht besser, als der Hinweis, dass ich Dein Jungsein bemerkt habe.
    UML schreien kann jeder. Tun auch viele. Drei Buchstaben als Abkürzung klingen ja auch immer wichtig.
    Aber sag doch mal was, was mich auch ohne Marketing beeindrucken kann.
    Schonmal ein Projekt in UML modelliert? Kennst Du jemand, der ein komplettes Projekt in UML modelliert hat? Also etwas, was über "Hallo Welt" hinausgeht?

    Das größte Problem beim Programmieren ist Platz. Ich brauche eine hohe Bildauflösung, um viel Text darzustellen, da fange ich doch nicht an, die Darstellung mit UML derart zu vergrößeren, dass ich quasi gar nix mehr vom Programm sehe. Bevor ich meinem Computer gesagt habe, dass ich (Mausbeweg) da ein Kästchen haben will, das (Funktionraussuch) die Funktion aufruft und (bei Parameter1 klick und eingeb) "Hallo Welt" als Parameter übegebe, habe ich den Kram getippt.
    Sprache? Schonmal mit Funktastaturen gearbeitet? Zwei Logitech-Tastaturen vertragen sich, bei drei tippen zwei durcheinander. Das ist lustig.... "Kannst Du bitte Dein Passwort aus meinem Sourcecode nehmen?"
    Programmierung ist nur noch möglich, wenn jeder Informatiker, sorry.... Volldau, sein eigenes Büro hat, damit der Computer weiß, wem er grade zuhören soll.

    Deiner Vision sage ich vorraus: Irgendwann machbar: ja. Irgendwann sinnvoll: Nein. Aus dieser Kombination werden ja viele Visionen dank Marketing wahr.
    Mit der Magnetschwebebahn wollte man das Rad auch neu erfinden. Hat man ja auch. Machbar: ja. Es fährt auch viel besser. Es kann sich halt nur keiner leisten und nicht jeder will auf der Teststrecke fahren. Ein tolles Projekt, leider an der Realität gescheitert. Mal eben die ganze Infrastruktur neu machen, ach das kostet auch Geld... ja, sowas!? Sinnvoll: Nein.
    In Düsseldorf hat man ja auch eine ganz tolle moderne Bahn am Flughafen. Zuverlässige Technik zu nehmen, war nicht gut genug. Ich bin bisher immer Shuttle-Bus gefahren. Die sind nicht so teuer und funktionieren sogar, wenn die Bahn trotz vorhandener Infrastruktur nicht funktioniert.
    Wir haben eine einfache Infrastruktur zum Programmieren: Wir schreiben Quelltexte. Es funktioniert und wir haben mehrere tausend Jahre Erfahrung, Texte zu schreiben. Editoren sind überschaubar zu programmieren und überschaubar zu bedienen und kennen wenig Sonderfälle, die man lernen müsste. Ein funktionierendes System, das sich bewährt hat und das man in Details verbessern kann.
    Oder wir erfinden das Rad neu und programmieren dann mit Hilfe des Shuttle-Busses.

    Das ist meine Argumentation gegen UML. Wenn Du was Brauchbares anzubieten hast, warum ich einen UML Editor zum Programmieren nehmen sollte, leg los.
    Ich geb' mich auch etwas halbweg Brauchbaren zufrieden. Ebenbürtig zur Art und Weise vorhandenen Programmiersprachen reicht, muss nichtmals irgendwie besser sein.
    Ein Argument, das nicht in der Realität nicht direkt von einer Magnetschwebebahn überrollt wird, wäre schon mehr, als UML mir bisher bieten konnte.



  • Wobei ich bei dem Thema auch wieder die, vor ein paar Monaten schon einmal gepostete, Problematik ergibt:

    Wenn eine solche Intelligenz möglich währe, dann währe es höchst unwahrscheinlich, dass wir selbst ihr nicht angehörten. Soll heißen -> Es währe so gut wie ausgeschlossen, dass wir nicht selbt von Computern "zum Leben erweckt" werden ... Irgendwo hatte ich dazu mal 'ne halbe Seite in einem Thread geschrieben 😉

    Worauf ich aber in meinem Post hinaus wollte: Wenn du hochkomplex sagst, dann ist das nicht für einen solchen Vorgang wie "dem Computer sagen was ich will und er macht" verlässlich genug ... imho! Denn hochkomplex, bzw. eine solchermaßen geforderte Komplexität, kann meiner Meinung nach nicht in absehbarer Zeit erreicht werden! Und selbst wenn, währe sie (wie gesagt) meiner Meinung nach nicht verlässlich genug -> Wo Maschinen Entscheidungen treffen, die sie sich selbst erarbeiten (-> errechnen) (und seien es nur einfache if's), da machen Sie Fehler!



  • Reyx schrieb:

    Nicht umsonst sagte einst eine weise Person: "Künztliche Intelligenz ist das Perpetuum Mobile der Informatik"; entweder, wir schaffen es, den Maschinen künstliche neuronale Netze zu verleien, die Biologisch exak wie unsere eigenen funktionieren -> Dann ist das der Anfang vom Ende und die Horros-Szenarien mit Computern die die Weltherrschaft an sich reißen wird Realität, oder wir schaffen es nicht, und die wahre künztliche Intelligenz, die grundlegende Basis deiner Theorie ist, bleibt für immer unerreicht.

    Das ist ein Widerspruch in sich. Biologisch exakt wäre nicht intelligent, vielliecht zur Intelligenz befähigt, aber mehr auch nicht.

    Folgendes Szenario: Wir schaffen einen Algorithmus, der intelligente Entscheidungen treffen kann. Wir können sogar mathematisch beweisen, dass der Algorithmus korrekt ist.
    Wir bauen einen Computer auf, geben ihm Zugriff auf unser ganzes Wissen und fragen dann, was der nächste Schritt wäre.

    Ist die Wahrscheinlichkeit wirklich so gering, dass der nächste intelligente Schritt der wäre, dem wichtigsten Lebewesen auf diesem Planeten, Vorrang zu geben?
    Das wäre vermutlich eine Entscheidung, die eine objektive Intelligenz fällen könnte. Es wäre intelligent möglichst viel zu retten. Das wissen wir, aber wer will es schon bewußt machen, dass man selber etwas geben muss, um dem Übergeordnetem zu dienen. Jeder, der schonmal ein Strategiespiel gespielt hat, kennt die Situation: Dame opfen, um den König zu retten.

    Wenn wir nun den richtigen Schritt wüssten, stellt sich als nächstes die Frage, ob wir das wirklich wissen wollten und was wir mit dem Wissen anfangen.

    Wir wissen eigentlich beides. Und weil wir beides wissen, wissen wir auch, dass auch Intelligenz ein Projekt wäre, was an der Realität scheitert würde. Wir sind nicht soweit. Alleine einen Menschen zu finden, der einen Bauen opfern würde, wird schon eng... vielleicht einen Bauen der Chinesen, aber einen eigenen?!

    Wir sind bereit für Computer, die uns nach dem Mund reden, aber Intelligenz...?



  • Bereit sind wir, deinem Text nach, zu gar nichts.

    Grenzen werden überschritten, um neues zu erschaffen. Das nennt man übrigens nicht nur Intelligenz sondern auch Evolution ... und ob die so intelligent ist, ist bestreitbar. Als was definierst du Intelligenz? Ich als das, was mich, dich und jeden hier im Forum zum lernen befähigt (wobei man da bei gewissen Leuten, z.B. im Sandkasten, auch dran zweifeln kann ... 😉 ). Und unter dieser Definition ist meine Argumentation stimmig. Was lernen kann, das wird zwangsläufig irgendwann "intelligent", und nicht nur das: Es wird noch mehr, etwas so "hohes", das wir selber nicht kennen; das sage ich so sicher, da die Maschine einen entscheidenden Vorteil hat, der allem aus Fleisch und Blut verwehrt ist (und bleiben wird): Er ist unsterblich! Wird der Computer nicht zerstört, so lernt er also unter dem Aspekt, dass er lernen kann, immer weiter, ohne Grenze.

    Bereit sein oder nicht ist irrelevant. Die Natur und die Zeit kratz das einen Kericht, ob eine Kultur bereit ist. Wie maßgeblich Natur und Zeit sind weiß man nicht, aber in unserer kleinen Welt "Erde" doch ziemlich. Und ob man nun für eine Neuerung, oder besser: für eine Veränderung, bereit ist, dass kratzt niemanden. Auch sagen manche Leute, wir seien für den Quantencomputer nicht "bereit", aber woher wissen diese Leute, dass es nicht längst einen gibt?



  • Reyx schrieb:

    Bereit sind wir, deinem Text nach, zu gar nichts.

    Bereit sein oder nicht ist irrelevant.
    Auch sagen manche Leute, wir seien für den Quantencomputer nicht "bereit", aber woher wissen diese Leute, dass es nicht längst einen gibt?

    Die Frage ist nicht, ob wir bereit sind... die Frage ist, ob wir das wollen.
    Man könnte sagen, man muss alles mal ausprobieren, sonst lernt man ja nichts. So funktioniert Evolution: Try - and Error.

    Die Atombombe haben wir auch bekommen - heutzutage würden wir sagen, wir waren noch nicht bereit dafür, das sah man damals sicher anders.
    Die Frage ist, ob wir das wirklich wollen. Damals wollten die Amis das sicherlich. Hitler hätt' sich sicher auch gefreut.

    Vielleicht lernen wir ja irgendwann mal, das Try and Error die falsche Strategie ist. Vielleicht haben wir irgendwann mal die geistigen Resourcen für Assert and Do.
    Also erstmal nachdenken und sich versichern, ob das, was man heute will, morgen nicht vielleicht mehr Probleme bereitet, als man heute damit zu lösen gedenkt.

    Nachdem wir nun diesen Philosophischen Exkurs betrieben haben, warte ich weiter auf die UML-Argumente und frage mich in der Zwischenzeit, was genau unserer unregistrierterer Programmiererer den vorhat.



  • Xin schrieb:

    So funktioniert Evolution: Try - and Error.

    Das ist der Mensch eine "uncaught access violation". 😉

    Deine Idee vom lernen des Menschen kann nicht funktionieren. Dass ist eine Einsicht, die
    1. nicht jedem gegeben ist und
    2. bei den meisten sich erst im Alter entwickelt.

    Du kannst also bezüglich dessen lernen bis du schwarz wirst, und deine Kinder auch, und deren Kinder auch; es wird nichts bringen. Die jeweils nächste Generation macht blauäugig, kurzsichtig, kapitalgierung, egoistisch und dumm da weiter, wo man dachte, endlich einen besseren Weg gefunden zu haben ("[...] watchin' all of history repeat itself [...]")

    Und nun, wie du schon sagtest, back to topic 😉



  • Wer hat die guten Jobs und wer tut sich sehr schwer welche zu bekommen?

    kA, sag du es mir bitte.

    hmm ... wir schweifen jetzt aber vom thema ab. Macht euch aber nichts draus. HAB NICHTS DAGEGEN, aber trotzdem wäre es nett, wenn ihr euch nach dieser diskusion geeinigt habt, was ich den jetzt machen soll ^^ (ihr habt mich jetzt total verunsichert :D). Später werde ich es mir nochmal durchlesen und alles mal kommentieren ;P



  • Anhang: Villeicht hat ihr ja noch Ideen WIE man das umsetzten kann und nicht nur was 😃 😋



  • Programmiererer schrieb:

    Anhang: Villeicht hat ihr ja noch Ideen WIE man das umsetzten kann und nicht nur was 😃 😋

    Das wird schwierig, wenn Du vorher nicht beschlossen hast, was Du umsetzen willst.

    Was willst Du überhaupt schreiben? Eine problemorientierte Sprache, also eine Sprache, die ein spezielles Problem(welches?) möglichst gut löst, oder eine nicht problemorientierte Sprache, die möglichst alle Probleme möglichst akzeptabel lösen kann. Eierlegende Wollmilchsäue sind schwieriger zu züchten, hab' ich mir sagen lassen.

    Entwickelst Du eine neue Programmiersprache, für die Du einen Compiler brauchst, oder entwickelst Du ein Paket aus Compiler und Sprache - also eine Sprache, die einen speziellen Compiler braucht, der wiederum eine spezielle Sprache braucht?

    Hast Du bereits eine Programmiersprache (und wenn auch nur eine kleine zum Ausprobieren) entwickelt und umgesetzt? Weißt Du, wie Du einen Sprung zu einem Label machst, dass Du im Quelltext noch gar nicht gefunden hast?

    Weißt Du, wie ein Parser aufgebaut ist? Wie man verschachtelte Strukturen liest, also zum Beispiel verschachtelte if-Anweisungen oder Expressions wie a = 4+3*4, wo man Operatorprioritäten berücksichtigen muss. Oder sich durch Strukturen durchhangelt: a = b.c->d;
    Wenn nein - egal das kann man lernen. Wäre aber gut, wenn Du dafür halbwegs fit in der Programmierung bist.

    Wieviel Programmiererfahrung hast Du eigentlich? Ein Compiler ist kein mythische Blackbox, sowas kann jeder schreiben. Aber wenn's was werden soll, kann etwas Erfahrung nicht schaden.
    Quick'n'Dirty ausprobieren, AHA!, wegschmeißen, sauber neu schreiben.
    Hast Du Erfahrung mit größeren Projekten, also etwas, was nicht nur aus 4 Dateien + Include Files besteht? Projektverwaltung? Projektaufbau? Make-Files?
    Und solange Du das offensichtlich Just-For-Fun machst, solltest Du eine Sprache entwickeln, die Dir auch Spaß macht und die Dir sinnvoll Arbeit abnehmen kann.

    Wenn Du eine Sprache entwickeln möchtest, kannst Du auch mit einem Front-End für eine andere Sprache anfangen, also ein Art Compiler, der Deine Sprache in C oder C++ Sourcecode umsetzt. Cfront war vor 20 Jahren ebenso entstanden, nennt sich heute C++.

    Also die Frage wieder zurück: Was möchtest Du denn schreiben und wenn Du Dich selber einschätzt - was könntest Du mit Deinem jetzigen Wissensstand umsetzen?

    Mal eben einen Compiler anzufangen, weil man grade Lust dazu hat, wird nicht viel bringen, mit 100kB Sourcecode kommt man da nicht weit.



  • Was willst Du überhaupt schreiben? Eine problemorientierte Sprache, also eine Sprache, die ein spezielles Problem(welches?) möglichst gut löst, oder eine nicht problemorientierte Sprache, die möglichst alle Probleme möglichst akzeptabel lösen kann. Eierlegende Wollmilchsäue sind schwieriger zu züchten, hab' ich mir sagen lassen.

    Ich fühle mich gut genug und will es echt mit Eierlegende Wollmilchsäue versuchen.

    Entwickelst Du eine neue Programmiersprache, für die Du einen Compiler brauchst, oder entwickelst Du ein Paket aus Compiler und Sprache - also eine Sprache, die einen speziellen Compiler braucht, der wiederum eine spezielle Sprache braucht?

    Auch hier will ich den Hardcoreweg einschlagen. Jetzt mal ehrlich. Ich habe viel Zeit genug erfahrung in der Programmierung und werde das Projekt (nachdem ich natürlich einen großen beitrag geleistet habe 👍, OpenSource stellen (GPL ?!))

    was könntest Du mit Deinem jetzigen Wissensstand umsetzen?

    hmm ... das ist eine schwere Frage. Villeicht hilf es wenn ich sage, dass ich seid 11 Jahren VB, seid 9 jahren c/c++ (danach OpenGL und QT) programmiere.



  • Programmiererer schrieb:

    Was willst Du überhaupt schreiben? Eine problemorientierte Sprache, also eine Sprache, die ein spezielles Problem(welches?) möglichst gut löst, oder eine nicht problemorientierte Sprache, die möglichst alle Probleme möglichst akzeptabel lösen kann. Eierlegende Wollmilchsäue sind schwieriger zu züchten, hab' ich mir sagen lassen.

    Ich fühle mich gut genug und will es echt mit Eierlegende Wollmilchsäue versuchen.

    Okay, schonmal testweise etwas programmiersprachenartiges geschrieben? Die Frage fand' ich eigentlich am spannendsten ;->
    Weil 'ich fühle mich gut genug' erinnert mich an Volker Pispers "gefühltes Wissen" - vergleichbar mit 'Temperatur 20 Grad, gefühlt 15 Grad'...

    Programmiererer schrieb:

    Entwickelst Du eine neue Programmiersprache, für die Du einen Compiler brauchst, oder entwickelst Du ein Paket aus Compiler und Sprache - also eine Sprache, die einen speziellen Compiler braucht, der wiederum eine spezielle Sprache braucht?

    Auch hier will ich den Hardcoreweg einschlagen. Jetzt mal ehrlich.

    Jetzt mal ehrlich, als ich angefangen habe Genesys zu entwickeln hab' ich an das gedacht, was ich grade programmiere. Bißerl C und C++, das kann doch nicht so schwer sein. Dann programmierte ein anderes Projekt und stieß auf neue Probleme. Und ich programmierte den Compiler. Noch ganz andere Probleme, ich mit der ersten Idee nicht berücksichtigt hatte.
    Dann wollte ich es richtig machen. Das Konzept habe ich soweit klar, ich habe 4 Jahre lang programmiert und mir alles aufgeschrieben. Ich will das auch umsetzen, aber trotz 20 Jahren Programmiererfahrung sehe ich da doch noch eine (sehr! interessante) Herausforderung drin.

    Programmiererer schrieb:

    Ich habe viel Zeit genug erfahrung in der Programmierung und werde das Projekt (nachdem ich natürlich einen großen beitrag geleistet habe 👍, OpenSource stellen (GPL ?!))

    Darf ich fragen, wie alt Du bist? Möge sich Sidewinder auch wieder auf der Seite winden, aber um den geht's ja grade nicht.
    Die Frage, die ich stelle, ist die Folgende: Kann es sein, dass Du die Schritte, die Du nach Fertigstellung Deiner Sprache tun möchtest, schon besser geplant hast, als das eigentliche Projekt?
    Auch ich mache mir Gedanken zu einer Lizenz für Genesys. Auch, ob ich ihn als OpenSource rausgebe. Aber eine Antwort auf die Frage habe ich noch nicht - nichtmal im Entferntesten. Ich hab' mit dem eigentlichen Projekt noch genug zu tun.
    Ob sich jemals jemand für Genesys interessieren wird, weiß ich nicht. Entsprechend uninteressant ist es, sich jetzt darübr Gedanken zu machen, was ich nach Genesys mache.

    Am Rande: Große Beiträge sollte man groß schreiben, sonst sind es nämlich kleine beiträge... scnr ;->

    Programmiererer schrieb:

    was könntest Du mit Deinem jetzigen Wissensstand umsetzen?

    hmm ... das ist eine schwere Frage. Villeicht hilf es wenn ich sage, dass ich seid 11 Jahren VB, seid 9 jahren c/c++ (danach OpenGL und QT) programmiere.

    Nein, das sagt mir, dass Du vor 11 Jahren angefangen hast zu programmieren. Was Du in der Lage bist umzusetzen sagt es mir nicht. Es kann auch heißen, dass Du seit 11 Jahren einen Computer besitzt und damals mal VB installiert hast. 9 Jahre C/C++ Erfahrung ist nicht verkehrt, aber was Du damit umgesetzt hast, weiß ich deswegen auch nicht. Wieviel davon ist C++? Wieviel Zeit lief VB parallel? Was hast Du in der Zeit programmiert, was wie ein Compiler vor allem auf Datenstrukturen basiert?

    Schau Dir die Fragen aus meinem vorherigen Posting nochmal an. Da sind viele Fragen, die Du Dir beantworten solltest.
    Fang nicht an einen Compiler zu schreiben, ohne diese Tests zu machen. Ich habe einige Wochen Testprogramme geschrieben, dann erst den Compiler angefangen und diesen Anfang trotzdem komplett weggeworfen. Auch in der jetzigen Version gab es funktionierende Elemente, sechs Wochen Arbeit, 7 Tage die Woche. Es funktionierte, wurde von mir aber für nicht gut genug befunden. Markiert, Steuerung-X, 6 Wochen Arbeit in der Tonne und nochmal von vorne.
    Compiler sind die Programme, die Grundlagen schaffen für Betriebsysteme und für Applikationen. Kompromisse sind hier nicht gefragt.

    "Language shapes the way we think,
    and determines what we can think about."

    (B.L. Whorf)

    Versteh' mich nicht falsch, ich will Dich nicht davon abhalten, im Gegenteil. Aber ich halte es für sinnvoll, erstmal auszuprobieren und zu lernen, bevor Du das Projekt - natürlich nachdem Du einen großen Beitrag geleistet hast - der Open-Source-Gemeinde schenkst. Es wäre doch Zeitverschwendung gewesen, wenn die Open-Source-Gemeinde dann dankend ablehnen würde.

    Leiste Deinen Beitrag mit einem ersten Schritt: Du gehst in Deine Buchhandlung und besorgst Dir das Drachenbuch - oder besser die. Die sind nicht mehr ganz taufrisch, aber immer noch das Standardwerk zum Thema.
    Und beantworte die Fragen, die ich Dir gestellt habe. Hier oder nur für Dich. Wenn alle Fragen ein "Go" haben, schreib Deine Sprache.



  • Leiste Deinen Beitrag mit einem ersten Schritt: Du gehst in Deine Buchhandlung und besorgst Dir das Drachenbuch - oder besser die. Die sind nicht mehr ganz taufrisch, aber immer noch das Standardwerk zum Thema.

    Die beiden Drachenbücher habe ich schon bestellt 😉 (hätte ich villeicht nochmal erwähnen sollen).

    Aber gut, ich gehe nochmal jede Frage von dir durch:

    Entwickelst Du eine neue Programmiersprache, für die Du einen Compiler brauchst, oder entwickelst Du ein Paket aus Compiler und Sprache - also eine Sprache, die einen speziellen Compiler braucht, der wiederum eine spezielle Sprache braucht?

    Die Frage habe ich schon beantwortet... Ich will den Hardcore weg einschlagen. Nicht das Ziel ist mir wichtig sondern der Weg.

    Weißt Du, wie ein Parser aufgebaut ist? Wie man verschachtelte Strukturen liest, also zum Beispiel verschachtelte if-Anweisungen oder Expressions wie a = 4+3*4, wo man Operatorprioritäten berücksichtigen muss. Oder sich durch Strukturen durchhangelt: a = b.c->d;

    Nein, aber das kann/will ich wirklich noch lernen. Wird das Thema in den Drachenbüchern behandelt?

    Nein, das sagt mir, dass Du vor 11 Jahren angefangen hast zu programmieren. Was Du in der Lage bist umzusetzen sagt es mir nicht. Es kann auch heißen, dass Du seit 11 Jahren einen Computer besitzt und damals mal VB installiert hast. 9 Jahre C/C++ Erfahrung ist nicht verkehrt, aber was Du damit umgesetzt hast, weiß ich deswegen auch nicht. Wieviel davon ist C++? Wieviel Zeit lief VB parallel? Was hast Du in der Zeit programmiert, was wie ein Compiler vor allem auf Datenstrukturen basiert?

    Also vor 11 Jahren fing ich an mit VB zu programmieren. Jeder der VB kennt, weiß, dass man schnell die Grenzen erreicht. Deßhalb stieg ich ca. 2 Jahre später auf C um. Nachdem ich die Grundlagen drauf hatte, wechselte ich zu C++. Seid 4 Jahren "kann" ich schon OpenGL, seid 3 Jahren mache ich was mit QT.

    Ich hoffe, dass somit alle Fragen beantwortet sind. Und damit es nochmal jeder weiß: Vom Compiler bin ich noch weit entfernt. Ich kann ja noch nicht mit einem Compiler anfangen, bevor ich nicht weiß wie meine Sprache überhaupt aussehen soll!!!



  • keiner sollte compiler benutzen, den er nicht selber programmieren kann.



  • Programmiererer schrieb:

    Entwickelst Du eine neue Programmiersprache, für die Du einen Compiler brauchst, oder entwickelst Du ein Paket aus Compiler und Sprache - also eine Sprache, die einen speziellen Compiler braucht, der wiederum eine spezielle Sprache braucht?

    Die Frage habe ich schon beantwortet... Ich will den Hardcore weg einschlagen. Nicht das Ziel ist mir wichtig sondern der Weg.

    Da Du Dich schon drauf vorbereitest das ganze unter GPL? zu veröffentlichen, scheint mir, dass Du schon ein Ziel hast.
    Für jeden Weg, der weiter als 100kB geht, sollte man passende Ausrüstung dabei haben.
    Die "Mal eben auf den Gipfel"-Mentalität gibt den Auftakt für jede Software-Technik-Vorlesung: der Großteil der entwickelten Software funktioniert nicht oder so schlecht, dass sie nicht eingesetzt wird.

    Programmiererer schrieb:

    Weißt Du, wie ein Parser aufgebaut ist? Wie man verschachtelte Strukturen liest, also zum Beispiel verschachtelte if-Anweisungen oder Expressions wie a = 4+3*4, wo man Operatorprioritäten berücksichtigen muss. Oder sich durch Strukturen durchhangelt: a = b.c->d;

    Nein, aber das kann/will ich wirklich noch lernen. Wird das Thema in den Drachenbüchern behandelt?

    Ich hab' die beiden Bücher zu Hause, aber ich muss zugeben, dass ich sie nie komplett gelesen habe. Mehr Überflogen.
    Ausdrücke kommen drin vor, ich habe auch mal nachgeschlagen, wie sie dort behandelt werden, es aber es wieder vergessen.
    Ich habe das aus einem anderen Buch gelernt, das davon ausgeht, dass Operatoren und deren Prioritäten konstant sind und darauf einen sehr schlechten, aufgeblasenen und somit sehr redundanten Aufbau für alle Operatorprioritäten brachte. Jede Operator-Priorität bekam ihre eigene Funktion, die die jeweiligen Operatoren dieser Priorität bearbeitete.
    Das ganze ist stackintensiv und vor allem redundant (=fehleranfällig).
    Ich habe nur eine Funktion für alle Prioritäten und dieser Algorithmus wurde geschrieben, bevor ich das Drachenbuch gekauft hatte. Drei Tage hingesetzt, viel Papier bekritzelt und heraus kam ein Algorithmus, vielleicht 30 Zeilen, der alles erschlägt. Er steht iirc auch nicht im Drachenbuch drin, aber was da jetzt genau drin stand weiß ich auch nicht mehr.
    Mein Algorithmus funktioniert ja, also las ich andere Sachen.
    Ich habe mir das Drachenbuch mehr als "Zitatesammlung" zugelegt.

    Programmiererer schrieb:

    Deßhalb stieg ich ca. 2 Jahre später auf C um. Nachdem ich die Grundlagen drauf hatte, wechselte ich zu C++. Seid 4 Jahren "kann" ich schon OpenGL, seid 3 Jahren mache ich was mit QT.

    Ich hoffe, dass somit alle Fragen beantwortet sind. Und damit es nochmal jeder weiß: Vom Compiler bin ich noch weit entfernt. Ich kann ja noch nicht mit einem Compiler anfangen, bevor ich nicht weiß wie meine Sprache überhaupt aussehen soll!!!

    Wie weit Du vom Compiler entfernt bist, hängt davon ab, wie gut Du Datenstrukturen organisieren kannst. Ein Compiler ist auch nur ein "Daten einlesen" und "Daten wegschreiben".
    Wie weit Du von einer brauchbaren Sprache entfernt bist, hängt davon ab, wieviel Verständnis Du für's Programmiersprechen hast, also beim Schreiben bemerkst, dass es an dieser Stelle hakt, man sich umständlich ausdrücken muss und ob es an dieser Stelle wichtig ist, eine besseren "Satzbau" zu bekommen.
    Die Prioritäten für & oder | wurden sinnvoll hoch (== schwach bindend) gewählt. Leider hat niemand den Sinn verstanden und die Operatoren wurden in einem anderen Zusammenhang viel häufiger benutzt, wo eine niedrigere Priorität günstiger gewesen wäre. Also gilt heute, dass man besser alles klammert, was mit binären Operatoren zu tun hat, um ihnen eine starke Bindung zu verschaffen.

    Wenn man die Klammern nicht mehr zählen kann, oder redundand programmieren muss, weil die Sprache es anders nicht hergibt, oder man sich so tief verschachtelt, dass man selbst bei Breitbild-Monitoren rechts aus dem Rand rausschreibt, dann findet man recht schnell Sprachkonstrukte, über die vielleicht mal nachgedacht werden muss.

    Interessant fand ich auch, mal zu sehen, wer eigentlich auf die Idee gekommen ist, eine Zuweisung mit '=' zu beschreiben. Programmiersprachen haben einen Hang zur Mathematik, aber '=' verlangt Gleichheit um wahr zu sein. Ich kann jeden Mathematiker (zum Teil) verstehen, der sich weigert eine Sprache zu nutzen, wo man 'A = A + 1' schreiben darf. In mathematischer Semantik ist das ganz einfach falsch. Die vergleichen jetzt seit ein paar tausend Jahren und letztes Jahrhundert kommt einer daher und sagt "Nöö, ich find das so lustiger." und ändern die Semantik. Ich würde als Informatiker auch etwas blöd gucken, wenn 'if' in Zukunft 'function' und 'int' dann 'while' heißen würde.
    Früher gab es Sprachen, da wurde ein Vergleich mit '=' gemacht und eine Zuweisung mit 'LET':
    "LET A = 4" - Lass a gleich 4 sein. Da man viel zuweist, hat Basic das LET mit der Zeit verloren: "A = 4".
    In C ist Zuweisung '=' und Gleich ist '=='. Pascal hat das mit ':=' etwas geschickter gemacht: Pascal hat von Algol kopiert.
    Schau Dir die Fehler der anderen an, da gibt es vieles, was man verbessern kann.

    Schreib Testprogramme und guck Dich um, was eine neue Sprache besser machen sollte. Java und C# sind recht neu - was ist die Kritik an diesen Sprachen!? Warum wurde die Kritik nicht berücksichtig, obwohl die Sprachen doch eigentlich vom Reißbrett kommen und zumindest C# eigentlich nicht gewachsen ist.



  • Java und C# sind recht neu - was ist die Kritik an diesen Sprachen!? Warum wurde die Kritik nicht berücksichtig, obwohl die Sprachen doch eigentlich vom Reißbrett kommen und zumindest C# eigentlich nicht gewachsen ist.

    Dafür habe ich dieses Topic auf gemacht. Ich wollte eigentlich nur Fragen, was ihr anders machen würdet ^^

    Aber das mit dem '=' finde ich schon mal gut.
    Auch nervt mich ständig, dass ich prinft, printf und nochmal printf für die konsole eingeben muss. Viel cooler würde ich so z.B. finden:

    < "&a"  // eine art scanf
    > "Text ... blub"  // printf
    > "%a inhalt von a"
    

    Gut, dass ist jetzt villeicht schlecht durchdacht, aber trotdem is ist kürzer 😃


Anmelden zum Antworten