Toon posts:

Hoe kan je o.a. je eigen programmeertaal maken?

Pagina: 1
Acties:
  • 958 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo medetweakers, waar of hoe maak ik o.a. mijn eigen programmeertaal net als HTML? Dit kan ik later bijvoorbeeld gebruiken om m'n eigen programma's of websites te schrijven e.d.
Iemand enig idee :9 ?

[ Voor 7% gewijzigd door Verwijderd op 25-11-2002 20:37 ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Euhm, ik ben eigenlijk wel benieuwd. Wat zijn je eigen ideeen en bevindingen hier over, die je ongetwijfeld al hebt?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

het is nie zo moeilijk eigenlijk, bekijk maar eens de opbouw van HTML

<b>tekst</b> --> om iets in het vet te zetten

het maken van een "eigen html" bestaat gewoon uit het ontwerpen van de scripttaal
( vb. [vet]tekst[/vet] ) en deze verwerken (parsen) door middel van een browser of een plug-in voor een bestaande browser

het nadeel hiervan is dat alle gebruikers die je site willen bekijken deze plug-in moeten installeren

(flash is het bekendste voorbeeld ervan eigenlijk)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Gezien je vraagstelling vraag ik me af of je weet hoe complex zoiets is. En wat zou jouw taal extra moeten bieden tov de bestaande?

  • intoxicated
  • Registratie: Januari 2001
  • Niet online

intoxicated

Haaaai :w | ALT-S

Verwijderd schreef op 25 November 2002 @ 20:36:
Hallo medetweakers, waar of hoe maak ik o.a. mijn eigen programmeertaal net als HTML?
HTML is geen programmeertaal. Je kan je eigen Markup Language maken door zelf een renderer te schrijven met je eigen specs, en een lijstje tags te maken :)
Dit kan ik later bijvoorbeeld gebruiken om m'n eigen programma's of websites te schrijven e.d.
Iemand enig idee :9 ?
Dat zou je kunnen doen, maar die programma's moet je dan wel compilen. En daarvoor moet je een compiler maken, in bijv. C++. En met HTML-like languages kan je geen interactieve programma's maken, niet zonder gebruik te maken van een scripting-taal.

Maar goed, ik kan hier nog wel meer schrijven. 't Komt erop neer dat het, gezien de vraagstelling, wat te hoog gegrepen is voor jou om een taal te ontwikkelen :)

"Anyone who does not agree with me is mentally sick, and should be shot I'm afraid to say."
- Pastor Richards @ VCPR


  • Defspace
  • Registratie: Mei 2000
  • Laatst online: 14-03 12:06

Defspace

Administrator

Daarbij is HTML geen programmeertaal maar een Markup Language.

Een opmaak taal (zoals HTML) is nog wel te doen. Hangt er alleen van af hoe uitgebreid je hem wilt. Het probleem wordt alleen de acceptatie van grote browsers te krijgen of jouw eigen browser aan de man te brengen.
Een compiler zou ik gezien je vraag nog even uit mijn hoofd zetten.

Verwijderd

Allereerst, // HTML is geen programmeer taal.

Ten tweede, als je zelf een programeer taal wil maken: waarom wil je dat dan? Wat ontbreekt er aan bestaande talen? Wat wil je eraan verbeteren of veranderen?

Ten derde, als je ook maar iets wil beginnen op dat gebied moet je van de grond af weten hoe een computer werkt. De logische poortjes, registers, berekeningen, machine code, de ISA, ASM en nog veel meer.

Ik doe Technische Informatica en daar krijg je bij het vak Computer Organisatie veel informatie over hoe een simpele processor werkt. Maar deze processor heeft slechts een paar instructies. Hij kan bijvoorbeeld niet aftrekken of vermenigvuldigen. Enkel optellen, shiften en nog wat andere dingen. Zelf instructies schrijven voor deze processor gaat nog wel met veel moeite en wat hulp. Maar om nu zelf een programmeertaal (en dan vooral de compiler die enigszins begrijpbare text in machinecode omzet) te maken, lijkt mij errrg moeilijk.

[ Voor 1% gewijzigd door Verwijderd op 25-11-2002 20:54 . Reden: html != programmeertaal overbodig ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 04-04 17:05
html is geen programeertaal! // hmm ben de zoveelste al die dat zegt.

Probeer eens uit te vogelen hoe html zelf werk op w3.org kun je heel veel vinden daarover. Dan heb je een beter beeld wat je allemaal te doen staat en wat je zelf graag zou willen realiseren/ verbeteren.

[ Voor 9% gewijzigd door Sybr_E-N op 25-11-2002 20:53 . Reden: html ]


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 23-03 19:11

chem

Reist de wereld rond

intoxicated schreef op 25 november 2002 @ 20:47:
[...]
HTML is geen programmeertaal. Je kan je eigen Markup Language maken door zelf een renderer te schrijven met je eigen specs, en een lijstje tags te maken :)

hey, dat noemen we RML ;)

Klaar voor een nieuwe uitdaging.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

En als je verder in de HTML achtige omgeving wilt blijven, dan moet je maar eens kijken naar XML+XSLT. Je mag dan je eigen tags bedenken en je kan het ook op je eigen manier visualiseren. Ik denk dit een oplossing is voor jouw vraag.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

opmerking:
De opmerking dat HTML geen programmeertaal is, is zo langzamerhand wel duidelijk, denk ik

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Ik vond dit boek heerlijk om eens te zien hoe zoiets nou ongeveer in elkaar zit:
http://www.cs.princeton.edu/~appel/modern/

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Yarvieh: Maar in Xml kan je retegoed programmeren
Vrijwel elke programmeertaal maakt gebruik van een context-vrije grammatica en na het parsen van een programma in een taal blijft er een abstract syntax tree over. Deze abstract syntax tree is zeer sterk te vergelijken met XML om het beide reguliere bomen zijn. XML is goed te formaliseren met reguliere bomen en reguliere boom grammatica's.

De 'ontdekking' (die je overigens op verschillende plekken ziet) dat XML gebruikt kan worden vind ik daarom nogal lachwekkend: het slaat simpelweg een over in de compilatie. De enige die hier voordeel van heeft is imho de luie compilerbouwer.

Er is een grappige relatie met Lisp. De huidige syntax van Lisp was ooit bedoelt als een soort abtracte syntax, waar later nog een concrete syntax voor ontworpen moest gaan worden. Die is er nooit gekomen en daarom staat Lisp nu dus bekend als Lots of Irritating and Silly Parentheses. Ik denk dat veel mensen het me eens zullen zijn dat de syntax nog verschrikkelijk is dan die van Lisp.

Dat XSLT de XML syntax gebruikt is tot daar aan toe, XML Schema wordt al irritant, maar een volledige general purpose programmeertaal in XML is krankzinnig. Het is prima om zo'n XML formaat te beginnen, maar gebruik die dan om ASTs uit te wisselen tussen componenten die werken op de taal.

Het argument dat het goed is om XML te genereren is flauwekul: je kan de bestaande programmeertalen goed uitbreiden met XML constructies. Dat dit nog niet is gebeurd, is een ander probleem.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Alarmnummer schreef op 25 November 2002 @ 20:45:
Gezien je vraagstelling vraag ik me af of je weet hoe complex zoiets is. En wat zou jouw taal extra moeten bieden tov de bestaande?
Het zou mij zo gunstig zijn dat het programmeren van websites makkelijker is. Bijvoorbeeld: ASP is moeilijk als je er aan begint. ASP omzetten in AASP bijvoorbeeld en dan de scripts zo makkelijk maken dat het net HTML is!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
a3vantilburg: Het zou mij zo gunstig zijn dat het programmeren van websites makkelijker is. Bijvoorbeeld: ASP is moeilijk als je er aan begint.
Zolang je ASP moeilijk vindt zou ik maar niet gaan werken aan een eigen programmeertaal, maar dat advies is al meer gegeven ;) . Voor het maken van een programmeertaal heb je aardig wat formele kennis over grammatica's nodig. Afhankelijk van je compileerdoel heb je ook aardig wat kennis van compilatie en lagere programmeertalen nodig. Daarnaast is het erg verstandig om een fors aantal talen zeer goed te beheersen en begrijpen voordat je zelf een taal gaat ontwerpen.
ASP omzetten in AASP bijvoorbeeld en dan de scripts zo makkelijk maken dat het net HTML is!
Ik vrees dat je ook nog even moet gaan bedenken wat HTML nu eigenlijk is en wat een browser precies allemaal doet. Het maken van een HTML alternatief vereist server-side omzetting naar HTML omdat je afhankelijk bent van de browser van de gebruiker, die alleen HTML begrijpt. Platformen als JSP, ASP .NET, ASP en PHP werken daarom allemaal server-side en versturen HTML naar de browser.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Vraagje tussen door.

Stel hij zou met zijn eigen ontworpen taal een programa schrijven is dit dan moeilijk te kraken/hacken of iets dergelijks.

[edit]

Sorry voor de onduidelijkheid. Wat ik me afvroeg is of het moelijker is als je de taal niet kent waarin het programa is geschreven.

[ Voor 34% gewijzigd door Verwijderd op 25-11-2002 22:09 ]


Verwijderd

Topicstarter
Verwijderd schreef op 25 November 2002 @ 21:55:
Vraagje tussen door.

Stel hij zou met zijn eigen ontworpen taal een programa schrijven is dit dan moeilijk te kraken/hacken of iets dergelijks.
Als je het goed beveiligd in je eigen broncode niet nee, maar HTML mag je tog ook zien? Het is tog leuk als andere programmeren met JOUW taal???

[ Voor 8% gewijzigd door Verwijderd op 25-11-2002 22:03 ]


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Vistick: Stel hij zou met zijn eigen ontworpen taal een programa schrijven is dit dan moeilijk te kraken/hacken of iets dergelijks.
De mogelijkheid tot kraken/hacken is maar voor een deel afhankelijk van de taal. Het hangt voor het grootste deel af van de programmeur. De taal kan de programmeur echter wel ondersteunen, bijvoorbeeld via het onmogelijk maken van buffer-overflows.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Verwijderd schreef op 25 november 2002 @ 21:55:
Vraagje tussen door.

Stel hij zou met zijn eigen ontworpen taal een programa schrijven is dit dan moeilijk te kraken/hacken of iets dergelijks.
Als ik in mijn oor peuter, zit er dan oorsmeer aan? ... Ligt natuurlijk of ik het met mijn elleboog of met een wattenstaafje doe.

Je moet echt wel meer weten om een antwoord op je vraag te geven.

  • Wilke
  • Registratie: December 2000
  • Laatst online: 09:04
Met bison (parser generator) en flex (lexical analyzer generator), en een hoop C code.

Verwijderd

Kortom, zodra je kan beginnen met een compiler bouwen ben je 5 jaar hard studeren verder.

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Verwijderd schreef op 25 november 2002 @ 21:48:
ASP is moeilijk als je er aan begint.
[rant]Probeer dan eens PHP.[/rant]

Rustacean


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Wilke: Met bison (parser generator) en flex (lexical analyzer generator).
Gelukkig zijn er nog wel een stuk meer parser generators ;) . De beste (althans, in bepaalde situaties) staat hier overigens niet bij.

Dat hoopje C code zou ik graag willen vervangen door een ruime keuze aan andere talen. Hieronder vallen natuurlijk alle imperatieve general purpose talen zoals C#, Java, C++, Eiffel enz, maar in het bijzonder bijvoorbeeld ook Stratego. In Stratego kan je heel goed (en declaratief, wat dat ook moge zijn) bomen herschrijven, iets waar je veel mee bezig bent bij compilerbouw.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Overigens is dit ook nog wel een aardig verhaal in dit verband voor als je wat meer over programmeertalen na wilt denken. Deze interessante slides (helaas ppt maar OpenOffice laat het ook goed zien) bespreken onder andere het doel van programmeertalen en het belang van onderzoek naar programmeertalen, maar ook compilatie komt aan bod. Er wordt onder andere een interessant betoog gehouden over het gebruik van typering bij compilatie. Veel compilatie is op dit moment erg syntax georienteerd. In de slides wordt het belang van type georienteerde compilatie benadrukt.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Vreemd, om het ontwikkelen van een nieuwe programmeertaal te zien als een methode om ontwikkelen van software eenvoudiger te maken, terwijl het ontwikkelen van software al lastig genoeg is.

Uiteindelijk zul je zien dat, als je eenmaal de kennis en ervaring hebt om werkelijk deze plannen uit te voeren, er meer (en misschien wel urgentere) problemen uitdagingen zijn m.b.t. het ontwikkelen van software dan nog een nieuwe porgrammeertaal te creeren. Daarmee wil ik niet het belang van onderzoek naar nieuwe talen ondermijnen, maar het is in het algemeen niet echt een pragmatische aanpak om effectiever software te ontwikkelen (op korte termijn zeker niet).

Korte-termijnwinsten kun je beter halen met goede programmeermethoden, ontwerp- en debugtechnieken, kennis van en ervaring met talen, tools en platforms, e.d. en laat het theoretische (en licht massochistische) werk aan liefhebbers als mbravenboer over ;)
mbravenboer schreef op 26 November 2002 @ 02:22:
[...]
In Stratego kan je heel goed (en declaratief, wat dat ook moge zijn) bomen herschrijven, iets waar je veel mee bezig bent bij compilerbouw.
Declaratief: was dat niet zoiets als dat je zegt wat het uiteindelijk moet worden, zonder te specificeren hoe (in welke substappen) het bereikt moet worden?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
MrX: Vreemd, om het ontwikkelen van een nieuwe programmeertaal te zien als een methode om ontwikkelen van software eenvoudiger te maken.
Daar valt nog een interessante discussie over te voeren ;) .
maar het is in het algemeen niet echt een pragmatische aanpak om effectiever software te ontwikkelen (op korte termijn zeker niet).
Het hangt er vanaf wat het probleem is: in sommige situaties kan er misschien juist veel beter gekozen worden voor een domein specifieke taal en compilatie naar een general purpose language (dus niet naar assembly/uitvoerbare code).

Dit hoeft allemaal niet erg ingewikkeld te zijn: compilatie is hier niet bepaald de klassieke compilatie met zaken als type checking, register allocatie, instructie selectie, maar meer code generatie. Het implementeren van tools rond een domein specifieke taal is dan vrij eenvoudig geworden.

Het heeft uiteraard over het algemeen geen nut om nieuwe general purpose talen te ontwikkelen, maar het nut van domein specifieke talen ligt toch wel wat complexer. Er zijn veel artikelen geschreven over de voordelen en nadelen van domein specifieke talen en code generatie.

Zie bijvoorbeeld: Domain-Specific Languages: An Annotated Bibliography.
Declaratief: was dat niet zoiets als dat je zegt wat het uiteindelijk moet worden, zonder te specificeren hoe (in welke substappen) het bereikt moet worden?
Inderdaad, dat is een hele aardige omschrijving. Het probleem is met name dat tegenwoordig elke niet imperatieve taal declaratief wordt genoemd. Het hangt er dus met name vanaf wat het 'hoe' is. Met het 'hoe' wordt op dit moment vaak de concrete uitvoering op een computer bedoelt, maar je kan daar ook wat ruimer over denken.

XSLT wordt bijvoorbeeld een declaratieve taal genoemd, terwijl je daar toch echt exact opgeeft hoe er getransformeert moet worden. Een taal is dus niet in het algemeen declaratief te noemen, wel als je aangeeft ten opzichte van welke 'hoe' hij declaratief is. Dat bedoelde ik met wat het ook moge zijn ;) . Declarativiteit wordt wel de slechts gedefinieerde term in de informatica genoemd.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Verwijderd schreef op 26 November 2002 @ 03:32:
Vreemd, om het ontwikkelen van een nieuwe programmeertaal te zien als een methode om ontwikkelen van software eenvoudiger te maken, terwijl het ontwikkelen van software al lastig genoeg is.

Uiteindelijk zul je zien dat, als je eenmaal de kennis en ervaring hebt om werkelijk deze plannen uit te voeren, er meer (en misschien wel urgentere) problemen uitdagingen zijn m.b.t. het ontwikkelen van software dan nog een nieuwe porgrammeertaal te creeren. Daarmee wil ik niet het belang van onderzoek naar nieuwe talen ondermijnen, maar het is in het algemeen niet echt een pragmatische aanpak om effectiever software te ontwikkelen (op korte termijn zeker niet).

Korte-termijnwinsten kun je beter halen met goede programmeermethoden, ontwerp- en debugtechnieken, kennis van en ervaring met talen, tools en platforms, e.d. en laat het theoretische (en licht massochistische) werk aan liefhebbers als mbravenboer over ;)


[...]

Declaratief: was dat niet zoiets als dat je zegt wat het uiteindelijk moet worden, zonder te specificeren hoe (in welke substappen) het bereikt moet worden?
Waarom? Alleen maar om het voor jezelf gewoon simpel te maken en dan tog een heel mooi stukje software maken..... Dat kan tog gewoon? 8)

Verwijderd

Laten we het erop houden dat de extreemste oppertunist nog een puntje kan zuigen aan hetgeen wat jij van plan bent ;) :D

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je je plan nog steeds zo fantastisch vind, laat dan eens zien aan wat voor constructies je zit te denken: laat eens wat fragmenten en ideeen zien die het idee van jouw toekomstige taal duidelijk maken.

Als je er dan ook nog echt mee aan de slag wilt zou ik maar eens goed de tips (boeken, websites) van de diverse posters nagaan, want die zul je hard nodig hebben. Ook moet je natuurlijk minimaal 1 taal goed beheersen waarin je de tools kan implementeren die nodig zijn om je taal te laten functioneren.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 27-03 20:44

Bosmonster

*zucht*

Verwijderd schreef op 26 November 2002 @ 07:58:
[...]


Waarom? Alleen maar om het voor jezelf gewoon simpel te maken en dan tog een heel mooi stukje software maken..... Dat kan tog gewoon? 8)



Ik zie dat je systematisch 'tog' schrijft ipv 'toch'..

Misschien moet je eerst eens de nederlandse taal onder de knie zien te krijgen, voordat je zelf talen gaat ontwikkelen ;)

Bovendien kom je niet echt serieus over op deze manier..

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Bosmonster schreef op 26 November 2002 @ 09:33:

[...]



Ik zie dat je systematisch 'tog' schrijft ipv 'toch'..

Misschien moet je eerst eens de nederlandse taal onder de knie zien te krijgen, voordat je zelf talen gaat ontwikkelen ;)

Bovendien kom je niet echt serieus over op deze manier..
Ik ben het helemaal met je eens. De manier van reageren laat eigelijk genoeg zien over het nivo en vind het daarom beetje zonde dat sommige mensen zoveel moeite er in steken.

ps:
ik vond programmeren toch een stuk makkelijker dan nederlands ;)

[ Voor 3% gewijzigd door Alarmnummer op 26-11-2002 09:36 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:50
Nouja.
Misschien kun je -mocht je het plan om een eigen taal te maken- nog niet opgegeven hebben (want dat is toch echt moeilijker dan een applicatie bouwen met de reeds voorhanden zijnde talen), eerst eens even de aangedragen tips volgen. (Zie ook mbravenboer: bezoek eens de vermelde websites, lees eens eea over het onderwerp, ....).
Als je daarna nog altijd van plan bent om door te zetten, en je stuit op problemen ed, open dan een nieuw topic daarover.

Succes. ;)

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.