login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zelf een scripttaal maken?

Offline tomie94 - 21/12/2007 13:47
Avatar van tomie94PHP interesse Hallo,

Mijn droom is om zelf een scripttaal te maken.

Nu is mijn vraag hoe? ik heb al even in de php conf. bestanden gekeken maar dat is een rare code waar allemaal rare tekens in staan.

Er is toch wel een manier om zoiets te maken want kijk maar naar PHP,ASP en ASP.NET.

weet iemand hoe dit moet?

18 antwoorden

Gesponsorde links
Offline SvenP - 21/12/2007 13:54
Avatar van SvenP PHP interesse heeeeeel veeeeel functies maken in een taal die je snapt.
Offline cloudstrife - 21/12/2007 13:54
Avatar van cloudstrife PHP beginner Allereerst, waarom zou je dit willen maken? Er zijn al zoveel goede scripttalen.. en op je eentje kan je er gerust aan beginnen maar je weet dan al vrijwel zeker dat je niet ver zal geraken en het praktisch nooit zal concurreren met php, asp, jsp, etc...

Nu ja als je het toch wil "proberen" te maken, verdiep je dan maar eerst eens in een hele boel algoritmen alla prefix, postfix, infix, hoe je werkt met oa stacks en queues.
Offline Rik - 21/12/2007 13:56
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik zou het je niet aanraden om te doen omdat het echt vreselijk veel werk is. Bovendien zal het jaren duren om het net zo bruikbaar en populair als php en asp te maken. En dan moet je nog mensen vinden die het gaan gebruiken.

Maar om te kijken hoe talen als php, asp en python zijn opgebouwd kan je de source downloaden en bestuderen. Meestal is de engine achter zo'n taal geprogrammeerd in c dus een flinke kennis daarvan is ook nodig.
Offline tomie94 - 21/12/2007 13:59
Avatar van tomie94 PHP interesse ik heb al in de bestanden van php gekeken(dll bestanden) maar dan krijg je erg rare tekens

En ik wil het alleen maken om te kijken of het mogenlijk is. En als het echt lukt dat ik me er dan echt in verdiep...
Offline Rik - 21/12/2007 14:02
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je moet ook niet in de dll bestanden kijken. Dat zijn gecompileerd en kan je in dat formaat niet lezen. De source van php vind je hier:
http://www.php.net/downloads.php
Offline tomie94 - 21/12/2007 14:10
Avatar van tomie94 PHP interesse ik ben nu even de bestanden aan het doorzoeken....
Offline cloudstrife - 21/12/2007 14:23
Avatar van cloudstrife PHP beginner Ik denk niet dat je veel wijzer gaat worden door die bestanden te gaan doorzoeken.

Als je echt zoiets wil proberen maken begin dan eerst te zoeken hoe je een interpreter schrijft en maak bv in C een programmatje dat controleerd op gebruik van haakjes ({} () ) en zo of ze wel allemaal goed gesloten zijn en dergelijke. Het is niet veel maar denk toch dat je dit zal moeten doen als basis.
Offline Mad_Mike - 21/12/2007 14:25
Avatar van Mad_Mike PHP beginner Sorry dat ik het zo bot breng...

Maar als je al niet eens weet HOE je het moet maken begin er dan ook niet aan! Je zult veel (= jaren) ervaring moeten hebben met low-level talen ;)

Don't try this at home!
Offline Karel-Jan - 21/12/2007 14:30
Avatar van Karel-Jan Lid
Mad_Mike schreef:
Sorry dat ik het zo bot breng...

Maar als je al niet eens weet HOE je het moet maken begin er dan ook niet aan! Je zult veel (= jaren) ervaring moeten hebben met low-level talen ;)

Don't try this at home!

Sinds wanneer mag dromen niet meer? En hij spreekt in een toekomstige vorm, dus wie weet binnen 20 jaar, script iedereen in de Tomie94-taal? 
Offline Mad_Mike - 21/12/2007 14:32
Avatar van Mad_Mike PHP beginner @ Karel-Jan:
- Weet jij (dan wel) wat ervoor nodig is?
- Wie zegt dat hij niet mag dromen?
Offline Karel-Jan - 21/12/2007 14:43
Avatar van Karel-Jan Lid
Mad_Mike schreef:
@ Karel-Jan:
- Weet jij (dan wel) wat ervoor nodig is?

Nee, maar dat heeft er op zich niets mee te maken...
Mad_Mike schreef:
- Wie zegt dat hij niet mag dromen?

Mad_Mike schreef:
...Maar als je al niet eens weet HOE je het moet maken begin er dan ook niet aan! Je zult veel (= jaren) ervaring moeten hebben met low-level talen ;)

Don't try this at home!



Offline Stijn - 21/12/2007 14:46
Avatar van Stijn PHP expert Je bent waarschijnlijk 13-14 jaar oud. Wacht nog 7 jaar en ga dan naar de universiteit om een Informatica richting te studeren. Je gaat zien dat het niet simpel is. Zoals gezegd in dit topic moet je een low-level taal gebruiken. Je bent nog maar nieuw in de wereld en dromen mag/kan maar je moet realistisch blijven.

PHP werd inderdaad ontwikkelt door 1 mens in het begin maar al vlug werkten daar meer dan 1 persoon aan. En toen kwam Zend die de engine voor PHP3/4/5/6/.... ontwikkelde.

Microsoft heeft een team van honderden programmeurs die werken aan .NET en de talen rondom.

Als je rijp genoeg bent en de kennis hebt van low-level technieken moet je eens een vacature indienen bij die bedrijven. Het is toch beter om een bestaande taal te verbeteren in plaats van opnieuw te beginnen?
Offline Mad_Mike - 21/12/2007 15:29
Avatar van Mad_Mike PHP beginner Ik snap heel goed dat iemand met interesse en veel enthousiasme het idee krijgt om zelf ook een scripttaal te gaan ontwikkelen. Maar zoals vrijwel iedereen al gezegd heeft is dit niet iets wat je 1 2 3 maakt. Ook niet door evt de source codes van bestaande talen door te nemen. Zonder goede achtergrond kennis van low-level talen is dit gewoon niet haalbaar ;)

Even een voorbeeldje.
Stel je bent al enige tijd bezig om statische websites in HTML te bouwen. Na verloop van tijd kan je de HTML code 'lezen' en ben je instaat om een website in bijv kladblok te schrijven. Een logische stap daarna zou zijn dat je dmv een scripttaal (php/asp) een website dynamisch laat genereren. Je zal dan merken dat er meteen veel meer bij komt kijken en de syntax (grammatica van een programmeertaal) een stuk complexer wordt dan van een hogere taal (HTML). Iedere taal wordt uiteindelijk vertaald naar een lagere taal om uiteindelijk uit te komen in onleesbare code die voor een processor wel te begrijpen is.

Om zelf een taal te ontwikkelen moet je dusdanig low-level gaan werken dat je met de hogere talen totaal geen moeite meer hebt. Deze moet je door en door snappen. Dus niet mee kunnen werken, maar ook begrijpen wat er gebeurd (bit-jes, byte-jes etc...)

Hopelijk heeft deze lap tekst je wat meer inzicht gegeven in de zaken die nodig zijn om tot een scripttaal te komen...
Offline SilVeX - 21/12/2007 15:46
Avatar van SilVeX HTML beginner Als ik aan een scripttaal maken denk zou ik denk beginnen met iets zoals mctween van FLASH.

Denk dat dat haalbaarder is
Offline Abbas - 21/12/2007 18:50
Avatar van Abbas Gouden medaille

Crew .NET
Je mag van mij zoveel dromen als je wilt. Dromen zijn dingen die mensen rechthouden en een reden geven om voor iets te gaan, maar zelf een programmeer/scripttaal ontwikkelen is wel wat meer dan alleen maar dromen.

Je zegt zelf dat je nog niet alles begrijpt van de bestaande talen die er zijn. Wat ga je dan al denken aan zelf een taal ontwikkelen. Ik ben dik twee jaar bezig met programmeren in het .NET Framework en geloof me, er is nog veel dat ik daar niet heb gezien. Ik heb voor mezelf enkele handige uitbreidingen hierop gemaakt. Maar daarvoor heb ik gebruik gemaakt van reeds bestaande talen (ASP.NET en JavaScript).

Ik zeg het nog, als dat jouw droom is: verder doen zo! Maar volg dan zeker de raad van Stijn. Volg van zodra je kan een degelijke informaticrichting en studeer verder aan de hogeschool of universiteit om alles nog verder uit te diepen en de bekwaamheden te verkrijgen die nodig zijn om alleen maar al te kunnen werken met de reeds bestaande talen. Eens je aan dit niveau zit is het nog een hele stap om zelf een taal te ontwikkelen. Ik wil je niet ontmoedigen maar het is een lange leerweg!

Desondanks, ik wens je het allerbeste en veel moed toe als je hiervoor echt wil gaan! Hou gewoon rekening met de stappen die nodig zijn om er te geraken en bouw daarop verder. Eens daar zal het al zo veel gemakkelijker zijn om je droom te kunnen overzien en realiseren! 
Offline Godlord - 21/12/2007 19:15 (laatste wijziging 21/12/2007 19:20)
Avatar van Godlord PHP gevorderde Een programmeertaal of scripttaal wordt gemaakt in een low-level taal. In de meeste gevallen is dit Assembly of ML(Machine Language). Het kan ook C of C++ zijn. Wat eist nou het maken van zo'n taal? Je moet kunnen denken als een machine en als een mens. Kan je dit niet dan krijg je het nooit voor elkaar. Hoe denk je als een machine? Daarvoor zou ik maar eens Assembly moeten leren. C/C++ zijn talen met syntax die steunen op het menselijk geheugen. De taal is zo ontwikkeld dat je gaat denken als een mens wanneer je iets programmeert. Bij Assembly of ML is dit niet zo. Waarom niet? ML kan niet echt veranderd worden omdat deze te laag qua level is. ASM is gebaseerd op ML en heeft dus hetzelfde systeem. De talen werken met bepaalde instructies. Zoals mov, jmp, jne, je, int, etc. Deze worden omgezet tijdens het Assembleren naar ML. Wanneer zo'n geassembleerde code wordt uitgevoerd dan worden de instructies verzonden naar de processor. De processor verwerkt deze dan. Je hebt dan nog altijd iets anders. Stel we hebben de volgende code:

  1. mov ah, 0x18
  2. mov ax, 0xEF
  3. int 0x60

(Deze code werkt waarschijnlijk niet het is maar een voorbeeld)

De code hier wordt ingeladen in het geheugen op een bepaalde positie, ook wel een "address" of in het Nederlands adres genoemd. Stel dat deze code is ingeladen op 0x500 en als de processor op address 0x500 staat dan gaat het volgende gebeuren: ah krijgt de waarde 0x18, ax krijgt de waarde 0xEF en interrupt 0x60 wordt uitgevoerd. Dit gebeurt NOOIT tegelijkertijd. Enkel als je meerdere processoren zou hebben en veel geluk anders niet. Dus we hebben eigenlijk een byte array van commando's en parameters in het geheugen zitten. Dit houdt ook in dat multi-tasking niet werkelijk bestaat. Multi-tasking is het snel verwisselen van taken en het uitvoeren van de geselecteerde taak. Dit is nog maar het begin. Ken je hier niks van dan kan je het beter op een droom houden. Een programmeertaal maken eist veel denkwerk, één fout kan al fataal zijn.
Offline Rik - 22/12/2007 10:38
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Maar je hoeft je taal natuurlijk niet in asm te maken. Als je net als php de engine in c maakt ben je al een heel eind vind ik.
Offline Godlord - 22/12/2007 23:44 (laatste wijziging 22/12/2007 23:44)
Avatar van Godlord PHP gevorderde Klopt, maar ASM helpt vooral bij het denken. Maar dat hangt er dan ook weer vanaf.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.182s