Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: PHP ouderwets?  (gelezen 11892 keer)

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: PHP ouderwets?
« Reactie #25 Gepost op: 2010/06/03, 10:32:43 »
Een scripttaal is een taal die direct wordt uitgevoerd, in tegenstelling tot een programmeer taal, die eerst gecompileerd wordt en dan pas uitgevoerd.
Dus, C/C++ en x86 machinecode zijn scripting talen?

Of een programmeertaal "geïnterpreteerd" dan wel "gecompileerd" wordt, is iets wat totaal afhankelijk is van de specifieke implementatie die je gebruikt, en in (bijna?) geen enkel geval een eigenschap van de taal zelf.

Verder wordt in veel implementaties ook een hybride methode toegepast, waarbij de programmeertaal (vooraf, of "just-in-time") gecompileerd wordt naar bytecode, dewelke dan ofwel geïnterpreteerd wordt, ofwel naar machinetaal gecompileerd (iets wat op zich ook weer vooraf of "just-in-time" kan gebeuren).

Met andere woorden, die grens is nogal vaag. imho is het lastig een keihard verschil te maken.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline MKe

  • Lid
Re: PHP ouderwets?
« Reactie #26 Gepost op: 2010/06/03, 17:40:07 »
Ik dacht vroeger dat een script alleen een lijst van lineair uitgevoerde commando's was zonder logische structuren (if..then..) en loops. Tegenwoordig is dat niet meer geloof ik.
« Laatst bewerkt op: 2010/06/03, 21:22:52 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline timosha

  • Lid
Re: PHP ouderwets?
« Reactie #27 Gepost op: 2010/06/03, 17:54:42 »

Dus, C/C++ en x86 machinecode zijn scripting talen?


Nee, want C/C++ moet je compileren en X86 machinetaal moet je assembleren. Het reslutaat van beiden is een "executable".
Stabiele OS: Solaris 10 - OS X 10.6.4 - Linux Mint 9 - Windows 7
Project OS: Linux Mint 9 Isadora
Test OS: Ubuntu 10.04 - 10.10
Server: Windows Server 2008 R2 - Exchange 2010

Contra verbosos noli contendere verbis: sermo datur cunctis, animi sapientia paucis.


Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: PHP ouderwets?
« Reactie #28 Gepost op: 2010/06/03, 19:07:31 »

Dus, C/C++ en x86 machinecode zijn scripting talen?


Nee, want C/C++ moet je compileren en X86 machinetaal moet je assembleren. Het reslutaat van beiden is een "executable".
http://nl.wikipedia.org/wiki/Retorische_vraag

Verder wil ik er nog bij zetten dat Jan zegt dat het ook niet zoveel uitmaakt of het gecompileerd wordt of niet. Maar het gaat meer om de mogelijkheden van de taal.
Stel je hebt een taal die scripttaal wordt genoemd, en normaal altijd ge-interpreteerd wordt. En morgen bouwt iemand een compiler die ervoor zorgt dat die taal omgezet kan worden naar machine code (executable). Verandert die taal dan ineens van scripting naar programmeren?
« Laatst bewerkt op: 2010/06/03, 19:10:17 door Wazzzaaa »
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
Re: PHP ouderwets?
« Reactie #29 Gepost op: 2010/06/03, 19:53:28 »
Stel je hebt een taal die scripttaal wordt genoemd, en normaal altijd ge-interpreteerd wordt. En morgen bouwt iemand een compiler die ervoor zorgt dat die taal omgezet kan worden naar machine code (executable). Verandert die taal dan ineens van scripting naar programmeren?
Als 'ie gecompileerd wordt kun je inderdaad spreken van een programmeertaal wat mij betreft.

Maar het verschil is gewoon erg vaag, wat volgens mij ook meespeelt is hoe ingewikkeld een programma/script/(is applicatie al genoemd?) is. Er is een verschil tussen een backupscriptje dat alleen wat cp-opdrachten aanroept (voor mijn part in C), en een geavanceerd C-programma.

Offline JanClaeys

  • Lid
Re: PHP ouderwets?
« Reactie #30 Gepost op: 2010/06/04, 03:37:48 »
Dus, C/C++ en x86 machinecode zijn scripting talen?
Nee, want C/C++ moet je compileren en X86 machinetaal moet je assembleren. Het reslutaat van beiden is een "executable".
Als je heel even de moeite gedaan had om de links te volgen dan had je gezien dat die verwezen naar een C/C++ interpreter en een interpreter voor machinecode.  (En machinecode moet je verder natuurlijk niet assembleren, het is het resultaat dat je krijgt na het assembleren.)

De hele opdeling in scriptingtalen en programmeertalen is gewoon volledig artificieel, en ik heb nog geen enkele niet-belachelijke definitie van het verschil tussen beide gezien.
Jan Claeys
Ubuntu-nl IRC team - Ubuntu-be LoCoTeam Contact

Re: PHP ouderwets?
« Reactie #31 Gepost op: 2010/06/04, 09:54:47 »
Dus, C/C++ en x86 machinecode zijn scripting talen?
Nee, want C/C++ moet je compileren en X86 machinetaal moet je assembleren. Het reslutaat van beiden is een "executable".
Als je heel even de moeite gedaan had om de links te volgen dan had je gezien dat die verwezen naar een C/C++ interpreter en een interpreter voor machinecode.  (En machinecode moet je verder natuurlijk niet assembleren, het is het resultaat dat je krijgt na het assembleren.)

De hele opdeling in scriptingtalen en programmeertalen is gewoon volledig artificieel, en ik heb nog geen enkele niet-belachelijke definitie van het verschil tussen beide gezien.

Naja er zijn inderdaad interpreters maar dat is toch niet zo standaard, over het algemeen wordt C/C++ code toch gewoon gecompileerd met bijvoorbeeld G++?

Eigen lijkt het verschillen tussen interpreten en compilen gewoon de minst belachelijke  defenitie

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: PHP ouderwets?
« Reactie #32 Gepost op: 2010/06/04, 10:39:23 »
Eigen lijkt het verschillen tussen interpreten en compilen gewoon de minst belachelijke  defenitie
Oneens, zie hieronder.
Stel je hebt een taal die scripttaal wordt genoemd, en normaal altijd ge-interpreteerd wordt. En morgen bouwt iemand een compiler die ervoor zorgt dat die taal omgezet kan worden naar machine code (executable). Verandert die taal dan ineens van scripting naar programmeren?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Re: PHP ouderwets?
« Reactie #33 Gepost op: 2010/06/04, 11:35:44 »
Eigen lijkt het verschillen tussen interpreten en compilen gewoon de minst belachelijke  defenitie
Oneens, zie hieronder.
Stel je hebt een taal die scripttaal wordt genoemd, en normaal altijd ge-interpreteerd wordt. En morgen bouwt iemand een compiler die ervoor zorgt dat die taal omgezet kan worden naar machine code (executable). Verandert die taal dan ineens van scripting naar programmeren?

Interessante stelling.

Alle talen zullen uiteindelijk omgezet moeten worden naar machinecode, anders werkt er niets. Het verschil zit 'm er in dat scripttalen deze vertaling in een runtime-engine gebeurt (geinterpreteerd dus) en dat deze bij niet-script talen altijd een compilatie-slag nodig is. Bij een script-taal gebeurt de vertaling in de achtergrond (dus zonder dat de gebruiker daar iets voor hoeft te doen), terwijl dit bij een niet-script taal een handmatige én verplichte stap is.

Dat script-talen een optimisatie-slag kennen (intermediate code, JIT-compilers, etc.), wil nog niet zeggen dat ze dan op één lijn staan met niet-script talen, want de vertaling vindt nog steeds plaats in de achtergrond. M.i. is dat het onderscheidend verschil: als de compilatie volledig in de achtergrond plaatsvindt (met of zonder optimalisatie, bv JIT), dan is het een script-taal, als er een verplichte handmatige compileerslag vooraf nodig is via een compiler, dan is het niet een script-taal.

Java is dan wel weer een apart geval: wél een compileerslag nodig (naar Java-bytecode) maar ook nog een runtime nodig hebben voor de interpretatie van die Java-bytecode naar machinecode.

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: PHP ouderwets?
« Reactie #34 Gepost op: 2010/06/04, 12:08:34 »
Mijn hele punt is juist dat compileren niets zegt over eigenschappen van de taal. Scripts zijn vaak makkelijker aan te passen (hje hoeft niet te compileren enz). En je hebt minder kennis ervoor nodig. Vaak ondersteunen scripttalen ook maar een subset van wat een programmeertaal kan.
Verder worden scripts vaak gebruikt om andere dingen meer aan te sturen. Denk aan bash scripts waarin enkele commando's worden aangeroepen. Bash is dan de scripttaal. En de commando's (bijv. ls of cp) zijn programma's die gebouwd zijn in een programmeertaal.

php is van origine een scripttaal. Het wordt tegenwoordig nog steeds het meest interpreted gebruikt. Maar als je kijkt wat je allemaal in die taal kan. Onder andere degelijke OO ondersteuning, het begint steeds meer op een volwaardige programmeertaal te lijken (hoewel ik nog wel veel dingen mis, maar ala). Daarom is die grens tussen scripten en programmeren steeds meer aan het vervagen.

BTW; we wijken erg van het topic af, maar dat maakt toch niet uit he...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!