Iya dan tidak.
Ada beberapa aspek berbeda untuk sintaksis.
- keterbacaan
- ekspresivitas
- sifat parsabilitas
Keterbacaan telah disebutkan.
Ekspresivitas adalah kasus yang menarik. Saya akan menggunakan fungsi-lewat sebagai contoh, karena itu semacam titik belok rasa sakit semantik / sintaksis.
Mari kita ambil C ++ sebagai contoh. Saya dapat membuat fungsi urutan pertama setelah mode ini:
class funcClass
{
int operator()(int);
}
funcClass fun;
void run_func(funcClass fun)
{
fun();
}
Ungkapan khusus ini biasanya digunakan dalam Elemen - elemen Pemrograman Stepanov .
Di sisi lain, saya bisa meniru itu di Common Lisp dengan sesuatu seperti ini :
(defun myfunc() )
(defun run_func(fun)
(fun))
Atau, di Perl -
sub myfunc
{
}
sub run_func
{
my $func = shift;
$func->(); #syntax may be a little off.
}
Atau, dengan Python -
def myfunc():
pass
def run_func(f):
f()
Ini semua memiliki - pada dasarnya - konten semantik yang sama, meskipun contoh C ++ membawa beberapa jenis metadata. Bahasa mana yang mengekspresikan ide untuk melewati fungsi tingkat tinggi yang terbaik? Lisp umum nyaris tidak membuat variasi sintaksis. C ++ membutuhkan kelas yang akan dibuat hanya untuk 'membawa' fungsi. Perl cukup mudah membuat beberapa tingkat diferensiasi. Begitu juga dengan Python.
Pendekatan mana yang paling sesuai dengan domain masalah? Pendekatan mana yang terbaik yang bisa mengekspresikan pikiran di kepala Anda dengan paling sedikit 'ketidakcocokan impedansi'?
Parsability adalah - dalam pikiran saya - masalah besar. Secara khusus, saya merujuk pada kemampuan IDE untuk mengurai dan memotong bahasa tanpa membuat kesalahan. Memformat ulang bermanfaat. Bahasa yang dibatasi tanda cenderung mengurai dengan baik - ruby / c / pascal, dll.
Pertimbangkan juga - sistem utama dari segala jenis telah dibuat dengan setiap bahasa yang serius untuk menyelesaikan masalah dunia nyata. Meskipun sintaks adalah penghalang untuk mengekspresikan beberapa hal, itu adalah penghalang yang bisa diatasi. Turing kesetaraan dan semua itu.