با طعم کد!

جاوا در برابر کاتلین – قسمت دوم

مرور کلی بر توسعه اپلیکیشن‌های مبتنی بر پلتفرم اندروید

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

چرا توسعه دهندگان هنوز از جاوا استفاده می کنند؟

به طور کلی جاوا یک زبان به خوبی مستند سازی شده است و احتمالا در هیچ جایی از آن نمی توان عدم پشتیبانی برای نوشتن یک برنامه با ویژگی‌های کاربردی را مشاهده کرد. همچنین جاوا در حال توسعه و افزودن عناصر کاربردی برنامه‌نویسی، مثل عبارات لامبادا (lambda) و رابط های کاربردی و در هسته همچنان یک زبان رویه ای یا پروسه ای است. ساختار زبان جاوا نیز به خصوص در مقایسه با بسیاری از زبان های مدرن برنامه‌نویسی بسیار شفاف و قابل فهم است. به نظر من جاوا مزایای خوبی دارد که غیر قابل چشم پوشی است:

  • تشخیص کامل خطاها: جاوا توسط اکثریت قاطع IDE ها قابل پشتیبانی است، به همین دلیل برنامه نویسان قادر به انتخاب کامپایلر بهینه و مناسبشان با توجه به ابزاری که قصد استفاده از آن را دارند، هستند. علاوه بر این، به دلیل ایستایی ساختار، تخصیص مقادیر به متغیرها، پارامترها و مقادیر بازگشتی توابع، در زمان اعلان آن‌ها انجام می شود و به این ترتیب کامپایرها هنگامی که مقادیر و یا نوع اشتباهی تعیین شده باشد اخطار می دهند و این مانع از عملکرد نامناسب برنامه می شود.
  • جامعه بزرگ و گسترده، آماده برای حل مشکلات و سوالات: جاوا یک زبان برنامه نویسی کاملا به بلوغ رسیده است، که این به این معنی است توسعه‌دهنده به راحتی می‌تواند با یک جست و جوی اینترنتی به جواب سوالش درباره چگونگی عملکرد و یا طریقه استفاده از یک کد یا راه حل دست یابد.
  • شباهت و نزدیکی به زبان C: بسیاری از برنامه نویسان با زبان C آشنایی دارند و بسیاری از آن ها حداقل چند باز از آن استفاده کرده‌اند، شباهت و نزدیکی جاوا به زبان C یکی از مزایایی است که یادگیری و رشد را برای این دسته از برنامه نویسان به نسبت دیگر زبان های توسعه نرم افزار، راحت تر و سریع تر می کند.
  • سازگاری با تعداد زیادی از کتابخانه ها: جاوا با تعداد زیادی از کتابخانه هایی در ارتباط و یک پارچه شده است که امکانات و قابلیت های قابل توجه زیادی را برای برنامه نویس فراهم می کند،به عنوان نمونه امروزه بیشتر اپلیکیشن ها نیازمند استفاده از توابع رویدادگرا هستند و به لطف کتابخانه بنیادی RXJava این امکان در زبان برنامه نویسی جاوا نیز فراهم شده است.
  • پلتفرم مستقل: یکی از اجزای کلیدی جاوا یعنی JVM یا ماشین مجازی جاوا، سازگاری زیادی بین بایت کد جاوا با پلتفرم های مدرن ایجاد می کند که در نتیجه، جاوا به عنوان یک زبان برنامه نویسی مستقل چند منظوره، می تواند به خودی خود توسط اکثر دستگاه ها قابل تفسیر باشد.

چرا برخی از برنامه نویسان در جستجوی جایگزین جاوا هستند؟

در مقایسه با برخی از زبان های دیگر برنامه نویسی، جاوا مجموعه معایبی دارد، بزرگترین مسئله این است که جاوا یک زبان مدرن نیست(!!!) و اگرچه جاوا ۸ یک قدم و پیشرفت بزرگ برای این پلتفرم بود، اما معرفی بسیاری از ویژگی هایی که توسعه دهندگان منتظر آن بودند ، تقریبا تاثیری در برنامه نویسی اندروید نداشت، زیرا در زمان برنامه نویسی اندروید، فقط زیر مجموعه ای از ویژگی های جاوا ۸ و ۹ قابل پشتیبانی است. بعید به نظر میرسد برنامه نویسان اندروید بتوانند به زودی از تمام مزایای جاوا ۸ و یا ۹ بهره‌مند شوند. پس با توجه به این موارد، اگر همچنان مایل به استفاده از جاوا برای پروژه های اندروید هستید، به احتمال زیاد باید با جاوا ۷ مدت زیادی را سپری کنید (حتی در حال حاظر که جاوا ۹ هم در دسترس است!). در ادامه به سه تا از دلایلی که از نظر من اهمیت دارد و به وضوح دیده می‌شود، اشاره می‌کنم:

  • فریمورک برنامه نویسی شی گرای پیچیده: جاوا در زمینه برنامه نویسی شی گرا مرز بندی‌های محدودی دارد و در پیاده سازی اصول پایه ای این پارادایم نیز پیچیده رفتار می کند.
  • پیچیدگی در درک generic ها: به عنوان مثال در JDK نسخه ۱.۵ برای اولین بار شاهد این نکته بودیم که هرکس این توانایی را داشت که به هر تعداد و نوعی از کلاس های انتزاعی تولید و استفاده کند و این یکی از دلایلی است که می توان جاوا را یکی از بهترین زبان های برنامه نویسی از نظر عملکرد دانست، اما تازه کار ها نیاز به زمان و تجربه زیادی برای درک و استفاده از این مفاهیم دارند.
  • Exception ها: این Exception ها و بلوک های catch می توانند به طور عمده، ،حتی زمانی که بهترین برنامه نویسان در حال کدنویسی باشند، منابع اصلی خطا باشند.

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

برچسب ها
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

بستن
بستن