کارادمی بوتکمپ جامع برنامه نویسی full stack جاوا اسکریپت است که شما را برای بازار کار آماده می کند.
ترندهای برنامه نویسی در سال 2020
اندرک لاسن، بتر پروگرمینگ -- باورش سخت است، اما کمکم داریم به سال ۲۰۲۰ میرسیم. آدم فکر میکند سال ۲۰۲۰ از درون یک داستان علمیتخیلی درآمده است؛ داستانی که در آن ماشینها پرواز میکنند و رباتهای هوشمند ما را با موشکهای شخصی برای هواخوری به مریخ میبرند. بنظر میرسد سال ۲۰۲۰ واقعی ما اینقدرها هم پیشرفته نیست، اما من معتقدم که قطعاً چیزهای هیجانانگیزی برای ما در چنته خواهد داشت! امروز میخواهم برایتان بگویم که به نظر من این سال و سالهای بعد از آن چه دستاوردهایی برای جهان برنامه نویسی خواهند داشت و چه ترندهایی را برایمان به همراه خواهد آورد.
قطعاً من پیشگو نیستم؛ شاید سال ۲۰۲۱ برگردیم و به این مطلب حسابی بخندیم! اما میتوانم بر اساس تجربه، حدسهایی در مورد آینده بزنم. بنابراین، این شما و این پیشبینیهای من در مورد ترندهای سال ۲۰۲۰ در دنیای برنامهنویسی.
بهترین راه پیش بینی آینده، ساختن آن است. --آبراهام لینکلن
ترند ۱. راست (Rust) همهگیر خواهد شد
راست (Rust) زبان برنامهنویسیای با سیستم چند پارادایمی است که روی امنیت تمرکز دارد؛ به ویژه امنیت در همروندی (Concurrency). به لحاظ سینتکس میتوان گفت که Rust شبیه به ++C است، ولی طوری طراحی شده که امنیت حافظه بیشتری داشته باشد و در عین حال بازدهی بالای خود را حفظ کند.
در چهار سال گذشته شاهد رشد سریع و پوستهای در Rust بودهایم و من باور دارم که در سال ۲۰۲۰، Rust دیگر به شکل رسمی به یکی از مهرههای اصلی میدان تبدیل خواهد شد. البته این که «مهره اصلی» چه معنایی دارد به تفسیر خود افراد بستگی دارد، اما من فکر میکنم که از ۲۰۲۰ دانشگاهها زبان راست را وارد برنامههای درسیشان میکنند و موج جدیدی از مهندسان متخصص Rust وارد بازار کار خواهند شد.
زبان Rust نشان داده که زبانی جذاب است و جامعهای پرانرژی و فعال دارد. در آخرین خبرها هم که دیدیم فیسبوک قرار است که یکی از بزرگترین پروژههای تاریخ خود را -یعنی لیبرا (Libra)- با کمک Rust بسازد، و در نتیجه قرار است بفهمیم که این زبان واقعاً چند مرده حلاج است.
اگر به دنبال یادگیری زبان جدیدی هستید، شدیداً توصیه میکنم سراغ Rust بروید. اگر به این زبان علاقمند هستید، پیشنهاد میکنم با این کتاب یادگیری آن را شروع کنید! Rust برنده است!
ترند ۲. محبوبیت GraphQL از حالا هم بیشتر میشود.
هرچه برنامههای ما پیچیدهتر میشوند، استفاده از داده هم شکل پیچیدهتری پیدا میکند. من از طرفداران سرسخت GraphQL هستم و بارها از آن استفاده کردهام. به نظر من در مقایسه با راهکارهای قدیمی مثل APIهای REST، گرفکیواِل راه بسیار مناسبتری برای گرفتن داده (Fetch) است. در حالی که APIهای REST لازم است داده را از چند URL بگیرند، APIهای گرفکیواِل میتوانند کل داده مورد نیاز برنامه شما را فقط با یک درخواست بگیرند.
تیمهای بزرگ و کوچک در محیطها و زبانهای مختلف از GraphQL برای قدرت بخشیدن به برنامههای موبایل، وبسایتها و APIها استفاده میکنند. اگر دوست دارید GraphQL را یادبگیرید، میتوانید به این آموختار در بتر پروگرمینگ نگاهی بیندازید.
ترند ۳. وب اپلیکیشنهای پیشرونده (یا PWAها) را دست کم نگیرید
وب اپلیکیشنهای پیشرونده (Progressive Web Apps) رویکرد جدیدی برای ساخت برنامهها هستند که بهترین مزایای وب را با برترین ویژگیهای برنامههای موبایلی ترکیب میکنند. تعداد توسعهدهندگان وب در دنیا خیلی بیشتر از توسعه دهندگان پلتفرمهای خاص است. به گمان من، زمانی که شرکتهای بزرگ متوجه بشوند که میتوانند از توسعهدهندگان وب خود برای ساخت برنامههای پیشرفته تحت وب استفاده کنند، موجی عظیم از PWAها را خواهیم دید.
البته برای شرکتهای بزرگتر مدتی زمان خواهد برد تا خودشان را با این شرایط جدید وفق بدهند؛ اما این در دنیای فناوری کاملاً طبیعی است. بخش پیشرونده (Progressive) عموماً مرتبط با توسعه سمت فرانت (Front-end) است؛ چرا که بیشتر با تبادل با APIهای مختص مرورگر (Web Workers API) سر و کار دارد.
وباپلیکیشنها به این زودیها از میان ما نخواهند رفت. هر روز، عده بیشتری از افراد به این نتیجه میرسند که نوشتن یک برنامه غیروابسته به پلتفرم نه تنها کمتر کار میبرد، که به نسبت وقتی که میگذارید پردرآمدتر هم هست.
امروز روز خیلی خوبی برای شروع یادگیری درباره PWAهاست! اگر علاقهمند هستید میتوانید از اینجا یادگیری را شروع کنید.
ترند ۴. وباسمبلی (Web Assembly) مطرحتر خواهد شد
وباسمبلی (Wasm به طور خلاصه) یک فرمت دستوری دودویی برای یک ماشین مجازی بر پایه پشته (Stack-oriented) است. وباسمبلی طوری طراحی شده که راهکاری Portable برای کامپایل کردن زبانهای سطح بالا مانند C و ++C و Rust باشد. وباسمبلی امکان Deploy کردن روی وب را هم برای برنامههای کلاینت و سرور فراهم میکند. PWAها هم میتوانند از وباسمبلی استفاده کنند.
به عبارت دیگر، وباسمبلی راهی است برای پل زدن میان فناوریهای جاوا اسکریپت و فناوریهای سطح بالاتر. تصور کنید چه میشد اگر میتوانستید در اپلیکیشن ریاکت خودتان از کتابخانه پردازش تصویر Rust استفاده کنید؟ با وباسمبلی این کار ممکن است!
بازدهی همیشه خواستهای کلیدی است؛ اما هر چه مقدار داده بیشتر میشود، بازدهی را هم سختتر میتوان در حد خوبی نگه داشت. اینجاست که کتابخانه های سطح پایین سیپلاسپلاس یا راست وارد بازی میشوند. پیشبینی من این است که شرکتهای بزرگتری سراغ وباسمبلی خواهند رفت و آنوقت، استفاده از وباسمبلی به شکل تصاعدی رایج و رایجتر خواهد شد.
ترند ۵. ریاکت (React) به فرمانروایی خود ادامه خواهد داد.
ریاکت با اختلاف دوستداشتنیترین کتابخانه جاوا اسکریپت برای توسعه فرانتاند است؛ البته کاملاً هم بهحق به این جایگاه رسیده! برنامه ساختن با ریاکت سرگرم کننده و آسان است. تیم ریاکت و جامعه آن در خلق کردن یک تجربه عالی از ساخت اپلیکیشن، بینظیر عمل کردهاند.
من با ویو (Vue)، انگولار (Angular)، و ریاکت (React) کار کردهام و به نظرم همه آنها فریمورکهایی عالی هستند. به خاطر داشته باشید که هدف یک کتابخانه این است که بتوان کارها را با آن به اتمام رساند؛ بنابراین جزئیات را رها کنید و تمرکزتان را روی انجام دادن کارها بگذارید. بحث درباره این که کدام فریمورک «بهترین» است، کاملاً بیفایده است. پس یکی را انتخاب کنید و انرژیتان را روی ساختن برنامه بگذارید.
ترند ۶. همیشه روی جاوا اسکریپت شرط ببندید
با اطمینان میتوانیم بگوییم که دههی فعلی، دههی جاوا اسکریپت بوده است. جاوا اسکریپت همچون گدازههای یک آتشفشان در حال فوران کردن است، دارد همه جا را در بر میگیرد و به نظر قرار هم نیست که از حرکت بایستد. بعضیها توسعهدهندگان جاوا اسکریپت را «توسعهدهندهای قلابی» مینامند و آنها را تحویل نمیگیرند؛ اما جاوا اسکریپت قلب تپنده همه شرکتهای بزرگ فناوری مثل گوگل، فیسبوک، نتفلیکس و خیلی شرکتهای دیگر است. بنابراین جاوا اسکریپت همانقدر مهم است که همه زبانهای برنامهنویسی دیگر. به توسعهدهنده جاوا اسکریپت بودن خودتان افتخار کنید؛ هرچه که باشد، برخی از جالبترین و خلاقانهترین چیزها را جامعه جاوا اسکریپت ساختهاند! تقریباً همه وبسایتها تا حدی از قدرت جاوا اسکریپت بهره میبرند. چند تا وبسایت در دنیا داریم؟ بله، میلیونها!
این سالها بهترین زمان برای توسعهدهنده جاوا اسکریپت بودن است. حقوقها مدام دارند بیشتر و بیشتر میشوند، جامعه جاوا اسکریپت از همیشه فعالتر است، و بازار شغلی آن یکی از بزرگترینهاست. اگر مشتاقید جاوا اسکریپت یاد بگیرید، مجموعه کتابهای شما جاوا اسکریپت بلد نیستید واقعاً خارقالعادهاند.
پروژه جذابی بوده که جا افتاده باشد؟ در کامنتها نظرتان را با ما به اشتراک بگذارید.
ترجمه بر اساس:
"2020 Programming Trend Predictions" by Indrek Lasn @ Better Programming
منبع: https://bit.ly/31ySvUC
مطلبی دیگر از این انتشارات
gRPC چیه و چطور کار میکنه؟
مطلبی دیگر از این انتشارات
رشته کامپیوتر در فنی حرفه ای
مطلبی دیگر از این انتشارات
چگونه برنامهنویسِ هوش مصنوعی شویم؟!!!!( مطلبی طنز)