[Vorstellung] Yoghurt

Hier kann jeder sich kurz vorstellen bzw. einen kurzen Steckbrief angeben.
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [Vorstellung] Yoghurt

Beitrag von Xin » Mo Dez 03, 2012 12:02 pm

Yoghurt hat geschrieben:
Xin hat geschrieben:Das finde ich grundsätzlich nicht schlecht, wenn eine Sprache den Benutzer in eine Richtung drückt - solange sie das in der Form tut, dass es für den Benutzer von Vorteil ist.
Also ich finde es besser, wenn eine Sprache die Entscheidung wie was umzusetzen ist dem Entwickler überlässt (Java <> C++).
Durch weglassen von Features den Programmierer beeinflussen zu wollen, halte ich für den falschen Weg.
Außerdem finde ich Klassen und Vererbung durchaus nützlich.^^
Da spricht ja auch nichts gegen. Ich werde auch Pointer unterstützen, aber ich werde sie unhandlich machen. Wer einen Pointer möchte, wird nicht nur ein "*" machen dürfen, sondern muss "ptr" schreiben. Unhandlicher. Der -> Operator wird wird fehlen, man muss also einen Pointer erstmal zu einer Referenz umbiegen, bevor man mit dem . Operator zugreifen kann. Man wird - logischerweise - weiter mit Pointern arbeiten können, aber es wird einfacher sein, mit Referenzen zu arbeiten.

Die Sprache drängt einen also dazu, konstante Referenzen zu benutzen, ganz einfach, weil es praktischer zu programmieren ist. Der Programmierer wird sich also kaum wehren, wenn er mit weniger Tippaufwand konstante Referenzen verwendet und entsprechend Aufwand einsetzen, falls er mutable ptr benötigt. Die Sprache drängt ihn also in eine Richtung, die ich zumindest für besser halte.
Dafür muss nichts weggelassen werden.
Yoghurt hat geschrieben:
Xin hat geschrieben:Meine große Hoffnung ist immernoch mein Resturlaub für dieses Jahr... ;-)
Bin schon sehr gespannt was dabei raus kommt. :) Warte bestimmt schon 1,5 - 2 Jahre auf eine erste testbare Version.^^
Wo hast Du denn von meinem Projekt gehört?
Yoghurt hat geschrieben: Wenn ich mehr von Compilerbau verstehen würde, würde ich dir meine Hilfe anbieten.^^
Aber mit mehr als Skriptsprachen (also Interpretern) habe ich mich noch nicht beschäftigt und mit Assembler habe ich auch noch nichts gemacht.
Das mit der Hilfe habe ich früher mal ausprobiert. Gute Entwickler verdienen lieber Geld mit ihren Fähigkeiten; Einsteiger sind euphorisch, wollen helfen, lassen sich ausbilden, werden gute Entwickler und verdienen dann lieber Geld ;-)

Das mit der Hilfe hat bisher nicht geklappt. *lach*
Yoghurt hat geschrieben:
Xin hat geschrieben:Geht mir bisher ähnlich mit ObjC. So spannend erscheint mir das ganze nicht, stünde nicht Apple dahinter, wäre ObjC wohl schon längst verschwunden.
Also die Syntax finde ich interessant. Ist mal was anderes. :P
Und das Konzept Methodenaufrufe als Nachrichten an Objekte oder Klassen zu sehen war mir auch neu. :)
Ich habe noch kaum Erfahrung in ObjC, aber das die Idee, dass meine Nachricht evtl. einfach im Nirvana verschwindet, wenn das Objekt die Methode nicht unterstützt, wirkt auf mich nicht vertrauenerweckend.
Yoghurt hat geschrieben:
Xin hat geschrieben:Die nachfolgenden beiden Tage hätte uns eine 90jährige Oma am Rolator mit einem Lächeln überholt. ^^
Klingt nach nem richtigen Abenteuer :) und war die Mühen bestimmt Wert. (Im nachhinein^^)
Naja, Abenteuer wäre übertrieben. Es war anstrengend, eine Herausforderung, es gab unheimlich viel schönes zu sehen und es war die Mühen wert - schon alleine, um sich in einer Situation zu erleben, wo man mal derart fertig ist und sich für fünf Schritt aufraffen muss, als würde man nach einer durchzechten Nacht nach 3 Stunden aus dem Bett aufstehen müssen und zur Arbeit gehen.
Yoghurt hat geschrieben:
Xin hat geschrieben:Ich habe nie von frustfrei-lernen gelernt. Ich habe jetzt mal spontan nach der Quotientenregel gesucht und sie gefunden. Das finde ich schonmal gut. Die Erklärung erscheint mir recht kurz, aber es sind Beispiele drin. Ob ich es dadurch verstanden hätte, weiß ich nicht. Bei den Integration-Regeln ist bei der partiellen Integration Schluss. Für die Matheklausur hätte das bei uns nicht gereicht. Aber dafür hat man dann ja den Papula.

Das Wissen ist definitiv brauchbar! Wenn Du das drauf hast, kommst Du gut durch's Studium. Ich zum Beispiel müsste mich da inzwischen auch wieder einlesen, weil ich fast nur noch mit Vektoren zu tun habe.
Also die Bücher werde ich mir wahrscheinlich kaufen. :)
Vorher schaue ich mir noch frustfrei-lernen genauer an um einen Überblick und mehr Grundlagenwissen zu erhalten. :)
Im Papula steht das gleiche... nur ausführlicher, mit Übungsaufgaben und mit Lösungen.
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
Yoghurt
Beiträge: 79
Registriert: Fr Nov 16, 2012 8:01 am
Wohnort: Niederbayern

Re: [Vorstellung] Yoghurt

Beitrag von Yoghurt » Mo Dez 03, 2012 1:06 pm

Xin hat geschrieben:Da spricht ja auch nichts gegen. Ich werde auch Pointer unterstützen, aber ich werde sie unhandlich machen. Wer einen Pointer möchte, wird nicht nur ein "*" machen dürfen, sondern muss "ptr" schreiben. Unhandlicher. Der -> Operator wird wird fehlen, man muss also einen Pointer erstmal zu einer Referenz umbiegen, bevor man mit dem . Operator zugreifen kann. Man wird - logischerweise - weiter mit Pointern arbeiten können, aber es wird einfacher sein, mit Referenzen zu arbeiten.

Die Sprache drängt einen also dazu, konstante Referenzen zu benutzen, ganz einfach, weil es praktischer zu programmieren ist. Der Programmierer wird sich also kaum wehren, wenn er mit weniger Tippaufwand konstante Referenzen verwendet und entsprechend Aufwand einsetzen, falls er mutable ptr benötigt. Die Sprache drängt ihn also in eine Richtung, die ich zumindest für besser halte.
Dafür muss nichts weggelassen werden.
Das ist, meiner Meinung nach, der richtigere Weg. So werden die meisten "sauberer" programmieren, aber wenn jemand weiß was er tut bzw. tun möchte ist dies auch möglich.
Xin hat geschrieben:Wo hast Du denn von meinem Projekt gehört?
Ich glaub das war im gulli:board.
Xin hat geschrieben:Das mit der Hilfe habe ich früher mal ausprobiert. Gute Entwickler verdienen lieber Geld mit ihren Fähigkeiten; Einsteiger sind euphorisch, wollen helfen, lassen sich ausbilden, werden gute Entwickler und verdienen dann lieber Geld ;-)

Das mit der Hilfe hat bisher nicht geklappt. *lach*
Kann ich mir gut vorstellen. Vor allem weil es auch kein triviales Projekt ist und man wahrscheinlich nicht so viele Erfolgserlebnisse hat wie bei einem kleinen Spiel oder ähnlichem. Da werden viele die Motivation und die anfängliche Euphorie verlieren.
Xin hat geschrieben:Ich habe noch kaum Erfahrung in ObjC, aber das die Idee, dass meine Nachricht evtl. einfach im Nirvana verschwindet, wenn das Objekt die Methode nicht unterstützt, wirkt auf mich nicht vertrauenerweckend.
Ja da hast du eigentlich recht. Aber immerhin hab ich dabei eine neue Sichtweise gelernt bzw. kennen gelernt. :)
Xin hat geschrieben:Naja, Abenteuer wäre übertrieben. Es war anstrengend, eine Herausforderung, es gab unheimlich viel schönes zu sehen und es war die Mühen wert - schon alleine, um sich in einer Situation zu erleben, wo man mal derart fertig ist und sich für fünf Schritt aufraffen muss, als würde man nach einer durchzechten Nacht nach 3 Stunden aus dem Bett aufstehen müssen und zur Arbeit gehen.
Ja und eine gute Geschichte hat man auch zu erzählen. :)
Xin hat geschrieben:Im Papula steht das gleiche... nur ausführlicher, mit Übungsaufgaben und mit Lösungen.
Dann lohnt es sich vll die Bücher gleich zu kaufen, auch weil ich lieber Bücher lese als etwas am PC.^^
Mal schaun. :)
"Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

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

Re: [Vorstellung] Yoghurt

Beitrag von Xin » Mo Dez 03, 2012 3:26 pm

Yoghurt hat geschrieben:
Xin hat geschrieben:Das mit der Hilfe habe ich früher mal ausprobiert. Gute Entwickler verdienen lieber Geld mit ihren Fähigkeiten; Einsteiger sind euphorisch, wollen helfen, lassen sich ausbilden, werden gute Entwickler und verdienen dann lieber Geld ;-)

Das mit der Hilfe hat bisher nicht geklappt. *lach*
Kann ich mir gut vorstellen. Vor allem weil es auch kein triviales Projekt ist und man wahrscheinlich nicht so viele Erfolgserlebnisse hat wie bei einem kleinen Spiel oder ähnlichem. Da werden viele die Motivation und die anfängliche Euphorie verlieren.
Es gibt durchaus gute Erfolgsmomente.

Wenn ein Programm ohne Fehlermeldungen zu provozieren durch den Compiler wandert. Super. :-) Während ein Unbeteiligter dazu äußert, dass er das mit einer leeren main-Funktion genausogut hinbekommt. Wenn man die richtigen Fehlermeldungen sieht - lange bevor man testet, was gehen soll, testet man vorrangig, was nicht gehen soll. Programme zu kompilieren, die Fehler werfen, wirkt auf Unbeteiligte auch nicht so wirklich spannend. ;-)
Dann der Punkt, wo etwas funktioniert, also ein Programm durchgeführt wird. Und der Unbeteiligte meldet, dass man das in PHP genauso einfach machen kann.

Das große Ganze im Auge zu behalten ist manchmal schon nicht ganz so einfach. ;-)

Ansonsten... proggen.org ist der erste Server mit Genesys-Installation - die tut da zwar noch nichts, aber ich wollte auch nur das Debian-Paket testen. Grundsätzlich arbeite ich also schon daran, dass der Compiler auch mal anderswo zum Experimentieren eingesetzt werden kann.
Yoghurt hat geschrieben:
Xin hat geschrieben:Ich habe noch kaum Erfahrung in ObjC, aber das die Idee, dass meine Nachricht evtl. einfach im Nirvana verschwindet, wenn das Objekt die Methode nicht unterstützt, wirkt auf mich nicht vertrauenerweckend.
Ja da hast du eigentlich recht. Aber immerhin hab ich dabei eine neue Sichtweise gelernt bzw. kennen gelernt. :)
Gute Einstellung. Und kannst Du nun ObjC?
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
Yoghurt
Beiträge: 79
Registriert: Fr Nov 16, 2012 8:01 am
Wohnort: Niederbayern

Re: [Vorstellung] Yoghurt

Beitrag von Yoghurt » Mo Dez 03, 2012 5:00 pm

Xin hat geschrieben:Es gibt durchaus gute Erfolgsmomente.

Wenn ein Programm ohne Fehlermeldungen zu provozieren durch den Compiler wandert. Super. :-) Während ein Unbeteiligter dazu äußert, dass er das mit einer leeren main-Funktion genausogut hinbekommt. Wenn man die richtigen Fehlermeldungen sieht - lange bevor man testet, was gehen soll, testet man vorrangig, was nicht gehen soll. Programme zu kompilieren, die Fehler werfen, wirkt auf Unbeteiligte auch nicht so wirklich spannend. ;-)
Dann der Punkt, wo etwas funktioniert, also ein Programm durchgeführt wird. Und der Unbeteiligte meldet, dass man das in PHP genauso einfach machen kann.

Das große Ganze im Auge zu behalten ist manchmal schon nicht ganz so einfach. ;-)
Kann ich mir gut vorstellen. Ein Compiler ist eben kein Projekt das ein Unbeteiligter "spannend" findet. Da kann man auch keine coolen visuellen Sachen vorzeigen. :P
Da ich aber mit den bestehenden Programmiersprache nicht wirklich zufrieden bin und ich mich grundsätzlich für Programmiersprachen interessiere finde ich dein Projekt auf jeden Fall interessant. Bin wirklich gespannt was dabei herauskommt. :)

Gibt es eigentlich freie/gute Lektüre im Netz die sich mit Compilerbau beschäftigt? Wenn ja kannst du da etwas empfehlen? :)
Xin hat geschrieben:Ansonsten... proggen.org ist der erste Server mit Genesys-Installation - die tut da zwar noch nichts, aber ich wollte auch nur das Debian-Paket testen. Grundsätzlich arbeite ich also schon daran, dass der Compiler auch mal anderswo zum Experimentieren eingesetzt werden kann.
Hast du dann sowas wie den Go Playground geplant? :)
Xin hat geschrieben:Gute Einstellung. Und kannst Du nun ObjC?
Also ich hab mir das vor etwa 2 - 2,5 Jahren angeschaut und hab auch irgendwo ein Buch im Schrank, aber wirklich können tue ich es nicht. :)
"Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

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

Re: [Vorstellung] Yoghurt

Beitrag von Xin » Mo Dez 03, 2012 5:35 pm

Yoghurt hat geschrieben:
Xin hat geschrieben:Das große Ganze im Auge zu behalten ist manchmal schon nicht ganz so einfach. ;-)
Kann ich mir gut vorstellen. Ein Compiler ist eben kein Projekt das ein Unbeteiligter "spannend" findet. Da kann man auch keine coolen visuellen Sachen vorzeigen. :P
Da ich aber mit den bestehenden Programmiersprache nicht wirklich zufrieden bin und ich mich grundsätzlich für Programmiersprachen interessiere finde ich dein Projekt auf jeden Fall interessant. Bin wirklich gespannt was dabei herauskommt. :)
Ich auch. ;-)

Ich habe die letzten Jahre eigentlich mehr mit der Planung verbracht, nachdem ich einen C-Compiler entwickelt hatte. Ich plane immernoch, deswegen bin ich weiterhin gespannt. Dieses Jahr hatte ich nochmal größere Änderungen in der Sprache, weil ich ein Klassen-Konzept vorbereiten will, das ich vor Jahren in einem andern Forum diskutiert habe, was jeder absolut daneben fand und das ich ausprobieren möchte. Entweder liege ich richtig und es ist ein Alleinstellungsmerkmal oder es ist das Merkmal, dass mich als Genesys-Entwickler alleine stellt. ^^
Yoghurt hat geschrieben:Gibt es eigentlich freie/gute Lektüre im Netz die sich mit Compilerbau beschäftigt? Wenn ja kannst du da etwas empfehlen? :)
Wir hatten im Studium Compilerbau... ich kann Dir leider nicht mehr sagen, auf welchem Buch das basierte.

Ich hatte zwar schon mit dem ersten Compiler begonnen, aber ihn dann doch nochmal verworfen. Den aktuellen Compiler schreibe ich in Teilen immer wieder neu und um. Die Änderungen, die die Sprache in den letzten Jahren mitgemacht hat, könnte man niemanden als "Weiterentwicklung" verkaufen. Aus dem Grund veröffentliche ich sie ja auch noch nicht.

Ich gehe mit meinen Anforderungen vermutlich anders an die Geschichte heran, was mich "inkompatibel" zu den bisher gefundenen Tutorials und Büchern macht. Ich kann zur Laufzeit die Priorität der Operatoren ändern. Das klingt als Anforderung erstmal total wahnsinnig (hat aber einen guten Grund), bedeutet aber einen anderen Aufbau des Expression-Parsers. Mehr Flexibilität bedeutet aber nicht zwangsläufig mehr Code - im Gegenteil.
Der Expressionparser ist bei mir vergleichsweise kurz, während die übliche Beschreibung, wie man derartiges formuliert, mir zu aufwendig war.

Ich habe mich nachträglich umgesehen, ob es gute Literatur gibt. Die meisten spezialisieren sich auf den Parserbau. Ein häufiges, aber eigentlich eher einfaches Problem. Gute Texte zur semantischen Analyse, also das was eine Sprache leistungsfähig macht, kenne ich eigentlich leider keine. Es ist viel... ausprobieren, experimentieren.
Gelegentlich findet man Texte, die fadenscheinig beschreiben, warum andere Entwickler Features nicht implementiert haben, an denen ich länger experimentiere.

Im Netz findet sich zu dem Thema erstaunlich wenig. Ich bin Facebook beigetreten, weil ich dort eine Compilerbau-Community vermutete. Es gibt auch eine, aber im Prinzip ist die Gruppe tot.
In einem ernstzunehmenden Rahmen gibt es um Compilerbau nichts - oder ich habe es noch nicht gefunden. Ich suche aber auch schon länger nicht mehr.
Yoghurt hat geschrieben:
Xin hat geschrieben:Ansonsten... proggen.org ist der erste Server mit Genesys-Installation - die tut da zwar noch nichts, aber ich wollte auch nur das Debian-Paket testen. Grundsätzlich arbeite ich also schon daran, dass der Compiler auch mal anderswo zum Experimentieren eingesetzt werden kann.
Hast du dann sowas wie den Go Playground geplant? :)
Hmm... jain... ich denke über sowas nach, verfolge es aber nicht wirklich.

Aktuell verfolge ich eher eine Shell wie in Python.


Das hier ist Deine Vorstellung: Was programmierst Du? Offenbar bist Du da schon länger dran.
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
Yoghurt
Beiträge: 79
Registriert: Fr Nov 16, 2012 8:01 am
Wohnort: Niederbayern

Re: [Vorstellung] Yoghurt

Beitrag von Yoghurt » Di Dez 04, 2012 11:28 am

Xin hat geschrieben:Ich auch. ;-)

Ich habe die letzten Jahre eigentlich mehr mit der Planung verbracht, nachdem ich einen C-Compiler entwickelt hatte. Ich plane immernoch, deswegen bin ich weiterhin gespannt. Dieses Jahr hatte ich nochmal größere Änderungen in der Sprache, weil ich ein Klassen-Konzept vorbereiten will, das ich vor Jahren in einem andern Forum diskutiert habe, was jeder absolut daneben fand und das ich ausprobieren möchte. Entweder liege ich richtig und es ist ein Alleinstellungsmerkmal oder es ist das Merkmal, dass mich als Genesys-Entwickler alleine stellt. ^^
Gibt es diesen Diskussionsthread noch? :) Wenn ja, findest du den noch?^^
Xin hat geschrieben:Wir hatten im Studium Compilerbau... ich kann Dir leider nicht mehr sagen, auf welchem Buch das basierte.

Ich hatte zwar schon mit dem ersten Compiler begonnen, aber ihn dann doch nochmal verworfen. Den aktuellen Compiler schreibe ich in Teilen immer wieder neu und um. Die Änderungen, die die Sprache in den letzten Jahren mitgemacht hat, könnte man niemanden als "Weiterentwicklung" verkaufen. Aus dem Grund veröffentliche ich sie ja auch noch nicht.

Ich gehe mit meinen Anforderungen vermutlich anders an die Geschichte heran, was mich "inkompatibel" zu den bisher gefundenen Tutorials und Büchern macht. Ich kann zur Laufzeit die Priorität der Operatoren ändern. Das klingt als Anforderung erstmal total wahnsinnig (hat aber einen guten Grund), bedeutet aber einen anderen Aufbau des Expression-Parsers. Mehr Flexibilität bedeutet aber nicht zwangsläufig mehr Code - im Gegenteil.
Der Expressionparser ist bei mir vergleichsweise kurz, während die übliche Beschreibung, wie man derartiges formuliert, mir zu aufwendig war.

Ich habe mich nachträglich umgesehen, ob es gute Literatur gibt. Die meisten spezialisieren sich auf den Parserbau. Ein häufiges, aber eigentlich eher einfaches Problem. Gute Texte zur semantischen Analyse, also das was eine Sprache leistungsfähig macht, kenne ich eigentlich leider keine. Es ist viel... ausprobieren, experimentieren.
Gelegentlich findet man Texte, die fadenscheinig beschreiben, warum andere Entwickler Features nicht implementiert haben, an denen ich länger experimentiere.

Im Netz findet sich zu dem Thema erstaunlich wenig. Ich bin Facebook beigetreten, weil ich dort eine Compilerbau-Community vermutete. Es gibt auch eine, aber im Prinzip ist die Gruppe tot.
In einem ernstzunehmenden Rahmen gibt es um Compilerbau nichts - oder ich habe es noch nicht gefunden. Ich suche aber auch schon länger nicht mehr.
Ja sowas hab ich schon vermutet. Hab mich da auch schon mal bisschen umgesehen, aber nichts wirklich brauchbares gefunden. :(
Xin hat geschrieben:Hmm... jain... ich denke über sowas nach, verfolge es aber nicht wirklich.

Aktuell verfolge ich eher eine Shell wie in Python.
Den interaktiv-Modus von Python (und auch anderen Sprachen, z. B. Ruby und Scala) find ich genial. :)
Nur bei einer kompilierenden Sprache stelle ich mir das vom Konzept her relativ schwer vor. Willst du das dann immer übersetzen und dann ausführen? Dann hättest du wahrscheinlich das Problem, dass alles als eigenes Programm ausgeführt wird und vorher definierte Variablen oder Funktionen nicht zur Verfügung stehen würden.
Oder hast du vor da den Übersetzungsvorgang wegzulassen und die Ausdrücke zu interpretieren?
Das würde ein gutes Design des Compiler voraussetzen (damit mein ich Trennung von Lexer, Parser, Übersetzer, usw.).
Xin hat geschrieben:Das hier ist Deine Vorstellung: Was programmierst Du?
Also zurzeit arbeite ich privat nur an kleineren Web-Sachen mit PHP.

Vorher hab ich mir verschiedenste Dinge angeschaut. Am meisten denke ich zum Thema Spieleprogrammierung. Bis ich gemerkt habe, dass mir die wirkliche Entwicklung von Spielen eigentlich keinen Spaß macht. Was mir Spaß macht ist das Konzept zu einem Spiel zu erstellen (eventuell mit Story) und die technischen Sachen (z. B. Game Engine Entwicklung). Digitale Kunst, Level Design und skripten von Spielinhalten macht mir jedoch gar keinen Spaß (und daraus besteht ja die meiste Arbeit an einem Spiel). :)

Eigentlich bin ich derzeit auf der Suche nach einem neuen interessanten Projekt.^^
Aber ich denke es wird etwas in Richtung Programmiersprachen. Erstens weil mich das Thema am meisten interessiert und Zweitens weil ich mir dazu (nach Spieleprogrammierung) wahrscheinlich am meisten angeschaut habe. Aber halt eher theoretisch bzw. aus Benutzersicht, d. h. was für Konzepte gibt es und wie sind diese in den verschiedenen Sprachen umgesetzt.

Außerdem bin ich derzeit eher wieder in einer Lernphase. Speziell halt Themen die fürs Studium relevant werden. :)
Xin hat geschrieben:Offenbar bist Du da schon länger dran.
Wie kommst du zu der Annahme? :)
"Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

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

Re: [Vorstellung] Yoghurt

Beitrag von Xin » Di Dez 04, 2012 12:25 pm

Yoghurt hat geschrieben:
Xin hat geschrieben:Ich habe die letzten Jahre eigentlich mehr mit der Planung verbracht, nachdem ich einen C-Compiler entwickelt hatte. Ich plane immernoch, deswegen bin ich weiterhin gespannt. Dieses Jahr hatte ich nochmal größere Änderungen in der Sprache, weil ich ein Klassen-Konzept vorbereiten will, das ich vor Jahren in einem andern Forum diskutiert habe, was jeder absolut daneben fand und das ich ausprobieren möchte. Entweder liege ich richtig und es ist ein Alleinstellungsmerkmal oder es ist das Merkmal, dass mich als Genesys-Entwickler alleine stellt. ^^
Gibt es diesen Diskussionsthread noch? :) Wenn ja, findest du den noch?^^
Keine Ahnung, müsste ich eigentlich selbst mal suchen und archivieren.

Der Thread ist allerdings auch nur eine Grundlage für ein Konzept und die Grundlage kam damals auch nicht gut an. ^^
Das ergibt macht deutlich mehr Sinn, wenn man es in einer Sprache einfach ausformulieren kann.
Yoghurt hat geschrieben:
Xin hat geschrieben:Ich habe mich nachträglich umgesehen, ob es gute Literatur gibt. Die meisten spezialisieren sich auf den Parserbau. Ein häufiges, aber eigentlich eher einfaches Problem. Gute Texte zur semantischen Analyse, also das was eine Sprache leistungsfähig macht, kenne ich eigentlich leider keine. Es ist viel... ausprobieren, experimentieren.
...
In einem ernstzunehmenden Rahmen gibt es um Compilerbau nichts - oder ich habe es noch nicht gefunden. Ich suche aber auch schon länger nicht mehr.
Ja sowas hab ich schon vermutet. Hab mich da auch schon mal bisschen umgesehen, aber nichts wirklich brauchbares gefunden. :(
Es spricht nichts dagegen, hier Fragen zu stellen. Wenn ich sie beantworten kann, werde ich das wohl tun. Wenn nicht - umso interessanter ;-)
Yoghurt hat geschrieben:
Xin hat geschrieben:Hmm... jain... ich denke über sowas nach, verfolge es aber nicht wirklich.

Aktuell verfolge ich eher eine Shell wie in Python.
Den interaktiv-Modus von Python (und auch anderen Sprachen, z. B. Ruby und Scala) find ich genial. :)
Nur bei einer kompilierenden Sprache stelle ich mir das vom Konzept her relativ schwer vor. Willst du das dann immer übersetzen und dann ausführen? Dann hättest du wahrscheinlich das Problem, dass alles als eigenes Programm ausgeführt wird und vorher definierte Variablen oder Funktionen nicht zur Verfügung stehen würden.
Ich habe ein 10 Phasenmodell aufgestellt, das die beiden Begriffe "Interpreter"/"Compiler" in 10 Kategorien unterteilt, die aufeinander aufbauen. Eine Programmiersprache lässt sich soweit kategorisieren, in welcher Phase das Programm zur Ausführung kommt.
Für alle 10 Kategorien gibt es Beispiele. So läuft Bash in Phase 1, PHP bei 3, C++ je nach Kompilierung zwischen 6 und 8 und Java bei 10.

Es gibt vier interessante Kategorien. Zwei davon sind interpretierend, zwei davon laufen nativ. Der Rest ist eher... unpraktisch bis uninteressant.
Die erste interessante, interpretierende Kategorie erlaubt den "Interaktiv"-Modus.
Ich sehe wenig Grund warum eine Programmiersprache sich auf eine dieser Kategorien festlegen müsste.
Wenn man sich darauf festlegt, sich nicht festzulegen, bedeutet das, dass man Design des Compilers verhältnismäßig offen lassen muss. Da steckt viel Experimentiererei drin und auch gerne mal ein Umbau.
Yoghurt hat geschrieben:Oder hast du vor da den Übersetzungsvorgang wegzulassen und die Ausdrücke zu interpretieren?
Das würde ein gutes Design des Compiler voraussetzen (damit mein ich Trennung von Lexer, Parser, Übersetzer, usw.).
Das Design des Compilers ist definitiv anders. ^^

Ob es gut ist, wird sich zeigen, falls es sinnvoll funktioniert. ;-)
Yoghurt hat geschrieben:
Xin hat geschrieben:Das hier ist Deine Vorstellung: Was programmierst Du?
Vorher hab ich mir verschiedenste Dinge angeschaut. Am meisten denke ich zum Thema Spieleprogrammierung. Bis ich gemerkt habe, dass mir die wirkliche Entwicklung von Spielen eigentlich keinen Spaß macht. Was mir Spaß macht ist das Konzept zu einem Spiel zu erstellen (eventuell mit Story) und die technischen Sachen (z. B. Game Engine Entwicklung). Digitale Kunst, Level Design und skripten von Spielinhalten macht mir jedoch gar keinen Spaß (und daraus besteht ja die meiste Arbeit an einem Spiel). :)
Die meisten Programmierer wollen Spiele entwickeln. Das ist auch ein interessantes Feld. Auch ich möchte irgendwann noch ein Spiel entwickeln, wenn meine derzeitigen Projekte laufen. Die interessieren mich derzeit einfach noch mehr.
Yoghurt hat geschrieben:Eigentlich bin ich derzeit auf der Suche nach einem neuen interessanten Projekt.^^
Aber ich denke es wird etwas in Richtung Programmiersprachen. Erstens weil mich das Thema am meisten interessiert und Zweitens weil ich mir dazu (nach Spieleprogrammierung) wahrscheinlich am meisten angeschaut habe. Aber halt eher theoretisch bzw. aus Benutzersicht, d. h. was für Konzepte gibt es und wie sind diese in den verschiedenen Sprachen umgesetzt.
Eins meiner ersten Test-Projekte für den Compiler war ein Pseudoassembler, der einfachste assemblerähnliche Befehle kannte (ADD, INC, MUL, ...) und Integer-Variablen. Außerdem gab es einen SetPixel-Befehl, der einen Pixel in ein Fenster malte. Um Muster zu malen, musste ich Bedingungen und Sprünge realisieren. Dabei habe ich schon einiges gelernt für den späteren Compiler.
Yoghurt hat geschrieben:Außerdem bin ich derzeit eher wieder in einer Lernphase. Speziell halt Themen die fürs Studium relevant werden. :)
Da kam Compilerbau noch nicht vor?
Yoghurt hat geschrieben:
Xin hat geschrieben:Offenbar bist Du da schon länger dran.
Wie kommst du zu der Annahme? :)
Du sprachst von in den letzten zwei Jahren...
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
Yoghurt
Beiträge: 79
Registriert: Fr Nov 16, 2012 8:01 am
Wohnort: Niederbayern

Re: [Vorstellung] Yoghurt

Beitrag von Yoghurt » Di Dez 04, 2012 12:43 pm

Xin hat geschrieben:Keine Ahnung, müsste ich eigentlich selbst mal suchen und archivieren.

Der Thread ist allerdings auch nur eine Grundlage für ein Konzept und die Grundlage kam damals auch nicht gut an. ^^
Das ergibt macht deutlich mehr Sinn, wenn man es in einer Sprache einfach ausformulieren kann.
Würde mich auf jeden Fall interessieren.
Xin hat geschrieben:Es spricht nichts dagegen, hier Fragen zu stellen. Wenn ich sie beantworten kann, werde ich das wohl tun. Wenn nicht - umso interessanter ;-)
Das werde ich machen. :)

Xin hat geschrieben:Ich habe ein 10 Phasenmodell aufgestellt, das die beiden Begriffe "Interpreter"/"Compiler" in 10 Kategorien unterteilt, die aufeinander aufbauen. Eine Programmiersprache lässt sich soweit kategorisieren, in welcher Phase das Programm zur Ausführung kommt.
Für alle 10 Kategorien gibt es Beispiele. So läuft Bash in Phase 1, PHP bei 3, C++ je nach Kompilierung zwischen 6 und 8 und Java bei 10.

Es gibt vier interessante Kategorien. Zwei davon sind interpretierend, zwei davon laufen nativ. Der Rest ist eher... unpraktisch bis uninteressant.
Die erste interessante, interpretierende Kategorie erlaubt den "Interaktiv"-Modus.
Ich sehe wenig Grund warum eine Programmiersprache sich auf eine dieser Kategorien festlegen müsste.
Wenn man sich darauf festlegt, sich nicht festzulegen, bedeutet das, dass man Design des Compilers verhältnismäßig offen lassen muss. Da steckt viel Experimentiererei drin und auch gerne mal ein Umbau.
Das habe ich so auch noch nie gehört, aber klingt nach einem interessanten Ansatz. Ich glaube ich muss einen gesonderten Thread mit Fragen zu deinem Projekt aufmachen. :)
Xin hat geschrieben:Die meisten Programmierer wollen Spiele entwickeln. Das ist auch ein interessantes Feld. Auch ich möchte irgendwann noch ein Spiel entwickeln, wenn meine derzeitigen Projekte laufen. Die interessieren mich derzeit einfach noch mehr.
Ja, da hast du wohl recht. Aber die meisten Arbeiten an einem Spiel finde ich eher langweilig bzw. liegen nicht in meinem Interessenbereich. :)
Xin hat geschrieben:Eins meiner ersten Test-Projekte für den Compiler war ein Pseudoassembler, der einfachste assemblerähnliche Befehle kannte (ADD, INC, MUL, ...) und Integer-Variablen. Außerdem gab es einen SetPixel-Befehl, der einen Pixel in ein Fenster malte. Um Muster zu malen, musste ich Bedingungen und Sprünge realisieren. Dabei habe ich schon einiges gelernt für den späteren Compiler.
Auf jeden Fall ein spannendes Projekt und bestimmt würde ich da sehr viel lernen. Vielleicht versuche ich mich an sowas ähnlichem auch mal. Danke :)
Xin hat geschrieben:Da kam Compilerbau noch nicht vor?
Ich denke nicht, dass wir das im Studium groß behandeln werden. Aber persönlich interessiert es mich. :)
Xin hat geschrieben:Du sprachst von in den letzten zwei Jahren...
Vor so ca. 2 Jahren hab ich mir Obj-C angeschaut. :)
"Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: [Vorstellung] Yoghurt

Beitrag von Dirty Oerti » Di Jan 15, 2013 4:01 pm

Yoghurt hat geschrieben:Dann lohnt es sich vll die Bücher gleich zu kaufen, auch weil ich lieber Bücher lese als etwas am PC.^^
Mal schaun. :)
Ich rate dir zu nicht nur "mal schaun". Die Papulabücher sind Gold wert. Ich studiere (Luft- und Raumfahrt-) Informatik an der Uni in Würzburg, und kenne viele "reine" Informatiker (Bachelor wie auch Master) und auch ein paar von der FH (über Umwege) und noch ein paar von anderen FHs. (Alles Informatik).

Die Bücher sind wirklich eine gute Anschaffung. Gerade, wenn die Grundlagen (damit meine ich nicht Bruchrechnen, Prozentrechnung oder was auch immer) nicht so gut sitzen.

Wenn du dir keine Sorgen vor Mathe machen willst, dann ist es am besten, wenn "Kurvendiskussion" für dich zu den Grundlagen und selbstverständlichen Dingen der Mathematik gehört, denn du wirst immer wieder mal Nullstellen oder Extremwerte finden müssen.
Die Diskussion als solches gibt es also nicht, man braucht aber dennoch alles was dazu gehört.
Integratieren und Ableiten solltest du im Schlaf können. Also nicht jetzt, aber wenn du jetzt damit anfängst brauchst du dir keine Sorgen machen. Man kommt auch ohne durch, aber viel du ersparst dir viel Streß wenn du das kannst.
Dazu zählt unter anderem: "Normale" Integrale/Ableitungen von verschiedenen Funktionen (x^n, e^f(x), f(x) + g(x)) aber auch unbestimmte Integrale, Integration durch Substitution, partielle Integration, selbstverständlich alles, was man Ableiten kann (Quotientenregel, Kettenregel, etc)

Die drei Bücher helfen dir da gut, um das zu lernen. Von Papula gibt es außerdem eine Formelsammlung. Die ist auch gut, an soweit ich weiß jeder FH für Prüfungen zugelassen und daher eigentlich gut geeignet. Wenn du noch mehr willst, dann kannst du dir auch "das schwarze Buch" (http://www.amazon.de/Formeln-Hilfen-zur ... 92392335X/) zulegen.

Nur so viel ;)
Yoghurt hat geschrieben:Ich habe gesehen, dass du angefangen hast ein Java-Tutorial zu schreiben. Kann ich dir da etwas Arbeit abnehmen?
Nimm an Arbeit was du kannst. Ich wollte das Java-Tutorial immer mal weiter schreiben, habe aber einfach nicht die Zeit dazu. Von daher musst du dich auch nicht an das Gerüst halten, was glaube ich schon im Wiki steht, darfst es aber wenn du willst natürlich gerne.

LG
Daniel
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Yoghurt
Beiträge: 79
Registriert: Fr Nov 16, 2012 8:01 am
Wohnort: Niederbayern

Re: [Vorstellung] Yoghurt

Beitrag von Yoghurt » Do Jan 17, 2013 10:51 am

Ihr meint diese Bücher oder?
Band1 Band2 Band3
Dirty Oerti hat geschrieben:Nimm an Arbeit was du kannst. Ich wollte das Java-Tutorial immer mal weiter schreiben, habe aber einfach nicht die Zeit dazu. Von daher musst du dich auch nicht an das Gerüst halten, was glaube ich schon im Wiki steht, darfst es aber wenn du willst natürlich gerne.
Alles klar. :)
Wenn ich die ersten Sachen fertig habe, melde ich mich bei dir.
"Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

Antworten