ممکن است از اطرافیان خود شنیده باشید که برنامهنویسها حقوق خوبی دارند و در حال گذراندن شرایط خوبی هستند؛ یا شنیده باشید اگر برنامه نویس شوید میتوانید در خانه کار کنید و درآمد ایدهآلی داشته باشید و بنا به این دلایل شما هم تصمیم گرفتید به یک برنامهنویس تبدیل شوید.
امروزه تقاضا برای توسعه وبسایتها و اپلیکیشنها بسیار زیاد است، شرکتهای IT نیز برای استخدام برنامهنویس به نیرویی با مهارت بالا نیاز دارند. اما این سوال همیشه پیش میآید که چه طور یادگیری برنامه نویسی را شروع کنیم و چه زبانی برای شروع میتواند مناسبتر باشد؟
در ابتدا از خودتان چند سوال بپرسید. چرا میخواهید یک زبان برنامه نویسی را یاد بگیرید؟ اهداف شغلیتان چیست و بعد از یادگیری برنامهنویسی، میخواهید چه کاری انجام دهید؟
زبانهای برنامهنویسی از نظر نزدیکی به زبان کامپیوتر، در طیف زبانهای سطح بالا و سطح پایین قرار میگیرند. زبانهای برنامه نویسی سطح پایین یعنی همان کدنویسی صفر و یک. یادگیری زبانهای برنامهنویسی سطح پایین سختتر از زبان های برنامهنویسی سطح بالا است. به همین دلیل ما برای شروع یادگیری زبانهای سطح بالا را بیشتر توصیه میکنیم.
اهمیت یادگیری تفکر الگوریتمی و حل مسئله
حل مسئله و برنامه نویسی، از جمله مهارتهایی است که «تمرین» در فراگیری آن اهمیت بسیاری دارد. به نحوی که تسلط بر برنامهنویسی بدون تمرین هیچگاه محقق نخواهد شد.
برنامهنویسی، مهارتی است ترکیبی از تفکر و پیادهسازی. بدون تفکر مناسب نمیتوانیم مسئله را حل کنیم و بدون مهارت پیادهسازی، عملا هیچ خروجی خاصی نداشتهایم. به همین دلیل رویکرد مسئلهمحور دارای اهمیت بسیاری است. در این مقاله زبانهای برنامهنویسی مناسب برای ورود به دنیای برنامهنویسی و شروع یادگیری الگوریتم را معرفی میکنیم.
زبان برنامه نویسی C/CPP
اصطلاح ” Old is Gold” برای زبان C کاملا صدق میکند. C که در اواخر دهه 1970 معرفی شد ، نقش مهمی در دنیای برنامه نویسی داشته است. C زبان مادر خیلی از زبانهای برنامهنویسی دیگر بوده و زبانهایی مثل Objective-C و Java و C# از آن الهام گرفتهاند. زبان C و ++C جزو زبانهای برنامهنویسی بزرگ و مقدماتی هستند. حتی امروزه دیده میشود که هر زمان که نیاز به ساخت برنامههای کاربردی با کارایی بالا باشد، C همچنان محبوبترین گزینه است. زبان ++C نیز نسخه ترکیبی از زبان C میباشد. زبان C++ یک زبان برنامهنویسی شیگرا است و روی C ساخته شده است. بنابراین یادگیری دو زبان مذکور برای شروع برنامهنویسی نسبت به زبانهایی چون جاوا و یا موارد پیچیدهتر بسیار مناسب به نظر می رسد.
برخی از پروژههای نوشته شده با زبان C++:
سیستم عامل ویندوز، سیستم عامل اوبونتو، سیستم عامل مک، سیستم عامل iOS
مرورگر گوگل کروم، مرورگر Opera، مرورگر فایرفاکس
بازی معروف GOD of WAR، بازی معروف CALL of DUTY
منابع یادگیری فارسی زبان برنامه نویسی C/C++:
در صورتی که قصد دارید با زبان C یا C++ شروع به یادگیری برنامهنویسی کنید، دورهی آموزش مبانی برنامهنویسی Quera College میتواند انتخاب مناسبی باشد، در این دوره در هر درسنامه علاوه بر موضوعات مرتبط با زبانها، مسئلههایی با سختیهای مختلف مطرح شده و راه حل آنها توضیح داده میشود تا روش تفکر الگوریتمی و تبدیل مسئله به الگوریتم و الگوریتم به کد کاملا برایتان جا بیفتد.
ویژگی جالب دورههای Quera College این است که همهی فصلهای دوره بصورت آنلاین در اختیار فراگیران قرار میگیرد. این دورهها تمرینمحور و پروژهمحور هستند. قدرتگرفته از سیستم داوری خودکار Quera، تمرینهای دوره در لحظه تصحیح میشوند. همچنین میتوانید با طراحان دوره بصورت آنلاین صحبت کنید و سوالهای خود را مطرح کنید. در آخر هم در صورتی که دورههای کوئراکالج را با موفقیت بگذرانید، گواهی گذراندن این دوره را کسب میکنید که به صورت فیزیکی و دیجیتالی در اختیار شما قرار میگیرد.
منابع یادگیری لاتین زبان برنامهنویسی C و C++:
برای یادگیری این دو زبان، سایت codecademy و udemy انتخاب مناسبی است. البته درسنامههای این سایتها به زبان انگلیسی هستند.
زبان برنامه نویسی Java
اگر از کسی بپرسید که “چرا جاوا؟” این جمله معروف را میشنوید: “یک بار بنویسید، همه جا اجرا کنید”. جاوا اولین بار توسط شرکت Sun Microsystems در سال ۱۹۹۵ منتشر شد. امروزه جاوا همه جا هست و میتوان گفت به یک زبان فراگیر تبدیل شده است. بسیاری از برنامههای کاربردی و وبسایتها مبتنی بر جاوا هستند. کنسولهای بازی تا تلفنهای همراه جاوا بر بازار دنیای تکنولوژی حاکم شده است. جاوا 99٪ شیگرا است و پایه سیستم عامل اندروید را تشکیل میدهد و حدود 90٪ از 500 شرکت را برای ساخت انواع برنامههای کاربردی پشتیبانی میکند.
با دلایل بسیار خوب و طیف گستردهای از برنامههای تجاری ، انعطافپذیری جاوا باعث محبوبیتش در بین علاقهمندان به یادگیری برنامهنویسی شده است.
منابع یادگیری فارسی زبان برنامه نویسی جاوا:
دوره مبانی برنامهنویسی Quera College که در توضیحات بالا معرفی شد، علاوه بر زبانهای C و C++، با زبان جاوا نیز تدریس میشود، به این شکل که شما میتوانید زبان مورد نظر خود را انتخاب کنید و یا به طور همزمان اقدام به گذراندن دوره با هر سه زبان کنید و در نتیجه سینتکس سه زبان را بیاموزید.
منابع یادگیری لاتین زبان برنامهنویسی جاوا:
برای یادگیری زبان برنامهنویسی جاوا به طور لاتین، سایتهای learnjavaonline و w3schools انتخاب مناسبی است.
زبان برنامه نویسی پایتون
ممکن است برایتان این سوال مطرح شده باشد که دقیقاً برای انجام چه کارهایی میتوانم از پایتون استفاده کنم؟ کاربردهای زبان پایتون را میتوان در سه حوزه اصلی زیر خلاصه کرد:
- توسعه نرمافزارهای تحت وب (Web Development)
- علم داده (Data Science) شامل یادگیری ماشین (Machine Learning)، آنالیز دادهها (Data Analysis) و بصریسازی دادهها (Data Visualization)
- اسکریپت نویسی (Scripting)
اگر علاقهمند هستید که در حوزه وب در سمت Backend فعالیت کنید، میتوانید از فریمورک Django استفاده کنید.
پایتون از زبانهای برنامه نویسی پویا است، زمانی که با Python برنامه نویسی میکنید، نیازی به تعریف انواع متغیرها ندارید زیرا پایتون این کار را برایتان انجام میدهد. جالب است بدانید پایتون خیلی شبیه به زبان انگلیسی است و از علائم محصورکننده استفاده نمیکند. اگر پایتون را برای شروع یادگیری انتخاب میکنید، مطمئن باشید که بهترین انتخاب را انجام دادهاید. برای آشنایی بیشتر با کاربردهای این زبان خارقالعاده، پیشنهاد میکنیم پست مربوط به معرفی حوزههای پرکاربرد زبان پایتون را مطالعه کنید.
منابع یادگیری فارسی زبان برنامهنویسی پایتون:
در صورتی که میخواهید از پایه پایتون را بیاموزید، جالب است بدانید دوره مبانی برنامهنویسی Quera college پایتون را هم آموزش میدهد. به عبارتی این دوره همزمان 4 زبان برنامهنویسی python، java، C، C++ را آموزش میدهد. علاوه بر این Quera college، دورهای پیشرفته و جداگانه برای زبان برنامهنویسی پرکاربرد پایتون ارائه داده است که شما میتوانید برای ورود به دنیای برنامهنویسی زبان پایتون را انتخاب کنید و بعد از گذراندن دوره مبانی برنامهنویسی، آموزش پروژه محور برنامهنویسی پایتون پیشرفته و تفکر شیگرا را هم شروع کنید تا به این زبان تا حد خوبی مسلط شوید.
در این دوره شما برنامه نویسی را به روش پایتونی خواهید آموخت و تفکر شیگرا را به طور کلی درک خواهید کرد. در این دوره تعداد زیادی مساله کاربردی را حل خواهید کرد و همچنین در طی آمورش پروژههایی به شما داده میشود که با انجام دادن آنها علاوه بر یادگیری مفاهیم برنامه نویسی پیشرفته، تجربه لازم را نیز کسب خواهید کرد. تمام این سوالات و پروژهها را با استفاده از پایتون و داوری Quera به طور بخش بخش پیاده سازی میکنید و در همان زمان فوت و فنهای پیادهسازی پروژه را فرا خواهید گرفت.
منابع یادگیری لاتین زبان برنامهنویسی پایتون:
درصورتی که قصد دارید پایتون را با یک منبع یادگیری لاتین شروع کنید، سایت coursera میتواند انتخاب مناسبی باشد.
یادگیری HTML و CSS
HTML یا همان Hypertext Markup Language یک زبان نشانهگذاری است که به منظور ایجاد ساختار و قالب صفحه وب مورد استفاده قرار میگیرد. به کمک HTML میتوانید مشخص کنید که در صفحه وب خود چند بخش دارید و محتوای هر بخش را مشخص کنید. شما هر سایتی که بخواهید طراحی کنید، به هر زبانی، میبایست که با استفاده از HTML ساختار اولیه سایت خود را آماده کرده و سپس با استفاده از سایر زبان ها، کدنویسی های دیگر بخش ها را انجام دهید.
برای شروع کار در سمت فرانتاند باید اول با HTML آشنا شوید. HTML زبان برنامهنویسی نیست، بلکه زبانی برای نشانهگذاری ابرمتن است و اساساً برای ساختمند کردن اطلاعات و اجزای منطقی یک نوشتار نظیر عناوین، تصاویر، فهرستها، بندها و جداول و … به کار میرود. از سوی دیگر، CSS روشی ساده برای نمایش چیدمان و جلوههای تصویری (مانند نوع قلم، رنگ و اندازهها) برای صفحههای وب است.
منابع یادگیری HTML و CSS:
سایت w3schools بهتری سایت برای شروع یادگیری در این زمینه است که با وجود توضیحات و مثالهایی ساده میتوانید به راحتی به این دو مبحث مسلط شوید.
زبان برنامه نویسی جاوا اسکریپت:
جاوا اسکریپت عمدتاً یک زبان توسعهی فرانتاند و زبان کراسپلتفرم است. به این منظور که روی همه پلتفرمها اجرا میشود. سینتکس این زبان بسیار شبیه به زبان برنامه نویسی C بوده و از این رو شما را به ادامه یادگیری زبانهای برنامه نویسی تشویق میکند. جاوا اسکریپت میتواند هم در سمت سرور و هم در سمت کلاینت یا کاربر اجرا شود. علاوه بر این میتوان به وسیله آن اپلیکیشنهایی را طراحی کرد که در هر یک از گوشیهای هوشمند با سیستم عاملهای iOS و اندروید اجرا شود.
منابع یادگیری زبان برنامهنویسی جاوا اسکریپت:
برای شروع یادگیری این زبان آیندهدار و پرکاربرد ویدئوهای آموزشی مناسبی در یوتیوب قرار دارد. علاوه بر آن سایت w3schools هم مثل همیشه میتواند راهنمای خوبی برای ورود به این حوزه باشد.