Yanıtlar:
şeker , programlamada genellikle bazı yapıların yazılmasını ve okunmasını kolaylaştıran tatlı eklemelere, çoğunlukla kısayollara atıfta bulunur (ikincisi, uygulamada, programınızın yaşam döngüsü boyunca en önemlisidir).
Wikipedia'nın bir sözdizimsel şeker tanımı vardır, ancak tüm şekerin özünde sözdizimsel olmadığına dikkat etmelisiniz (son tatlı eklemelerin tümü yalnızca derleyici değişiklikleri değildi).
İşte birkaç örnek:
i++
ve ++i
). Tek amaçları, ek bir ifade yazmaktan kaçınmaktır. Saf şekerdir.+=
, |=
, &=
Vb şekerin aynı tür malzemeden yapılmıştır.Java, özellikle modern dillerle karşılaştırıldığında yeterince özlü olarak görülmemektedir. Bu nedenle, kodun daha hızlı okunmasına yardımcı olan bu eklemeler memnuniyetle karşılanır.
Bitirmek için, şeker eksikliği programınızı şişmanlatabilirken, fazla şeker, aynı şeyleri yazmak için birçok farklı yola yol açarken, dilinizi bulandırabilir ve programınızı daha az tutarlı ve sürdürmesi daha zor hale getirebilir. . Başka bir şeker türü olan API şekeri, çoğunlukla API'yi kavramayı zorlaştıran bir vebadır, özellikle de eklemelerden (örneğin aşırı yükleme) yapıldığında.
Bu söyleniyor, şekerleme ya da
"Desugaring", Java 8'de çok özel bir anlama sahip gibi görünmektedir. Bu, bir lambda ifadesinin gerçek bir somut yöntem çağrısına bağlı olabileceği çeşitli yolları ifade eden tümünü kapsayan bir terim gibi görünmektedir.
"Lambda İfadelerinin Tercümesi" hakkındaki bu belge, ayrıntılarla ilgileniyorsanız neler olup bittiğine dair gerçek ayrıntıları içeriyor gibi görünüyor.
Belgeden anahtar bir cümle:
Lambda'ları bayt koduna çevirmenin ilk adımı, lambda gövdesini bir yönteme dönüştürmektir.
Genel olarak javac'ta "tasnif etmek" bazı dil özelliklerinin önceden var olanlarla temsil edilmesine izin verir. Bu, sınıf dosya biçiminde büyük değişiklikler yapmadan onları bayt kodunda temsil etmeye izin verir. Ayrıca bu nedenle derleyicinin arka ucu ön uçtan daha kararlıdır. Bu, lambdalarda ve yöntem referanslarında kesinlikle olmadığı gibi, her yeni dil özelliğinin sadece sözdizimi şekeri olduğu anlamına gelmez. Derleyicide daha fazla "ayıklama" örneği vardır:
Ayrıca String switch, tip silme, ... ile neler olduğunu da araştırabilirsiniz.