Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Rund um die Programmierung ::  Compilerbau Königsdisziplin?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
KingCodg
Unregistrierter




Beitrag KingCodg Unregistrierter 21:06:39 31.08.2010   Titel:   Compilerbau Königsdisziplin?            Zitieren

Warum wird von vielen Compilerbau als eine der Königsdisziplinen der Informatik bezeichnet? Im Prinzip ist das doch nicht mehr schwierig. Es ist schon alles bekannt. Es gibt Unmengen an guten Kompilern für Unmengen an Sprachen. Wenn man sich dagegen KI anschaut ist dort noch sehr wenig bekannt, es gibt keine wirklich guten KIs für alle möglichen Sachen, gerade mal Schach-KIs können mit Menschen mithalten.
spassig
Unregistrierter




Beitrag spassig Unregistrierter 21:21:34 31.08.2010   Titel:              Zitieren

weil dieses kapitel der gute Knuth noch nicht fertiggestellt hat :D
uups
Unregistrierter




Beitrag uups Unregistrierter 21:23:13 31.08.2010   Titel:              Zitieren

"fertig gestellt" :(
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 21:36:02 31.08.2010   Titel:              Zitieren

1) Weil es eine Mischung aus mehrer Teildisziplin (KI nicht ausgeschlossen) ist
2) Die Einschätzung, dass alles bekannt ist, ist schlecht hin falsch.
http://www.c-plusplus.de/forum/viewtopic-var-t-is- ....... s-is-0-and-postorder-is-asc-and-highlight-is-.html
3) Benötig viel Kreativität wie bei Betriebssystementwicklung, gibst es kein richtig oder falsch bzw nicht der Weg.

_________________
http://sourceforge.net/projects/nano-lang/


Zuletzt bearbeitet von Zeus am 22:11:38 31.08.2010, insgesamt 1-mal bearbeitet
LOL Alter
Unregistrierter




Beitrag LOL Alter Unregistrierter 21:36:04 31.08.2010   Titel:              Zitieren

Aha und wer sagt, dass der Compilerbau eine Königsdisziplin in der Informatik ist?
Sicherlich ist es eine häufige Vorlesung im Studium, da dem Compilerbau wohl eine gewisse Wichtigkeit zugeschrieben wird.

Hast du das gerallt?
xyüps
Unregistrierter




Beitrag xyüps Unregistrierter 21:52:07 31.08.2010   Titel:              Zitieren

Zeus schrieb:
2) Die Einschätzung, dass alles bekannt ist, ist schlecht hin falsch.
http://www.c-plusplus.de/forum/viewtopic-var-t-is- ....... s-is-0-and-postorder-is-asc-and-highlight-is-.html
Ein Thread aus c-plusplus.de soll jetzt aber nicht der Beweis für deine Aussage sein. Außerdem würde ich zwischen dem Design einer Sprache und dem Bau des passenden Compilers unterscheiden. Eine wirklich gute Sprache zu designen dürfe sich so schwer sein eine gute KI zu designen.
xyüps
Unregistrierter




Beitrag xyüps Unregistrierter 21:53:10 31.08.2010   Titel:              Zitieren

*Eine wirklich gute Sprache zu designen dürfe sicher so schwer sein, wie eine gute KI zu designen.
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24355
Beitrag volkard Moderator 22:05:21 31.08.2010   Titel:   Re: Compilerbau Königsdisziplin?            Zitieren

KingCodg schrieb:
Warum wird von vielen Compilerbau als eine der Königsdisziplinen der Informatik bezeichnet? Im Prinzip ist das doch nicht mehr schwierig.

Da hast Du recht. Eine pascaloide Sprache mit Yacc/Bison/Flex hat man schnell hingerotzt, das ist keine Herausforderung, außer ein wenig Zeit für die Einarbeitung in ein wenig allgemeine Theoriie und die Tools. Aber damit kriegt man an sich nur was, was es schon gibt. Wozu ein zweites Pascal bauen? Die Einbauungen der darüber hinausgehenden Features sind dann so teuer, daß es ohne Framework doch billiger wäre.

Welche Königsdisziplinen gibt es noch?
Ja, die Spieleprogrammierung.
Es gibt auch Spieleframeworks und man hat ein Spiel in ein paar Stunden zusammengeklickt, das keine Spielen will.

Welche Königsdisziplinen gibt es noch?
Die Betriebssystemprogramierung.
Ja, man kann mit ein paar Mannjahren ein nettes windows/linux nachbasteln, dabei geht die meiste Zeit drauf, die unzähligen Protokolle zur Hardware rauszufinden. Aber bei Betriebssytemen sind wir noch mehr als bei Sprachen und Spielen im bodenlos Ungewissen. Während einige Sprachen und viele SPiele schon Spaß machen, sind die (oder besser das) Betriebssystem noch hart unbefriedigend. Da ist doch fast jede Deteilentscheidung nur die zweitbeste Wahl.

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7514
Beitrag Gregor Moderator 22:15:41 31.08.2010   Titel:              Zitieren

xyüps schrieb:
*Eine wirklich gute Sprache zu designen dürfe sicher so schwer sein, wie eine gute KI zu designen.

btw: Wenn jemand von "einer KI" redet, dann sagt er damit aus, dass er keine Ahnung von KI hat.

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
xyüps
Unregistrierter




Beitrag xyüps Unregistrierter 06:29:14 01.09.2010   Titel:              Zitieren

Gregor schrieb:
xyüps schrieb:
*Eine wirklich gute Sprache zu designen dürfe sicher so schwer sein, wie eine gute KI zu designen.

btw: Wenn jemand von "einer KI" redet, dann sagt er damit aus, dass er keine Ahnung von KI hat.
Begründung?
otze
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2004
Beiträge: 6658
Beitrag otze Mitglied 07:39:08 01.09.2010   Titel:              Zitieren

xyüps schrieb:
Begründung?

Weil keine jemals entwicklte KI den Ansprüchen einer KI genügt hat.
Die Betreuering meiner Bachelorbeit schrieb:
Wir benutzen dieses Wort nicht. Der Begriff "KI" entstammt noch aus Zeiten als man dachte, das Problem sei einfach.

_________________
Jesus Christus! Da blickt ja kein Mensch mehr durch.


Zuletzt bearbeitet von otze am 07:40:09 01.09.2010, insgesamt 2-mal bearbeitet
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7514
Beitrag Gregor Moderator 07:50:14 01.09.2010   Titel:              Zitieren

xyüps schrieb:
Gregor schrieb:
xyüps schrieb:
*Eine wirklich gute Sprache zu designen dürfe sicher so schwer sein, wie eine gute KI zu designen.

btw: Wenn jemand von "einer KI" redet, dann sagt er damit aus, dass er keine Ahnung von KI hat.
Begründung?

KI ist ein Teilgebiet der Informatik und Du kannst den Begriff somit ähnlich verwenden wie andere Teilgebiete der Informatik. Zum Beispiel die Technische Informatik. Hast Du schonmal "eine gute Technische Informatik designt"? Nein, es macht keinen Sinn, den Begriff derart zu verwenden. Genauso wenig macht es Sinn, von "einer KI" zu reden.

Ich weiß gar nicht, was jemand meint, der von "einer KI" redet. Normalerweise gehe ich dann einfach davon aus, dass er einen Computergegner bei einem Computerspiel meint. In dem Zusammenhang kommen aber reichlich wenig Methoden und Strukturen der KI zum Einsatz. Stattdessen hat man da ein bisschen Gefrickel und das war es. Falls jemand in dem Zusammenhang etwas aus der KI einsetzt, dann ist es nur ein kleines Werkzeug unter vielen in der KI. Dann macht es auch keinen Sinn, von "einer KI" zu reden. Wenn Du es mit einem endlichen Automaten zu tun hast, hast Du es ja auch nicht mit "einer Theoretischen Informatik" zu tun.

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
*this
Unregistrierter




Beitrag *this Unregistrierter 07:51:31 01.09.2010   Titel:              Zitieren

AFAIK ist MMORPG proggen die Königsdisziplin der Proggung.
Bitsy
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.05.2001
Beiträge: 499
Beitrag Bitsy Mitglied 08:15:51 01.09.2010   Titel:              Zitieren

Nein - Retro-Reengineering - alte ST-Klassiker disassemblieren und auf'n PC umsetzen und sich dabei an der endianess die Zähne ausbeissen :D
Mein Dungeon Master läuft fehlerfrei - und Chaos Strikes Back auch!
Jetzt kommt Stufe 2 - DM2 vom PC auf'n PC - DOS4GW -> Win. Scheint machbar! Lumpige 150000 Codezeilen :D
Als Hobby/Lernprojekt ohne böse Absichten unbezahlbar. Es sind genaue Systemkenntnisse nötig, incl. Interrupts und Chips, detailliertes Assemblerknowhow, man muß sich eine temporäre Befehlssyntax ausdenken und umsetzen, schauen wie der damalige C-Compiler was wie umgesetzt und optimiert hat, Sourceprocessing etc.pp.
So viel hat mir noch kein professionelles Projekt abverlangt! :cool:


Zuletzt bearbeitet von Bitsy am 08:21:03 01.09.2010, insgesamt 1-mal bearbeitet
xyüps
Unregistrierter




Beitrag xyüps Unregistrierter 20:13:51 01.09.2010   Titel:              Zitieren

Gregor schrieb:
xyüps schrieb:
Gregor schrieb:
xyüps schrieb:
*Eine wirklich gute Sprache zu designen dürfe sicher so schwer sein, wie eine gute KI zu designen.

btw: Wenn jemand von "einer KI" redet, dann sagt er damit aus, dass er keine Ahnung von KI hat.
Begründung?

KI ist ein Teilgebiet der Informatik und Du kannst den Begriff somit ähnlich verwenden wie andere Teilgebiete der Informatik. Zum Beispiel die Technische Informatik. Hast Du schonmal "eine gute Technische Informatik designt"? Nein, es macht keinen Sinn, den Begriff derart zu verwenden. Genauso wenig macht es Sinn, von "einer KI" zu reden.

Ich weiß gar nicht, was jemand meint, der von "einer KI" redet. Normalerweise gehe ich dann einfach davon aus, dass er einen Computergegner bei einem Computerspiel meint. In dem Zusammenhang kommen aber reichlich wenig Methoden und Strukturen der KI zum Einsatz. Stattdessen hat man da ein bisschen Gefrickel und das war es. Falls jemand in dem Zusammenhang etwas aus der KI einsetzt, dann ist es nur ein kleines Werkzeug unter vielen in der KI. Dann macht es auch keinen Sinn, von "einer KI" zu reden. Wenn Du es mit einem endlichen Automaten zu tun hast, hast Du es ja auch nicht mit "einer Theoretischen Informatik" zu tun.
Zählen Betriebssysteme auch als Teilbereich der Informatik? Egal. Wie nennst du dann z.B. "die KI" von Data aus Raumschiff Enterprise? Androidenintelligenz? Und wenn "es" nur auf einem PC läuft?

otze schrieb:
xyüps schrieb:
Begründung?

Weil keine jemals entwicklte KI den Ansprüchen einer KI genügt hat.
Die Betreuering meiner Bachelorbeit schrieb:
Wir benutzen dieses Wort nicht. Der Begriff "KI" entstammt noch aus Zeiten als man dachte, das Problem sei einfach.
:D
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 20:49:27 01.09.2010   Titel:              Zitieren

Ob nun wissenschaftlich begründet oder auch nicht, die ganze Thematik wird umgangssprachlich auch weiterhin unter KI laufen, ob das nun ein paar Akademikern gefällt oder halt nicht ist irrelevant. Die Fachbuchautoren nutzen diese Begriffen und die Leute die dieses Wissen anwenden auch, also hat der Begriff auch heute noch seine Berechtigung.

Wissenschaft ist ein Anfang nicht das Ende aller Weisheit.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 21:01:32 01.09.2010   Titel:              Zitieren

Aus dem Thread tritt Radioaktivität aus :o)

_________________
http://sourceforge.net/projects/nano-lang/
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7514
Beitrag Gregor Moderator 22:22:12 01.09.2010   Titel:              Zitieren

xyüps schrieb:
Wie nennst du dann z.B. "die KI" von Data aus Raumschiff Enterprise? Androidenintelligenz? Und wenn "es" nur auf einem PC läuft?

Systeme, die in signifikanter Weise Methoden und Strukturen der Künstlichen Intelligenz einsetzen, nenne ich "Intelligente Systeme".

whitespaces schrieb:
Ob nun wissenschaftlich begründet oder auch nicht, die ganze Thematik wird umgangssprachlich auch weiterhin unter KI laufen, ob das nun ein paar Akademikern gefällt oder halt nicht ist irrelevant. Die Fachbuchautoren nutzen diese Begriffen und die Leute die dieses Wissen anwenden auch, also hat der Begriff auch heute noch seine Berechtigung.

Wissenschaft ist ein Anfang nicht das Ende aller Weisheit.

1. Das Fachbuch, das von "einer KI" redet, will ich mal sehen.

2. Im Allgemeinen sind die meisten anspruchsvollen Fachbücher von Wissenschaftlern geschrieben.

3. KI ist ein aktuelles Forschungsgebiet. Bei einem "Commander Data" ist man da noch längst nicht.

Du kannst natürlich jeden Begriff nutzen, den Du nutzen möchtest. Und Du kannst ihn in jeder Art und Weise nutzen wie Du willst. Aber wenn Du von "einer KI" redest, dann sagst Du damit aus, dass Du Dich noch nie tiefer mit KI auseinandergesetzt hast. Ich habe weiter oben nur kurz angemerkt, was bei mir an Information ankommt, wenn jemand den Begriff so benutzt.

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
menschlich
Unregistrierter




Beitrag menschlich Unregistrierter 04:17:27 02.09.2010   Titel:              Zitieren

Gregor schrieb:
Du kannst natürlich jeden Begriff nutzen, den Du nutzen möchtest. Und Du kannst ihn in jeder Art und Weise nutzen wie Du willst. Aber wenn Du von "einer KI" redest, dann sagst Du damit aus, dass Du Dich noch nie tiefer mit KI auseinandergesetzt hast. Ich habe weiter oben nur kurz angemerkt, was bei mir an Information ankommt, wenn jemand den Begriff so benutzt.
Die künstliche Intelligenz ist gut, wenn sie der menschlichen Intelligenz entspricht. Da meint sicher keiner den Teilberich KI der Informatik. Nur weil ein Wort eine Bedeutung hat, kann es dafür immer noch andere geben.
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 07:22:42 02.09.2010   Titel:              Zitieren

Gregor schrieb:
xyüps schrieb:
Wie nennst du dann z.B. "die KI" von Data aus Raumschiff Enterprise? Androidenintelligenz? Und wenn "es" nur auf einem PC läuft?

Systeme, die in signifikanter Weise Methoden und Strukturen der Künstlichen Intelligenz einsetzen, nenne ich "Intelligente Systeme".

whitespaces schrieb:
Ob nun wissenschaftlich begründet oder auch nicht, die ganze Thematik wird umgangssprachlich auch weiterhin unter KI laufen, ob das nun ein paar Akademikern gefällt oder halt nicht ist irrelevant. Die Fachbuchautoren nutzen diese Begriffen und die Leute die dieses Wissen anwenden auch, also hat der Begriff auch heute noch seine Berechtigung.

Wissenschaft ist ein Anfang nicht das Ende aller Weisheit.

1. Das Fachbuch, das von "einer KI" redet, will ich mal sehen.

2. Im Allgemeinen sind die meisten anspruchsvollen Fachbücher von Wissenschaftlern geschrieben.

3. KI ist ein aktuelles Forschungsgebiet. Bei einem "Commander Data" ist man da noch längst nicht.

Du kannst natürlich jeden Begriff nutzen, den Du nutzen möchtest. Und Du kannst ihn in jeder Art und Weise nutzen wie Du willst. Aber wenn Du von "einer KI" redest, dann sagst Du damit aus, dass Du Dich noch nie tiefer mit KI auseinandergesetzt hast. Ich habe weiter oben nur kurz angemerkt, was bei mir an Information ankommt, wenn jemand den Begriff so benutzt.


Moin,

hier habe ich mal bei Amazon nach Bücher über Künstliche Intelligenz(KI) gesucht und ein paar gefunden die die damit zusammenhängenden Themen behandeln:

http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=% ....... -keywords=k%FCnstliche+intelligenz&x=0&y=0

Ob die was taugen weiß ich nicht, aber der Begriff scheint durchaus gebraucht zu werden um eine Überschrift für die darunterliegenden Themen zu bilden. Von "einer KI" rede ich auch nicht sondern von dem Begriff KI im Allgemeinen.

Es müssen nicht immer Wissenschaftler/Akademiker gute Bücher schreiben die boolsche Algebra verdanken wir einem Autodidakten zum Beispiel. Aber du hast schon recht das viele Bücher von Akademikern geschrieben werden was sollen sie auch sonst machen, praktisch sind sie nicht einsetzbar weil sie erstmal 3 Jahre überlegen anstelle irgendwann mal anzufangen und die einfachsten Fragen verstehen sie nicht :D
Walli
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.09.2002
Beiträge: 10941
Beitrag Walli Mitglied 07:55:05 02.09.2010   Titel:              Zitieren

whitespaces schrieb:
Aber du hast schon recht das viele Bücher von Akademikern geschrieben werden was sollen sie auch sonst machen, praktisch sind sie nicht einsetzbar weil sie erstmal 3 Jahre überlegen anstelle irgendwann mal anzufangen und die einfachsten Fragen verstehen sie nicht :D

Vielleicht, weil sie normalerweise hauptsächlich mit Leuten zu sprechen, die Ahnung von der Materie haben. BTW, manchmal spart eine Stunde überlegen viele Tage praktische Arbeit. Mehr brauche ich dazu wohl hoffentlich nicht zu sagen... :rolleyes:
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 08:49:18 02.09.2010   Titel:              Zitieren

Ich rede hier nicht von einer Stunde oder einen Tag mal drüber nachdenken, das mache wir alle, genauso setzten wir uns mit der ganzen Theorie bis zu einem gewissen Punkt auseinander, ich rede davon einfach mal den Arsch hoch zu bekommen und mal was von den Möglichkeiten ausprobieren bevor man drüber nachdenkt es bis ins letzte theoretisch zu betrachten.

Entweder bist du exzellenter Theoretiker oder du bist sehr gut für die Praxis zu gebrauchen. Der letzte Dip. Ing. mit dem ich zusammenarbeiten durfte war eindeutig Theoretiker, ich hätte ihm am liebsten nach Hause geschickt und selbst den Spannungabfall am PTC in Nullen und Einsen gewandelt. Sind bestimmt nicht alle so. Ich habe bis jetzt nur drei Diplommenschen und einen Professor kennengelernt und nur einer war wirklich für die angedachten Aufgabe super zu gebrauchen. Der war aber auch im Gegensatz zu den anderen weit aus intelligenter und auch menschlich ein super Kerl.(Gruß G.B. waren schöne Jahre und ich hoffe du geniest deine Millionen ;-))

So hat halt jeder seine Erfahrung gesammelt und ich spreche natürlich nicht für die Allgemeinheit, das kann ich auch gar nicht. Ich habe halt meine Erfahrung und du deine.
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7514
Beitrag Gregor Moderator 08:51:07 02.09.2010   Titel:              Zitieren

whitespaces schrieb:
Aber du hast schon recht das viele Bücher von Akademikern geschrieben werden was sollen sie auch sonst machen, praktisch sind sie nicht einsetzbar weil sie erstmal 3 Jahre überlegen anstelle irgendwann mal anzufangen und die einfachsten Fragen verstehen sie nicht :D

Wenn Du Dir mal die Welt ansiehst, dann siehst Du überall Dinge, die ohne die moderne Wissenschaft nicht denkbar wären. Wissenschaftler bringen die Welt voran. :leak:

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 09:13:28 02.09.2010   Titel:              Zitieren

Und die anderen Menschen bringen die Welt nicht voran? Sie holen die Wissenschaft in die Praxis und stellen der Wissenschaft neue Fragen. Sehr engstirnig deine Ansicht, aber das ist hier auch nicht der Thread um das zu diskutieren. Es hat außerdem niemand behauptet das Wissenschaftler nicht wichtig sind. Um ein guter Wissenschaftler zu sein musst du dich der Praxis abwenden und alles in theoretische Modelle pressen und irgendwann verlierst du dich dann da drinne und kommst mit denen die einfach mal was machen nur noch schwer klar. Das ergibt alles für mich einen Sinn, da sich die gesammte Aufmerksamkeit auf einen Punkt konzentriert kennst du diesen Punkt perfekt aber die Umgebung verliert sich dadurch und wird nur noch sehr unscharf wahrgenommen.

So jetzt aber Schluss hier, macht zwar Spaß ist aber nicht Thema hier in diesem Thread.

So zum Thema: Ich habe keine Ahnung vom Compilerbau aber denke nicht dass irgendeinen Compiler zu schreiben sauschwer ist. Zur Königsdisziplin wird es bestimmt wenn er sehr gut optimieren soll und die Sprache die übersetzt wird sehr viel zulässt.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 10:05:33 02.09.2010   Titel:              Zitieren

whitespaces schrieb:

So zum Thema: Ich habe keine Ahnung vom Compilerbau aber denke nicht dass irgendeinen Compiler zu schreiben sauschwer ist. Zur Königsdisziplin wird es bestimmt wenn er sehr gut optimieren soll und die Sprache die übersetzt wird sehr viel zulässt.


Eine Disziplin ist eine Königsdisziplin, wenn Sie ausreichent schwer ist? Wie kann eine Disziplin schwer sein?

_________________
http://sourceforge.net/projects/nano-lang/


Zuletzt bearbeitet von Zeus am 10:05:43 02.09.2010, insgesamt 1-mal bearbeitet
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 10:37:58 02.09.2010   Titel:              Zitieren

Zeus schrieb:
whitespaces schrieb:

So zum Thema: Ich habe keine Ahnung vom Compilerbau aber denke nicht dass irgendeinen Compiler zu schreiben sauschwer ist. Zur Königsdisziplin wird es bestimmt wenn er sehr gut optimieren soll und die Sprache die übersetzt wird sehr viel zulässt.


Eine Disziplin ist eine Königsdisziplin, wenn Sie ausreichent schwer ist? Wie kann eine Disziplin schwer sein?
Du kennst keine Schule die schwer ist? Oder du kennst auch nicht das Sprichwort: "Durch eine harte Schule gehen"? So in dieser Art ist das gemeint mit der Königsdisziplin. Wenn du weitere Bildung brauchst frag ruhig hier wird dir bestimmt geholfen.
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 10:55:00 02.09.2010   Titel:              Zitieren

Zitat:
reichlich wenig Methoden und Strukturen der KI zum Einsatz.
Planen und Optimieren ...
Zitat:
kleines Werkzeug unter vielen in der KI
Ja und, wenn ich einen Schaltkreis entwerfe dann bediene ich mich auch nur eines kleinen Teils der technischen Informatik. Ich brauche doch nicht immer den ganzen Baukasten zu benutzen.
Zitat:
Dann macht es auch keinen Sinn, von "einer KI" zu reden. Wenn Du es mit einem endlichen Automaten zu tun hast, hast Du es ja auch nicht mit "einer Theoretischen Informatik" zu tun.
Das ist sprachliches Wirrwar. Der Kontext traegt auch zur Bedeutung bei. In erster Linie geht es doch um "Intelligenz". Das ist ein recht diffuser Begriff, den jeder etwas anders interpretiert. Aber wenn jemand von einer ausserirdischen Intelligenz spricht, weiss auch jeder was gemeint ist, obwohl das innere Bild des Aliens eines jeden von E.T. bis Worf reichen mag.
Zitat:
Ich habe weiter oben nur kurz angemerkt, was bei mir an Information ankommt, wenn jemand den Begriff so benutzt.
Meinst du nicht, dass es etwas unflexibel ist? (Ok, das ist eine rhetorische Suggestivfrage.)

Zum Thema Buch: Programming Game AI by Example fand ich recht gut. Nein, es werden keine Neuronen oder Antwortmengen behandelt. Man braucht nicht alle Werkzeuge.
Zitat:
Wissenschaftler bringen die Welt voran.
Ja und sie sind auch nur normale Menschen. Also normale Menschen bringen die Welt voran. Manche davon sind sogar Wissenschaftler. :)
Zitat:
Eine Disziplin ist eine Königsdisziplin, wenn Sie ausreichent schwer ist? Wie kann eine Disziplin schwer sein?
Noch mehr sprachliches Wirrwar. Gleich kommt bestimmt: Was ist schwer?

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 11:06:30 02.09.2010, insgesamt 1-mal bearbeitet
whitespaces
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.08.2010
Beiträge: 39
Beitrag whitespaces Mitglied 11:00:31 02.09.2010   Titel:              Zitieren

:live:
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 11:03:50 02.09.2010   Titel:              Zitieren

warum ist Compilerbau eine Koenigsdisziplin? Es ist schwer. Was ist schwer? Besonders viele Huerden sind zu meistern. Was gibt es fuer Huerden? Hmm, ...

Aus bekannten Sprachen:
- Zeiger
- Rekursion
Aus weniger bekannten Sprachen:
- Lambda-Kalkuel
- Continuations
Technische Aspekte:
- Prozessorarchitektur
- Speichermodell
Betriebssystemspezifisch:
- Formate wie elf, ...
Theoretische Aspekte
- Grammatik

Mag jeder fuer sich oder als Post die Huerden gerne ergaenzen. Was fandet ihr schwierig?

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
Dravere
Moderator

Benutzerprofil
Anmeldungsdatum: 13.06.2005
Beiträge: 7463
Beitrag Dravere Moderator 13:44:49 02.09.2010   Titel:              Zitieren

Mal eine andere Frage: Was ist überhaupt eine Köngisdisziplin? Was macht eine Königsdisziplin in der Informatik aus? ;)

Grüssli

_________________
Danke für die Hilfe, Antwort oder Meinung!
C++: Std-Lib Referenz
C# .Net: MSDN kennt die Antwort
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 14:16:00 02.09.2010   Titel:              Zitieren

Ich dachte, dass hatten wir schon geklaert.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 17:42:20 02.09.2010   Titel:   disziplin            Zitieren

@"KI":

KI in einem präzisen Sinne gibt es eigentlich gar nicht - es gibt ja nicht mal eine präzise Definition von "Intelligenz". Kein heutiger Computer würde in einem IQ-Test eine nennenswerte Punktzahl erreichen.

Daß menschliche Intelligenz ...

/* was immer man im Einzelfall darunter verstehen mag */

... außer in eng begrenzten Teilbereichen (logisches Schließen, Expertensysteme ...) automatisierbar ist, ist bisher weder erwiesen noch m.M.n. sonderlich wahrscheinlich.

Das Internet als Ganzes besitzt eine neuartige Form von hybrider (gemischt maschinell-menschlicher) Intelligenz, die besteht aber vor allem aus der millionenfachen Summe menschlicher Intelligenz.
kiiiiii
Unregistrierter




Beitrag kiiiiii Unregistrierter 18:13:18 02.09.2010   Titel:              Zitieren

Es ist noch nicht mal geklärt was Intelligenz überhaupt ist. Also könnt ihr euch denken wie sinnvoll derzeit IQ-Tests oder KI betrieben werden können.
KingCodg
Unregistrierter




Beitrag KingCodg Unregistrierter 20:06:22 02.09.2010   Titel:   Re: Compilerbau Königsdisziplin?            Zitieren

volkard schrieb:
KingCodg schrieb:
Warum wird von vielen Compilerbau als eine der Königsdisziplinen der Informatik bezeichnet? Im Prinzip ist das doch nicht mehr schwierig.

Da hast Du recht. Eine pascaloide Sprache mit Yacc/Bison/Flex hat man schnell hingerotzt, das ist keine Herausforderung, außer ein wenig Zeit für die Einarbeitung in ein wenig allgemeine Theoriie und die Tools. Aber damit kriegt man an sich nur was, was es schon gibt. Wozu ein zweites Pascal bauen? Die Einbauungen der darüber hinausgehenden Features sind dann so teuer, daß es ohne Framework doch billiger wäre.

Welche Königsdisziplinen gibt es noch?
Ja, die Spieleprogrammierung.
Es gibt auch Spieleframeworks und man hat ein Spiel in ein paar Stunden zusammengeklickt, das keine Spielen will.

Welche Königsdisziplinen gibt es noch?
Die Betriebssystemprogramierung.
Ja, man kann mit ein paar Mannjahren ein nettes windows/linux nachbasteln, dabei geht die meiste Zeit drauf, die unzähligen Protokolle zur Hardware rauszufinden. Aber bei Betriebssytemen sind wir noch mehr als bei Sprachen und Spielen im bodenlos Ungewissen. Während einige Sprachen und viele SPiele schon Spaß machen, sind die (oder besser das) Betriebssystem noch hart unbefriedigend. Da ist doch fast jede Deteilentscheidung nur die zweitbeste Wahl.
Sieht so aus. Und da anscheinend nur noch Methoden und Strukturen der Künstlichen Intelligenz eingesetzt werden, um ""Intelligente" Systeme" zusammenzubauen und man sich nicht mal mehr traut von künstlicher Intelligenz zu reden, weil man es nicht hin bekommt, ist die Disziplin auch nicht mehr viel königlicher.
berniebutt
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2007
Beiträge: 2219
Beitrag berniebutt Mitglied 20:07:18 02.09.2010   Titel:              Zitieren

Compiler sind nur ein Werkzeug zur Realisierung von Anwendungen. Dieses Werkzeug muss für alle gleich und auf das absolut notwendige beschränkt sein. Den Rest machen die Bibliotheken. Ich sehe heute wenig Sinn, bei Compilern noch viel neu machen zu wollen. War einmal anders, aber das war gestern! :(

_________________
http://berniebutt.npage.de
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 21:11:40 02.09.2010   Titel:              Zitieren

Sorry, aber ein allgemeines Verstaendnis von modernen Compiler scheint hier wohl irgendwie nicht praesent zu sein.

Compiler transformieren ein Programm von einer Repraesentation A in eine andere Repraesentation B. Meist ist A der Quelltext und B die Binaerform. Meist ist A in einer Programmiersprache geschrieben, in der gewisse Ding komfortabel ausgedrueckt werden koennen. B soll auf einem Rechner besonders schnell ausgefuehrt werden. Der naive Ansatz kann A zwar in B ueberfuehren, wird aber nicht die Moeglichkeiten der Zielplattform ausnutzen. Auch der umgekehrte Weg: Eine Sprache fuer A bei der es leicht ist, ein performantes B zu erzeugen, kann nicht komfortabel sein.

Auch sind die Anforderungen gestiegen: man moechte gern Sicherheit, Korrektheit und (manchmal) Beweisbarkeit. Der Compiler soll bei der Programmentwicklung nicht nur Knecht sondern Hilfe sein. Der Compiler soll "intelligent" sein und in gewisser Weise mitdenken. Das muss aber auch die Sprache fuer A zulassen, z.B. ist die Programmiersprache C nicht sehr entgegenkommend. Deswegen ist
Zitat:
Ich sehe heute wenig Sinn, bei Compilern noch viel neu machen zu wollen. War einmal anders, aber das war gestern!
gerade heute absoluter Bullshit. Jetzt wo es eine Vielzahl an Programmiersprachen gibt, die nicht nur akademisch Natur sind sondern von vielen eingesetzt werden (Ruby, Python, Java, C, JavaScript, Haskell, ...). Hinzu kommen Domain spezifische Sprachen, bei denen der Applikationsentwickler diese speziell fuer ihren Zweck entwerfen kann. Was kann man da noch viel neu machen? Alles!

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
Sqwan
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.01.2006
Beiträge: 965
Beitrag Sqwan Mitglied 21:16:43 02.09.2010   Titel:              Zitieren

Intelligenz ist doch erstmal die Fähigkeit zu lernen.
Wie lernt man? In dem man sich Fragen stellt. Und so lange der PC das nicht selbstständig macht wirds schon scher. Im nächsten schritt muss er aus informationen die er hat einen mehrwert ziehen. Und versuchen für ein bestimmtes ergebnis gewisse informationen zu finden.

Interessant wäre dazu erstmal, das ein PC durch gewisse züge von allein lernt Schach zu spielen.
Heißt, es gibt ein Schachfeld. Der PC kennt die regeln nicht. Jetzt macht der gegner einen Zug, und der PC lernt von allein warum dieser zug möglich ist und wann welchr zug möglich ist. Egal welches spiel man ihm vor setzt. Auch sollte er allein erkennen wie es funktioniert. Heißt, man legt ihm Mensch Ärger dich nicht vor, und er merkt von allein, das die figur von punkt zu punkt läuft, und das immer in eine richtigung und zwar so viele Punkte wie auf dem Würfel sind.
Beim Schach muss er dann schon wiessen das es verschiedene farben gibt. Und zwar von allein.

Und dann erkenntnisse draus ziehen. Also quasi selber algorithmen entwickeln die ihn weiter bringen.

Das würde für mich "eine KI" ausmachen. Vorallem das sie flexibel ist und nicht die lösung für einen Fall. Eine Schach-KI ist ja keine KI sondern der Rechenweg eines Menschen für einen bestimmten fall.
Man kann sie also weg werfen wenn das spiel auf einmal Dame hieße.

Dagegen sollte Compilerbau doch eher ein Kinderspiel sein.
Womit ich nicht sagen möchte das Compilerbau nicht schwer ist und zur Königsdisziplin gehört...

_________________
"Besser" impliziert "Anders" aber "Anders" impliziert noch lange nicht "Besser"
Die alte Kuh so schnell vergisst, dass sie selbst mal Kalb gewesen ist!
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 21:23:55 02.09.2010   Titel:              Zitieren

Also ich hab ein Agent für Wumpus-Spiel programmiert und ein Bool Compiler - der Agent war einfacher :cool:

_________________
http://sourceforge.net/projects/nano-lang/
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 21:55:16 02.09.2010   Titel:              Zitieren

knivil schrieb:
Hinzu kommen Domain spezifische Sprachen, bei denen der Applikationsentwickler diese speziell fuer ihren Zweck entwerfen kann. Was kann man da noch viel neu machen? Alles!


ich denke, es wäre eleganter, eine Hochsprache mit hinreichend flexibler Syntax herzunehmen und die DSLs in dieser Hochsprache zu formulieren, anstatt für jede DSL einen neuen Compiler zu bauen.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 21:57:58 02.09.2010   Titel:              Zitieren

!rr!rr_. schrieb:
knivil schrieb:
Hinzu kommen Domain spezifische Sprachen, bei denen der Applikationsentwickler diese speziell fuer ihren Zweck entwerfen kann. Was kann man da noch viel neu machen? Alles!


ich denke, es wäre eleganter, eine Hochsprache mit hinreichend flexibler Syntax herzunehmen und die DSLs in dieser Hochsprache zu formulieren, anstatt für jede DSL einen neuen Compiler zu bauen.

Er hat die Sprachen doch aufgezählt, wo dies möglich ist. Allerdings hast man das Problem, dass evtl. die Hostsprache ein Problem für die DSL sein kann.

_________________
http://sourceforge.net/projects/nano-lang/


Zuletzt bearbeitet von Zeus am 21:58:37 02.09.2010, insgesamt 2-mal bearbeitet
mmmmm
Unregistrierter




Beitrag mmmmm Unregistrierter 22:39:40 02.09.2010   Titel:              Zitieren

Intelligenz besteht für mich aus folgenden Komponenten:
- Die Fähigkeiten zu lernen
- Die Fähigkeiten erlerntes anzuwenden und für den Gebrauch in ähnlichen Situationen anzupassen
- Die Fähigkeit Zusammenhänge zu erkennen und zu verstehen
- Die Fähigkeit sich Dinge bewusst und unbewusst zu merken
- Die Fähigkeit eine Handlung mit mehreren Schritten im Voraus zu planen
- und so weiter und so fort...
träumer
Unregistrierter




Beitrag träumer Unregistrierter 02:47:17 03.09.2010   Titel:              Zitieren

Sqwan schrieb:
Intelligenz ist doch erstmal die Fähigkeit zu lernen.
Wie lernt man? In dem man sich Fragen stellt. Und so lange der PC das nicht selbstständig macht wirds schon scher. Im nächsten schritt muss er aus informationen die er hat einen mehrwert ziehen. Und versuchen für ein bestimmtes ergebnis gewisse informationen zu finden.

Interessant wäre dazu erstmal, das ein PC durch gewisse züge von allein lernt Schach zu spielen.
Heißt, es gibt ein Schachfeld. Der PC kennt die regeln nicht. Jetzt macht der gegner einen Zug, und der PC lernt von allein warum dieser zug möglich ist und wann welchr zug möglich ist. Egal welches spiel man ihm vor setzt. Auch sollte er allein erkennen wie es funktioniert. Heißt, man legt ihm Mensch Ärger dich nicht vor, und er merkt von allein, das die figur von punkt zu punkt läuft, und das immer in eine richtigung und zwar so viele Punkte wie auf dem Würfel sind.
Beim Schach muss er dann schon wiessen das es verschiedene farben gibt. Und zwar von allein.
Und die SW dazu schreibt sich von allein. Und genau deshalb kommt man kein Stück weiter, weil ihr viel zu viel erwartet.
kiiii
Unregistrierter




Beitrag kiiii Unregistrierter 07:50:10 03.09.2010   Titel:              Zitieren

Na schön das wenigstens ihr wisst was Intelligenz ist. Da seit ihr klüger als die derzeitige Wissenschaft in diesem Bereich.
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 08:44:09 03.09.2010   Titel:   domain specific            Zitieren

Zeus schrieb:

Er hat die Sprachen doch aufgezählt, wo dies möglich ist. Allerdings hast man das Problem, dass evtl. die Hostsprache ein Problem für die DSL sein kann.


eben - genau deshalb eignen sich die genannten ja auch nicht optimal zur Implementation von DSLs. Die Syntaxen der genannten Sprachen sind nicht flexibel genug, man kann kaum neue Sprachelemente definieren, ohne die Sprache zu verlassen und ohne einen ganzen Interpreter oder Compiler zu implementieren.

Bei Sprachen zur Implementation von DSLs denke ich eher an sowas wie FORTH oder LISP - Sprachen mit minimaler Syntax, in denen man DSLs ganz natürlich in Form neuer Befehle und Syntaxelemente defnieren kann.
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 09:51:09 03.09.2010   Titel:              Zitieren

!rr!rr_. schrieb:
ich denke, es wäre eleganter, eine Hochsprache mit hinreichend flexibler Syntax herzunehmen und die DSLs in dieser Hochsprache zu formulieren, anstatt für jede DSL einen neuen Compiler zu bauen.
Ich entwickle also eine DSL (A), transformiere sie in die Hostsprache (B) und kompiliere sie in Binaerform (C, aber irrelevant). Der Prozess von A nach B ist ebenfalls eine Compilierung.
Zitat:
Die Syntaxen der genannten Sprachen sind nicht flexibel genug, man kann kaum neue Sprachelemente definieren, ohne die Sprache zu verlassen
Du sollst ja auch nicht die Hostsprache erweitern.
Zitat:
Intelligenz besteht für mich aus folgenden Komponenten:
- Die Fähigkeiten zu lernen
Nein. In dem Teilgebiet KI der Informatik macht das Thema "Lernen" nur einen geringen Teil aus. Intelligent bedeutet sowas wie schlau, ein Problem gut loesen. Ob die Loesungsstrategie gelernt, abgeschaut, in den Genen kodiert oder durch einen Algorithmus realisiert ist, spielt dabei keine Rolle. Verwechselt es nicht mit Bewusstsein!

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 10:02:24 03.09.2010, insgesamt 9-mal bearbeitet
Ich bin es!
Unregistrierter




Beitrag Ich bin es! Unregistrierter 09:58:36 03.09.2010   Titel:              Zitieren

Das Schwierige am Compilerbau ist doch nur der Optimizer?
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 10:00:00 03.09.2010   Titel:              Zitieren

Ist das eine Frage? Magst du vielleicht nochmal den Thread lesen? Kurz: Nein! Und "doch nur" laesst mich denken, dass du es selbst noch nie probiert hast.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 10:00:59 03.09.2010, insgesamt 2-mal bearbeitet
Ich bin es!
Unregistrierter




Beitrag Ich bin es! Unregistrierter 10:19:05 03.09.2010   Titel:              Zitieren

Dann schau dir doch mal den Artikel im C++Magazin über Compilerbau an.
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 10:24:04 03.09.2010   Titel:              Zitieren

Dann beschaeftige dich doch mal ernsthaft mit Compilerbau. Das soll keine Kritik an den Artikeln sein, sie koennen allein vom Umfang her nicht mal die Spitze des Eisberges aufzeigen.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 10:25:57 03.09.2010, insgesamt 1-mal bearbeitet
compilernerd
Unregistrierter




Beitrag compilernerd Unregistrierter 11:39:29 03.09.2010   Titel:              Zitieren

Compilerbau ist Compilerbau ob das nun in drei Seiten erklärt ist und dann auch inner Woche umgesetzt ist oder ob man einen wirklichen professionellen Compiler entwickelt ist doch Wurst. Sobald ein Programmen eine Programmiersprache in Maschinencode umsetzt haben wir einen Compiler vorliegen.

Also Compilerbau überhaupt nicht schwer, aber wenn es wirklich professionell werden soll dann wird es, wie mit fast allem, extrem komplex.

Compilerbau Königdisziplin?
Nein, vom Grunde her eine relativ einfache Geschichte welche aber je nach Anforderungen zu einer Königsdisziplin werden kann. Genauso ist es bei Spieleentwicklung, OS-Entwicklung etc.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 11:45:15 03.09.2010   Titel:              Zitieren

compilernerd schrieb:
Compilerbau ist Compilerbau ob das nun in drei Seiten erklärt ist und dann auch inner Woche umgesetzt ist oder ob man einen wirklichen professionellen Compiler entwickelt ist doch Wurst. Sobald ein Programmen eine Programmiersprache in Maschinencode umsetzt haben wir einen Compiler vorliegen.

Also Compilerbau überhaupt nicht schwer, aber wenn es wirklich professionell werden soll dann wird es, wie mit fast allem, extrem komplex.

Compilerbau Königdisziplin?
Nein, vom Grunde her eine relativ einfache Geschichte welche aber je nach Anforderungen zu einer Königsdisziplin werden kann. Genauso ist es bei Spieleentwicklung, OS-Entwicklung etc.


Du stellst deine Ahnungslosigkeit gerne so zu schau?

_________________
http://sourceforge.net/projects/nano-lang/


Zuletzt bearbeitet von Zeus am 11:51:38 03.09.2010, insgesamt 1-mal bearbeitet
berniebutt
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2007
Beiträge: 2219
Beitrag berniebutt Mitglied 12:03:55 03.09.2010   Titel:              Zitieren

Die Krux ist wohl, wenn ein Compiler sehr viel mehr als nur die optimierte Umsetzung von standardisiertem Quellcode (Beispiel C oder C++) in ausführbaren Maschinencode leisten soll. Für mich ist das bereits das Drumherum, was man auch gerne haben möchte.

Erweitere ich die Anforderungen an einen Compiler in die spezifischen Anwendungen hinein, wird die Angelegenheit sehr komplex! ;)

Ach, wie war es doch zudem mit Assembler, FORTRAN, PASCAL, und auch C so bequem! :p Man hatte nur einen Compiler und brauchte nicht für neue Ziele gleich einen neuen Compiler suchen oder gar selbst entwickeln müssen.

_________________
http://berniebutt.npage.de
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 12:04:29 03.09.2010   Titel:              Zitieren

Zitat:
je nach Anforderungen zu einer Königsdisziplin werden kann.
Ich zitiere mich mal selbst:
Zitat:
Auch sind die Anforderungen gestiegen: man moechte gern ...
Desweiteren habe ich schon den naiven Ansatz diskutiert.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 12:05:15 03.09.2010, insgesamt 1-mal bearbeitet
compilernerd
Unregistrierter




Beitrag compilernerd Unregistrierter 16:14:24 03.09.2010   Titel:              Zitieren

Zeus schrieb:
compilernerd schrieb:
Compilerbau ist Compilerbau ob das nun in drei Seiten erklärt ist und dann auch inner Woche umgesetzt ist oder ob man einen wirklichen professionellen Compiler entwickelt ist doch Wurst. Sobald ein Programmen eine Programmiersprache in Maschinencode umsetzt haben wir einen Compiler vorliegen.

Also Compilerbau überhaupt nicht schwer, aber wenn es wirklich professionell werden soll dann wird es, wie mit fast allem, extrem komplex.

Compilerbau Königdisziplin?
Nein, vom Grunde her eine relativ einfache Geschichte welche aber je nach Anforderungen zu einer Königsdisziplin werden kann. Genauso ist es bei Spieleentwicklung, OS-Entwicklung etc.


Du stellst deine Ahnungslosigkeit gerne so zu schau?

Na, dann erklären sie Herr Klugscheißer doch mal für die Allgemeinheit ab wann man ein Programm einen Compiler nennen kann.
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 16:55:29 03.09.2010   Titel:              Zitieren

compilernerd schrieb:
Na, dann erklären sie Herr Klugscheißer doch mal für die Allgemeinheit ab wann man ein Programm einen Compiler nennen kann.
Darum geht es doch gar nicht in diesem Thread.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 16:58:33 03.09.2010, insgesamt 2-mal bearbeitet
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 18:12:30 03.09.2010   Titel:   doch            Zitieren

Zitat:
Du sollst ja auch nicht die Hostsprache erweitern.


doch, gerade das ist wünschenswert - interne DSLs sind eleganter und einfacher zu implementieren als externe DSLs.

- und da kommt man mit den genannten Java oder Haskell etc nicht weiter. Mit syntaktisch flexiblen Sprachen wie LISP oder FORTH aber schon.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 18:19:34 03.09.2010   Titel:   Re: doch            Zitieren

!rr!rr_. schrieb:
Zitat:
Du sollst ja auch nicht die Hostsprache erweitern.


doch, gerade das ist wünschenswert - interne DSLs sind eleganter und einfacher zu implementieren als externe DSLs.

- und da kommt man mit den genannten Java oder Haskell etc nicht weiter. Mit syntaktisch flexiblen Sprachen wie LISP oder FORTH aber schon.


Die Anforderung bestimmt ob es wünschenswert. Dein Wünschenswert ist aus dem Brauch heraus, wie du es gerne siehst.
Ein Problem hab ich schon genannt, dass die Konflikte zwischen Hostsprache und DSL kommen könnte. Ein Weiteres ist, dass das man überhaupt nicht die Mächtigkeit der Hostsprache braucht und die Reduzierung auf die DSL Einfachheit bringen würde.

_________________
http://sourceforge.net/projects/nano-lang/


Zuletzt bearbeitet von Zeus am 18:21:24 03.09.2010, insgesamt 2-mal bearbeitet
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 18:45:55 03.09.2010   Titel:   dsls            Zitieren

Zitat:
Ein Weiteres ist, dass das man überhaupt nicht die Mächtigkeit der Hostsprache braucht und die Reduzierung auf die DSL Einfachheit bringen würde.


es zwingt ja niemand den Benutzer einer internen DSL, den Rest der Hostsprache mitzubenutzen, wenn er das nicht braucht.

Praxisbeispiel: man kann perfekte Dokumente in LaTeX herstellen, ohne jemals auf "rohe" TeX-befehle zurückgreifen zu müssen. Niemand zwingt einen LaTeX-Programmierer, "rohe" TeX-Befehle zu benutzen, wenn er sie nicht braucht.

Zitat:

Ein Problem hab ich schon genannt, dass die Konflikte zwischen Hostsprache und DSL kommen könnte.


dieses Problem wird umso unwahrscheinlicher auftreten, je minimaler die Syntax der Hostsprache ist. Bei den genannten FORTH oder LISP dürften kaum Kollisionen vorkommen, denn man kann ja fast alles selber definieren.
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4491
Beitrag knivil Mitglied 19:05:17 03.09.2010   Titel:              Zitieren

Dennoch gibt es Probleme, wenn Schluesselwoerter der Hostpsrache mit denen der DSL kollidieren. Und zu Haskell: Man hat sich bewusst gegen ein Makrosystem a la Lisp/Scheme entschieden, wobei PLT-Scheme/Racket noch einen Tick drauf setzt. Man geht einfach einen anderen Weg, selbstverstaendlich kommt man Java oder Haskell genauso weit, auch wenn in Java nicht ganz so komfortabel. Beieindruckend finde ich http://video.google.com/videoplay?docid=2474684021522878343# , wobei es eher was mit Compilerbau als mit DSL oder Makrosystem zu tun hat.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 19:09:02 03.09.2010, insgesamt 3-mal bearbeitet
lleksah
Unregistrierter




Beitrag lleksah Unregistrierter 19:33:10 03.09.2010   Titel:              Zitieren

Haskell *kotz programmiert da echt jemand freiwillig mit?
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 18:11:34 04.09.2010   Titel:   dennoch            Zitieren

knivil schrieb:
Dennoch gibt es Probleme, wenn Schluesselwoerter der Hostpsrache mit denen der DSL kollidieren.


mag sein - wenn man es darauf anlegt. Muß man bei einer DSL, die LISP-intern realisiert wird, unbedingt die runde Klammer brauchen? Es dürfte machbar sein, dann eben die eckige oder geschweifte zu nehmen, wo die runde Klammer in LISP nunmal bereits vorbelegt ist.

LaTeX, um im praktischen Beispiel zu bleiben, fügt HUNDERTE neuer Befehle teils mit komplexen Sub-Syntaxen (z.B. array-Umgebung) zu TeX hinzu, und es gibt nur höchstens eine Handvoll Kollisionen (TeX-Befehle, die mit LaTeX vermieden werden sollten).

knivil schrieb:

Und zu Haskell: Man hat sich bewusst gegen ein Makrosystem a la Lisp/Scheme entschieden, wobei PLT-Scheme/Racket noch einen Tick drauf setzt.


Makrosysteme in Programmiersprachen sollten eigentlich sowieso vermieden werden. Sorgfältiges Sprachdesign vorausgesetzt, kommt man ohne Makrosysteme und ohne Prä-Pros aus.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 18:16:19 04.09.2010   Titel:              Zitieren

Wieso soll ein Makrosystem vermieden werden?

_________________
http://sourceforge.net/projects/nano-lang/
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 18:27:25 04.09.2010   Titel:   makro            Zitieren

weil es ein Behelf ist. Um Sprachfeatures nachzurüsten oder Portabilität zu erzwingen.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 19:03:25 04.09.2010   Titel:   Re: makro            Zitieren

!rr!rr_. schrieb:
weil es ein Behelf ist. Um Sprachfeatures nachzurüsten oder Portabilität zu erzwingen.


Und wo sind meine erhofften Gegenargumente?

_________________
http://sourceforge.net/projects/nano-lang/
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 19:38:14 04.09.2010   Titel:   da            Zitieren

da sind sie

1. Sprachfeatures per Makroprozessor nachzurüsten ist ein Behelf und schafft oft genug Schwierigkeiten, weil sich Makros nicht in die eigentliche Sprache integrieren. :idea:

Tip: Besser wäre, die notwendigen Features gleich einzubauen und in die Sprachsyntax aufnehmen.

2. Portabilität per Makros und Prä-Pro zu erzwingen - daß das nicht optimal sein kann, dazu reicht ein Blick auf die Makefiles und deren Prä-Files, aus denen sie generiert werden.

Tip: Besser eine Sprache von Anfang an portabel definieren, oder aber die Sprache nur dort einsetzen, wo sie portabel ist. :idea:
nman
Moderator

Benutzerprofil
Anmeldungsdatum: 19.02.2002
Beiträge: 12947
Beitrag nman Moderator 19:54:25 04.09.2010   Titel:              Zitieren

Nicht, dass ich mich hier beteiligen möchte, aber kann es sein, dass Du Makros mit "C-Makros" gleichsetzt? Diverse Lisps haben sehr schöne Makrosysteme, die nichts mit archaischen Präprozessor-Basteleien zu tun haben. Auch Polemiken sollten ein klein wenig recherchiert werden.

Warum Du Makefiles und Autotools durcheinanderwürfelst und hier als Argument bringst, verstehe ich auch nicht. Insbesondere nicht, wofür sie ein Argument sein sollen. Hat sich hier irgendjemand als m4-Fan geoutet? Wenn ja, wo?

_________________
…but tuesday's just as bad.
Bashar
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 16823
Beitrag Bashar Mitglied 20:16:16 04.09.2010   Titel:              Zitieren

Das weiß "!rr!rr_." doch, schließlich hat er sich als Fan von LISP und FORTH zu erkennen gegeben. Wobei Lisp als LISP zu schreiben aber ein ziemlich starker Indikator für keine Ahnung haben ist ;)

_________________
OSL♥
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 20:34:32 04.09.2010   Titel:   aua            Zitieren

schreib' das doch mal McCarthy, dem Designer von LISP und ein Autor des

LISP 1.5 Programmer's Manual :eek:

:D
nman
Moderator

Benutzerprofil
Anmeldungsdatum: 19.02.2002
Beiträge: 12947
Beitrag nman Moderator 21:23:38 04.09.2010   Titel:              Zitieren

Oh, ein googelnder Traditionalist. Hast Du mal aufs Veröffentlichungsdatum von dem Ding geschaut? Weiß gerade nicht auswendig, ob das Ende der Fünfziger oder erst Anfang der Sechziger herauskam, aber so richtig taufrisch ist es nicht mehr.

Ich kann mich irgendwie des Gefühls nicht erwehren, dass Du mit Lisp-Makros nicht gerade auf Du und Du bist. :)

_________________
…but tuesday's just as bad.
Bashar
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 16823
Beitrag Bashar Mitglied 21:27:37 04.09.2010   Titel:              Zitieren

Damals war das ja auch noch in Ordnung. Bist du in den 60ern stehen geblieben oder hast du von der späteren Entwicklung etwas mitbekommen? LISP 1.5 hatte noch keine Makros. Das würde ja einiges erklären ...

_________________
OSL♥
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 21:41:26 04.09.2010   Titel:   oh            Zitieren

nman schrieb:
Hast Du mal aufs Veröffentlichungsdatum von dem Ding geschaut?

Ja. Und?
nman schrieb:

Ich kann mich irgendwie des Gefühls nicht erwehren, dass Du mit Lisp-Makros nicht gerade auf Du und Du bist. :)

wie romantisch :D
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 21:48:28 04.09.2010   Titel:   damals            Zitieren

a)
Bashar schrieb:

Wobei Lisp als LISP zu schreiben aber ein ziemlich starker Indikator für keine Ahnung haben ist

b)
Bashar schrieb:
LISP 1.5 hatte noch keine Makros.

:D
Bashar
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 16823
Beitrag Bashar Mitglied 22:01:03 04.09.2010   Titel:              Zitieren

:rolleyes:

_________________
OSL♥
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2585
Beitrag Zeus Mitglied 22:03:42 04.09.2010   Titel:              Zitieren

Da sich die Argumente in Luft auflösen, was wollt ihr noch in diesem Thread? :confused:

_________________
http://sourceforge.net/projects/nano-lang/
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 23:11:31 04.09.2010   Titel:   makros            Zitieren

geordneter Rückzug ?? :D

einigen wir uns darauf: die hypothetische, optimale Programmiersprache braucht weder einen Prä-Pro noch Makrosystem.
nman
Moderator

Benutzerprofil
Anmeldungsdatum: 19.02.2002
Beiträge: 12947
Beitrag nman Moderator 23:30:14 04.09.2010   Titel:   Re: makros            Zitieren

!rr!rr_. schrieb:
geordneter Rückzug ?? :D

Nein, einen Troll beim Trollen erwischt. Ich dachte, es sei höflicher, darauf nicht groß einzugehen.

_________________
…but tuesday's just as bad.
C/C++ Forum :: Rund um die Programmierung ::  Compilerbau Königsdisziplin?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.