الفرق بين المراجعتين لصفحة: «Kotlin/comparison to java»
< Kotlin
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:المقارنة بين لغتيّ البرمجة Java و Kotlin}}</noinclude> == بعض المواضيع في Java ومعالجتها في Kot...' |
ط تعديل مصطلح متحول |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 18: | سطر 18: | ||
== ما تمتاز به Kotlin ولا تدعمه Java == | == ما تمتاز به Kotlin ولا تدعمه Java == | ||
* [[Kotlin/lambdas|تعابير lambda]] و<nowiki/>[[Kotlin/inline functions|الدوال | * [[Kotlin/lambdas|تعابير lambda]] و<nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]] وسينتج عنهما سويةً بُنى مخصَّصة للتحكم عالية الأداء | ||
* [[Kotlin/extensions|الدوال الإضافيّة (extension functions)]] | * [[Kotlin/extensions|الدوال الإضافيّة (extension functions)]] | ||
* [[Kotlin/null safety|أمان القيم الفارغة null]] | * [[Kotlin/null safety|أمان القيم الفارغة null]] | ||
سطر 26: | سطر 26: | ||
* [[Kotlin/classes|البواني الأساسيّة (primary constructors)]] | * [[Kotlin/classes|البواني الأساسيّة (primary constructors)]] | ||
* [[Kotlin/delegation|التعميم من الصنف الأول (first-class delegation)]] | * [[Kotlin/delegation|التعميم من الصنف الأول (first-class delegation)]] | ||
* [[Kotlin/basic types|تخمين (inference) نوع | * [[Kotlin/basic types|تخمين (inference) نوع للمتغيِّرات وأنواع الخاصّيّات]] | ||
* [[Kotlin/object declarations|نمط Singelton]] | * [[Kotlin/object declarations|نمط Singelton]] | ||
* [[Kotlin/generics|تغيّر موقع التصريح (declaration-site variance) والأنواع المُسقَطة (type projections)]] | * [[Kotlin/generics|تغيّر موقع التصريح (declaration-site variance) والأنواع المُسقَطة (type projections)]] |
المراجعة الحالية بتاريخ 18:02، 4 يوليو 2018
بعض المواضيع في Java ومعالجتها في Kotlin
عالجت لغة Kotlin العديد من المشاكل الموجودة في Java وهي:
- التحكُّم بالمرجعيّات الفارغة (null references) عبر نظام الأنواع
- لا وجود للأنواع الخامّ (raw types)
- تُعدُّ المصفوفات في Kotlin ثابتة (invariant)
- للدوال (functions) في Kotlin أنواع مناسبة وهذا ما يتعارض مع التحويلات SAM في Java
- التنوّع في موقع الاستخدام (use-site variance) دون الحاجة إلى المحارف البديلة (wildcards)
- لا وجود للاستثناءات المُتحقَّق منها (checked exceptions) في Kotlin
ما تمتاز به Java ولا تدعمه Kotlin
- الاستثناءات المُتحقَّق منها (checked exceptions)
- الأنواع الأساسيّة التي لا تُعدُّ أصنافًا
- العناصر الستاتيكيّة (static members)
- الحقول غير الخاصّة (non-private fields)
- الأنواع البديلة (wildcard-types)
- المعامل الثلاثي
a ? b : c
ما تمتاز به Kotlin ولا تدعمه Java
- تعابير lambda والدوال المباشرة (inline functions) وسينتج عنهما سويةً بُنى مخصَّصة للتحكم عالية الأداء
- الدوال الإضافيّة (extension functions)
- أمان القيم الفارغة null
- التحويلات الذكيّة (smart casts)
- قوالب السلاسل النصيّة (string templates)
- الخاصّيّات (properties)
- البواني الأساسيّة (primary constructors)
- التعميم من الصنف الأول (first-class delegation)
- تخمين (inference) نوع للمتغيِّرات وأنواع الخاصّيّات
- نمط Singelton
- تغيّر موقع التصريح (declaration-site variance) والأنواع المُسقَطة (type projections)
- تعابير المجالات (range expressions)
- التحميل الزائد للمعاملات (operator overloading)
- الكائنات المرافقة (companion objects)
- أصناف البيانات (data classes)
- الواجهات المنفصلة للقراءة فقط (read-only) والمجموعات المتغيّرة (mutable collections)
- الروتينات المساعدة (coroutines)