ما الّذي تعرفه عن Kotlin؟
المعلوماتية >>>> برمجيات
لا بدّ لمن سمعَ بالخبرِ أوّلَ الأمرِ أن يتساءلَ في نفسه عدّة أسئلةٍ، حاولنا حصرها في ما يلي:
ما هي Kotlin؟
هي لغةُ برمجةٍ مفتوحةُ المصدرِ تستهدفُ JVM، Android، JAVASCRIPT لتؤدي نفس وظائفهم وتحلَّ محلَّهم في المستقبلِ، تمَّ تطويُرها من قِبَلِ JetBrains حيث بدأ المشروعَ في عامِ 2010، وكانَ مفتوحَ المصدرِ من بداياتِه وتمَّ الإطلاقُ الرّسميُّ الأوّلُ في شباط 2016.
ما هي آخرُ نسخةٍ تمَّ إصدارُها من هذه اللّغةِ؟
آخرُ نسخةٍ تمَّ إصدارُها هي 1.1.2-2 وتمّ ذلكَ في 25 نيسان 2017.
هل هي لغةٌ مجانيّةٌ؟
نعم هي لغةٌ مجانيّةٌ وستبقى كذلك، تمَّ تطويرها وفقَ رُخصةِ Apache 2.0 License والشّيفرةُ المصدريّةُ متاحةٌ هنا (هنا)
هل لغةُ Kotlin وظيفيّةٌ Functional أم غرضيّةُ التّوجّهِ Object Oriented؟
تمَّ بناءُ Kotlin لتكونَ غرضيّةً ووظيفيّةً في نفسِ الوقتِ، حيث يمكنكَ استخدامها كغرضيّةٍ أو كوظيفيّةٍ أو أن تدمجَ المزايا معاً حسب احتياجاتك.
ما هي الميزاتُ الّتي تقدّمها Kotlin بالمقارنةِ مع JAVA؟
Kotlin لغةٌ موجَزَةٌ أكثرَ حيث توفّرُ حتّى 40% من السّطورِ البرمجيّةِ لمعالجةِ نفسِ المشكلةِ باستخدامِ JAVA، وتتضمّنُ ميّزاتٍ أكثرَ مثلَ التّوابعِ ذاتِ التّرتيبِ الأعلى Higher-order Functions، وتوابعِ التّمديدِ Extension Functions ومُستقبلاتٍ تُقدّمُ إمكانيّاتِ كتابةِ شيفرةٍ مُعبّرةٍ وتسهيلِ إنشاءِ DSL.
هل Kotlin متوافقة مع JAVA؟
نعم تتوافقُ لغةُ Kotlin مع JAVA بنسبةِ 100% حيث كانَ تركيزُ مُطوّريها الأساسيُّ منذ البدايةِ على التّأكُّدِ من أنّ قاعدةَ شيفراتِ أيِّ مُستخدِمٍ للغةِ JAVA يمكنُ تفسيرها باستخدامِ Kotlin، ويمكنكَ بكلِّ سهولةٍ مُناداةُ شيفرة مكتوبةٍ بلغةِ Kotlin من أخرى مكتوبةٍ بلغةِ JAVA والعكسُ صحيحٌ، ما يجعلُ تبنّيها من قِبَلِ المطوّرينَ أسهلُ وأقلُّ خطورةً. يوجد أيضاً محوّلٌ من JAVA إلى Kotlin مبنيٌّ ضمنَ بيئةِ التّطويرِ المُتكاملةِ ما يُسهّلُ نقلَ الشّيفراتِ الحاليّةِ للُّغةِ الجديدةِ.
ما هي استخداماتُ Kotlin؟
يمكن استخدامها لأيّ نوعٍ من التّطويرِ. على سبيلِ المثالِ لا الحصرِ تطبيقاتٌ من جانبِ الخادمِ server-side، من جانبِ الزّبونِ client-side باستخدامِ JAVASCRIPT أو JAVAFX وعلمِ البياناتِ Data Science و Android.
ما هي بيئاتُ التّطويرِ المُتكاملةِ IDEs الّتي تدعمُ Kotlin؟
تدعُمها كلُّ البيئاتِ الدّاعمةِ لِـ JAVA ويتضمّنُ ذلكَ:
Android Studio، Eclipse، NetBeans و IntelliJ IDEA.
ما هي الأدواتُ المُدمَجةُ الّتي تَدعَمُ Kotlin؟
من جانبِ JVM لدينا Gradle وَ Maven وَ Ant وَ Kobalt
هل تستهدفُ Kotlin فقط JAVA 6؟
تُخيُّركَ Kotlin بينَ توليدِ شيفرةِ بايتاتٍ مُتوافقةٍ مع JAVA 6/ JAVA 8.
هل لغةُ Kotlin صعبةٌ؟
تمَّ استلهامُ Kotlin من اللُّغاتِ الموجودةِ حاليًّا مثل JAVA وَ C# وَ JAVASCRIPT وَ SCALA وَ Groovy. ما يعني أنّها مشابهةٌ لما هو موجودٌ حاليًّا ليسهُلَ على من يريدُ الانتقالَ إليها.
بالانتقالِ إلى العُمقِ أكثرَ وبالنّسبةِ لمطوّري الأندرويد فإنَّ دعمَ Google لِـ Kotlin يُمثِّلُ فرصةً لاستخدامِ لغةٍ فعّالةٍ وحديثةٍ، ممّا يُساعدُ في حلِّ المشاكلِ الشَّائعةِ كالاستثناءاتِ وقتَ التَّنفيذِ Runtime Exceptions واستخدامِ تعليماتٍ أكثرَ من اللّازمِ في الكودِ المصدريِّ Source Code Verbosity.
تُعدُّ أيضًا لُغةُ Kotlin من اللُّغاتِ سهلةِ التَّعلُّمِ، ومنَ السَّهلِ أيضًا تضمينها في المشاريعِ الحاليّةِ دونَ الاضطرارِ لإعادةِ بنائِها من الصِّفرِ، ما يعني أنَّكَ ستستفيدُ من مهاراتِكَ الحاليّةِ.
بدءاً من الآن سيعمل Android Studio 3.0 مع Kotlin خارجَ الصُّندوقِ، ما يعني أنَّ مُطوِّري Android لن يعودوا بحاجةٍ لتثبيتِ أيَّةِ إضافاتٍ أو القلقِ على التّوافقيّةِ Compatibility، وهذا يعني أيضًا أنَّ كِلا JetBrains و Google سيدعمان تطويرَ أندرويد بلغةِ Kotlin.
وفي حالِ كنتَ مُتسائلاً عن المنصَّاتِ الأخرى الّتي تدعمُها Kotlin وهي: Kotlin/JVM للخوادِمِ وسطحِ المكتبِ، بالإضافةِ لـ Kotlin/JS و Kotlin/Native فإنَّ الشَّركةَ تُوَّضحُ أنَّها تسعى لجعلِ Kotlin أداةً موحَّدةً للتّطويرِ نهايةً لنهايةٍ end-to-end Development للتّطبيقاتِ المُختلفةِ مُنشِئَةً بذلكَ جسراً لتستخدمَ مختلفَ المنصّاتِ لغةَ برمجةٍ واحدةٍ وهذا يتضمَّنُ تطبيقاتِ الويب ..، مستخدمي الأندرويد والـ ios، والنُّظُمِ الُمدمَجَةِ وإنترنت الأشياءِ IOT وأشياءَ أخرى.
إنَّ لغاتِ البرمجةِ بالنّسبةِ للحاسبِ تماماً كلغاتِ البشرِ، كلَّما تحدَّثتَ أكثرَ بلغةٍ ما كلَّما أصبحتَ أكثرَ طلاقةٍ، ولذلك فإنَّ الدَّعمَ من المرتبةِ الأولى الّذي قدَّمتهُ Android لـ Kotlin سيجعلُ أشخاصاَ أكثرَ يستخدموها، ومن المتوَقَّعِ أن ينمو مجتمعها بشكلٍ ملحوظٍ، وهذا يعني بدورِهِ أنَّ مكتباتٍ أكثرَ ستُطوِّرُ في Kotlin ولها، وخبرةٍ أكثرَ لنُشاركها، فرصَ عملٍ خاصّةٍ بمن يُجيدُ Kotlin ...إلخ
ستُشاركُ أيضًا Kotlin مع Google في بناءِ مؤسّسةٍ غيرِ ربحيّةٍ خاصّةٍ بِـ Kotlin، وسيستمرُّ تطويرُ اللُّغة ليتمَّ دعمُها من قِبَلِ JetBrains. حتّى الآن لازالت قيادةُ تصميمِ هذهِ اللُّغةِ بإشرافِ Andrey Breslav والّذي يتعهّدُ بإبقاءِ عمليّةِ التّصميمِ مفتوحةً لأنَّهُ يرى أنَّ التَّغذيةَ الرّاجِعَةَ من المستخدمينَ والمُبرمجينَ أساسيّةٌ لتوجيهِ Kotlin في الاتّجاهِ الصّحيحِ.
عندما بدأَ القائمونَ على Kotlin مشوارَ تصميمِ هذه اللُّغةِ قبلَ أكثرَ من ستةِ أعوامٍ مضت كانَ هدفُهم إنشاءُ لغةٍ على نفسِ الخطِّ مع المبادئِ الّتي تقودُ أدواتِنا الحاليّةِ تُساعدُ المطوِّرينَ بإنجازِ المهامِ الصَّعبةِ وتفتحُ لهم فرصةَ التّركيزِ على المُهمِّ فعلاً، وجَعْلَ مهمَّتهم من أمتعِ ما يُمكنُ أن يكونَ، أمَّا أهدافُهم الحاليّةُ فهي جعلُ Kotlin لغةَ برمجةٍ مُتاحةٍ على منصَّاتٍ عِدّةٍ، ويسعونَ للاستمرارِ بتطويرِ Kotlin/JVM (من جهةِ الخادمِ، وسطحِ المكتبِ وأنماطٍ أخرى من التّطبيقاتِ)، كذلك تطويرُ Kotlin/JS. ومن الأهدافِ أيضًا العملُ على Kotlin/Native من أجلِ منصَّاتٍ أُخرى مثل macOS، ios، IOT والنُّظُمِ الُمدمَجةِ embeded systems.
إن كنت ترغبُ بتعلُّمِ Kotlin فإليك هذه المصادر:
هنا
هنا
هنا
هنا
هنا
هنا
هنا
---------------------------------------------------
المصدر:
هنا