قسمت اول: انتخاب زبان مورد نظر
1 – حوزهی علاقهمندی خود را مشخص کنید. شما میتوانید یادگیری را با هر زبانی آغاز کنید، هرچند فراگیری بعضی از زبانها بسیار آسانتر است، پس باید از خود بپرسید که از یاد گرفتن این زبان چه هدفی دارید؟ جواب این سؤال نقطهی شروع خوبی است زیرا به شما کمک میکند تا مشخص کنید که برنامهنویسی را در چه زمینهای میخواهید دنبال کنید.
- در صورتی که میخواهید بر روی وب کار کنید، زبانهایی که میبایست فرا بگیرید متفاوت از زبانهای مورد نیاز برای برنامهنویسی کامپیوتر هستند. همانگونه که برای برنامهنویسی موبایل به مهارتهای متفاوتی نیاز دارید. تمامی این تصمیمات برای انتخاب مسیر درست، مهم هستند.
2 – با یادگیری زبانی سادهتر شروع کنید. جدا از تصمیمی که پیشتر گرفتهاید، شاید بهتر باشد که کار خود را با یادگیری زبانی قوی اما سادهتر آغاز کنید. زبانهای ساده برای برنامهنویسان تازهکار مناسب هستند، چراکه مفاهیم اساسی و مهارتهای ذهنی که برای فراگیری هر زبان دیگری نیز مورد نیاز است را آموزش میدهند.
- دو مورد از مطرحترین زبانها در این زمینه پایتون و روبی میباشند. این دو مورد، زبانهایی شیءگرا و تحت وب هستند که دستورالعملهای واضحی نیز دارند.
- شیءگرایی «Object-oriented» به این معناست که زبان بر اساس مفاهیم اشیاء شده و جمع دادهها یا ترکیب آنها ایجاد شده است؛ این مفهومی در بسیاری از زبانهای پیشرفتهی برنامهنویسی مثل C++, Java, Objective-V و PHP به کار میرود.
3 – آموزشهای ابتدایی مرتبط با زبانهای مختلف را بررسی کنید. اگر همچنان در انتخاب زبان مورد نظر تردید دارید، آموزشهای موجود برای زبانهای مختلف را کمی مطالعه کنید. هرکدام از این زبانها که بیشتر برای شما قابل فهم بود را امتحان و تمرین کنید تا ببینید آیا از آن خوشتان میآید یا خیر. برای هر زبانی آموزشهای آنلاین فراوانی در اینترنت، ازجمله در پایگاه چطورپدیا، موجود است:
- پایتون: زبانی فوقالعاده برای شروع است و پس از آشنایی با این زبان متوجه خواهید شد که زبانی بسیار قوی نیز هست. این زبان برای بسیاری از نرمافزارهای وب و ساخت چندین بازی بهکار رفته است.
- جاوا: از زبان جاوا در برنامههای بیشماری، از بازی گرفته تا نرمافزارهای وب و همچنین برنامهی دستگاههای خودپرداز، استفاده شده است.
- HTML: برای کسانی که میخواهد کار در وب را دنبال کند، یادگیری این زبان ضروری است و تسلط به این زبان، قبل از یادگیری هر نوع مهارت دیگری در شبکه بسیار مهم است.
- C: یکی از قدیمیترین زبانهاست که همچنان بهعنوان ابزاری قدرتمند شناخته میشود و برنامههای جدیدتر مثل C++, C# و Objective-C از روی این برنامه نوشته شدهاند.
قسمت دوم: با گامهای کوچک شروع کنید.
1 – مفاهیم اصلی زبان مورد نظر را یاد بگیرید. باوجود اینکه قسمتهایی از کار شما باتوجه به زبانی که انتخاب کردهاید، متفاوت است، تمامی زبانها مفاهیمی ابتدایی دارند که برای برنامهنویسی مهم هستند. یادگیری و تسلط کامل بر این مفاهیم در ابتدای کار، حل مسائل و ایجاد کدهای قدرتمند و مؤثر را سادهتر میکند. در زیر برخی از مفاهیم اصلی مشترک میان زبانهای مختلف آورده شده است:
- متغیرها: هر متغیر روشی برای ذخیرهسازی و ارجاع به دادههای قابل تغییر است. متغیرها همانطور که از نام آنها برداشت میشود، میتوانند تغییر داده شوند و معمولاً انواع مشخصی از اعداد صحیح، کاراکترها و غیره دارند که نوع دادهی قابل ذخیره را مشخص میکنند. در زمان کدنویسی، متغیرها معمولاً اسمهایی دارند که برای خواننده کد قابل تشخیص باشند و بدین ترتیب فهم چگونگی ارتباط متغیر با دیگر کدها آسان میشود.
- گزارههای شرطی: گزارهی شرطی بر مبنای صحیح یا غلط بودن گزاره عمل میکند. مطرحترین نوع گزارهی شرطی، گزارهی «اگر- آنگاه» است. درصورتیکه گزاره صحیح بود (برای مثال، x=5)، عمل مشخصی اتفاق میافتد و درصورتیکه گزاره غلط بود (x!=5)، به عملی دیگر منجر میشود.
- توابع یا زیربرنامهها: این مفهوم بسته به زبان مورد استفاده، ممکن است نام دیگری (روال، متد و یا شیء قابل فراخوانی) داشته باشد. هر تابع در واقع برنامهای کوچکتر و زیرمجموعه برنامهای بزرگتر است. توابع میتوانند چندین بار توسط برنامه فراخوانی شوند و به برنامهنویس این اجازه را میدهند که برنامه پیچیدهتر و قویتری ایجاد کند.
- ورود داده: مفهومی گسترده که تقریباً در همهی زبانها استفاده میشود. علاوه بر اطلاعات ذخیره شده و وارد شده توسط کاربر، نحوهی جمعآوری اطلاعات ب نوع برنامه و ورودیهای موجود برای کاربر (کیبورد، فایل و غیره) سروکار دارد. همچنین دادههای ورودی با دادههای خروجی که در واقع نحوهی تحویل نتایج به کاربر میباشند، ارتباط مستقیم دارند؛ برای مثال، نتایج روی صفحهی نمایشگر ظاهر شوند و یا در قالب فایل.
2 – تمامی برنامههای مورد نیاز را نصب کنید. بسیاری از زبانهای برنامهنویسی نیازمند کامپایلر هستند. کامپایلرها برنامههایی هستند که برای ترجمهی کدها به زبانی قابل فهم برای ماشین طراحی شدهاند. سایر زبانها، مانند پایتون، از مفسری استفاده میکنند که بدون نیاز به کامپایلر برنامهها را اجرا میکند.
- بعضی از زبانهای برنامهنویسی، محیطی یکپارچه برای توسعهی نرمافزار دارند که معمولاً شامل امکاناتی از قبیل ویرایش کدها، کامپایل یا تفسیر و عیبیابی است. این شرایط به برنامهنویس این امکان را میدهد که هر تابع مورد نیازی را در حین کار اجرا کند. همچنین محیط یکپارچهی توسعهی نرمافزار امکان نمایش بصری سلسله مراتب و دایرکتوری اشیاء را فراهم میسازد.
- ویرایشگرهای کد بسیاری در فضای آنلاین موجود است که روشهای مختلفی برای برجستهسازی دستورات (نحو) پیشنهاد میکنند و همچنین دارای ابزارهای ساده کاربرپسند دیگری هستند.
قسمت سوم: ایجاد اولین برنامه
1 – هر بار بر روی یکی از مفاهیم تمرکز کنید. یکی از اولین برنامههایی که برای هر زبانی آموزش داده میشود، برنامهی «Hello, World!» است. این برنامه بسیار ساده است و متن «سلام، دنیا!» را بر روی نمایشگر نشان میدهد. این برنامه به افرادی که برای اولین بار برنامهنویسی میکنند، دستورات لازم برای ایجاد برنامهای اساسی و کاربردی و همچنین طریقهی ایجاد یک خروجی نمایشی را آموزش میدهد. با تغییر دادن متن، کاربر یاد میگیرد که اطلاعات اولیه چگونه توسط برنامه بهکار گرفته میشوند.در لینکهای زیر راهنمایی برای تمرین برنامهی «Hello, World!» به زبانهای مختلف توسط چطورپدیا ارائه شده:
- چطور عبارت «Hello World» را در PHP چاپ کنیم؟
- چطور عبارت «Hello World» را در پایتون چاپ کنیم؟
2 – برای یادگیری میتوان از بازسازی مثالهای آنلاین موجود استفاده کرد. هزاران نمونه کد در فضای مجازی برای تمامی زبانهای برنامهنویسی در دسترس است. برای اینکه متوجه شوید هر زبان از جنبههای مختلف چطور عمل میکند و قسمتهای مختلف به چه صورت با یکدیگر در ارتباط هستند، میتوانید از این مثالها استفاده کنید و برای ایجاد برنامهی خود قسمتهایی از کدهای ذکر شده در آنها را به کار ببرید.
4 – نحو «Syntax» زبان برنامهنویسی مورد نظر را بررسی کنید. نحو یک زبان، روش نوشتن دستورات آن زبان است، به طوری که کامپایلر یا مفسر آن را بفهمد. هر زبان طبق دستورالعمل منحصربهفردی نوشته شده است، اگرچه ممکن است بعضی از موارد بین زبانهای مختلف مشترک باشند. یادگیری نحو زبان جهت یادگیری برنامهنویسی به آن زبان مشخص امری ضروری است و معمولاً همان چیزی است که زمانی که شخصی به برنامهنویسی کامپیوتر فکر میکند، به نظرش میآید. درواقع دستورالعملها بستر پایهای هستند که مفاهیم پیچیدهتر بر مبنای آنها ایجاد میشوند.
5 – با تغییر کدها، تجربه کسب کنید. بر روی برنامهی نمونه تغییراتی اعمال کنید و سپس نتیجه را بررسی کنید. با انجام این کار، شما در مقایسه با مطالعه راهنما یا کتابی درباره آن زبان، سریعتر یاد میگیرید که چه روشی بهتر جواب میدهد. از این نترسید که ممکن است برنامهای که نوشتهاید را خراب کنید چراکه یادگیری با آزمون و خطا قسمت بزرگی از پیشرفت است و معمولاً هر چیز جدیدی که اولین بار امتحان میشود، کار نمیکند و جواب نمیدهد.
6 – تمرین عیبیابی و عیبزدایی را جدی بگیرید. زمانی که برنامهنویسی میکنید، بدون شک با خطاها سروکار خواهید داشت. خطاهای برنامه میتوانند در قسمتهای مختلفی ظاهر شوند. باگها ممکن است برای برنامه بیضرر باشند و یا خطاهایی اساسی باشند که مانع از اجرای برنامه میشوند. پیدا کردن و اصلاح این خطاها قسمت مهمی از پیشرفت نرمافزار شماست، بنابراین خود را به انجام این کار عادت دهید.
- همچنانکه با تغییر برنامهها سعی در کسب تجربه دارید، با بخشهایی که به درستی کار نمیکنند، آشنا خواهید شد. یافتن روشهای متفاوت انجام برنامه و استفاده از دستورالعملها، یکی از ارزشمندترین مهارتهایی است که میتوانید بهعنوان یک برنامهنویس کسب کنید.
7 – برای تمامی کدگذاریهای خود توضیحات در نظر بگیرید. تقریباً تمامی زبانهای برنامهنویسی قابلیت درج توضیحات دارند، این امکان به شما اجازه میدهد، اطلاعات متنی که توسط مفسر یا کامپایلر بررسی نمیشوند را در آنجا وارد کنید؛ بنابراین شما این امکان را دارید که توضیحی کوتاه و شفاف به زبان غیر ماشینی در مورد کد نوشته شده ارائه دهید. این ویژگی به شما کمک میکند در برنامهای طولانی، عملکرد آنچه کدنویسی کردهاید را به یادآورید و همچنین موجب میشود که دیگران نیز متوجه شوند، کدهایی که نوشتهاید، چهکاری انجام میدهند.
قسمت چهارم: تمرین مداوم
1 – هر روز تمرین برنامهنویسی کنید. تسلط پیدا کردن بر یک زبان برنامهنویسی، بیشتر از هر چیز دیگر نیازمند اختصاص زمان است. حتی برای حرفهای شدن در زبانی ساده مثل پایتون که ممکن است تنها یک الی دو روز جهت فهم دستورالعملهای اصلی زمان ببرد، نیز نیازمند زمان بسیاری برای حرفهای شدن است. مثل هر مهارت دیگری، تمرین در برنامهنویسی، کلید کسب تسلط است. سعی کنید که روزانه زمانی را به برنامهنویسی اختصاص دهید، حتی اگر برای یک ساعت بین زمان کار و زمان شام خوردنتان باشد.
2 – برای برنامههایتان اهدافی در نظر گیرید. با در نظر داشتن اهداف قابل دسترس اما چالشبرانگیز، شما پس از مدتی قادر به حل مسائل و ارائه راهحل خواهید بود. سعی کنید، با نرمافزارهای ابتدایی مثل ماشین حساب شروع کنید و برای ساخت آن روشی پیدا نمایید. از دستورالعملها و مفاهیمی که یاد گرفتهاید، استفاده کنید و آنها را تمرین کنید.
3 – با دیگران صحبت کرده و برنامههای آنها را بخوانید. انجمنهای زیادی مختص برنامهنویسان وجود دارد که در زمینهی زبانی معین و روشهای مشخص فعالیت دارند. با پیدا کردن این انجمنها و عضویت در آنها، نمونهها و ابزارهای زیادی پیش روی شما قرار میگیرد که میتواند به یادگیری شما بسیار کمک کند. بررسی کدهای نوشته شده توسط دیگران به شما برای کار و یادگیری مفاهیمی که هنوز بر آنها مسلط نشدهاید، انگیزه میدهد.
- پس از اینکه زبانی را انتخاب کردید به دنبال تالار گفتمانهای مختص برنامهنویسی و انجمنهای آنلاین مرتبط با زبان مورد نظر خود بگردید. سعی کنید که در گروه مشارکت داشته باشید و تنها سؤال نپرسید. این انجمنها معمولاً محلی برای همکاری و مباحثه هستند و صرفاً در پرسش و پاسخ خلاصه نمیشوند. هر زمان نیاز داشتید از دیگران کمک بخواهید و آمادگی این را داشته باشید که برنامهای که نوشتهاید را به دیگران نشان دهید. همچنین در امتحان کردن روشهای مختلف مشتاق باشید.
- زمانی که کمی تجربه کسب کردید در گردهماییهای مرتبط با برنامهنویسی شرکت کنید. در این مناسبات که معمولاً دارای تم مشخصی هستند، برنامهنویسان در قالب فرد و یا گروه در مدت زمانی معین برای ساخت برنامهای کاربردی با یکدیگر رقابت میکند و جدا از این فرصت مناسبی است که برنامه نویسان با یکدیگر ملاقات داشته باشند.
4 – از به چالش کشیدن خود لذت ببرید. به دنبال راهحل و روشهای ممکن برای انجام کارهایی باشید که دقیقاً نمیدانید چطور انجام میشوند و سپس سعی کنید در برنامهی خود آنها را به کار ببرید. به برنامهای که صرفاً کار میکند کفایت نکنید و تمام تلاش خود را بکنید تا مطمئن شوید برنامه از هر نظر درست کار میکند.
قسمت پنجم: افزایش آموختههای خود
1 – در چند دوره آموزشی ثبتنام کنید. بسیاری از دانشگاهها و انجمنها، کلاسهای برنامهنویسی و کارگاههای آموزشی برگزار میکنند که بدون ثبتنام در آن آموزشگاه میتوانید از آنها بهره ببرید. این فرصتها برای برنامهنویسان تازهکار بسیار مناسب هستند چراکه میتوانند از کمک افراد متخصص بهره ببرند و با برنامهنویسان اطراف خود ارتباط برقرار کنند.
2 – کتابهای خوب تهیه کرده یا قرض بگیرید. هزاران کتاب راهنما برای زبانهای مختلف برنامهنویسی موجود است. هرچند که تنها منبع اطلاعات و دانش شما نباید صرفاً کتابها باشند. کتابها همچنان منابع بسیار خوبی هستند و مثالها و نمونههای خوبی ارائه میدهند.
3 – ریاضی و منطق بیاموزید. بسیاری از برنامهنویسیها محاسبه و ریاضیات را نیز شامل میشوند اما ممکن است نیاز داشته باشید که مفاهیم پیچیدهتری را نیز بیاموزید. این موارد، بهویژه در شرایطی که شبیهسازی پیشرفته و یا برنامهای با الگوریتم پیچیده طراحی کردهاید، ضروری است؛ اما برای برنامهنویسیهای معمولی نیاز به ریاضیات پیشرفته ندارید. آموختن منطق، به خصوص منطق کامپیوتر میتواند بهترین روش مواجهه با حل مسئلهای پیچیده باشد و برای مسائل دشوارتر به کمکتان میآید.
4 – هیچگاه برنامهنویسی را کنار نگذارید. دیدگاه مطرحی وجود دارد که ادعا میکند متخصص شدن در هر زمینهای دستکم نیازمند ده هزار ساعت تمرین در آن حوزه است. جدا از اینکه جزئیات چنین ادعایی جای بحث دارد، توصیهی اصلی آن همواره واقعیت دارد: تسلط بر هر زمینه نیازمند زمان و تمرین زیاد است. نباید انتظار داشته باشید که همه چیز را در یک مدت کوتاه فرابگیرید. اگر روی کار خود تمرکز داشته باشید و به یادگیری ادامه دهید، پس از مدتی بدون شک در زمینهی کاری خود تخصص لازم را به دست خواهید آورد.
5 – یادگیری زبان برنامهنویسی جدیدی را آغاز کنید. در حالی که با متخصص شدن در یک زبان نیز میتوانید موفق شوید، توجه داشته باشید که بسیاری از برنامه نویسان شانس موفقیت خود را با یادگیری چند زبان بیشتر میکنند. زبان دوم یا سوم آنها معمولاً کاملکنندهی زبان اول است و به آنها فرصتی میدهد تا برنامههای پیچیدهتر و جالبتری بسازند. زمانی که بر یک روش برنامهنویسی تسلط کافی پیدا کردید، زمان خوبی است که یادگیری برنامهی جدیدی را آغاز کنید. از آنجا که بسیاری از مفاهیم اصلی برنامهنویسی بین زبانهای مختلف مشترک است، بخصوص اگر زبانها باهم در ارتباط باشند، احتمال میرود که مدتزمان یادگیری زبان دوم نسبت به زبان اول کمتر باشد.
قسمت ششم: به کار گرفتن مهارتها
1 – در یک دوره آموزشی چهار ساله، مثلاً دورهی کارشناسی، ثبتنام کنید. اگرچه ممکن است در ابتدا اینگونه به نظر برسد که گذراندن دورهای چهار ساله در موسسه یا دانشگاه ضرورت چندانی ندارد؛ دانشگاه به شما این فرصت را میدهد که با زبانهای متنوعی آشنا شوید و همچنین فرصتی است که بتوانید با متخصصان و دانشجویان دیگر ارتباط بگیرید. این روش برای همگان الزامی نیست و برنامه نویسان موفق بسیاری هستند که هیچگاه دورهای را در موسسهای نگذراندهاند.
2 – پروندهای از اطلاعات شخصی و نمونه کارها برای خود بسازید. در حین نوشتن برنامههای مختلف و افزایش اطلاعاتتان، از بهترین کارهای خود، پروندهی نمونه کار تشکیل دهید تا از این پرونده در هنگام استخدام و مصاحبهی شغلی بهره ببرید. تمامی کارهایی را که انجام دادهاید، در این پرونده داشته باشید و درصورتیکه با شرکتی کار میکنید، سؤال کنید که آیا میتوانید نتیجهی کار مشترک را در نمونه کارهایتان داشته باشید یا خیر.
3 – در پروژههای دورکاری مشارکت کنید. فضای کار زیادی برای برنامهنویسان، بهخصوص برای برنامهنویسی نرمافزارهای موبایل، در صورت تمایل به دورکاری وجود دارد. چند پروژه دورکاری کوچک قبول کنید تا متوجه شوید که فرآیند کار برنامهنویسی تجاری چگونه است. معمولاً از پروژههایی که انجام و تحویل دادهاید، میتوانید در پروندهی نمونه کارهایتان استفاده کنید.
4 – نرمافزارهای رایگان یا برنامههای تجاری خود را توسعه دهید. شما برای کسب درآمد از طریق برنامهنویسی مجبور نیستید که لزوماً برای شرکتی کار کنید. درصورتیکه مهارت و تخصص کافی داشته باشید میتوانید خودتان برنامهای بنویسید و آن را از طریق وبسایت خود و یا از طریق سایر مراکز به فروش بگذارید. آمادگی پشتیبانی از نرمافزاری که برای فروش ارائه میکنید را داشته باشید، چراکه خریداران انتظار دارند، آنچه بابتش پول دادهاند، بهخوبی کار کند.
- ساخت نرمافزارهای رایگان روشی معمول برای ارائه برنامههای ساده است و با وجود اینکه برنامهنویس پولی از این کار دریافت نمیکند، روشی مناسب برای شناخته شدن و دیده شدن وی در این حوزهی کاری خواهد بود.
روش شما برای یادگیری برنامه نویسی چیست ؟
منبع : چطورپدیا