aynı isimde "crystal" başlığı da var
şükela:  tümü | bugün
  • http://crystal-lang.org/

    adresinden erişebileceğiniz programlama dili.
  • ruby syntax'inda*, static type checking yapan, llvm ile native koda compile edilip calisan (dolayisiyla yuksek performansli) bir dil. https://crystal-lang.org/

    suradan bir review'ini okuyabilirsiniz: https://blog.codeship.com/…fast-as-c-slick-as-ruby/
  • eglenceli bir dil. dilde en populer olan framework'ün kemal isimli bir web framework'ü olması dili milli duygularımızla bağrımıza bastırır.
  • dil olanı için, şurada bir video serisi mevcut. dili tamamen anlatmasa da, giriş babında işe yarayabilir:

    https://www.youtube.com/…z0dh5p73vdfwauh1mf_yq6f9rj
  • programlamayı severim ancak bu benim için bir hobi kıvamındadır. ne yetiştiğim ortam ne de okuduğum bölüm, ne de yapmayı düşündüğüm meslek programlamayla ilişkili. bu yüzden, biraz kendimi koyduğum konumdan dolayı hem yazılım topluluğuna hem de yazılımcılığın kendisini dışarıdan inceleyebiliyorum. zira, yazılımcılar dışında pek çok topluluktan insanları görüp kıyas edebiliyorum ve yazılımcıların farkında olmadıkları özellikleri bizzat analiz edebiliyorum.

    peki, yazılımcıların en keskin özelliği nedir?

    rekabetçi olmaları. belki batı kültürünün bir özelliğidir, belki de başka bir şey. birbirlerini bir şekilde ezmek için didinir dururlar. kimi zaman bu doğrudan gerçekleşir. mesela python (programlama dili) başlığına bir girip bakın, kimler kimleri nasıl eziyor görün. bilmeyeniniz olursa diye konuşuyorum, python çok rahat anlaşılabilecek bir programlama dilidir ve sırf bu yönünden dolayı gömülür de gömülür. bu yüzden, biraz daha karmaşık dillerde yazmak zorunda kalan programcılarda gizli ya da açıktan bir kolay dil düşmanlığı apaçık görünür. size böyle henüz ergenliğine girmiş gençlerin alışkanlığı gibi görünebilir. ama kişisel olarak takdir ettiğim @ssg'nin bile böyle bir huyu vardır.

    (bkz: #741)
    (bkz: #41847969)

    tamam anladık, zor öğrenilen bir dili yazan adam kolay dili öğrenen bir adamı şöyle böyle eziyor. yavaş diyor, hantal diyor ya da işte kullanışsız diyor. bir noktada haklılık payı var, hoş görebiliriz. ancak aynı dili yazan insanlar arasında rekabet nasıldır? işte orada iş iyice çirkinleşir. kod öyle karmaşık, öyle kriptik bir hâle gelir ki böyle bir koda denk geldiğiniz zaman hiçbir zaman anlamazsınız. eğer işin ne kadar berbat olabileceğini kestiremiyorsanız, size şöyle bir örnek vereyim:

    (bkz: #10209328)

    şimdi böyle kodlar yazan insanlar sert bir şekilde uyarılıyor bin şükür. hani üstte gördüğünüz örnek bir mecburiyet değil, bir tercih. adam gayet eğlenerek, güle isteye bunu yazmış. bu rekabetin şöyle bir türü: senin daha okuyamadığın bu karmaşayı bizzat ben yarattım ve ben işte bu kadar zeki bir adamım.

    inanması güç, ama böyle bir algı var. belki bilinçli belki bilinçsiz oluyor ama her yazılımcının derinliklerinde "kriptik" kod yaratma arzusu vardır. kimi zaman belirsiz değişken adlarıyla, kimi zaman bilinmeyen yan etki oluşturan fonksiyonlarla kimi zaman da iyice iç içe girmiş kodlarla yapar bu programcılar.

    90lı yıllarda c ortamlarında yeni başlayanlar çatır çutur aşağılanır, nasıl da bilmedikleri yüzlerine yüzlerine vurulurken japonya'nın topluluk kültürü içerisinde bu anlayışın çok tersine bir programlama dili ortaya çıkıyordu. bu programlama dili okunaklıydı, makinenin konforundan önce programcının konforu için tasarlanmıştı ve neredeyse hiç yazılım bilmeyen bir insan dahi şöyle bir baktığında ne döndüğünü anlayabilirdi. bu dil, ruby'dir.

    dilin ne kadar anlaşılır olduğunu örnekleyebilmek için buraya bir arayüz programlama dökümanı bırakıyorum. muhtemelen biraz biraz linuxla haşır neşir olmuş insanlar ne döndüğünü hemen anlayacaktır. başlıkların altında orijinal belgedeki c kodlarını inceleyebilirsiniz.

    https://github.com/…dlemo/ruby-gtk3-tutorial#basics

    diğer programlama dilleri en iyisi ve en mükemmel olmayı hedeflerken ruby, anlaşılır olmayı ve kibar bir topluluğa sahip olmayı hedefledi. dediğim gibi, c forumlarında insanlar kaba bir tavırla yeni başlayanlara yaklaşırken ruby forumlarında "matz kibarsa biz de kibarız" * anlayışıyla tane tane anlatmaya çalıştı yıllar boyunca. bu arada yanlış anlaşılmasın, zor öğrenilen dillere düşman değilim. hatta rust gibi bir canavarı gayet beğeniyorum. yalnızca ruby'nin kolay anlaşılabilirlik - konfor endeksli olmasını ayrıca takdir ediyorum.

    ruby'nin kendi hedeflerine ne kadar yaklaştığı, ne kadar başarılı olduğu tartışılır. pek çokları, ruby'nin ölü bir dil olduğunu ve artık ortadan kalkacağını düşünüyor. belki haklılardır zira ruby eskisi kadar konuşulan bir dil değil. nihai rakibi python'un karşısında epey kan kaybetti. ancak nereden bakarsak bakalım, ruby aşağıda görebileceğiniz gibi github üzerinde en çok kullanılan on dilden birisi. c#, kotlin, rust gibi dilleri geride bırakarak hem de! tabii bu kadar yıllık bir programlama dilinin bu kadar popüler olması aman aman enteresan bir şey değil, ama "henüz" ölmediğine dair bir kanıt olduğunu düşünüyorum.

    https://madnight.github.io/githut/

    peki, ruby ile bu başlığın ne alakası var? başlıkları mı karıştırdım? elbette ki hayır. konumuz crystal programlama dili ve bu dil ruby ile yakından ilişkili. şöyle ki, pek çok ruby kodunu üzerinde hiçbir değişiklik yapmadan crystal derleyicisi üzerinde çalıştırabilirsiniz.

    güzel ama ruby varken bu dile ne ihtiyaç var? yani madem ruby'den hiç farkı yok? elbette var, performans.

    biliyorsunuz ki ruby yorumlanan bir dil. bu çalışma prensibinin yarattığı esnekliklere karşın, ruby ne yazık ki alabildiğine hantal bir dil. bundan dolayı çoğu zaman ruby'i bayıla bayıla yazan programcılar performans gerektiren durumlarda mecburen c gibi yazılımcı konforundan çok makine konforunu hedefleyen bir dilde yazmak zorundalar. bu sadece bir rahatına düşkünlük mevzusu değil, aynı zamanda yazılımın çıkması için gereken sürenin ve bakımın artması demek. hem şöyle c hızında tepki veren, hem de ruby kadar yetenekli bir dil olsa... çok şey mi isteriz?

    çok şey ister miyiz istemez miyiz bilemem, ancak neticede birileri böyle bir şeyi tasarlayıp ortaya koymuş. evet, gördüğünüz üzere konu gayet başlıkla ilgili.

    crystal henüz yeni bir dil, dokümanları ruby'i pek tanımayan birisi için pek yeterli değil ve kütüphane desteği pek fazla yok. üstelik dilin duyurulmasından beri geçen beş yılın ardından adam akıllı bir windows desteği dahi gelmedi. ancak yine bir yerlerde böyle bir çalışma yapılmış olması benim gayet hoşuma gidiyor. zira, programcılığın merkezine tekrar insanı almasından dolayı bence takdir edilmesi, desteklenmesi gereken bir dil. zira böyle ufak adımlar yazılımcılığa rekabet yoluyla yerleşmiş olan "çileciliğin" ortadan kalkması için bir adımdır.

    edit: debeye girmişim. sanırım ilk olabilir, hepinize teşekkür ederim. :)