Dünya, çok farklı varyasyonlara sahip olan şeylerle doludur: kelime işlemciler, arabalar, ev tasarımları, içecekler, şekerlemeler, kalemler, kürekler, vb. Çok fazla olmamızın nedenleri, birkaç ilkeye indirgenebilir:
- Birisi var olan ürünlerde daha fazla gelişme sağlayabileceğini düşünüyor
- Yerel düşüncelerden farklı bir tasarım yapılması gerekir (düşünün: stilts'taki evler ile beton plakalardaki evler)
- Yeni bir ürün kategorisi, daha önce hiçbirinin olmadığı yerde bir ihtiyacı dolduruyor
Herhangi bir büro malzemeleri mağazasına girin ve "yazı gereçleri" bölümüne bakın - yüzlerce çeşit kalem vardır. Hepsi kabaca aynı şeyi yapıyor: yazı yüzeyine mürekkep dağıtıyor. Ancak satış için gördüğünüz her bir kalem, yukarıdaki üç nedenden biri nedeniyle var.
- Kartuş dolma kalemleri, tüy tüy kalemlerinde bir gelişme olan daldırma dolma kalemlerde bir gelişmedir.
- NASA'nın yerçekimi yokluğunda yazabilecek bir kaleme ihtiyacı vardı, bu yüzden basınçlı rollerball kalemi icat edildi.
- İlk kalemin kendisi katran veya kana batırılmış sivri uçlu bir çubuk olabilir; ondan önce insanlar birlikte kayaları kazıyor ya da duvarlara kürklü pigmentler sürüyordu. (Sadece bir tahmin.)
Hiçbir ürün, her kullanıcının ihtiyacına uymadığından, kalemlerdeki gelişim devam edecektir. Bazı kalemler ucuz ve tek kullanımlık, bazıları pahalı ve yüksek kaliteli malzemelerden üretilmiştir; bazıları jel, bazıları mürekkep, bazıları pigment kullanır; bazılarının bükümlü kapakları vardır, bazılarının kapakları yoktur; geniş variller, dar variller, yuvarlak variller, kare variller; uzun kısa; Kırmızı, beyaz, siyah, mavi Vs vs.
Ancak kalemler hakkında yeterli.
Şu anki programlama dilleri sayısız ilke kadar takip edilebilir: 1940'larda eski bilgisayarlar için sayısal makine kodları. İlkel, kullanımı zor ve bilgisayara girmek için zahmetli, ancak işi yaptılar. Programcılar makine kodlarına anımsatıcı kelimeler (ADD, CALL, LOAD gibi) atayarak, "derleme dilleri" olarak adlandırılan dil sınıfını doğurmaktan çok uzun zaman geçmedi.
Farklı işlemci mimarileri, temeldeki makinelerin özel özelliklerine bağlı olarak farklı anımsatıcı kodlar istedi. Bu farklılıkları hesaba katmak farklı montaj dillerini icat etmek anlamına geliyordu.
(Belki şimdiye kadar bunun nereye gittiğini görebilirsiniz ...)
Programcılar, meclis dilleri programlarına ve testere modellerine baktılar: aynı talimat dizileri döngüler, koşullamalar, değişken atamaları, işlev çağrıları vb. Oluşturmak için kullanılacaktı. Böylece, prosedürel programlama dilleri doğdu. Bu diller, "if", "while", "let" vb.
Bilgisayar programlamanın matematiksel bir analizinden yola çıkarak fonksiyonel diller geldi - hesaplamaya bakmanın tamamen yeni bir yolu. Daha iyi değil, daha kötü değil, sadece farklı.
Ve sonra nesne yönelimli, statik olarak yazılmış, dinamik olarak yazılmış, geç bağlama, erken bağlama, düşük bellek kullanımı, yüksek bellek kullanımı, paralelleştirilebilir, belirli kullanımlar için diller ve daha sonra var.
Sonuçta, farklı programlama dilleri var çünkü farklı programlama dilleri istiyoruz . Her dil tasarımcısının, "rüya" dilinin nasıl görüneceği ve işleyeceği konusunda kendi fikirleri vardır. Çeşitlilik iyi bir şeydir.