Wg mnie granica miedzy skryptem a "normalnym programem" jest dosyc plynna. Dla mnie jezyki skryptowe, to te ktore spelniaja jeden z ponizszych warunkow:
- sa calkowicie interpretowane
- maja slaba typizacje
Dlaczego? Bo spelnianie co najmniej jednego z tych punktow przez jezyk ogranicza jego zakres typowych zastosowan do nieskomplikowanych programow, pisanych zwykle przez pojedyncze osoby (na sile sie oczywiscie da zrobic wszystko). Sam wymyslilem te definicje i mozna z nia polemisowac, ale daje wyniki zgodne z ogolnie przyjetymi normami, co jest skryptowe a co nie. Te sa skryptowe:
PHP - 1. i 2.
Perl - 2.
Bash - 1. i 2.
Python - 1. i 2.
Tcl - 1. i 2.
JScript - 1. i 2.
A te nie:
C/C++, C#, Pascal, Fortran, Java,
VB - nie wiem.... nie wiem na jakim poziomie jest tam interpretacja bajtkodu (jest w ogole bajtkod???). Raczej interpreter. Ale jest silna typizacja...
Java na pewno nie jest skryptowa, ma b. silna typizacje, a JVM jest systemem operacyjnym, tzw. systemem runtime. Nie jest to zaden interpreter. Po pierwsze wykonywany jest natywny kod maszynowy, po drugie JVM realizuje wszystkie funkcje systemu operacyjnego - ma wlasny scheduler, system zabezpieczen, loader klas, kompilator bajtkodu JIT/HOTSPOT, manager pamieci, sterowniki.
.NET oczywiscie tak samo. Czyli VB.NET nie jest skryptowy.
Mam nadzieje, ze troche rozjasnilem. :)