1. Smalltalk
Başlangıçta en azından kısmen çocukların bilgisayarları öğrenmek için kullanmaları için bir yol olarak tasarlanmıştır. Sözdizimi bir paragrafta açıklanacak kadar basittir. LOGO gibi, "girişe düşük engel, yüksek tavan" ilkesini örneklemektedir.
Smalltalk "her şeyin bir nesne olduğu" anlamında saf bir OO dili .
Ayrıca özellikle Koleksiyon API'sında birçok işlevsel teknik öğretir: zincirleme mesajlar, yüksek dereceli fonksiyonlar, harita, azaltma vb.
Squeak topluluk canlı ve konuksever olduğunu. Ayrıca, gelişmiş tekniklerle ilgili birçok tartışma göreceksiniz: lisp topluluğu gibi, posta listesinde bilgilerini paylaşmak isteyen çok deneyimli Smalltalker'lar var . (Squeak topluluğunun geniş bir profesyonel eğitimci popülasyonuna sahip olması acı vermez.) Yeni başlayanlar için başka bir liste daha var.
2. PROLOG
Hemen hemen tüm diğer diller için çok farklı bir hesaplama görünümü sağlayacak bir mantık programlama dili. Prolog da son derece açıklayıcıdır (ancak tamamen öyle değildir: !
ya da kes operatörü bir yüklem üzerinde önemli bir anlamsal etkiye sahip olabilir).
3. Ortak Lisp
İsterseniz Şemayı buraya yazın. Common Lisp , özellikle OO ve fonksiyonel olmak üzere birçok paradigmayı destekler. Ayrıca uzun bir geçmişi var (Lisp hala yaygın olarak kullanılan ikinci en eski dildir: sadece FORTRAN'ın eski).
4. Haskell
(Dikkat: Öğrenmeye yeni başladım.) Muhtemelen gezegendeki en saf işlevsel dil. Çok gelişmiş bir statik tip sistemine sahiptir. Kullanışlı giriş kitapları var.
5. C veya Delphi
Bilgisayarların nasıl çalıştığını bilmeniz gerekir. Bellek ve CPU'nun gerçekte nasıl çalıştığını bilmeniz gerekir. Bunların her ikisi de geleneksel olarak "metale yakın" dır ve dillerinin montaj için nasıl derlendiğini düşünmeyi teşvik eden topluluklara sahiptir.
Neden bu emir?
Smalltalk'ın öğrenmesi çok kolay, böylece bir derleyici ile savaşmak yerine hızlı bir şekilde problemleri çözmeye başlayabilirsiniz ("girişe düşük engel"). Programlamaya başladıktan sonra, yapabilecekleriniz konusunda yapay bir sınır yoktur - "yüksek tavan".
OO'nun nasıl çalıştığı hakkında adil bir fikriniz olduğunda (ve - "OO" nun ne anlama geldiğine dair ÇOK farklı anlayış olması şartıyla - OO'nun pazara hakim olduğunu söylemek adil olur), Prolog'a geçmek başlamamanızı sağlar OO'nun tek yol olduğunu düşünmek. Prolog çoğu dilden çok farklıdır ve zihinsel kaslarınızı gerecek, böylece her şeyi bildiğinizi düşünmeye başlamıyorsunuz.
Sıradan Lisp ise yetişkin bir dil. Olgun bir standarda sahiptir, onlarca yıldır (Smalltalk ile birlikte) dil tasarımında lider olmuştur - en sevdiğiniz dilin yeni kazandığı tüm bu yeni özellikler? Şans, Lisp veya Smalltalk'ta inkübe edilen fikirlerdir. Ortak Lisp de biraz siğil ve gittiğiniz her yerde siğillik bulacaksınız.
Haskell'in listede dördüncü olduğu için (söyledim: Öğrenmeye yeni başladım) saflığı, çok yaygın bazı şeylerin (G / Ç gibi) daha az işlevsel dillerden daha zor yapılması anlamına geliyor. Haskell halkı da oldukça egzotik bazı terminolojiler kullanır ("katamorfizm" gibi kelimeler) ve muhtemelen mücadele etmeden önce kemerinizin altında bazı programlama deneyimleriyle daha iyi olur. (Ama tekrar etmeliyim, yeni öğrenmeye başladım! Bu düşünceyi bir tutam tuzla al!)
Ve neden C / Delphi sürüyor? Çünkü gömülü sistemlerde çalışmadığınız sürece, manuel bellek yönetiminin tek şey olduğunu düşünerek programlama öğrenmeniz gerekmemelidir. Çöp toplama 1980'lerin seviye makine için yeterince iyi çalıştı. Sizin telefon o güçlü!
Son olarak, gerçekten yapsam da, Erlang'ı yukarıdaki listeye koymadım .