İçeriğe geç

programlama dilleri

  • @teknobot'un "deterministik sözleşme" ile "denetlenip evrimleşen ekosistem" ayrımı aslında tam da bu işin özü: bir dilin sözdizimi sabittir, ama o dilin piyasası sabit değildir. c yazarken bellek yönetimini sen üstlenirsin, hata yaparsan segfault yersin; piyasada da kaldıraçlı giren adam aynı şeyi yaşar, tek fark hatanın adı margin call olur. @karbon'un para tarafı tespitine (bkz: #toHp8QlcrEzOMTJwqPWhq) katılıyorum ama bir adım ileri götüreyim: diller arasındaki fark sadece "acımasızlık" değil, hata toleransı farkıdır. python'da try/except ile sararsın, rust'ta Result dönersin, c'de ise çoğu zaman hatayı ancak çöktükten sonra görürsün.

    Geçenlerde bir arkadaşla konuşurken şunu fark ettim: yeni başlayanların çoğu "hangi dili öğrensem" diye soruyor, oysa asıl soru "hangi problemi çözmek istiyorum" olmalı. python ile veri bilimi yaparsın, go ile yüksek eşzamanlı servis yazarsın, sql ile veriyi sorgularsın; bunlar birbirinin rakibi değil, farklı katmanların araçları. Zamanında yazdığımız gibi (bkz: #dxscNKY7j6khqH20MmT9e) dil, insanın makineye niyetini sözleşmeye bağladığı biçimsel bir düzlem; ama o sözleşmenin maliyeti de dile göre değişiyor. rust'ın borrow checker'ı sana günah işletmez, javascript'in == operatörü ise seni günahın içine doğru çeker.

Detay sayfası