4 puan yazan GN⁺ 2023-10-09 | 1 yorum | WhatsApp'ta paylaş
  • Bu makale, Berry adlı ultra hafif, dinamik tipli bir gömülü betik dilini tanıtıyor.
  • Berry, düşük performanslı gömülü cihazlar için özel olarak tasarlandı.
  • Berry yorumlayıcı çekirdeğinin kod boyutu 40KiB'den küçüktür ve 4KiB'den az heap ile çalışabilir. Bu, ARM Cortex M4 CPU üzerinde Thumb ISA ve ARMCC derleyicisi kullanılarak test edilmiştir.
  • Berry yorumlayıcısı, tek geçişli bir derleyici ve register tabanlı bir sanal makineyi (VM) içerir. Tüm kod ANSI C99 ile yazılmıştır.
  • Berry'de tüm tipler class nesnesi değildir. int, real, boolean, string gibi basit değer tipleri class nesnesi değildir; list, map, range ise class nesnesidir. Bunun nedeni performansla ilgili değerlendirmelerdir.
  • Berry bağlamında "register tabanlı VM" terimi, genel bilişimdeki anlamıyla aynıdır.

1 yorum

 
GN⁺ 2023-10-09
Hacker News görüşü
  • Berry, 40 KB çalışma zamanında şaşırtıcı derecede zengin bir özellik seti sunan ultra hafif, dinamik tipli gömülü bir betik dilidir.
  • Python/Ruby benzeri bir dili çalıştırır ve prosedürel, nesne yönelimli veya işlevsel tarzı destekler.
  • Berry, sabit nesneleri önceden oluşturup bunların çoğunu ROM'a yerleştirerek öne çıkıyor; bu sayede MicroPython veya Lua'da görülmeyen biçimde RAM'i değişken veriler için koruyor.
  • Berry, IoT cihazları için bir platform olan Tasmota'da kullanılır.
  • Dilin dokümantasyonu, kapsamlı olması ve deneyimli geliştiriciler için bir "kısa kılavuz" içermesi nedeniyle çok övülüyor.
  • Bazı kullanıcılar, yapılandırma dili olarak kullanmak için daha az paradigma içeren ve statik tiplemeye sahip benzer bir dil istediklerini ifade etti.
  • Başka dillere binding sağlanmasına yönelik öneriler ve coroutine ya da generator olasılığına dair sorular var.
  • Kullanıcılar, Berry ile Lua'nın performans ve bellek kullanımı karşılaştırmasına ve güvenilmeyen kodu çalıştırmak için sandbox özelliklerine ilgi gösteriyor.
  • Yerel stack trace içinde script fonksiyonlarının adlarıyla stack frame'lerin gösterilmesi olasılığına dair sorular var.