Şimdi Ara

Yapıcı Bir Kotlin Eleştirisi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
1
Favori
385
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar Kotlin öğreniyorum. Dil gerçekten modern programlama dillerinin nasıl birşey olduğunu ortaya koyan bir dil olmuş. Bu dili öğrenirken içimden C++ emekli oldu, Java ve C# ise yaşlandı demeden edemedim. Dil gerçekten yeni nesil prog. dillerini yansıtan yeni jenerasyona hitab eden güzel bir dil olmuş. JetBrains'in ellerine sağlık diyorum. Peki siz nediyorsunuz?


    Gerçekten etkilendim.


    Kotlini öğrenme kaynağım: "Kotlin Programming The Big Nerd Ranch Guide" E-Kitabı


    < Bu ileti mobil sürüm kullanılarak atıldı >



  • Bir konuyu ilk resmi belgelerinden öğrenmeyi tercih ederim, en baştan örnekler değil yapısal ve pedagojik yazılmış teorik paragraflar ile giriş yapmak isterim (çünkü bir şeyi baştan düz cümlelerle anlatamıyorsan ya bilmiyorsundur veya anlattığın şeyde iş yoktur).. bu açıdan Kotlin belgeleri bir hayal kırıklığı.. dağınık, yapısal değil, programlamayı bırak Java bildiğini varsayıyor.. dilin mimarlarının ana dili ingilizce değil, ve öğretmeyi de hiç bilmiyorlar sanırım (yani empati yapamayan nerd) bu nedenlerle kendi belgelerini eksik ve dağınık buldum. Learning by Example hiç tarzım değildir, asla olmadı.

    class tanımlarının başında public veya private yok, open ve data diye şeyler uydurmuş, ve diyor ki "in Kotlin classes are final by default".. iyi de, final terimi generic değildir, Java'ya özgü bir terimdir, Java bilmeyen nasıl anlasın en dediğini? "in Kotlin classes are not extensible (subclassable) by default" gibi birşey demesi lazım.

    Kod okurken val ile var çok karışıyor, saçmalamışlar orada resmen... const diye mis gibi bir keyword var, niye kullanmamışlar?

    Hiç yoktan fun diye keyword icat etmişler, aynı şeye Python def diyor, Go fcn diyor, Rust fn diyor, illallah be kardeşim, beynimizi s.ktiniz bir fonksiyon tanımı için.. Javascript'in gözünü seveyim, function için function diyorsun, işte bu kadar.

    extends yerine : kullanmış (C++'tan çalıntı), type declaration'larında da : kullanmış, mesela aşağıdaki gibi bir satırda ben karıştırıyorum okurken
    class A(age: Int, name: String) : B("male")


    lambda ifadeleri bir fonksiyona argüman olarak gönderirken parantez dışına koyabiliyorsun, bu da Lua'dan çalıntı...

    Böyle daha çok yazarım ama kalsın, çünkü iyi bilmiyorum bu dili. Sonuçta kısa, öz, değişik olacağız derken bence bol bol saçmalamışlar, ama mecburen oturup öğreneceğim çünkü Android ve mobil programlama üzerine çalışıyorum, dilden ziyade platform olarak üzerinde çok çalışıyorlar (multiplatform).

    < Bu ileti mini sürüm kullanılarak atıldı >




  • seyfi84 S kullanıcısına yanıt

    Hocam yazdıklarınızın hiçbirisi bana çok saçma veya uçuk kaçık gelmedi. Gayet kabul edilebilir buldum. Java, Python, C# ve C bilen birisi olarak söylüyorum bunları.


    Şöyle bir örnek vermem gerekirse. C++ çıktığında C programcılarının bir çoğu C++'a geçmedi yani geleneksel, kültürel, eksi köye yeni adet olmaz diye davrandılar. Ama muhtemelen onlarında birçoğu C++'a geçmek zorunda kaldı. Çünki üstünlük ezici bir şekilde ortadaydı.


    Şimdi ben sadece Kotlin mi Java mı ikileminden bile Kotlin'in neden Android programlamada daha üstün olduğunu söyleyebilirim. Çünki Java Kotlin kadar esnek bir dil değil, çok hantal katı bir dil. Bu yüzden sezgilerim bana Androd programlamada Java değil Kotlin kullan diyor çünki Java'ya göre çok esnek ve kullanışlı.


    Şuan öğrenme aşamasındayım sadece göz gezdierk araşıtrmalar yaparak bunları söylüyorum. Dili öğrenmeyi bitirdiğimde belki daha fazla şey yazarım buraya veya başka bir yere. Sebepleriyle.





  • Java'dan Kotlin'e geçişi C'den C++'a geçişle nasıl kıyaslarsın yahu? C programcısı için C++ yepyeni bir dünya, paradigma değişiyor herşeyden önce.
    Kotlin yeni bir şey sunmuyor ki syntax çorbası yapmaktan başka... extends yerine : koyunca, const yerine val deyince, function yerine fun deyince, switch yerine when deyince ne sağlamış oldu?
    Java da yerinde saymıyor ki, bir sürü yeni şey eklediler, Java 23 çıktı.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • seyfi84 S kullanıcısına yanıt

    Hocam 4 aya Kotlin'i bitiririm diye düşünüyorum. Ozaman buraya daha detaylı bir yazı yazabilirim. Aslında yazmak istediğim bazı şeyler var ama onlar hakkındaki fikirlerim çok yüzeysel ama yüzeysel olmasına rağmen sezgilerim Java'ya göre çok esnek ve kullanışlı olduğunu söylüyor. Peki nerden biliyorsun böyle olduğunu? Diye soruyorsanız, incelediğim Kotlin kodlarına bakarak biliyorum ama bilgilerim çok yüzeysel çünki Kotlin'de çok yeniyim.

  • seyfi84 S kullanıcısına yanıt

    Hocam mesela siz bir dil öğrenmek isteseydiniz kendi isteğinizle iş gekekliliği olmadan çünki iş gerekliliği olursa isteğin önemi olmuyor mecburiyet oluyor; Yani birazcık kendi isteğiniz birazcıkta gereklilik olsaydı hangi dili öğrenirdiniz?




    < Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 23 Eylül 2024; 20:7:5 >
  • Evet hocam birşey demiyecek misiniz?

  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • kotlinden niye vazgeçtin ya da niye başladın

  • ShibLeg kullanıcısına yanıt

    Çünki gördüğüm en iyi dil. Bu yüzden başladım. 3-4 aya bitirince burada anlatacağım neden bukadar iyi olduğunu.

  • Dil öğrenmek, kullanmak sıkıntı değil de geliştirme ortamları kötü. Derlenen dillerin en büyük dezavantajı kodu yaz-derle-test et döngüsünün yavaş olması. Debuggerlar inanılmaz derecede yavaş. Bir tane "conditional breakpoint" koyuyorum makinanın anası ağlıyor. Ben her durum için kod aralarına log mu yazıcam?

    Nispeten daha hızlı iterasyon sağladığı için prototipi Dart ile yazıyorum. Debugger yine yavaş ama hiç değilse derleme yok, hot reload var, güzel bir cpu profiler var.

    Pharo diye bişey var iyi görünüyor ama ben o acayip dili öğrenene kadar ömrüm çürür.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • EmuDev E kullanıcısına yanıt

    Hocam merhaba, siz Dart'ı neden öğrendiniz? Multiplatform App yapmak içinmi?


    Ben Kotlin'i Android'de yapmak istediğim 9 Tane App var onları yapmak için öğreniyorum. Sonrasında da Sandbox'da yol almayı düşünüyorum (Android Sandbox Platform) Bana göre gelecek sandboxta en azından bu teknolojinin önemli bir payı var gelecekte.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • psikolojikSorunlu.insan P kullanıcısına yanıt

    C++ ile yazdığım bir uygulamayı androidde çalıştırmak istedim. Ancak 2 dil yerine tek dil kullanayım dedim. Araştırdım dart+flutter uygun görünüyordu. Uygulamayı dart ile tekrar yazdım ancak sonuç pek beklediğim gibi değil. Muhtemelen dart'ı sadece prototip amaçlı kullanıcam. Bu amaç için güzel bir ortam sağlıyor.


    Android tarafında el mahkum kotlin + low level bir dil.




    < Bu mesaj bu kişi tarafından değiştirildi EmuDev -- 30 Eylül 2024; 1:20:18 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • EmuDev E kullanıcısına yanıt

    Hocam kolay gelsin.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.