مقالات

چگونه برنامه نویسی را شروع کنیم?

چگونه برنامه نویسی را شروع کنیم?

نویسنده: مهدی باخدازاده/یکشنبه, 26 دی,1395/دسته ها: برنامه نویسی

رتبه بندی این مطلب:
5/0

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

 

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

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

پس باید چیکار کرد؟

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

به قول معروف : "خشت اول چون نهد معمار کج تا ثریا می‌رود دیوار کج "

اول باید پایه برنامه نویسی رو درک کنیم.این ربطی به هیچ زبانی نداره. یک چیز کلی هستش. بهش میگن "تجزیه و تحیل".

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

1-عدد اول را از ورودی بگیر- 2- عدد دوم رو از وردودی بگیر-3 عدد اول را + عدد دوم کن و نتیجه را نمایش بده

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

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

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

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

یک نفر چند روز پیش به من گفت که یک فرزند 11 ساله دارم بسیار علاقه به بازی ساختن در انروید و قرار دادن اونا در کافه بازار داره. گفت میخوام فرزندم این رو یاد بگیره و علاقش اینه. همچین موقعی هستش که من میگم این انتخاب عاقلانه نیست. بلکه احساسیه. و این معلوم نیست که با گذشت زمان باز هم علاقه به بازی سازی خواهد داشت یا روحیاتش عوض میشه و ممکنه دل سرد و دل زده بشه و کلا برنامه نویسی رو برای همیشه کنار بزاره. پس این وقت و هیزینه ای که گذاشت چی؟ همش هدر میره.

پس انتخاب هدفمون با علاقه ولی عاقلانه باشه. اینطوری مطمین تر پیش میریم.

 

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

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

 

یک مثال میزنم و اینم بگم این فقط یک مثاله:

 

فرض کنیم یکی دوست داره برنامه نویسی وب بشه.میره تکنولوژی های محیط وب رو بررسی میکنه. برای مثال زبان php  و تکنولوژی asp.net

 


اول میبینه php هزینه بر نیست براش.رایگانه و میتونه خودش توسعه بده کد بنویسه از سرور با هزینه کم استفاده کنه.سیستم عامل رایگان استفاده کنه(لینوکس).پایگاه داده رایگان استفاده کنه(mysql).منابع آموزشیش هم زیاده و البته براش افزونه های رایگان یا پولی که کارشو زود تر میتونه توسعه بده هم براش زیاده.(افزونه همون ماژول یا کامپاننت هستش که بعدا یک مطلب براش کامل وقت میزارم و توضیحش میدم)

 

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

 

حالا مثلا Asp.net رو بررسی می کنیم.

 

میدونیم که Asp.net یک تکنولوژی هستش و داره از زبان هایی مثل #C یا VB.net و...... برای برنامه سرور استفاده می کنه. مشکلی که اینجا هست اینه که برای  کدنویسی و توسعه محصولات در این زمینه باید از فیلتر ماکروسافت گذشت.یعنی چی؟ یعنی باید یک سری محصول برای توسعه کارمون بخریم.مثلا باید Sql Server رو که یک پایگاه داده بسیار قدرتمند هستش رو بخریم.(البته نسخه های مختلفی داره که بعدا توضیح میدم.نسخه express اون رایگانه)

 

یا اینکه سیستم عاملی که داره سرویس میده ویندوز هستش که اونم رایگان نیستش.حتی محیط های توسعه و کد نویسی مثل Visual Stadio  هم بعضی نسخه هاش مثل Visual Studio Express   رایگانه و البته تو نسخه های تجاریش باید هزینه زیادی رو متقبل بشین.

 

دیگه شینیدیم که میگن هرچی پول بدی آش میخوری بسته به پروژه و کارتون باید انتخابتون رو بکنین.

 

پس میبینیم که محصولات ماکروسافت اکثرا تو نسخه های تجاری و حرفه ای پولیه.

 

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

 

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

 

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

 

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

 

یک نکته رو هم بگم: ممکنه در آینده دیگه برنامه نویسی خورده پا وجود نداشته باشه یا اصلا صرف نداشته باشه کسی بخواد برنامه نویسی رو از 0 تا صد کار کنه. این نظر منه. آینده برنامه نویسی به طرف ماژول نویسی و کامپاننت گرایی میره.بعدا در این باره بیشتر توضیح میدم.

 

موفق باشین


Print

تعداد نمایش ها (2990)/نظرات (1)

1 نظر در مطلب "چگونه برنامه نویسی را شروع کنیم?" ثبت شده است

9
2

علی

1396/09/29 11:33 ق.ظ

خیلی مطلبتون عالی بود. تشکر

نوشتن یک نظر

افزودن نظر

x

تبلیغات



دی ان ان