Yazılım geliştiricilerinin kullandığı geliştirme ortamları (IDE), programları derleme, debug gibi çeşitli aşamaları içerir ve yönetir. Bu aşamalar sonucunda programlama dili ile yazılmış olan algoritmik kodlar assembly dili ve daha sonra makine kodu adını verdiğimiz şekle dönüştürülür ve o şekilde çalıştırlır. Bir .exe dosyası çalıştırdığımızda da bu şekilde olay gerçekleşir. (Assembly hakkında daha fazla bilgi için
şu linki inceleyiniz.)
Assembly dili ile programlama hem haddinden fazla zor, hem de anlaşılabilirlik açısından karmaşıktır. Bu sebeple zaman ilerledikçe mühendislik yaklaşımı gereği programlama dilleri giderek basitleşmiş ve kapsamlarını büyütülmüştür. Şu anda yazılım geliştirdiğimiz IDE'ler ise bir tür arayüz görevi görmektedir. Bu şekilde ilerleyerek programlama dilleri
hızlı yazım ve anlaşılabilirlik için kolaylaşarak bu arayüzler üzerine kabaca farklı yazılım dilleri koyularak gelişmiş diye biliriz.
Şu an tamamen uydurma bir örnek yazacağım. Mantığı anlaman için;
Makine Dili -> 010101000101 gibi düşün.
Assembly -> C02A PTR A
Programala dili -> printf diyelim.
Programlama Dilleri de giderek bu şekilde basitleşti.
printf -> print oldu. Fonksiyonel yaklaşımlar daha çok arttı.
Süreç üretilecek olan yazılımların daha hızlı ve anlaşılır olmasını sağlamak, zaman maliyetini düşürmek yaklaşımı ile ilerledi. Buna dair kapsamlıca araştırma yapman gerek. Benim burada yazdıklarım kabaca dışarıdan bir bakış.
İşin özü programlama dillerinin üretilmesi ve oluşturulmasının amacı zaman maliyetini azaltmak, kolay kullanım ve anlaşılabilirlik sağlamaktır. Bu yüzden mühendislik yaklaşımı gereği programla dilleri geliştirilerek yukarıda verdiğim dönüşümün daha verimli, hızlı yapılması hedefleniyor. Yazılım dili oluşturmak bu arayüzü oluşturmak gibi düşünebilirsin.
Umarım yardımcı olabilirmişimdir, sağlıcakla kal.