"چرا باید برنامهنویسی کاربردی را یاد بگیرم؟"
بیشتر نرم افزارهایی که امروزه نوشته می شوند، بیش از حد پیچیده هستند، درک آنها دشوار است، آزمایش آنها چالش برانگیز است، تغییر آنها سخت است و پر از اشکالات سخت هستند.
اوه! پس چگونه با این مشکلات مواجه شویم؟
در اینجا چند مورد از دلایل متعدد آورده شده است:
اینها تنها تعدادی از مشکلات متعددی است که منجر به مشاغل خسته کننده می شود، کار بر روی پایگاه های کدی که نگهداری و افزودن ویژگی ها به آنها سخت است.
برنامه نویسی تابعی مشکلات فوق را به روش های زیر برطرف می کند:
بر اساس تجربه من، برنامهنویسی تابعی از برنامهنویسی شی گرا بهرهورتر است، زیرا چیزهای کمتری برای فکر کردن وجود دارد، بنابراین حافظه کاری خود را تحت تأثیر قرار نمیدهید. معمولاً فقط به داده های قدیمی ساده و تبدیل داده ها با استفاده از توابع فکر می کنید. علاوه بر این، در برنامهنویسی تابعی، روشهای رقیب زیادی برای انجام یک کار وجود ندارد، بنابراین لازم نیست به چیزهای غیر ضروری فکر کنید. برنامهنویسی کاربردی محدودکننده است و این چیز خوبی است. شما می توانید به جای ابزارهایی که برای حل مشکل استفاده می کنید، روی مشکلی که حل می کنید بهتر تمرکز کنید.
در برنامه نویسی شی گرا، باید به انواع مختلفی از اشیاء پیچیده و حالت دار فکر کنید که می توانند به روش های مختلف با آنها تعامل داشته باشند. شما باید به چیزی بیش از دادهها و تبدیل دادهها فکر کنید... باید به چیزهایی مانند حالت و اثرات جانبی فکر کنید، بسیار بیشتر از آنچه در برنامهنویسی عملکردی انجام میدهید.
"در این دوره آموزشی چه چیزی یاد خواهم گرفت؟"
شما یاد خواهید گرفت که چگونه برنامه های کاربردی وب جلویی را در یک سبک برنامه نویسی کاربردی، از طریق یادگیری دستی ایجاد کنید. شما در این دوره 5 برنامه کاربردی وب مهم را از ابتدا می سازید. در پایان این دوره، چیزهایی را که برای برنامه نویسان عملکردی مهم هستند، درک خواهید کرد و از آنها قدردانی خواهید کرد، و اساساً نحوه نوشتن برنامه ها را تغییر خواهید داد.
«چه فریم ورک فرانتاند را یاد خواهم گرفت؟»
میتوانم برنامهنویسی کاربردی را با استفاده از یک فریمورک فرانتاند محبوب مانند React یا Vuejs به شما آموزش دهم، اما فریمورکها میآیند و میروند، و اصولی که به شما آموزش خواهم داد، اصولی هستند که فراتر میروند. چارچوبها... بنابراین، در عوض، فقط با استفاده از جاوا اسکریپت مدرن و چند کتابخانه کمکی، برنامهنویسی کاربردی را یاد خواهید گرفت. دانش و مهارت هایی که در این دوره یاد می گیرید را می توان با چارچوب های محبوب امروز و فردا استفاده کرد!
"آیا این دوره از ابتدا 100% جاوا اسکریپت خواهد بود؟"
ما از هیچ چارچوبی استفاده نخواهیم کرد، اما از چند کتابخانه کمکی استفاده خواهیم کرد که در زیر توضیح داده شده است.
"چه کتابخانه های جاوا اسکریپت در این دوره استفاده می شود، و چرا حتی شامل کتابخانه ها می شود؟"
تمرکز اصلی این دوره آموزش مفاهیم برنامه نویسی تابعی است. نوشتن دستی همه چیز از ابتدا، می تواند به خوبی حواس را از مفاهیم اصلی منحرف کند، بنابراین برای تمرکز، از چند کتابخانه در جایی که منطقی است استفاده می کنیم.
کتابخانه های مورد استفاده:
"من یک توسعه دهنده باطن هستم، اما می خواهم برنامه نویسی کاربردی را یاد بگیرم... آیا باید این دوره را بگذرانم؟"
دانش و اصول اساسی که در این دوره خواهید آموخت، به راحتی قابل ترجمه هستند. به باطن. من به شما برنامه نویسی کاربردی را برای قسمت جلویی آموزش می دهم، زیرا برنامه نویسی در قسمت جلویی می تواند بسیار چالش برانگیز باشد و برنامه نویسی کاربردی به ویژه برای قسمت جلویی مناسب است. مهم است که توجه داشته باشید، این دوره بر روی جاوا اسکریپت مدرن متمرکز است و از فریم ورک فرانت اند استفاده نمی کند، بنابراین نیازی به یادگیری فن آوری های فرانت اند نخواهید داشت که ممکن است هرگز از آنها استفاده نکنید.
"آیا می توانم برنامه های کاربردی را در جاوا اسکریپت بنویسم؟"
بله، قطعا. جاوا اسکریپت به شما این امکان را می دهد که در سبک های مختلف برنامه نویسی کنید و استفاده از برنامه نویسی کاربردی یک انتخاب عالی است. شما با یادگیری تکنیک های برنامه نویسی تابعی با استفاده از جاوا اسکریپت مدرن (ES2018) شروع می کنید، سپس با کتابخانه عالی جاوا اسکریپت Ramda آشنا خواهید شد. ممکن است عبارت "جاوا اسکریپت، بخش های خوب" را شنیده باشید. وقتی به سبک عملکردی برنامهنویسی میکنید، به سادگی از بخشهای خوب زبان استفاده میکنید و طبیعتاً از قسمتهای بد و گیجکننده اجتناب میکنید (مانند این کلمه کلیدی ヽ(ಠ_ಠ)ノ).
«آیا برنامهنویسی کاربردی فقط یک جایگاه کوچک در علوم رایانه نیست؟»
این قبلا درست بود، اما دیگر اینطور نیست. برای دههها برنامهنویسی شیگرا نیروی غالب در توسعه نرمافزار بود، اما در چند سال اخیر برنامهنویسی کاربردی رشد زیادی داشته است و در شرکتهای بزرگی مانند فیسبوک، توییتر و حتی والمارت استفاده میشود. اما این فقط شرکتهای بزرگ نیستند که از برنامهنویسی کاربردی استفاده میکنند، شرکتهای کوچک و متوسط در سرتاسر جهان به برنامهنویسی کاربردی روی میآورند.
در دسامبر ۲۰۱۷، تحقیقات Forrester مطالعهای با عنوان «طلوع جدید برنامهنویسی کاربردی» منتشر کرد. که ادعا می کند "برنامه نویسی عملکردی شروع به ورود به صحنه اصلی می کند ... دنیای توسعه نرم افزار در حال رشد است از توسعه حالت گرا و شی گرا".
یادگیری فن آوری های رو به رشد همیشه منطقی است و برنامه نویسی تابعی یک انتخاب عالی به این دلیل است. بسیاری دیگر.
«آیا برای درک برنامهنویسی کاربردی، نباید نابغه ریاضی باشم؟»
مطلقا نه! برای چندین دهه، پذیرندگان اولیه برنامه نویسی تابعی، عمدتاً دانشگاهیان و افراد علاقه مند به حوزه های تخصصی ریاضی بودند. در طول آن زمان، اکثر برنامه نویسان فعال (از جمله خود من) واقعاً برنامه نویسی کاربردی را نمی فهمیدند، و افرادی که برنامه نویسی کاربردی را می فهمیدند، کار خوبی برای توضیح دادن چیست، فواید و نحوه انجام آن انجام ندادند… و غیره.
حقیقت این است که برای درک برنامه نویسی تابعی نیازی نیست که یک نابغه ریاضی باشید. ماهیت برنامه نویسی تابعی ارتباط چندانی با ریاضیات ندارد که در این دوره خواهید دید.
"آیا برای درک برنامه نویسی تابعی مجبور نیستم یک واژگان کاملاً جدید یاد بگیرم؟"
نه! من شما را با اصطلاحات فنی غیرضروری بمباران نمیکنم، در واقع تا آنجا که ممکن است از آن اجتناب میکنم، و وقتی از واژگان برنامهنویسی کاربردی جدید استفاده میکنم، معمولاً فقط برای مرتبط کردن یک نام، به چیزی است که قبلاً با انگلیسی گفتاری ساده قدیمی یاد گرفتهاید.
"آیا دانشی که در این دوره به دست میآورم در یک یا دو سال منسوخ میشود، درست مانند دانش Angular 1 من؟"
نه! آنچه در این دوره یاد خواهید گرفت برای سالها و احتمالا دهه ها مرتبط و مفید خواهد بود.
"چطور ممکن است؟"
چون، من به شما برنامه نویسی کاربردی را در چارچوب چارچوب خاصی مانند React یا Vue.js آموزش نمی دهم. چارچوبها میآیند و میروند، اما مهارتهایی که در این دوره میآموزید فراتر از چارچوب رایج روز است.
"چطور است که کد نوشته شده به سبک برنامه نویسی کاربردی، کمتر مستعد یافتن اشکال است؟"
سختترین پیدا کردن و رفع اشکالها مربوط به کدهایی است که امکان جلوههای جانبی (صحبت کردن با سرورها، تغییرات حالت و غیره) را فراهم میکند. برنامهنویسی عملکردی تأکید قابلتوجهی بر حذف و کنترل عوارض جانبی دارد... بنابراین، منطقی است که حذف عوارض جانبی در صورت امکان، و کنترل دقیق عوارض جانبی در صورت نیاز، منجر به باگهای پیچیده کمتری شود.
"شما می گویید برنامه نویسی کاربردی ساده است، اما من برنامه نویسی کاربردی را امتحان کردم و سخت بود!"
آه، نگفتم آسان است، گفتم ساده است. نوشتن کد ساده، آسان نیست، اغلب دشوار است. اما نرمافزار پیچیدهای که با یک پایگاه کد ساده ساخته شده است، زیبایی خاصی دارد و کاملاً ارزشش را دارد.
اگر برنامه نویسی شی گرا را می شناسید و عاشق آن هستید، ممکن است با چالشی روبرو شوید. بسیاری از چیزهایی که در مورد برنامه نویسی می دانید، باید دوباره ارزیابی شوند و اغلب نادیده گرفته شوند. من فکر می کنم، ممکن است برای یک برنامه نویس جدید یادگیری برنامه نویسی کاربردی در مقابل یک برنامه نویس با تجربه شی گرا آسان تر باشد، زیرا برنامه نویسی تابعی با برنامه نویسی شی گرا بسیار متفاوت است... اما باز هم، کاملاً ارزشش را دارد :)
"من برخی از چیزهایی که شما در مورد آنها صحبت می کنید مانند "عوارض جانبی" و "عملکردهای خالص" را نمی فهمم؟"
نگران نباشید، در این دوره، من با اصول اولیه شروع میکنم، بنابراین مشکلی برای دنبال کردن آن ندارید. بهعلاوه، من گزینههای بسیار منحصربهفرد و رایگانی را برای دریافت کمک ارائه میدهم که در ویدیو درباره نحوه دریافت کمک توضیح میدهم.
"این دوره برای من است؟"
این دوره برای 2 نوع دانشجو در نظر گرفته شده است:
* ممکن است چند ویدیو وجود داشته باشد که برنامه نویس باتجربه می تواند آنها را نادیده بگیرد، اما من پیشنهاد می کنم دوباره با اصول اولیه آشنا شوید، زیرا آنها از دیدگاه برنامه نویسی کاربردی ارائه شده اند.
اگر مطمئن نیستید که این دوره برای شما مناسب است، به یاد داشته باشید که عملاً هیچ خطری برای شما وجود ندارد زیرا 30 روز فرصت دارید تا دوره را برای بازپرداخت بازگردانید.
"چرا باید این دوره را از شما بگیرم؟"
دوره های من با اکثر مدرسان متفاوت است. من معتقد نیستم که یک دوره آموزشی باید تک تک بخش های یک زبان یا فناوری را پوشش دهد.
من با یک قیاس دلیل را توضیح خواهم داد.
تصور کنید میخواهید اسپانیایی یاد بگیرید. یکی از روش های یادگیری اسپانیایی یادگیری تک تک کلمات اسپانیایی است. حدود 100000 کلمه در فرهنگ لغت اسپانیایی وجود دارد... اوه!
این چیزی است که 1000 کلمه اسپانیایی 80٪ از کل اسپانیایی صحبت شده را تشکیل می دهد ... 2000 کلمه 95٪ از کل کلمات گفته شده را تشکیل می دهد.
آیا بهتر نیست روی یادگیری 1000 یا 2000 پرکاربرد اسپانیایی تمرکز کنید. کلمات؟ خیلی سریعتر میتوانید مسلط شوید... در واقع، تلاش برای یادگیری همه 100000 کلمه اسپانیایی، به نوعی مضحک به نظر میرسد، وقتی متوجه میشوید که اکثر آنها هرگز استفاده نمیشوند.
این اصول برای زبانها و فناوریهای برنامهنویسی اعمال میشود. بسیاری از مربیان دورههای 10، 20 و 30 ساعته میسازند، پر از چیزهایی که میتوانید از آنها اجتناب کنید!
من نمیخواهم وقت شما را تلف کنم، بنابراین فقط قسمتهای پرکاربرد جاوا اسکریپت و جاوا اسکریپت را به شما آموزش میدهم. برنامه نویسی کاربردی، بنابراین شما خیلی سریعتر مسلط خواهید شد.
توسعه دهنده، مشاور و مربی نرم افزار
نمایش نظرات