آنچه که باید برای یادگیری کاتلین ( kotlin ) داشته باشید

آنچه در این مقاله خواهید خواند : تجربیات من از برنامه نویسی جاوا وکاتلیندلیل انتخاب کاتلیننتایج شخصی که از زبان کاتلین بدست آورده ام بررسی سختی یادگیری کاتلین و جاواپیش نیازهای شروع و یادگیری کاتلینمن برنامه نویس هستم و سالهای زیادی هست که برنامه نویسی میکنم. روی پروژه های مختلف از کوچک تا بزرگ کار کرده ام و بیشتر کار من برنامه نویسی کلاینت موبایل سرویس ها بود که همون اپ موبایلی میشه ! زبان برنامه نویسی کاتلین ( kotlin )قبلتر که محیط برنامه نویسی eclipse بود و زبان جاوا و ... و مدت هاست زبان برنامه نویسی کاتلین ( kotlin ) را یاد گرفتم و با این زبان بعضی پروژه ها را اجرا کرده ام و تاکنون موفق هم بوده اند.در این پست آموزشی من میخام تجربیاتم درباره ی زبان کاتلین را بگم و ممکنه برای شما عزیزی که مطالعه میکنید بسیار مفید باشد و اگر اینطوری بود که من فکر میکنم پس در نظرات بهم بگو تا منم حس کنم کار مفیدی انجام داده ام. مرسی از اینکه وقتت رو میزاری تا نتایج من را مطالعه کنی.اول مقاله قصد دارم بنویسم که چرا اصلا من سمت کاتلین رفتم و برنامه نویسی اندروید را با همان زبان جاوا ( Java ) انجام ندادم.چرا زبان کاتلین را انتخاب کردم و چرا حس میکنم شما هم باید انتخاب کنی ! من سالها بود با زبان قدرتمندی مثل جاوا کار میکردم و در قدرت جاوا شکی نیست. من سرویس های آنلاین زیادی دیدم در کشور ایران که با زبان جاوا اجرا میشوند و بسیار خوب و عالی هم جواب میدهند اما کمتر کسی حس میکنه که اون سرویس با جاواست.چرا باید زبان کاتلین را انتخاب کنیم ؟از اپلیکیشن های دسکتاپی بانک ها و مخابرات و ... گرفته تا اپ های فروشگاه های بزرگی که با جاوا کدنویسی شده اند.ولی اتفاق جالبی که افتاد این بود که یک روز من در اینترنت داشتم ویدیوهای یوتیوب میدیدم که یهو کنفرانس شرکت گوگل در سال ۲۰۱۷ را دیدم ( آن سال هم سال ۲۰۱۷ بود ) که گوینده ابتدای کار میگفت :‌ما تا کنون هیچ زبان رسمی جدیدی برای اندروید معرفی نکردیم ولی الان قصد دارم زبان جدید رونمایی کنم، زبان کاتلین . و لوگوی کاتلین روی صفحه ی نمایش نشان داده میشد و همه دست میزدند.همین ویدیو باعث شد که من یک سرچ کوتاهی در google انجام بدهم و متوجه شدم که کاتلین در سالهای کمی که عمر کرده بود به محبوبیت خوبی در بین برنامه نویسان رسیده بود و همین من را بیشتر ترغیب کرد تا بیشتر جستجو کنم تا اینکه فهمیدم گزینه هایی هست که کاتلین را نسبت به زبان جاوا برتری میدهد مثل : سرعت کدنویسی بیشتر تعداد خطوط کمتر کدنویسی باگ های کمترنتیجه ی نهایی با کیفیت تر و همین ها دلایل خوبی شد تا من کاتلین را شروع کنم. ابتدا منابع این زبان خیلی کم بود حتی برای یادگیری ساده ی سینتکس ( قواعد دستوری ) این زبان، منبع آموزشی وجود نداشت هرچند که سالهای بعدی من دوره های آموزشی عالی مثل دوره ی آموزش کاتلین استاد نیک زاد را پیدا کردم ( اگر قصد شروع کاتلین دارید حتما در این دوره شرکت کنید ) ولی این منابع کاش زودتر در دسترس بود تا من بتوانم سریعتر برنامه نویسی کاتلین را شروع کنم.از کار کردن با زبان کاتلین، چه نتایجی به دست آورده ام کار کردن با کاتلین در ابتدا بخاطر متفاوت بودن سینتکس آن کمی سخت بود اما کم کم که سینتکس این زبان را یاد گرفتم واقعا از کار کردن با این زبان برنامه نویسی جدید لذت بردم و به سازنده ی آن یعنی شرکت جت برینز احسنت گفتم.دلیل اینکه من از کاتلین لذت بردم قواعد دستوری سرراست ، ساده و روان این زبان بود. علاوه بر زیبایی برنامه نویسی چیزهای دیگری هم بود که باعث شد من بیشتر شیفه ی زبان کاتلین شوم.من حرفهای بعدی خودم را با یک مثال شروع میکنم. فرض کنید قصد سفر کردن دارید مثلا قصد دارید از تهران به مشهد سفر کنید.راه های متفاوتی برای رفتن به مشهد وجود دارد مثلا شما میتوانید با ماشین شخصی بروید یا با اتوبوس یا با هواپیما ...سرعت و قدرت زبان کاتلین - kotlinاین بستگی به خود شما دارد که چطور بروید ولی مقصد یکسان است. مسئله ی مهم اینجا زمان و راحتی است که تعیین میکند با کدام وسیله مسافرت کنید.حالا ما داریم یک اپلیکیشن موبایل میسازیم و راه های زیادی برای انجام دادن آن داریم . نتیجه ی کار شاید یکسان باشد ولی زمان و زحمتی که کشیده میشود متفاوت هست مثلا زبان جاوا را ماشین سواری در نظر بگیرید و کاتلین را یک هواپیما برای رفتن به مشهد کدام را انتخاب میکنید ؟ این کاملا بستگی به شرایط شما دارد شاید شما اصلا از سوار شدن به هواپیما لذت نمیبرید ( این مسئله ی شخصی شماست ) اما در حالت کلی بهترین و راحت ترین و سریعترین مسیر همان مسیر هوایی با هواپیما است.کاتلین هم به این شکل عمل میکند ، با خلاصه کردن کدهای برنامه نویسی یک پروژه و با ایجاد باگ ها و مشکلات کمتر راه را برای شما هموار تر میکند که سریعتر حرکت کنید و به مقصد خود که همان اپلیکیشن بی نظیرهست برسید...آموزش زبان کاتلین سخت است یا جاوا ؟‌این سوال را امروز یکی از دوستانم در ایمیل شخصی ام پرسید که آیا جاوا سخت است یا کاتلین ؟ باور کنید من پاسخ درستی براش نداشتم و کمی جستجو کردم باز هم پاسخ دقیقی نبود اما جا داره که در این جای این مقاله درباره ی زبان کاتلین درباره ی سختی یادگیری زبان کاتلین و جاوا صحبت کنیم و آنها را مقایسه هم بکنیم.اگر بخواهم سرراست با شما صحبت کنم باید بگم که من جاوا را راحت تر یاد گرفتم و شاید دلیلش هم این بود که منابع آموزشی زیادی برای جاوا بود ...کاتلین یا جاوابلاخره جاوا زبانی هست که عمر فراوانی دارد و ویدیو های آموزشی مستندات و کتاب های زیادی برای این زبان نوشته شده است اما خب این دلیل خوبی هم نیست که بگیم جاوا در این حوزه نسبت به کاتلین برتری دارد.بالاتر هم نوشته ام که الان دوره های آموزشی فارسی و با کیفیت زیادی برای زبان کاتلین مثل این آموزش ساخته شده اند و میتونید برای یادگیری کاتلین به راحتی ازش بهره بگیرید و از پشتیبانی این آموزش ها هم کمک بخواهید.جاوا مدت های خیلی زیادی بوده که بوجود آمده است و طبیعی است منابع آموزشی بسیار بیشتری نسبت به کاتلین دارد ولی کاتلین هم کدهای کمتر و خلاصه تری دارد که خودش در مقابل کدهای پیچیده و زیاد جاوا مزیت حساب میشود.جاوا مشابه سی است و خیلی از دوستان برنامه نویس به راحتی میتوانند قواعد دستوری این زبان را درک کنند و سریعا یاد بگیرنداما در کاتلین سینتکس کمی متفاوت است و مباحث جدیدی مطرح شده است که اصلا در زبان های دیگری وجود ندارد پس باید کامل آموزش ببینید در این صورت هیچ مشکلی با کاتلین نخواهید داشت.پیش نیاز های یادگیری کاتلین در سال ۲۰۲۱ و ۲۰۲۲ و ...زبان برنامه نویسی کاتلین به خودی خود به هیچ پیش نیازی احتیاج ندارد و کافیست خود زبان کاتلین را شروع کنید و یاد بگیرید اما اگر زبان کاتلین را قصد دارید برای اندروید استفاده کنید داستان فرق میکند.کاتلین بصورت رسمی برای اندروید پشتیبانی میشود و در محیط اندروید استودیو که محیط برنامه نویسی اندروید هست میتوانید از این زبان استفاده کنید ولی توجه کنید که بسیاری از کتابخانه ها و ابزارهای مورد نیاز با جاوا هستند که شما مجبورید از آنها استفاده کنید و ناخود آگاه هنوز نیازی به جاوا داریدپیش نیازهای زبان کاتلینحتی کاتلین خودش در نهایت به بایت کدهای جاوا تبدیل شده و روی ماشین مجازی جاوا اجرا میشود یعنی ماشین مجازی جاوا نمیفهمد که این بایت کدها از کجا می آیند... مهم بایت کد هست که تحویل میگیرد و اجرا میکند.حال بایت کد ها ممکن است توسط خود جاوا تولید شوند یا توسط زبانی مثل کاتلین یا هر زبان دیگری . ..پیش نیاز کاتلین برای برنامه نویسی اندروید حداقل آشنایی با زبان جاوا برای برنامه نویسی اندروید است.ماشین مجازی جاوا درون هسته ی اندروید هست و این چیز تغییر ناپذیری هست و با این حقیقت باید کنار بیایید که جاوا همیشه زنده هست و درکنار کاتلین باید استفاده شود.