مختصری از تاریخچهی زبان برنامه نویسی kotlin
زبان برنامه نویسی kotlin توسط جت برینز برنامه نویس اهل روسیه، در سال ۲۰۱۱ برای ماشین مجازی جاوا نوشته شد . او و همکارش بر این عقیده بودند که بیشتر زبانهای برنامه نویسی به جز اسکالا در زمان کامپایل کردن مشکل دارند. پس kotlin را برای کامپایل سریع حتی با سرعت تر از جاوا نوشتند تا حتی به کاربران جاوا امکان مهاجرت را به این زبان بدهند. از لحاظ نحوه نوشتاری(Syntax) زبان برنامه نویسی kotlin با جاوا سازگار نبوده با این وجود به دلیل همکاری با کدهای جاوا کتابخانهی استاندارد جاوا برای این زبان بر کتابخانهی کلاس جاوا متکی است. در سال ۲۰۱۶ ورژن پایدار و اصلی آن با عنوان ۰/۱ ارائه گردید. این زبان برای در ۲۰۱۷ به صورت رسمی به عنوان زبان برنامه نویسی اندروید در گوگل اعلام شد.
زبان برنامه نویسی kotlin چیست؟ و بر روی چه پلتفرمی قابل اجراست؟
یک زبان برنامه نویسی ایستا و جدا از سکو بوده و به عنوان یک زبان برنامه نویسی عمومی شناخته میشود. کاتلین قابلیت اجرا بر روی ماشینهای مجازی جاوا را داشته و همچنین کاربر قادر است این زبان برنامه نویسی را روی جاوا اسکریپت نیز کامپایل نماید.
زبان برنامه نویسی کاتلین قابلیت پیاده سازی بر روی ویندوز، لینکوس، MacOS ، آی و اس، اندروید و WebAssembly با کامپایلر LLVM به صورت نیتیو را دارد.
قابلیتها
زبان برنامه نویسی kotlin دارای ویژگی مقداردهی اولیه با تأخیر (lazy Initialization)است. یعنی مقداردهی اولیه در زمان اعلان مشخصه انجام نمیشود بلکه زمانی انجام میگیرد که اولین بار استفاده شده باشد. البته این فقط در زمانی مفید خواهد بود که ما در حال پیاده سازی مشخصه هایی که صرفا خواندنی است باشیم. کلاس داده در این زبان با سایر زبانها مقداری متفاوت است. یعنی در سایر زبانهای برنامه نویسی کلاسهایی که ساخته میشوند؛ صرفا وظیفهی نگهداری دادهها را برعهده دارند و ما برای انجام کار روی دادهها، دادهها را باید به صورت دستی مشق کنیم. اما در kotlin این کار در خود کلاس انجام میگیرد و علامت گذاری به صورت داده ای انجام میشود.
کاتلین داری توابع اکستنشن است. یعنی تابع اکستنشن در زبان برنامه نویسی به ما این اجازه را می دهد که کلاس را با استفاده از افزودن یک قابلیت جدید در آن توسعه بدهیم. در برنامه نویسی kotlin کلاسهای مهر و موم شده وجود دارد. یعنی برای کلاسهایی که یک مقدار یا شی تنها و فقط یک نوع و به یک صورت میتواند وجود داشته باشد؛ از این ویژگی برای نمایش سلسله مراتب محدود شده استفاده میشود.
همچنین دارای مقدار دهی اولیه کند است. این به این معنی است که توسعه دهندگان متغیر را در مقدار دهی اولیه، و قبل از دسترسی به آن کد می کنند.
کاربرد برنامه نویسی kotlin در اندروید
کاتلین برای پیشرفت و توسعهی برنامهها و اپلیکیشنهای مربوط به اندروید، یک انتخاب بسیار عالی است.
زبان برنامه نویسی با JDK 6 سازگار بوده و اندروید استودیو به طور کامل میتواند این زبان را پشتیبانی کند. همانطور که گفته شد در زبان برنامه نویسی kotlin به دلیل استفاده از کدهای ساده تر نسبت به جاوا سریعتر کامپایل میشود.
همچنین به علت تبدیل خودکار جاوا به توسعهی پلاگین کاتلین، برای توسعهدهندگان جاوا استفاده از کاتلین بسیار ساده تر خواهد بود. کاتلین با نسخهJDK6 سازگاری بالایی دارد و به طور کامل توسط اندروید استودیو پشتیبانی می شود. همچنین قابلیت اجرا روی دستگاههای قدیمی بدون هیچ مشکلی را دارد. سرعت اجرای کاتلین نسبت به جاوا بیشتر است و دلیل آن استفاده از کد بایتهای ساده تر از جاوا است.
در نتیجه کاتلین کارایی بالایی را دارد. توابع کاتلین قبل از نام گذاری آرگومانها از آرگومانهای پیش فرض شده در در لیست آرگومان با طولهای تغییر کننده استفاده میکنند. این ویژگیها به شما این امکان را خواهد داد که تمرکز عمیقی روی بیان ایدههای خویش داشته باشید و boilerplate code کمتری را بنویسید. لازم به توضیح است که boilerplate code کدهای تکراری می باشد که الزاما در تمام پروژه ای یک زبان برنامه نویسی باید نوشته شود.
بهبود و توسعهی سمت سرور با kotlin
برای بهبود و توسعهی سمت سرور زبان برنامه نویسی کاتلین بسیار مناسب میباشد و شما با نوشتن مقدار مختصری از کدها و قدرت بیان، از تمامی امکانات کتابخانهی جاوا استفاده کرده و وضوح، هماهنگ شدن و سازگار شدن با کتابخانهی جاوا، قابلیت مقیاس پذیری و پشتیبانی آ دی ای را به طور همزمان داشته باشید.
وب اپلیکیشنهای نوشته شده با کاتلین بر روی تمام وب سرورهایی که جاوا بر روی آن ها اجرا می شود قابل نصب می باشند.
کاتلین و جاوا اسکریپت
تمامی کدهای زبان برنامه نویسی kotlin به کد جاوا اسکریپت کامپایل میشوند. تمامی کدها به صورت خروجی ECMAScript 5.1 تبدیل خواهند شد. با این روش تمامیکدهایی که در کاتلین مورد استفاده قرار میگیرند؛ قابلیت تبدیل شدن به کدهای جاوا اسکریپت را دارد. البته این نکته نیز وجود دارد که اگر از کتابخانه ای غیر از کاتلین استفاده کنید؛ کدها به کد جاوا اسکریپت تبدیل نخواهند شد و فقط کدهای کاتیلن به جاوا اسکریپت تبدیل می شوند.
کدهای خارج شده از جاوا اسکریپت بسیار بهینه شده بوده و توانایی خوانایی بسیار بالایی نسبت به بقیه دارند. کدهای خروجی با کد کتابخانه همخوانی و همکاری داشته و به صورت استاندارد برنامه نویسی میباشند.
قابلیتهای زبان برنامه نویسی kotlin در جاوا اسکریپت
ماژول های CommonJS AMD and UMD با کاتلین بسیار سازگارند و تبدیل کدهای کاتلین به کدهای باینری با استفاده از تکنولوژی کاتلین نیتیو بدون نیاز به هیچ نوع ماشین مجازی خاصی و اجرای آن بدون هیچ مشکلی وجود دارد. کاربرد کاتلین در تولید برنامه موبایل های اندرویدی نیز روز به روز افزایش می یابد .
و در آخر کاتلین به وسیلهی کامپایلر LLVM کامپایل شده و برای اجرای سریع در جاهایی که هیچ نوعی از VM وجود ندارد ؛ مثل IOS و Embedded برنامههای مستقل با اندازهی مناسب که نیاز به یک توسعه دهنده دارند؛ طراحی شده است. تکنولوژی کاتلین نیتیو با تمامی کدهای بومی تمامی سیستم عاملها همکاری و سازگاری دارد. همچنین میتوان تمامی کدهای زبان برنامه نویسی را به صورت خروجیC گرفت و در تمامی بسترها و پلتفرمهایی که از زبان برنامه نویسی پشتیبانی میکند میتوانند اجرا شوند.