Her türlü taksonomiyi üretmek için önce kendinize bazı sorular sormanız gerekir:
- Düzgün bir şekilde tanımlanan ilişkilere gireceğim nesneler mi?
- Eğer öyleyse, gerçekten varlar mı?
- Kendimi nesneler arasında yalnızca belirli bir ilişki türüyle sınırlandırıyor muyum, yoksa sistemin yalnızca meşru ilişkileri kullanması için belirli bir şart var mı?
Genelde, sorduğunuz gibi bir soru duyulduğunda, beklenen cevap birkaç varsayımda bulunur. Örneğin, bunların hepsinin dil olduğu için, daha genel bir dil kavramı altında bir hiyerarşi oluşturmaları gerektiğini veya tüm dillerin alanını ayırdıklarını veya birbirlerinin altkümeleri olduğunu varsaymak doğaldır.
Programlama dilleri
Ne yazık ki, yukarıdakilerin hiçbiri doğru görünmüyor. Belki de sadece programlama dilleri üzerinde en çok üzerinde anlaşılan bir tanım vardır. Programlama dilleri, programları kodlayan dillerdir. Kodlama, dilde bir kelimenin program (yorum dizisi) olarak yorumlanabileceği anlamına gelir. Bilgisayar programlama dilleri bunların bir alt kümesidir. Bilgisayar dışı programlama dillerinin örnekleri: bir süpermarketteki bir alıcının yönlendiricisi olarak yorumlanan bir bakkal listesi, peptitlerin transkripsiyonuyla yorumlanan DNA, bir teyp için bir program olarak kullanılan bir analog müzik kaydı.
Böylece bilgisayar programlama dilleri bilgisayarları programlayan dillerdir.
Script dilleri
İyi tanımlanmış değil. Bu terimin ne anlama geldiğinin yorumuna açıktır. Tarihsel olarak, makine kodu üretmek için bir derleyiciye sahip olmayan programlama dillerinin bu şekilde adlandırıldığı anlaşılıyor. Bugünün standartlarına göre bu, her popüler programlama dili sans Assemblers'ı bu kategoriye koyar. C gibi düşük seviyeli diller bile önceden var olan prosedürlere sahip bir çalışma zamanı gerektirir, bu nedenle bir C programı derleyerek elde edilen ikili dosyalar tamamen makine kodu değildir, aynı zamanda şimdi ve sonra çalışma zamanını da çağırır.
İşaretleme dilleri
İyi tanımlanmış değil. Terim ne zaman kullanılsa, amaç, öncelikle görsel veya işitsel görüntü üretmek için kullanılan çok sınırlı bir sözlüğe sahip olan bir programlama dilini tanımlamak gibi görünmektedir. XML'i bir şey programlama olarak görmek zor olabilir, ancak Man veya TexInfo işaretlemesine bakarsanız, "özel" karakterlerin aslında tercümanın talimatları olduğunu görürsünüz.
XML dili için şöyle bir "programlama" yorumu yapmak da mümkündür.
< := put interpreter in the reading node mode
! := if reading node, start CData/Comment mode
else if not in read text mode, signal error
-- := if in start CData/Comment mode, start comment
else if in comment, put in end comment mode
else if in end comment mode, signal error
...
Alt satır: bugün itibariyle bu bölünme, çok anlamlı görünmüyor, yalnızca ne tür bir dille karşı karşıya olduğunuza dair bazı sezgiler sunabilir, ancak size titiz bir tanım vermeyecektir.