ضعیفبد نیستمتوسطخوبعالی (2 votes, average: 5٫00 out of 5)
Loading...

Kotlin vs Java، آیا کاتلین جایگزین جاوا خواهد شد؟ (بخش دوم)

با نام و یاد خدا

در مقاله پیشین (اینجا) در مورد زبان نسبتا جدید کاتلین صحبت کردیم و شواهدی که نشان می دهد این زبان می تواند جایگزین جاوا در نوشتن برنامه های اندرویدی شود. در این مقاله به توضیح دلایل برتری کاتلین نسبت به جاوا می پردازیم.

برتری های کاتلین نسبت به زبان جاوا:

  • کاتلین نیاز به نوشتن کد کمتری دارد.

حداقل 20 درصد کمتر! همانطور که اشاره شد جاوا زبانی است با 22 سال قدمت، بنابراین تقریبا می توان آنرا منسوخ دانست بعلاوه اینکه Oracle باعث شد زبان جاوا یک زبان با قابلیت «سازگار با نسخه های پیشین» باشد، یعنی هر نسخه باید از ویژگی های نسخه های قبلی پشتیبانی کند. این امر باعث شد گنجاندن ویژگی های جدید در هر نسخه کار دشواری بوده همچنین میزان کدی که باید نوشته شود افزایش می یابد. بر خلاف جاوا، معماری کاتلین از ابتدا و از صفر ساخته شد، بنابراین دیگر از معماری لایه در لایه خبری نیست.

  • Crash های کمتری در کاتلین رخ می دهد.

Kotlin JVM مشکلات بسیار کمتری دارد. مساله NullPointerExeption که به «اشتباه یک میلیون دلاری» معروف است، در آن قابل پیشگیری است. NullPointer کماکان در تمامی زبان های برنامه نویسی رخ می دهد، تنها راه کنار آمدن با آن در زبان های مختلف ممکن است تفاوت کند. برای رکوردها، در جاوا شما ناچارید بصورت دستی چک کنید که لینک مورد نظر null نباشد. حالا اگر اشتباها null تشخیص داده نشد…. بوووووم! برنامه شما crash خواهد کرد. اما در کاتلین، هر شی بصورت خودکار null می شود + چک اتوماتیک برای NullPointer نیز انجام می شود، تا اطمینان حاصل شود که کد بدرستی و بدون NullPointer کار می کند.

  • کاتلین یک زبان type-safety است.

در کاتلین، هر کلاس یک تابع (function) است و بالعکس. مشابه Swift برای iOS، کاتلین هم برای اندروید دارای Optional Type هاست، که به همراه تمامی چک های امنیتی بسیار کمک کننده خواهد بود.

  • کاتلین باعث می شود در بخشی از زمان با ارزش شما صرفه جویی شود.

همانطور که اشاره شد، نوشتن کد کمتر به معنی باگ های کمتر است، همینطور به معنی نیاز به زمان کمتری برای پردازش کد است و اغلب تیم های برنامه نویسی هزینه های کل پروژه را با توجه به میزان ساعتی که توسعه دهندگان برای برنامه نویسی صرف می کنند، محاسبه می کنند.

این موارد بخشی از برتری های کاتلین نسبت به جاوا بود. با وجود اینکه زمان اولیه کامپایل کدهای کاتلین کمی طول می کشد اما با تمام این تفاسیر با توجه به زیبایی های بسیار زیاد این زبان و سرعت بالای آن، شکی نیست که سوئیچ کردن به کاتلین یک حرکت هوشمندانه خواهد بود.

اگر به کاتلین سوئیچ کنید چه اتفاقی می افتد؟!

دنیایی که در آن زندگی می کنیم پر است از اتفاق های غیرمنتظره، مثلا در بحث برنامه های موبایل، گاهی اوقات نیاز است کل تیم توسعه عوض شود! بعنوان مثال شما با تیمی بصورت ریموت و از راه دور کار می کردید اما اکنون نیاز به یک تیم داخلی برای تکمیل پروژه خود احساس می کنید. حالا تصور کنید نیاز به تغییر زبان برنامه نویسی باشد، اینکار یعنی ترجمه از یک زبان برنامه نویسی به زبان دیگر چقدر دشوار خواهد بود؟

پاسخ این سوال بستگی به تکنولوژی دارد که مهندسان قبلی شما استفاده می کرده اند. بعنوان مثال اگر بخواهیم از جاوا به کاتلین سوئیچ کنیم، بدون شک راه حلی وجود دارد! تیم Jet Brains یک تبدیل کننده Java-Kotlin ایجاد کرده اند که این مساله را بخوبی حل می کند. اگر چه هنوز خطاهایی در طی این پروسه رخ می دهد بنابراین باید بصورت دستی نیز عملیات مانیتور شود.

در بدترین حالت، تبدیل از جاوا به کاتلین می تواند کسل کننده و طاقت فرسا باشد، گرچه تمام توابع، متودها و متغیرها نیاز به تغییر ندارند. بنابراین شاید سریعترین راه حل برای تیم، در صورت امکان ادامه دادن با همان جاوا باشد!

همچنین تبدیل از یک زبان به زبان دیگر بستگی به اندازه پروژه شما دارد.

در حالت کلی 3 نوع پروژه داریم: کوچک، متوسط و بزرگ.

پروژه های کوچک حدودا 160 تا 200 ساعت زمان می برند، چنانچه معماری پیچیده ای استفاده نشده باشد، این برنامه ها می توانند به کاتلین ترجمه شوند.

پروژه های متوسط تا 5 ماه زمان نیاز خواهند داشت و پروسه تبدیل آنها دشوار خواهد بود.

پروژه های بزرگ، زمان توسعه این پروژه ها از 5 ماه شروع می شود و تبدیل پروژه های این دسته به زبان دیگر کاملا غیر ممکن است.

در مجموع، بهترین انتخاب برای سوئیچینگ، شروع مجدد کار با مهندسانی است که از همان تکنولوژی استفاده شده قبلی، استفاده کنند. در صورتی که این تغییر غیرقابل اجتناب باشد، قویا پیشنهاد می کنیم از زبان جدید تر استفاده کنید، مثلا کاتلین بجای جاوا.

همچنین ببینید

آموزش فارسی فریم ورک لاراول

آموزش فریم ورک لاراول – قسمت نهم

به نام خالق زیبایی ها با نهمین قسمت از مجموعه پر طرفدار “آموزش فریم ورک …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *