Probleme mit Grammatik-Aufgabe (blutiger Anfänger)
-
-Shelling- schrieb:
Naja... sooo schwer sind Grammatiken nu auch wieder nicht. Natürlich, es kann beliebig komplex werden, aber man fängt ja für gewöhnlich auch klein an. Irgendwann wird man dann über die richtige Lösung stolpern und wohl unbewusst Gramatiken verwendet haben.
_DAS_ kann natürlich sein. Es geht vielleicht schneller wenn man sich den Theoriekram reinzieht, aber es geht auch so. Irgendwer muss dieses "Grammatik"zeugs ja auch mal erfunden haben, oder?
-Shelling- schrieb:
Btw. mag subjektiv sein, aber beim Compilerbau finde ich persönlich es schwerer, Code zu generieren als irgendwas zu parsen und Bäume aufzubauen.
Dito.
@Bashar: Arroganz bedeutet sich über jemanden oder etwas zu stellen. Für sich selbst zu beanspruchen etwas zu können ist einfach nur selbstbewusst. Also lerne erstmal die Worte, die du benutzt, bevor du damit um dich wirfst.
mfg, René~
-
Bashar schrieb:
Du stellst dich über die, die die Theorie zu ihrem Handwerk beherrschen, wenn du behauptest, dass man die nicht braucht und du das auch ohne kannst.
Psychologie <3. Weißt du, was kognitive Dissonanz ist? Das Problem hast du gerade hier. Ich kann das auch nachvollziehen. Wenn man die Sachen wirklich ohne Theorie kann, dann löst das in dir "einen als unangenehm empfundenen Gefühlszustand" aus, da du dich gerade fragst, warum du es gelernt hast. Und dann kommt die kognitive Dissonanz hervor, die darin resultierst, mir Arroganz zu unterstellen. Herrlich! 10/10.
this->that schrieb:
Mag sein. Bei deiner Einstellung zum Thema Theorie kann ich mir die Komplexitaet deiner Taetigkeiten sehr gut vorstellen.

Das hingegen ist arrogant oder vielleicht auch nur anmaßend. Ich kann dir ja sagen was ich in den letzten Monat entwickelt habe von Grund auf (alles in C++ und komplett selbst entwickelt):
HTTP Server, angepasster HTTP Parser (wie oben beschrieben), Framework mit IoC, ziemlich hoher Performance usw.
Darauf aufbauend dann ein Browsergame, das potenziell nach Leistungstest zehntausende Spieler gleichzeitig verarbeiten kann, mit Echtzeit Kampfsystem, Pathfinding, Community-Features wie Forum, PM-System, Gilden, hochladbare Avatare usw... KI kommt als nächstes rein. Und das alles ohne Uni-Theorie... abooooow!Und das ganze ziemlich hacksicher. Wohingegen die "Enterprise-Anwendung" meiner alten Firma nur so vor Sicherheitslücken ÜBERGEQUOLLEN ist. Und die ganzen Sicherheitslücken wurden von den Diplominformatikern eingebaut. Die Firma existiert meiner Meinung nur noch, weil es im Enterprise Bereich wohl nicht soviele Hacker gibt..
mfg, René~
-
Bashar schrieb:
Kognitive Dissonanz entsteht, wenn die Realität vom eigenen Weltbild abweicht.
Genau das ist ja hier der Fall. Weltbild = "Man kann das nur mit dieser Theorie", Realität = "Man kann es auch ohne diese Theorie".
Bashar schrieb:
Aber wo ist die mir angeblich unangenehme Realität? Du hast ja bisher nur behauptet, dass du das könntest. Da hab ich kein Problem mit. Leg einen handgestrickten Parser vor, ohne dir vorher was über die Theorie anzueignen.
Reicht dir der multipart/form-data Parser oder ist dir das nicht komplex genug?
mfg, René~
-
Ich hab gesagt für eine Programmiersprache.
Genau das ist ja hier der Fall. Weltbild = "Man kann das nur mit dieser Theorie", Realität = "Man kann es auch ohne diese Theorie".
Beides ist falsch.
-
Bashar schrieb:
Ich hab gesagt für eine Programmiersprache.
Jo, meinste das programmier ich dir jetzt? Du stellst ja die Behauptung auf, dass ich es nicht kann, also musst du das auch beweisen. Ansonsten ist das nur Blah Blah. Oder ich kontere mit: Du kannst keine Game-KI programmieren. Zeige mir einen Code von dir, der das Gegenteil beweist. Du siehst, das ist Kindergartenniveau. Man kann immer irgendwas behaupten.
Bashar schrieb:
Beides ist falsch.
Sondern?
mfg, René~
-
Deine Aussage "Theorie braucht man nicht - ich bin Autodidakt, ich kann auch ohne" stellt dich - und vor allem andere Autodidakten - nicht in einem besonders gutem Licht dar.
Ich bin auch Autodidakt und trotzdem beschäftige ich mich mit der Theorie. Wieso? Weil es mich interessiert und ich denke, dass es mich weiterbringt.
Und jetzt verrate ich dir ein Geheimnis: Es würde dich auch weiterbringen.Du weißt nicht was Grammatiken sind? Mein Tip: Schnapp dir ein gutes Buch darüber und ließ es dir durch. Vielleicht stellst du fest, dass du bei deinem HTML Parser schon "richtig" vorgegangen bist. Wenn dem so ist, umso besser. Wenn nicht, kannst du ja mal schauen, was die Unterschiede sind und ob evtl. doch noch Verbesserungspotential besteht.
Theorie erweitert deinen Horizont, da es viele klüge Köpfe auf dieser Welt gibt, die sich schon Gedanken gemacht haben, auf die man alleine nicht so schnell kommen würde. Warum sollte man sich diesem Wissen verweigern?
-
Tip schrieb:
Theorie braucht man nicht
Das habe ich so nie gesagt, ich rede hier von der "Grammatik" und meiner Praxis.
Tip schrieb:
Theorie erweitert deinen Horizont, da es viele klüge Köpfe auf dieser Welt gibt, die sich schon Gedanken gemacht haben, auf die man alleine nicht so schnell kommen würde. Warum sollte man sich diesem Wissen verweigern?
Das stimmt so einfach nicht. Es gibt Theorien, die muss man überhaupt nicht kennen, dann gibt es Theorien, die die Sache komplizierter statt einfacher machen und es gibt Theorien die sind definitiv lohnenswert.
Und diese Grammatik ist für mich eben eine Verkomplizierung.
mfg, René~
-
NewSoftzzz schrieb:
Bashar schrieb:
Ich hab gesagt für eine Programmiersprache.
Jo, meinste das programmier ich dir jetzt? Du stellst ja die Behauptung auf, dass ich es nicht kann, also musst du das auch beweisen.
Du bist albern. Ich kann auch mit Recht behaupten, dass du allein durch Armwedeln nicht fliegen kannst, ohne das beweisen zu müssen.
Bashar schrieb:
Beides ist falsch.
Sondern?
Einfache Parser kriegt man sicher auch mit viel Gefrickel hin, ohne was von der Theorie zu verstehen. Je komplizierter es wird, desto weniger Land sieht man.
Dass das nicht der Realität entspricht ist deine Behauptung, für die du bisher einen Beweis schuldig geblieben bist.
-
NewSoftzzz schrieb:
Und diese Grammatik ist für mich eben eine Verkomplizierung.
Und erneut: Es gibt nur 2 Möglichkeiten: Entweder du hast von Grammatiken keine Ahnung (extrem wahrscheinlich), dann kannst du dir so ein Urteil garnicht erlauben. Oder du hast dich damit beschäftigt, aber sie offensichtlich nicht verstanden. Denn sonst würdest du nicht so einen Käse schreiben.
Und deine peinlichen Rechtfertigungsversuche a la "ich hab einen HTTP Server geschrieben. Ich bin voll fähig dädädä" sind nur ein weiteres Indiz für deine Unsouveränität und Komplexe. Zumal das genannte Zeug ja nicht mal wirklich schwierig ist. HTTP Parsen geht ins Triviale und einen HTTP Server schreibt man auch recht fix. Natürlich braucht man für sowas keine Kenntnisse in theo. Inf. oder Mathe.
Ansonsten sind deine Aussagen das albernste, was ich seit langem gesehen hab (dein Nick trägt übrigens auch gut dazu bei). Ich hoffe TGGC findet diesen Thread.

-
this->that schrieb:
Und erneut: Es gibt nur 2 Möglichkeiten: Entweder du hast von Grammatiken keine Ahnung (extrem wahrscheinlich), dann kannst du dir so ein Urteil garnicht erlauben. Oder du hast dich damit beschäftigt, aber sie offensichtlich nicht verstanden. Denn sonst würdest du nicht so einen Käse schreiben.
Und wieder: Unsägliche Arroganz. Was glaubt ihr eigentlich, dass "Grammatik" der goldene Kelch ist? Die göttliche Erlösung?
Du kannst dir ja mal das hier durchlesen: www.vf.utwente.nl/~neisser/public/reject.pdf
Da siehste mal, wie ANGESEHENE PROFESSOREN in die Kloschüssel gegriffen haben beim Peer-Reviewing und das nur weil sie sich an ihre gewohnten Strukturen geklammert haben. Der Mensch ist halt ein Gewohnheitstier.
Verdammt nochmal, Idiome, Theorien, Konzepte usw. verändern sich, werden verbessert, werden verworfen, werden ersetzt. Ihr habt die Weisheit nicht mit Löffeln gefressen, nur weil ihr "Grammatik" anwendet. Vielleicht lacht man in 20-30 Jahren über euch, so wie man jetzt über die Leute im verlinkten PDF lacht.
mfg, René~
-
Das habe ich so nie gesagt, ich rede hier von der "Grammatik" und meiner Praxis.
Wenn du so Dinge schreibst, wie "Das sind die Momente, in denen ich mir immer wieder selber dafür gratuliere, dass ich nicht studiert habe." musst du damit rechnen, dass du "missverstanden" wirst, da du damit implizierst (zumindest mir kam es so vor) als würdest du "Theorie", die an der Uni hauptsächlich gelehrt wird, generell nicht gutheißen.
Auch wenn dem nicht so ist, verstehe ich deinen Standpunkt nicht. Wie kannst du über den Nutzen von Grammatiken in deiner Praxis urteilen, wenn du nicht einmal weißt was sie sind und wie sie funktionieren? Dass du nicht weißt was sie sind, hast du mit deinem ersten Posting in diesem Thread gezeigt.
Trotzdem sollte deine Reaktion als intelligenter Mensch sein: "Kenne ich nicht, fällt aber in meinen Interessensbereich, vielleicht sollte ich mich mal damit auseinandersetzen" anstatt "Habe ich noch nie gebraucht, ergo sind sie unnötig".Ein bisschen Lockerheit und das Eingeständnis, dass das eigene Wissen nicht absolut und umfassend ist, würde dir vielleicht helfen.
Und diese Grammatik ist für mich eben eine Verkomplizierung.
Wie schon geschrieben, kannst du das schlecht beurteilen, wenn du dich nicht mal mit ihnen beschäftig hast.
Ja, für einen kleinen Parser brauchst du vielleicht noch keine Grammatiken, aber wenn es dann mal eine Programmiersprache parsen sollst, sieht die Sache schon anders aus.
-
NewSoftzzz schrieb:
Bashar schrieb:
Du bist albern. Ich kann auch mit Recht behaupten, dass du allein durch Armwedeln nicht fliegen kannst, ohne das beweisen zu müssen.
Diese unsägliche Arroganz. So unvorstellbar ist es für dich also, dass man es ohne die Theorie nicht programmieren könnte...
Ich hab meine Gründe. Du dagegen? Was hast du für Erfahrungen mit Parsern vorzuweisen, dass du sowas behaupten kannst?
NOCHMAL: Wie hat es der Erschaffer der Grammatiktheorie denn geschafft? Er hatte die Theorie logischerweise auch nicht.
Du meinst, da hat sich mal einer an einem langweiligen Nachmittag hingesetzt und dann ist ihm die "Grammatiktheorie" in den Schoß gefallen?

Bashar schrieb:
Dass das nicht der Realität entspricht ist deine Behauptung, für die du bisher einen Beweis schuldig geblieben bist.
Jo, und du kannst nicht mal einen multipart/form-data Parser programmieren.
Keine Ahnung, ob ich das kann, hab es nie versucht. Aber eins kann ich dir versprechen: Ohne mit mit den entsprechenden RFCs auseinanderzusetzen, kann ich es nicht. Deine Vergleiche hab ich bisher immer versucht zu ignorieren, weil sie so völlig am Thema vorbeigehen. Es hat doch niemand behauptet, dass DU nicht in der Lage bist, zu programmieren. Die Aussage ist, dass du keinen Parser programmieren kannst, wenn du von der Materie keine Ahnung hast. Das ist normalerweise eine Selbstverständlichkeit. Man kann ja auch nicht einfach so Gehirnoperationen durchführen. Hast du ein Ego-Problem, greift es dich an, wenn jemand sagt, dass du irgendwas nicht kannst?
Beweise mich falsch.
Ohje.
Ich werd mich jetzt mal ausklinken. Eigentlich wollte ich den Thread versachlichen, nachdem er anfänglich in einen der üblichen "Akademiker-vs.-Praktiker"-Flamewars abzurutschen drohte. Aber das war wohl umsonst. Inzwischen sind auch alle Positionen ausreichend dargestellt worden, weiteren Diskussionsbedarf hab ich zu dem Thema nicht.
-
Jetzt muss ich doch nochmal was nachsetzen:
NewSoftzzz schrieb:
Du kannst dir ja mal das hier durchlesen: www.vf.utwente.nl/~neisser/public/reject.pdf
Da siehste mal, wie ANGESEHENE PROFESSOREN in die Kloschüssel gegriffen haben beim Peer-Reviewing und das nur weil sie sich an ihre gewohnten Strukturen geklammert haben. Der Mensch ist halt ein Gewohnheitstier.
Das ist eine Parodie. Das sind keine echten Ablehnungsschreiben. Nimm's dir nicht zu Herzen, ich hab es auch zuerst für echt gehalten.
-
Bashar schrieb:
Beweise mich falsch.
Ohje.
Troll-Imageboard-Referenz nicht verstanden.
Bashar schrieb:
Du meinst, da hat sich mal einer an einem langweiligen Nachmittag hingesetzt und dann ist ihm die "Grammatiktheorie" in den Schoß gefallen?

Wer hat hier denn überhaupt den Faktor Zeit ins Spiel gebracht? Ich habe nie davon geredet, irgendwas an einem Nachmittag zu machen.
Bashar schrieb:
Die Aussage ist, dass du keinen Parser programmieren kannst, wenn du von der Materie keine Ahnung hast. Das ist normalerweise eine Selbstverständlichkeit.
Jepp, und genau die Aussage ist falsch und anmaßend. Es gibt ein Problem, und das ist grob gesagt aus einem Texthaufen alle relevanten Informationen rauszuholen. Die "Grammatik" ist eine akademisch gelehrte Lösung für das Problem.
So, und jetzt kommt’s: Es ist *EINE* Lösung für das Problem. Die ihr hier vereehrt wie die goldene Kuh im Land wo Milch in Flüssen fließt. Die ihr hier darstellt als *ALTERNATIVLOS*. Als *DIE* Lösung.
Und jetzt kommen wir wieder zu deiner/eurer Arroganz: Warum sollte ich mir diese Lösung nicht selber erarbeiten können? Warum sollte ich mir nicht sogar eine Lösung erarbeiten, die für mein konkretes Problem besser und effizienter ist?
Oder bist du wirklich so beschränkt zu glauben, dass deine "Grammatik" die one-fits-all Lösung ist, die beste, effizienteste, optimalste Lösung in *JEDEM* Fall?
Das würde dann schon nahe an sektiererischem Ideologismus liegen.
mfg, René~
-
Holla hat sich hier was entwickelt Oo
Es gibt ein Problem, und das ist grob gesagt aus einem Texthaufen alle relevanten Informationen rauszuholen.
Yep.
Das wird ich spontan unter Parsen einordnen. Wenn ich eine simple HTML Seite habe, interessiere ich mich für die Tags und hole mir die raus, mitsamt Inhalt, ggf. erstell ich noch Token, um verschiedene Tags zu unterscheiden.
Wenn ich einen Quellcode habe, erstelle ich Token und einen (abstrakten) Syntaxbaum.Soweit hat das noch gar nichts mit Grammatik zu tun, die kommt IMHO erst beim interpretieren der Informationen dazu. Es geht auch nicht darum eine Grammatik zu implementieren. Sobald man die Backus-Naur-Form lesen und etwas programmieren kann, ist es kein Problem abzufragen, ob die Token in der richtigen Reihenfolge vorkommen.
Das größte Problem ist, eine neue Grammatik zu entwickeln, weil man eine neue Sprache braucht. Dabei gehts dann auch nicht darum, einfach nur die Keywords der Sprache schön aufzuschreiben. Es geht vielmehr darum, dass die Grammatik widerspruchsfrei, deterministisch ect. ist. Jemanden, der einfach nur eine Grammatik implementieren will, darf (und sollte es meiner Meinung nach auch) es egal sein, wie komplex Grammatiken werden können und was man alles beachten muss.
(Oder, um den typischen Autovergleich einzubringen: Ich kann auch ein Auto fahren, ohne im Detail zu verstehen, wie es funktioniert. Ich kann aber keins bauen, ohne im Detail zu verstehen, wie es funktioniert.)Die "Grammatik" ist eine akademisch gelehrte Lösung für das Problem.
Da muss ich dir leider widersprechen. Eine Grammatik ist keine Lösung dafür, wie man Informationen aus einem Text herausbekommt. Sie ist eher die Sprachdefinition nach der die Informationen aus dem Textblock aufgebaut sein müssen. Keine Sprache auf diesem Planeten kommt ohne eine Grammatik aus, weder menschliche, noch maschinelle. Falls du dieser Behauptung von mir widersprechen möchtest, zeig mir bitte eine Sprache ohne Grammatik.
Cya

-
@-Shelling-: Schonmal danke dafür, dass du mal auf meine Argumente eingehst und das sogar völlig frei von jeglicher Arroganz

-Shelling- schrieb:
Das größte Problem ist, eine neue Grammatik zu entwickeln, weil man eine neue Sprache braucht. Dabei gehts dann auch nicht darum, einfach nur die Keywords der Sprache schön aufzuschreiben. Es geht vielmehr darum, dass die Grammatik widerspruchsfrei, deterministisch ect. ist.
Ich hab mich am Anfang des Threads schon über die Grammatik informiert und mich eingelesen (sonst hätte ich hier niemals so energisch diskutiert) und ich muss dir recht geben, DAS ist wirklich etwas völlig anderes. Wenn ich eine Sprache entwickeln wollen würde, und das jetzt mal ohne Vorkenntnis des Grammatikskonzept, dann würde ich sehr schnell auf Denkmuster kommen, die denen der Grammatik entsprechen. Aber darum ging’s hier ja gar nicht, sondern:
-Shelling- schrieb:
Jemanden, der einfach nur eine Grammatik implementieren will, darf (und sollte es meiner Meinung nach auch) es egal sein, wie komplex Grammatiken werden können und was man alles beachten muss.
Genau davon rede ich die ganze Zeit. Du hast es verstanden!

-Shelling- schrieb:
Die "Grammatik" ist eine akademisch gelehrte Lösung für das Problem.
Da muss ich dir leider widersprechen. Eine Grammatik ist keine Lösung dafür, wie man Informationen aus einem Text herausbekommt. Sie ist eher die Sprachdefinition nach der die Informationen aus dem Textblock aufgebaut sein müssen.
Gut, da hast du eigentlich völlig recht, die Grammatik ist keine Lösung für das Problem. Aber sie wurde ja hier im Thread die ganze Zeit so dargestellt, als ob die Kenntnis der Grammatik eine zwingende Voraussetzung für den Bau eines Parsers ist (was ich ja, genauso wie du gerade, bestritten habe).
-Shelling- schrieb:
Falls du dieser Behauptung von mir widersprechen möchtest, zeig mir bitte eine Sprache ohne Grammatik.
Nein, keine Sorge, da hast du völlig Recht

mfg, René~
-
Dein sinnvollster Satz war:
NewSoftzzz schrieb:
Ich benutze gar keine library außer boost.
Kennst du Boost.Spirit?
Natürlich nicht, denn diese Bibliothek basiert auf Grammatiken und die magst du ja nicht. Aber dass Boost sich auf dieses Niveau herab lässt, muss dir doch schon etwas zu Denken geben.
-
Spiritualist schrieb:
Natürlich nicht, denn diese Bibliothek basiert auf Grammatiken und die magst du ja nicht. Aber dass Boost sich auf dieses Niveau herab lässt, muss dir doch schon etwas zu Denken geben.
Auch nochmal für dich: Ich behaupte nicht, dass die "Grammatik" ein sinnloses Konzept ist, sie ist nur für *mich* irrelevant. Ich will schließlich keine Sprachen bauen, siehe -Shelling-.
mfg, René~
-
@-Shelling-: Schonmal danke dafür, dass du mal auf meine Argumente eingehst und das sogar völlig frei von jeglicher Arroganz

Kein Ding, Missverständnisse entstehen nunmal, kommt vor, kann man bereinigen.
(Btw. nebenbei. Ich würde es nett finden, wenn du ein paar negative Aussagen über Informatikstudenten etwas weniger allgemeingültig verfassen würdest. Es gibt zwar einige, die sich irgendwie durchs Studium schummeln, aber ich gehör nicht dazu
)
Ich denke, die Diskussion hat sich damit auch so langsam erledigt. Die eigentliche Frage wurde ja auch schon vor Stunden beantwortet...
-
Spirit User's Guide schrieb:
It must be able to practically parse simple grammars such as email addresses to moderately complex grammars such as XML and perhaps some small to medium-sized scripting languages.
Spirits Benutzerhandbuch schrieb:
Es soll verhältnismässig einfach sein, simple Grammatiken wie E-Mail Adressen hin zu komplexen wie XML und vielleicht auch mittelgrosse Skriptsprachen zu parsen.
Dein HTTP ist irgendwo zwischen E-Mail Adresse und XML, mit Boost.Spirit problemlos möglich. Und das ohne, dass du eine eigene Sprache definierst.