در تراس را باز کردم و روی دیوار آن نشستم، به یاد روزهایی افتادم که میخواستم برنامه نویسی را شروع کنم. سردرگم بودم از اینکه سراغ کدام حوزه برنامه نویسی بروم، تمام ذهن و دغدغه من کسب درآمد از راه برنامه نویسی بود؛ اما یک ترس عجیبی داشتم از اینکه سراغ کدام زبان برنامه نویسی برم؟ سمت وب یا موبایل؟ کدام درآمد بهتری دارد؟...
با مطالعات زیادی که داشتم، متوجه شدم که هر زبان برنامه نویسی کارکرد و قدرت خاص خودش را دارد، اما از سمتی من دوست داشتم مثل یک آچار فرانسه باشم و بتوانم پروژههای مختلفی که نیاز دارم را اجرا کنم، دروغ چرا؟ دوست نداشتم توانایی برنامه نویسیام محدود باشد، میخواستم از پس هر نیازی بر بیایم. بعد از جستجوهای زیاد به زبان جادویی پایتون رسیدم، یک زبان همهکاره قدرتمند که در تمامی حوزهها از جمله هوش مصنوعی و یادگیری ماشین، برنامههای دسکتاپ، برنامه نویسی وب و... حرف برای گفتن داشت.
اما یک مشکل اساسی وجود داشت، اگرچه همه از کیفیت فوق العاده این زبان تعریف میکردند، اما هیچکس در مورد اینکه چطور زبان پایتون را یاد بگیرم صحبت نمیکرد. هیچ نقطه شروع مناسبی برای آموزش این زبان وجود نداشت. آن روز آرزو داشتم یک راهنما داشته باشم که همه زیر و بم این مسیر را به من نشان دهد و من را هدایت کند به سمت اینکه خیلی سریع و کامل این زبان برنامه نویسی را یاد بگیرم.
آرزوی آن روز من، امروز مقابل شماست. یک راهنمای سریع اما کامل از آموزش برنامه نویسی پایتون که به شما کمک میکند تنها در 10 مرحله مسیر آموزشی خودتان را پیدا کنید. به این راهنمای تجربه X ساله من از برنامه نویسی و تدریس در حوزه پایتون را نیز اضافه کنید؛ در طی این سال ها، من به خوبی نقاط قوت و ضعف دانشجویان برنامهنویسی را شناخته ام و در این مسیر، بارها آن را به کار گرفته ام.
در انتها به سوالات متداول زیر پاسخ خواهیم داد:
بیایید ابتدا با زبان پایتون آشنا شویم و سپس به سراغ مراحل یادگیری برویم.
پایتون یک زبان برنامهنویسی همهمنظوره و چند سکویی است، اما این چه معنایی برای ما دارد؟
همهمنظوره به این معنی است که این زبان در موضوعات مختلف و متنوعی کاربرد دارد. به عنوان مثال از این زبان میتوان در توسعهی وبسایت، هوش مصنوعی و یادگیری ماشین، برنامههای دسکتاپ، اسکریپتنویسی، بازیهای رایانهای و غیره استفاده کرد.
چند سکویی بودن نیز به این معنی است که برنامههای نوشته شده با پایتون را میتوان در پلتفرمها و سیستمعاملهای مختلف اجرا کرد، بدون آن که مشکل یا خطایی برای برنامهی نوشته شده به وجود آید.
پس اگر میخواهید زبانی را بیاموزید که بتوانید در هر پروژهای از آن استفاده کنید و مجبور نباشید که برای نیازهای مختلف خود چندین زبان برنامه نویسی مختلف را یاد بگیرید، قطعا پایتون بهترین گزینه برای شماست.
حالا که با پایتون آشنا شدیم، بیایید به سراغ مسیر استاد شدن در برنامه نویسی پایتون برویم.
فرض کنید شخصی دوست دارد پزشک شود. اما آیا دوست داشتن به تنهایی کافی است؟ او برای اینکه پزشک شود باید ابتدا بپذیرد که این راه سختیهای خودش را دارد و به اصطلاح هر که را طاووس خواهد، جور هندوستان کشد. این فرد، علاوه بر هوش بالا و تلاش فراوان، باید دل و جگر رویارویی با خون و کالبد انسان را نیز داشته باشد. البته ما در برنامه نویسی با این موارد سروکار نداریم اما هر شغلی چالشهایی خاص خودش را دارد. چالشهای زیر را بررسی کنید و ببینید که آیا از پس آنها برمیآیید یا خیر.
آیا کار کردن با رایانه را بلد هستید؟ امکان ندارد کسی کار کردن با رایانه را بلد نباشد ولی بخواهد برنامه نویس شود.
آیا عاشق جستجو در اینترنت و حل مسائل هستید؟ تبریک میگویم! برنامه نویسی شغل مناسب شماست.
آیا انتظار دارید بعد از چند ماه به یک برنامه نویس حرفهای تبدیل شوید؟ چنین تصوری را از ذهن خود دور کنید.
عاشق یادگیری و تمرین مداوم روزانه هستید؟ بسیار عالی! اگر قسمتی کمی از برنامه روزانه خود به یادگیری و تمرین اختصاص دهید، تضمین میدهم سریعتر تبدیل به یک برنامه نویس حرفهای میشوید.
پس از اینکه مطمئن شدید فرد مناسبی برای این شغل هستید، به گام بعدی بروید.
الگوریتم، مجموعهای از دستورالعملهای منظم و پشت سرهم است که یک مسئله را حل میکنند. برای نوشتن یک برنامه، لازم است دستورالعملهایی به رایانه داده شود که قادر به درک آن باشد. به عنوان مثال وقتی به یک انسان میگوییم «یک لیوان آب سرد بیاور»، او میداند آب سرد در یخچال است و پس از اندکی آب سرد را برای شما میآورد.
اما به فرض اگر بخواهیم به رایانه بگوییم آب سرد بیاور، باید مرحله به مرحله روند کار را برای آن همانند زیر توضیح دهیم:
به این مراحل انجام کار الگوریتم میگویند. در برنامه نویسی، برای نوشتن هر برنامهای باید چیزی شبیه به این اجرا کنید. اگر شما الگوریتم را به خوبی درک کنید و قادر باشید برای حل یک مسئله، یک الگوریتم بنویسید، با اطمینان خواهیم گفت شما نیمی از راه برنامه نویس شدن را طی کردهاید.
فلوچارت، نیز همان الگوریتم است که برای سادگی کار، دستورالعملها در اشکال هندسی نوشته میشود. الگوریتم و فلوچارت، کمک قابل توجهی به شما در یادگیری برنامه نویسی خواهند کرد.
بررسی شود آیا گام ها به ترتیب و درستی درج شده اند؟! به طور معمول، برای آموزش پایتون یا هر زبان برنامه نویسی دیگری، دو راه پیش رو دارید. یکی رایگان و بدون هزینه، که البته مسیری طولانیتر دارد و دیگری مسیر غیررایگان که مسیری بسیار کوتاهتر را در پیش روی شما قرار میدهد. افراد بسیاری به صورت خودآموز و با استفاده از کتاب، کانالهای یوتیوب، شبکههای اجتماعی و سایر روشهای رایگان توانستهاند، به مرور برنامه نویسی را بیاموزند و حتی به یک برنامه نویس حرفهای تبدیل شوند. اما این سبک آموزش، همیشه با آزمون و خطا همراه است و یک برنامه نویس مبتدی باید در مدت زمان طولانی با برخورد به این موانع، کسب تجربه کند، تا به یک برنامه نویس کاربلد تبدیل شود. در ادامه چند نمونه از سایتها و برنامههایی که میتوانید برای آموزش رایگان برنامه نویسی پایتون از آنها استفاده کنید را برای شما آوردهام.
در سایت GeeksforGeeks میتوانید به صورت رایگان زبانهای مختلف برنامه نویسی، از جمله پایتون را بیاموزید. زبان این سایت انگلیسی است، اما آموزشها و مثالهای خوبی در آن وجود دارد.
سایت w3schools از قدیمیترین سایتهای آموزش رایگان برنامه نویسی است که زبانهای مختلف برنامه نویسی را به روشی ساده آموزش میدهد. این سایت نیز مثالهای فراوانی دارد و حتی پس از پایان هر درس، تمریناتی را ارائه میدهد.
اپلیکیشن Sololearn موبایل نیز زبانهای برنامه نویسی مختلفی از جمله پایتون را آموزش میدهد. سطح آموزشها ساده است و هر کس که اندکی آشنایی با زبان انگلیسی داشته باشد میتواند با نصب این اپلیکشین مفید روی گوشی خود، برنامه نویسی پایتون را بیاموزد.
راه دیگری که برای یادگیری پایتون، وجود دارد بهره بردن از کلاسهای حضوری و غیرحضوری موسسات و سایتهای آموزشی مختلف است. در این روش شما ملزم به پرداخت شهریه و هزینهی دورهی آموزش هستید، اما در ازای آن، برنامه نویسان حرفهای که مسئول آموزش به شما هستند، تجربیات گرانبهای خود در زمینهی برنامه نویسی، که در طی مسیر حرفهای شدن کسب کردهاند را در اختیار شما قرار میدهند، تا شما مسیری کوتاهتر برای تبدیل شدن به یک برنامه نویس حرفهای طی کنید. نکته مهم: مزیتی که این روش یادگیری برنامه نویسی پایتون دارد، جذبشدن سریعتر شما به بازار کار برنامه نویسی است. چیزی که در روش رایگان به این راحتیها امکانپذیر نیست.
رمز موفقیت در هر مهارتی، تمرین مداوم آن است. برنامه نویسی هم یک نوع مهارت است که برای یادگیری و حرفهای شدن در آن، نیاز به تمرین مداوم و منظم دارید. میتوانید سوالات و چالشهای مختلفی را از سایتهای پرسش و پاسخ برنامه نویسی پیدا کنید، سپس آنها را حل کرده و با ارسال پاسخ در همان سایتها، درستی یا نادرستی پاسخ خود را بسنجید. یکی از این سایتهای موفق ایرانی که سیستم داوری آنلاین نیز دارد، سایت کوئرا است. در این سایت، میتوانید سوالات برنامه نویسی مختلفی را یافته و آنها را حل کنید یا حتی در مسابقات برنامه نویسی دورهای این سایت شرکت کنید و سطح مهارت خود را بسنجید. روش دیگری که میتوانید با کمک آن، سطح دانش خود را بالا ببرید، تعریف پروژههای کوچک و انجام آن هاست. شما میتوانید این پروژههای کوچک را به مرور گسترش دهید تا به یک پروژه بزرگتر تبدیل شوند. به عنوان مثال، میتوانید ابتدا یک پروژه ماشین حساب ساده تعریف کنید که چهار عمل اصلی ریاضی را انجام دهد. سپس به آن امکان جذر گرفتن را اضافه کنید. بعد از آن میتوانید محاسبهی توان را به آن بیافزایید و به همین منوال ادامه دهید تا یک ماشین حساب ساده را به یک ماشین حساب حرفهایتر تبدیل کنید. اساس توسعهی نرم افزار به همین صورت است که ابتدا به سادهترین شکل ممکن نوشته میشوند و به مرور پر و بال گرفته و بزرگ و بزرگتر میشوند.
تمامی برنامه نویسان چه مبتدی و چه حرفهای، گاهی مواقع با خطاهایی در کد خود برخورد میکنند که به تنهایی نمیتوانند از پس حل آنها برآیند. برنامه نویس خوب کسی است که بتواند با جستجو در اینترنت و انجمنهای پرسش و پاسخ مشکل خود را حل کند.
شما باید یاد بگیرید، که چگونه مشکل خود را در اینترنت جستجو کنید و بهترین راهحل را پیدا کنید. سایتهای زیادی در زمینه پرسش و پاسخ در مورد برنامه نویسی وجود دارد که محبوبترین و پربازدیدترین آنها سایت stackoverflow است.
در این سایت کاربران سوالاتی در مورد مشکلات خود در مباحث مختلف برنامه نویسی از جمله پایتون، را مطرح میکنند و کسانی که راهکار آن مشکل را میدانند، راهحل صحیح را در ادامه پرسش ارسال میکنند. گاهی شما با مشکلی برخورد خواهید کرد، که اشخاص دیگری قبلا آن را در این سایت مطرح کرده و پاسخهایی نیز دریافت کردهاند. در چنین شرایطی میتوانید با کمک راهحلهای بیان شده، مشکل خود را حل کنید.
هر دانشجوی رشته پزشکی، پس از به پایان رساندن تحصیلات دانشگاهی خود، میتواند به عنوان یک پزشک عمومی کار خود را آغاز کرده و تا پایان عمر به همین پزشک عمومی بودن خود رضایت دهد. اما اگر بخواهد درآمد و شرایط بهتری داشته باشد، باید در یک تخصص خاص تحصیلات خود را ادامه دهد. به عنوان مثال تخصصهایی همچون اطفال، قلب و عروق، مغز و اعصاب و سایر تخصصهای پزشکی، که هر کس بر اساس علایق خود و شرایطی که دارد آن را انتخاب میکند.
در برنامه نویسی پایتون نیز اگر یک برنامه نویس قصد متخصص شدن داشته باشد، پس از یادگیری اصول پایه برنامه نویسی، باید یک حوزه کاری مشخص را برای خود انتخاب کند. برای مثال، حوزههای:
نکته مهم: تنها یک تخصص را انتخاب کنید و از شاخه به شاخه پریدنهای الکی حذر کنید، چراکه پیشرفت شما را سالها عقب میاندازند. علت آن هم این است که هیچکس نمیتواند ادعا کند در تمام حوزهها استاد متخصص است. پس تمرکز خود را روی یک گزینه قرار دهید. به شما اطمینان میدهم که تمامی حوزهها بازار کار خوبی خواهند داشت. پس از این نظر نگران نباشید.
یکی از مزیتهای زبان برنامه نویسی پایتون، کتابخانهها و ماژولهای فراوان برای این زبان است. با قاطعیت میتوان گفت در پایتون، برای هر کاری یک یا چند کتابخانه مفید و کاربردی وجود دارد. برنامه نویسان باید استفاده از کتابخانههای مختلف را سرلوحهی کار خود قرار دهند، زیرا توانایی استفاده از کتابخانههای پایتون، برنامه نویس را حرفهایتر خواهد کرد. سعی کنید تا میتوانید از کتابخانههای مفید و پرکاربرد در کدهایتان استفاده کنید و از نوشتن کدهای اضافی پرهیز کنید. به قول معروف «چرخ را دوباره اختراع نکنید».
در پایتون، برنامه نویسان حرفهای برای نوشتن برنامههای خود، از فریمورکها استفاده میکنند. فریمورک، مجموعهای از کدها و کتابخانههای آماده است که در توسعه نرم افزار کمک زیادی به برنامه نویسان میکند. به لطف فریمورکها، کدهای نوشته شده توسط برنامه نویس، بسیار کمتر و استانداردتر خواهند شد. به عنوان مثال، با فریمورک جنگو میتوان در چند خط کد، یک سایت ساده و ایمن طراحی کرد. شما باید فریمورکهای پایتون در حوزه کاری خود را بشناسید و حداقل یکی را بیاموزید. یادگیری فریمورکها، برنامه نویسی را بسیار سادهتر میکند و سرعت کد نویسی شما را افزایش خواهد داد. اگر شما برنامه نویسی پایتون و یکی از فریمورکهای آن را به خوبی یاد گرفته باشید، بیشک میتوان شما را استاد پایتون خطاب کرد.
موقعیتهای کاری برنامه نویسی cnc اغلب در حومه شهرستانها و در کارخانه ها قرار داره. به عنوان یک شغل آینده دار نمیشه بهش نگاه کرد چون موقعیتهای شغلی کمتری نسبت به سایر زمینه ها داره، البته بنده هم در حوزه تراش تجربه ندارم.