بسم الله الرحمن الرحیم

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

چندتا نکته:

- این مقاله ساده نوشته شده و طبیعتا از لحاظ فنی مسامحه هایی دارد

- نظرات حقیره و ممکنه کسی نظر دیگه داشته باشه که میتونی مطرح کنه

- حقیر چون تخصصم برنامه نویسی وب هست، شاید کمی به این سمت غش کرده باشم

- حقیر اکثر زبان ها و فریمورک ها و... رو کار کردم و اگه اسمی از خیلی تکنولوژی ها نیووردم نه اینکه قبولشون ندارم و یا هرچیز دیگه بلکه برای شروع اصلا مناسب نمیدونم...

خب سریع بریم سراغ گام های یادگیری:

قدم اول: آشنایی با آینده برنامه نویسی: مثلا میخواهیم با برنامه نویسی چه کنیم؟ در شرکتی خصوصی استخدام شویم؟ یا در سازمان دولتی؟ یا حتی در سازمانی امنیتی؟ یا نه به صورت تفننی تولیداتی داشته باشیم! یا نه به صورت فری لنسری و آزاد کاری طراحی کنیم و یا اهداف دیگر...؟

نمیدونید و میخواین فقط یاد بگیرین و هرجا بهتره؟!! خب اشکالی نداره بریم جلو...!!

قدم دوم: انتخاب زبان برنامه نویسی:

زبان های برنامه نویسی بسیار متعدد و متنوع هستند و بجای این که در رابطه با خود زبان ها صحبت بشود و این مقاله را طولانی کند به نظرم بهتره از راه دیگری وارد شد...

در آخر که ما برنامه را بنویسیم، برای یک جایی و به اصطلاح برای یک پلتفرمی ما برنامه مینویسیم و در اصل باید آن پلتفرم را اول انتخاب کنیم...

یعنی میخوایم برای موبایل بنویسیم یا برای یک روبات یا برای لپ تاب و یا....؟

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

مثال: زبان پایتون برای موبایل میشه استفاده بشه ولی تخصصش اندروید نیست / یعنی مثل این میمونه که بخوای بجای بیل با انبردست یه گاری خاک را پر کنی!! و یا بجای کوبیدن یک میخ با چکش با انبردست بکوبیش!! / میشه ولی مال این کار نیست...

تخصص های برنامه نویسی:

اندروید: جاوا (و جدیدا کاتلین)

وب: پی اچ پی

ویندوز: سی شارپ

هوش مصنوعی: پایتون

صنعتی: سی

حالا مکینتاش و آی او اس و امنیت و... هم هست که اینجا مجالش نیست

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

پس باید ببینیم کجا میخوایم متخصص بشیم؟

یه بررسی ریز بزنیم که برای شروع چه کنیم؟

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

بله با ای اس پی و نود جی اس و... هم میشه سایت طراحی کرد ولی انصافا تا وقتی متخصص وب هست به نظرم باید راه اصلی خودشو رفت...

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

پس با حذف گزینه میمونه پی اچ پی برای وب.

باهاش چیکارا میشه کرد؟

میشه سایت های مختلف طراحی کرد مثلا فروشگاه کتاب و... (دیجی کالا با پی اچ پیه)

یا سامانه ها و اتوماسیون ها رو طراحی کرد مثلا سامانه انتخاب درس دانشگاه یا اتوماسیون داخلی یه اداره

میشه طوری سایتارو طراحی کرد که متناسب با صفحه موبایل اندازشون تغییر کنه و بتونی روی هر سایزی، مثلا تبلت یا انواع صفحه ها شیک نمایشش بدی

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

خلاصه توی این دنیای اینترنت، تخصص برنامه نویسی وب خیلی به درد میخوره...

قدم سوم:

اگه پی اچ پی رو انتخاب کردی باید اینارو یاد بگیری:

html در حد قابل قبول ولی نه تام و کامل!

css در حد مقدماتی

php به صورت کامل

oop یعنی برنامه نویسی شیء گرا اینم در حد قابل قبول

mvc یعنی معماری سه لایه که به نظرم اصلا یادشم نگرفتی با توجه با ادامه این مسیر، یادم نگرفتی خیلی مهم نیست

laravel کامل و خوب... (البته اینقدر آپدیتش زیاده که شاید هیچ وقت نتونی کامل یادش بگیری)

(yii یا  codeigniter هم میشه بجای لاراول یاد گرفت که این دیگه بسته به سلیقه طرفه... بله سلیقه...)

بعدشم لایو وایر و ادامه از اینجا به بعد احتمالا دیگه خودت میتونی بری دیگه...

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

راستی میپرسی چطوری یاد بگیرم؟!

به نظرم یکی از بهترین راه هاش: دیدن کلیپ ها و دوره های آموزشی آنلاینه که سایت های بسیار خوبی توی این حوزه دارن فعالیت میکنن...

مثل سایت روکسو یا راکت و فرادرس و...

همین که گوگل کنی مثلا آموزش php کلی سایت واست میاره...

نکته مهم: اصلا اصلا لنگ تحقیق در رابطه با این که چه زبونی کار کنم و یا از چه سایتی بخرم نمون... اصلا........ پشیمون میشی...

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

(فقط لاراولو سایت الفیار خوب گفته به نظرم)