برنامه نویسی، یکی از محبوبترین و پولسازترین رشتهها در سالهای اخیر است. این رشته به دلیل کاربرد در مشاغل و صنایع مختلف متقاضیان زیادی دارد و حتی بسیاری از افرادی که در رشتهی کامپیوتر تحصیلاتی ندارند، به یادگیری برنامه نویسی علاقهمند هستند. اولین قدم برای شروع برنامه نویسی شناخت حوزههای مختلف و زبانهای مورد استفاده در هر حوزه است. در ادامه با زبانها و حوزههای مختلف برنامه نویسی آشنا میشویم. در انتهای مقاله یک اینفوگرافیک جذاب برای دانلود آورده شده است که حوزههای برنامه نویسی در آن به صورت مختصر معرفی شده و میتواند نقشهی راه خوبی برای شما باشد.
برنامه نویسی حوزه موبایل
برنامه نویسی موبایل یک شغل پردرآمد است. شما میتوانید ایدههای خودتان را پیاده سازی کنید یا به صورت فریلنسری یا استخدامی برای سایر افراد کار کنید. اگر به برنامه نویسی حوزهی موبایل علاقهمند هستید، باید پیش از شروع به یادگیری، پلتفرم مورد نظر خود را انتخاب کنید. اندروید و iOS دو پلتفرم محبوب موبایل هستند که درصد بالایی از بازار موبایل را به خود اختصاص دادهاند و برای نوشتن برنامههای مختص هر یک از این دو پلتفرم، باید زبانهای مخصوص آن را بیاموزید.
زبانهای برنامه نویسی اندروید
سیستم عامل اندروید توسط شرکت گوگل توسعه داده شده و پشتیبانی میشود. زبانهای رایج برای توسعهی برنامههای اندروید عبارتند از:
Java: زبان جاوا، یک زبان شی گرا است و شباهت زیادی به زبانهای C و ++C دارد. از جمله ویژگیهای مهم زبان جاوا میتوان به چند سکویی بودن آن اشاره کرد. بدین معنا که با استفاده از این زبان میتوانید برنامههای تحت موبایل، ویندوز، لینوکس و... بنویسید.
Kotlin: زبان کاتلین یک زبان شی گرا و تایپ استاتیک است بدین معنا که نوع متغیرها هنگام کامپایل مشخص میشود. کاتلین به عنوان زبان دوم توسعهی اندروید شناخته میشود. این زبان شباهت زیادی با زبان جاوا دارد. کدهای کاتلین و جاوا قابلیت تبدیل به یکدیگر را دارند. سرعت کاتلین نسبت به جاوا بالاتر بوده و کدهای آن کوتاهتر هستند. اگر علاقهمند هستید دربارهی تفاوتهای کاتلین و جاوا بیشتر بدانید، مطالعهی مقالهی "تفاوت کاتلین و جاوا چیست؟" را به شما توصیه میکنیم.
زبانهای برنامه نویسی iOS
سیستم عامل iOS توسط شرکت اپل توسعه داده شده است. زبانهای رایج برای توسعه برنامههای iOS عبارتند از:
Objective-C: زبان Objective-C یک زبان شی گرا است که در گذشته برای توسعه نرم افزارهای محصولات شرکت اپل استفاده میشد. گرچه این زبان هنوز هم توسط توسعه دهندگان استفاده میشود و طرفداران خاص خود را دارد. اگر تجربهی برنامه نویسی با یک زبان شی گرا را داشته باشید، یادگیری این زبان برای شما بسیار آسان خواهد بود.
Swift: زبان سوئیفت، یک زبان اپن سورس، امن، انعطافپذیر و آسان است که برای توسعه اپلیکیشنهای محصولات شرکت اپل طراحی شده است. سوئیفت زبانی مدرن و جایگزینی برای زبان Objective-C میباشد. یکی از ویژگیهای کلیدی زبان سوئیفت، مدیریت خودکار حافظه است که از خطاهای رایج حین برنامه نویسی جلوگیری میکند. علاوه بر این، هر دوی این زبانها با یکدیگر سازگار بوده و به راحتی میتوانند با هم همکاری کنند و بدین ترتیب ریسک پروژه را کاهش دهند.
اپلیکیشن کراس پلتفرم به اپلیکیشنهایی گفته میشود که در سیستم عاملهای مختلف قابل اجرا باشند. توسعه اپلیکیشن کراس پلتفرم، به کاهش هزینهی توسعه اپلیکیشنها و همچنین صرفه جویی در زمان کمک میکند. زبانهای برنامه نویسی رایج که برای توسعه اپلیکیشن کراس پلتفرم استفاده میشوند، عبارتند از:
React Native :React Native یک فریم ورک UI متن باز برای ساخت اپلیکیشنهای موبایل است که توسط شرکت فیسبوک عرضه شده است. به کمک React Native و زبان جاوا اسکریپت میتوانیم اپلیکیشنهایی توسعه دهیم که بر روی پلتفرمهای مختلف اندروید، IOS، وب و حتی UWP (پلتفرمی برای ساخت برنامههای تحت ویندوز، ویندوز موبایل، Xbox و سایر محصولات مایکروسافت) قابل اجرا باشند. React Native به شما اجازه میدهد با زبان جاوا اسکریپت، اپلیکیشنهای موبایل را توسعه دهید؛ React این کدها را به زبان Native تبدیل میکند و خروجی اندروید و IOS به شما میدهد.
Flutter: فریم ورک متن باز فلاتر که با زبان برنامه نویسی دارت توسعه داده شده است، به شما این امکان را میدهد تا اپلیکیشنهایی بسازید که بر روی هر دو پلتفرم اندروید و IOS قابل اجرا باشند. فلاتر توسط شرکت گوگل توسعه داده شده است و در حال حاضر این شرکت بر روی ساخت سیستم عامل جدیدی به نام فیوشا (Fuchsia) کار میکند که برای توسعهی برنامههای آن باید بر دارت و فلاتر تسلط داشته باشید. یادگیری فلاتر و کار با آن آسان است و به راحتی میتوانید اپلیکیشنهایی فوقالعاده ایجاد کنید.
افرادی که قصد دارند برنامه نویسی را شروع کنند، این سوال برایشان پیش میآید که سیستم موردنیاز برای برنامه نویسی چیست؟ این افراد نگران هستند که شاید سخت افزار فعلی آنها پاسخگوی نیازهای برنامه نویسی نباشد. برای یافتن پاسخ این پرسش، مطالعهی مقالهی "سیستم مورد نیاز برای برنامه نویسی موبایل و طراحی وب" را به شما توصیه میکنیم.
برنامه نویسی حوزه دسکتاپ
برنامه نویسی حوزه دسکتاپ به دو بخش توسعهی نرم افزار تحت ویندوز و تحت macOS تقسیم میشود. برنامههای تحت دسکتاپ، زمان و منابع بیشتری برای توسعه نیاز دارند و معمولا گرانتر از سایر انواع برنامهها هستند. در ادامه شما را با متداولترین زبانهای برنامه نویسی تحت ویندوز و macOS آشنا میکنیم.
زبانهای برنامه نویسی برای توسعهی نرم افزار تحت ویندوز:
#C
Java
JavaScript
++C
زبانهای برنامه نویسی برای توسعهی نرم افزار تحت macOS:
Swift
Objective-C
برنامه نویسی تحت وب
با افزایش استفادهی کاربران از اینترنت، تمایل برای استفاده از نرم افزارهای تحت وب افزایش یافته است. برنامه نویسی تحت وب به دو بخش برنامه نویسی فرانت اند و برنامه نویسی بک اند تقسیم میشود. بخش فرانتاند، جایی است که کاربران با آن در تعامل هستند. بکاند نیز به سه بخش سرور، برنامهی اصلی و پایگاه داده تقسیم میشود. بخش بکاند که فرآیندها و پردازشها در آن انجام میشود، برای کاربران قابل مشاهده نیست. به فردی که به هر دو مهارت توسعهی بکاند و فرانتاند مسلط باشد، برنامه نویس فول استک گفته میشود.
در ادامه زبانهای رایج برای استفاده در هر دو بخش را به شما معرفی میکنیم.
زبانهای بخش Front-End (سمت کاربر):
HTML
CSS
JavaScript
زبانهای بخش Back-End (سمت سرور):
PHP
Python
Ruby
NET
JavaScript
Perl
Java
GO
SQL
Scala
#F
زبانهای برنامه نویسی حوزه داده کاوی، هوش مصنوعی و یادگیری ماشینی
هوش مصنوعی یک زمینهی نسبتا جدید و محبوب در رشتهی کامپیوتر است که هدف آن توسعهی برنامهها و ساخت ماشینهایی است که همانند انسان، هوشمند عمل کرده و به راحتی و رفاه انسانها کمک کنند. هوش مصنوعی در بخشهای مختلف مانند تجارت الکترونیک، صنعت، پزشکی، کشاورزی، اقتصاد و... به کمک انسانها آمده است.
یادگیری ماشینی یکی از زیر مجموعههای هوش مصنوعی است. الگوریتمهای یادگیری ماشینی، ماشینها را قادر میسازند تا بتوانند همانند انسان از روشهای مختلف مانند کسب تجربه، اجرای دستورالعملها و... چیزهای جدیدی را به صورت خودکار بیاموزند و از آموختههای خود استفاده کنند.
امروزه شرکتها از طریق ارائهی خدمات و ارتباط مستمر با مشتری، اطلاعات زیادی به دست میآورند که میتوانند با استفاده از تکنیکهای داده کاوی (Data Mining)، الگوهای پنهان درون این دادهها را کشف کنند و از نتایج بهدست آمده در جهت بهبود عملکرد سازمان و رفاه مشتریان خود استفاده کنند.
زبانهای برنامه نویسی محبوب برای کار در سه حوزهی نامبرده، عبارتند از:
Python
R
#F
Prolog
Julia
GO
توسعه بازیهای رایانهای
بازیهای رایانهای محبوبیت بالایی در بین کودکان، نوجوانان و حتی بزرگسالان دارند. برخی افراد در کشورهای پیشرفته، از طریق بازی کردن کسب درآمد میکنند. برخی افراد ترجیح میدهند تا با توسعه بازیهای رایانهای درآمد نامحدود برای خود ایجاد کنند.
شما برای توسعه بازیهای رایانهای به یادگیری یک زبان برنامه نویسی مانند ++C نیازمند هستید و باید با اسکریپت نویسی و موتورهای بازی سازی (همچون یونیتی، آنریل، گیم میکر و...) نیز آشنایی داشته باشید.
برنامه نویسی، یک حوزهی پرکاربرد و محبوب است که توانسته است جای خود را در همهی بخشهای زندگی انسانها پیدا کند. شما میتوانید با مطالعه در مورد حوزههای مختلف برنامه نویسی و کشف نیازهای جدید، حوزهی مورد نظر خود را پیدا کرده و پس از یادگیری زبانها و مهارتهای مورد نیاز به کسب درآمد بپردازید.
سلام خسته نباشید یه سوال داشتم
حوزههای مرتبط با رشته کامپیوتری کدوما هستن
نازنین کریمی مقدم۳۰ بهمن ۱۴۰۲، ۰۶:۲۴
درود
اصلی ترینشون آیتی و برنامه نویسی هست اما در هر حوزه ای حتی کارهای دفتری میبینید که کامپیوتر حضور موثری داره.
محمدمعین اژدرشجاعی۰۷ آبان ۱۴۰۲، ۱۵:۱۸
سلام من 15 سالمه وردپرس روکامل بلدم .
html css رو تا حدودی بلدم .
زبان زیاد قوی ندارم .
یه سایت که داخلی که راحت بشه داخلش پروژه گرفت و درامد داشت یه راهنمایی میکنید .
نازنین کریمی مقدم۰۸ آبان ۱۴۰۲، ۰۶:۳۱
درود
به مقاله معرفی سایتهای فریلنسری و کامنتهای پایینش مراجعه کنید:
https://7learn.com/blog/best-freelance-websites
۲۶ شهریور ۱۴۰۲، ۰۷:۴۸
سلام
من میخواستم بدونم برای هوش مصنوعی باید ریاضیات خوب باشه یا نقشی در حوزه هوش مصنوعی نداره
پاسخ بدید ممنون میشم
نازنین کریمی مقدم۲۲ مهر ۱۴۰۲، ۰۸:۵۶
درود
بله برای هوش مصنوعی باید ریاضی قوی داشته باشید. چون اغلب مسائل تحلیلی هستند و با ریاضی میتونید راه حلها رو بهبود بدید.
۲۲ شهریور ۱۴۰۲، ۱۹:۱۴
سلام
میشه بگید بازارکار حوزهها رودرایران به ترتیب بگید
و بازار کار برنامه نویسی موبایل بهتره یا وب
نازنین کریمی مقدم۲۹ مهر ۱۴۰۲، ۱۰:۳۳
درود
حقیقتا خیلی مشخص نیست و بازارکار مبلغ دقیقی رو بما نمیده. عملا در هر حوزه ای که مهارت و سابقه کار داشته باشید درآمد بالاتری کسب میکنید.
درآمد وب و موبایل تقریبا مشابه یکدیگر هستند. پیشنهاد میکنم آگهیهای کار رو در وبسایتهای کاریابی مثل جاب ویژن و جابینجا ببینید تا دید بهتری داشته باشید.
۲۰ شهریور ۱۴۰۲، ۱۱:۱۹
سلام من 15 سالم هست و میخوام به رشته ی برنامه نویسی برم به نظر شما کدام حوزه رو انتخاب کنم که هم در امد خوبی داشته باشه هم زبانهای خوبی داشته باشه من علاقه به حوزه ی هوش مصنوعی و اندروید رو دارم
نازنین کریمی مقدم۲۱ شهریور ۱۴۰۲، ۰۶:۰۲
درود
برای اندروید باید جاوا و برای هوش باید پاید پایتون یاد بگیرید. هر دو حوزه پرطرفدار هستند و اگر توشون حرفه ای بشید درآمد خوبی خواهید داشت. براساس اینکه کدوم رو بیشتر دوست دارید یکی رو انتخاب کنید و پیش برید.
حسن خرسان۰۶ آبان ۱۴۰۲، ۱۲:۴۶
از نظرم من برید برای وب
۲۸ مرداد ۱۴۰۲، ۰۶:۵۷
سلام
من 14 سالمه و برنامه نویسی پایتون رو مفاهیم کلی تموم کردم
من از اول میخواستم برم سمت اندروید ولی گفتن بدون پیش زمینه نمیشه منم برای همین رفتم پایتون رو به عنوان پیش زمینه تموم کردم .
حالا سوالم این هست که تا چه مدت وقت میبره تا کاملا حرفه ای بشیم
و سوال بعدیم اینکه بعد یادگیری کلی و سطحی میشه با سن زیر 18 سال بری یه شرکت برای کاراموزی و هم کار کنی و یه حقوقی هم بدن ؟
خیلی ممنون لطفا کامل راهنمایی بفرمایید ممنون
نازنین کریمی مقدم۱۹ شهریور ۱۴۰۲، ۰۶:۴۱
درود
برای اندروید بهتره سراغ زبانی مثل جاوا یا کاتلین برید. پایتون برای اینکار مناسب نیست و سر خروجی اندروید حسابی به دردسر میفتید. اینکه گفتند بدون پیش زمینه نمیشه منظورشون یادگیری مقدماتی جاوا بوده نه پایتون!
زمان متغیره اما اغلب حدود سه ماه برای اینکه بتونید یک برنامه مقدماتی رو در پلتفرم اندروید بزنید نیاز هست.
بله اما به دلیل اینکه زیر سن قانونی هستید، قرارداد اغلب نمیبندند. پیشنهاد میکنم قرارداد رو به خانواده نشون بدید و بعد امضا کنید تا ازتون سواستفاده نشه و درآمد به صورت فریلنسری رو هم مدنظر داشته باشید (چون در این شیوه سن خیلی مهم نیست)
۱۲ مرداد ۱۴۰۲، ۲۳:۰۷
سلام و خسته نباشید خدمت شما .
آیا میشه هم در حوزه وب تسلط پیدا کرد و هم در حوزه هوش مصنوعی ؟
نازنین کریمی مقدم۱۵ مرداد ۱۴۰۲، ۱۰:۱۴
درود
در حالت کلی بله اما توصیه نمیشه. چون تایم زیادی باید بگذارید و درآمدتون تا مدتها پایین خواهد بود، چون از دید کارفرما یک متخصص نیستید.
۲۱ تیر ۱۴۰۲، ۲۱:۰۹
سلام خسته نباشید. میخواستم بدونم که آیا میشه هم برنامه نویس فول استک وب و اپلیکیشن موبایل شد طی طولانی مدت و تلاش زیاد میشه روی هردو کار کرد ؟
نازنین کریمی مقدم۲۳ تیر ۱۴۰۲، ۱۸:۱۲
درود
بله شدنی هست.
۲۴ خرداد ۱۴۰۲، ۱۷:۵۶
سلام ممنون از توضیحات فوق العادتون.من علاقه مند به حوزه انیمیشن هستم.و دوست دارم یک زبان برنامه نویسی که بیشتر به این قسمت مربوط هست رو هم یاد بگیرم اما نمیدونم جز کدام پلتفرم میشه .ممنون میشم راهنمایی م کنید.
نازنین کریمی مقدم۲۵ خرداد ۱۴۰۲، ۱۹:۳۴
درود
شما باید با نرم افزارهای گرافیک شروع کنید و حوزه کاری تون رو مشخص کنید.
مثلا برای گرافیک دوبعدی مثل فتوشاپ و ایلاستریتور به برنامه نویسی نیاز ندارید اما برای گرافیک سه بعدی اگر به سراغ نرم افزاری مثل مایا برید، درونش کدنویسی هم داره که به زبان mel هست.
۱۰ دی ۱۴۰۱، ۲۲:۳۷
چرا حرفی از شبکه و امنیت نزدید؟؟
نازنین کریمی مقدم۱۱ دی ۱۴۰۱، ۱۷:۳۳
درود
چون این شاخه یجورایی بین رشته ای هست (بخصوص با آیتی) و تمرکز صددرصدی روی برنامه نویسی نداره.
در اصل شبکه و امنیت خودش یک شاخه بسیار بزرگ هست که نیاز به دید تخصصیتر از صرفا برنامه نویسی داره.
۲۷ آذر ۱۴۰۱، ۱۹:۴۵
سلام
شما برای برنامه نویسی تحت وب فول استک زبان پایتون رو تایید میکنید واینکه چه دوره ای پیشنهاد میکنید
نازنین کریمی مقدم۲۸ آذر ۱۴۰۱، ۰۶:۲۲
درود
وب شامل دو بخش فرانت اند و بک اند هست و به تجمیع این دو فول استک میگن. پایتون برای بک اند مناسبه و میتونید از منوی بالای سایت سرفصلهای دوره متخصص پایتون وب رو بررسی کنید.
برای بخش فرانت اند هم باید به html + css+ js مسلط بشید که شامل دوره طراحی وب + جاوا اسکریپت میشه.
۲۱ آبان ۱۴۰۱، ۱۴:۴۵
واقعا سایت بسیار فوقالعاده ای هست ممنونم از سازندگان و نویسندگان محترم این سایت و مطالب ❤️
ببخشید برنامه نویسی برای گوشی موبایل خیلی سنگین نیست؟ و اینکه بعد چند مدت با یه پشتکار قوی و گذاشتن وقت زیاد میشه یه برنامه نویس خوب شد، در حد برنامه نویسی سایت یا پیام رسان ساده
نازنین کریمی مقدم۲۱ آبان ۱۴۰۱، ۱۸:۴۴
درود
برنامه نویسی موبایل از اون حوزه هاست که حتما باید سعی کنید دوره درست ببینید و صرفا با سرچ در نت کارتون راه نمیفته، اما زمینه جذابی هست و اگر منبع مناسبی داشته باشید سنگین نخواهد بود.
البته زمان خیلی به خود فرد بستگی داره، اما در حالت عادی شما اگر به صورت تمام وقت یک ماه روی مفاهیم پایه برنامه نویسی وقت بگذارید و سه ماه روی اندروید، میتونید یه بازی کلمه ای ساده با اندروید استودیو بسازید.
۰۶ آبان ۱۴۰۱، ۰۴:۴۳
مفید بود. خیلی ممنونم
۱۴ مهر ۱۴۰۱، ۰۶:۲۴
عالی بود ممنونم از تیم سون لرن
۱۵ مرداد ۱۴۰۱، ۰۸:۵۴
عالی بود
۱۲ اسفند ۱۴۰۰، ۲۳:۰۴
بسیار عالی
راهنمای مقاله
برنامه نویسی حوزه موبایل
توسعه اپلیکیشن کراس پلتفرم
برنامه نویسی حوزه دسکتاپ
برنامه نویسی تحت وب
زبانهای برنامه نویسی حوزه داده کاوی، هوش مصنوعی و یادگیری ماشینی
توسعه بازیهای رایانهای
راهنما و فهرست مقاله
برنامه نویسی حوزه موبایل
توسعه اپلیکیشن کراس پلتفرم
برنامه نویسی حوزه دسکتاپ
برنامه نویسی تحت وب
زبانهای برنامه نویسی حوزه داده کاوی، هوش مصنوعی و یادگیری ماشینی