فهرست مقاله
- ۱. برنامهنویسی وب Web Programming
- ۲. برنامهنویسی موبایل Mobile Programming
- ۳. علم داده Data Science
- ۴. برنامهنویسی دسکتاپ Desktop Programming
- ۵. هوش مصنوعی و یادگیری ماشین Artificial Intelligence and Machine Learning
- ۶. توسعه بازی Game Development
- ۷. امنیت سایبری Cybersecurity
- ۸. رایانش ابری Cloud Computing
- ۹. اینترنت چیزها (اشیاء) Internet of Thing – IoT
در دنیای برنامهنویسی و توسعه نرمافزار حوزههای متنوع و بسیار زیادی داریم. برای اینکه بخواهیم حوزه کلی خودمان را انتخاب کنیم احتیاج است تا حدودی با آنها آشنا شویم و اطلاعاتی کسب کنیم.
۱. برنامهنویسی وب Web Programming
طراحی و توسعه وب به فرایند ساخت وبسایتها و وب اپلیکیشنها (نرمافزارهای تحت وب) گفته میشود. شامل تمام فعالیتهایی میشود که برای طراحی و توسعه در بخش ظاهر سایت (فرانتاند front-end) و بخش سرور (بکاند back-end) انجام میدهیم.
بخش فرانت-اند یا ظاهر سایت جایی است که کاربر با آن سروکار دارد، ازجمله رابط کاربری،گرافیک و انیمیشنها.
بخش بک-اند به فعالیتها و اتفاقهایی اشاره دارد که روی سرور اجرا میشوند و کاربر بیشتر آنها را نمیبیند و فقط بخشی از نتیجه را مشاهده میکند. فعالیتهایی مانند ارسال مطالب وبلاگ برای نمایش دادن به کاربر، ذخیره دادهها، امنیت و تائید هویت کاربران.
زبانها و تکنولوژیهای مورد نیاز برای front-end
HTML
CSS
JavaScript
زبانهای برنامهنویسی بخش back-end
JavaScript
PHP
Python
ASP.NET (.NET Core)
GoLang
Java
با توجه به نیاز افراد و کسبوکارها با داشتن وبسایت و تغییر فرهنگ مردم برای خرید آنلاین، برنامهنویسی وب یکی از پرطرفدارترین حوزههای برنامهنویسی است.
۲. برنامهنویسی موبایل Mobile Programming
ساخت اپلیکیشن برای دستگاههای هوشمند و قابل حمل مانند دستگاههای اندروید و آیاواس iOS با استفاده از زبانهای برنامهنویسی مانند
💎 جاوا Java
💎 کاتلین Kotlin
💎 سویفت Swift
💎 ریاکت نیتیو React Native
در این بخش دو نوع توسعه و دو پلتفرم اصلی داریم:
توسعه بومی Native
توسعه بین پلتفرمی (کراس پلتفرم) Cross-Platform
پلتفرم اندروید
پلتفرم iOS
توسعه بومی Native Development
ایجاد برنامههای کاربردی بهطور خاص برای یک پلتفرم، مانند iOS یا Android.
این مدل از توسعه توسط زبانهای برنامهنویسی مانند Swift برای iOS و Kotlin برای Android انجام میشود.
توسعه بین پلتفرمی Cross-platform Development
این کار معمولاً با استفاده از فریمورکها و ابزارهایی مانند React Native، Xamarin یا Flutter انجام میشود که به توسعهدهندگان اجازه میدهد یکبار کد بنویسند و آن را در چندین پلتفرم مستقر کنند.
پلتفرم اندروید
برای برنامهنویسی اندروید باید به هسته زبان برنامهنویسی کاتلین Kotlin مسلط شوید.
پلتفرم iOS
تا قبل از اینکه اپل برای تلفنهای همراه خودش زبان برنامهنویسی رسمی و اختصاصی تولید کند تمام برنامههای iOS به زبان برنامهنویسی Objective-C نوشته میشدند.
اما از سال ۲۰۱۴ سوئیفت Swift منتشر شد. هرچند که Swift توسط Objective-C نوشته شده است اما درست مانند گوگل که زبان اختصاصی خودش با امکانات و امنیت بیشتر را ارائه داد، اپل هم این کار را انجام داد تا از آن به بعد برای appleTV، iOS، مک اینتاش macOS و ساعت appleWatch از این زبان برنامهنویسی استفاده شود.
۳. علم داده Data Science
با توجه به انفجار اطلاعات و چند برابر شدن ماهانه آن، علم داده امروزه بسیار پرطرفدار است. علم داده شامل استفاده از مدلها آماری و ریاضی است برای تجزیه تحلیل و تفسیر دادهها. برای این کار از زبانهایی مانند پایتون Python، R و SQL استفاده میشود.
در علم داده برای رسیدن به اطلاعات با ارزش چندین مرحله انجام میشود:
جمعآوری اطلاعات Data Collection
پاکسازی اطلاعات Data Cleaning
تجزیهوتحلیل دادهها Data Analysis
تفسیر دادهها Data Interpretation
۴. برنامهنویسی دسکتاپ Desktop Programming
برنامهنویسی دسکتاپ یعنی تولید نرمافزار (مثل نرمافزار حسابداری، فتوشاپ یا آفیس) برای یکی از سیستمعاملهای ویندوز، لینوکس یا مک اینتاش.
به دلیل محبوبیت و استفاده زیاد ویندوز در ایران، معمولاً بازار برنامهنویسی برای این سیستمعامل بیشتر است.
زبانهای برنامهنویسی برای ویندوز
در ایران، سی شارپ C# و خانواده دات نت .NET بسیار پرطرفدار هستند و اگر اینها را یاد بگیرید میتوانید بهسرعت وارد بازار کار شوید.
محیط توسعه برنامههای ویندوزی که توسط مایکروسافت ساخته شده است ویژوال استودیو Visual Studio نام دارد. در نسخه رایگان این نرمافزار امکانات اولیه در دسترس هستند.
اگر در فکر مهاجرت هستید و یا قصد دارید با بازار بیرون از ایران کار کنید جاوا Java گزینه بهتری است.
زبان برنامهنویسی برای مک اینتاش
اپل سوئیفت Swift را بر اساس زبان برنامهنویسی Objective-C ساخته است و آن را بهصورت کامل پشتیبانی میکند، به همین دلیل بهترین انتخاب میتواند Swift باشد.
زبان برنامهنویسی برای لینوکس
اگر ابتدای راه هستید سراغ جاوا Java بروید. اگر تجربه چند ساله در برنامهنویسی دارید و تحمل یک زبان برنامهنویسی سخت و پیچیده را دارید میتوانید به C++ فکر کنید.
۵. هوش مصنوعی و یادگیری ماشین Artificial Intelligence and Machine Learning
ایجاد سیستمهایی که میتوانند یاد بگیرند و تصمیم بگیرند. معمولاً از زبانهای برنامهنویسی مانند پایتون Python، جاوا Java، سی پلاس پلاس C++ استفاده میشود. هوش مصنوعی Artificial Intelligence شاخهای از علوم کامپیوتر است که بر روی ساخت ماشینهایی تمرکز دارد که بتوانند هوش انسان را شبیهسازی کنند و کارهایی انجام دهند که به هوش انسانی نیاز دارد.
ماشینهایی با این ویژگیها:
درک زبان طبیعی understanding natural language
تشخیص تصاویر recognize images
تصمیمگیری making decision
یادگیری ماشین (ML) زیرشاخهای از هوش مصنوعی است که با استفاده از الگوریتمهای آماری و محاسباتی به ماشینها قدرت یادگیری از دادهها و اطلاعات را میدهد، بدون اینکه برنامهنویسی برای انجام کارها انجام شده باشد.
به عبارت دیگر، هوش مصنوعی فرآیند آموزش ماشینها برای یادگیری از طریق تجربه است، درست مانند انسانها.
امروزه اپلیکیشنها میدانند شما دقیقاً دنبال چه چیزی هستید، چه رنگی دوست دارید، از چه حیواناتی خوشتان میآید و تقریباً دانش نزدیک به صددرصدی از شما و شخصیتتان دارند.
این اطلاعات از خود ما و رفتارمان جمعآوری، دستهبندی و تحلیل میشوند.
۶. توسعه بازی Game Development
ساخت بازی با استفاده از موتورهای بازی مانند Unity و زبانهای برنامهنویسی از قبیل سی شارپ #C، جاوا Java و جاوا اسکریپت JavaScript.
طراحی، برنامهنویسی و تولید بازی و همچنین آزمایش و اصلاح آن برای اطمینان از تجربه کاربری خوب.
توسعه بازی به ترکیبی از مهارتهای هنری، فنی و مدیریت پروژه نیاز دارد.
فرآیند توسعه بازی
۱. طراحی مفهوم و شکل ظاهری Game Concept and Design
۲. انتخاب موتور بازی Game Engine
۳. تولید گرافیکها (تصاویر و صحنههای بازی)
۴. کد نویسی و برنامهنویسی
۵. تولید صدا و موسیقی
۶. تست و دیباگ
۷. انتشار و پشتیبانی بعد از انتشار (بهروزرسانی، رفع باگ)
۷. امنیت سایبری Cybersecurity
محافظت از سیستمها و شبکههای کامپیوتری در برابر هکرها و حملات. معمولاً از زبانهای برنامهنویسی مانند سی پلاس پلاس، پایتون و جاوا استفاده میشود. حملات سایبری و هک مانند
ویروسها
کرمها worms
تروجان Trojan
باجافزار ransomware
فیشینگ phishing
مهندسی اجتماعی social engineering
متخصصان امنیتی از ابزارها و برنامههایی استفاده میکنند که بتوانند این خطرات و حملهها را شناسایی کنند.
۸. رایانش ابری Cloud Computing
رایانش ابری (محاسبات ابری) شامل استقرار و مدیریت برنامهها و سرویسها بر روی پلتفرمهای ابری مانند AWS، Google Cloud و Microsoft Azure است که اغلب از زبانهایی مانند Python، Java و Node.js استفاده میکنند.
مزایای رایانش ابری
مقیاسپذیری Scalability
انعطافپذیری
مقرونبهصرفه بودن
قابلاطمینان بودن
سه مدل اصلی رایانش ابری
زیرساخت بهعنوان یک سرویس (IaaS – Infrastructure as a Service)
پلتفرم بهعنوان سرویس (PaaS – Platform as a Service)
نرمافزار بهعنوان سرویس (SaaS – Software as a Service)
۹. اینترنت چیزها (اشیاء) Internet of Thing – IoT
ایجاد دستگاهها و سیستمهایی که به اینترنت متصل هستند و اغلب از زبانهایی مانند Python، C Plus Plus و JavaScript استفاده میکنند.
اینترنت اشیا یا اینترنت چیزها به شبکهای از دستگاههای فیزیکی، وسایل نقلیه، لوازمخانگی و سایر مواردی گفته میشود که حسگرها، نرمافزارها و اتصالاتی دارند که به آنها امکان جمعآوری و تبادل داده از طریق اینترنت را میدهد.
کاربردها
خانههای هوشمند
دستگاههای پوشیدنی
خودکارسازی
حملونقل
نظارت بر محیطزیست
و…
جمعبندی
امروزه انتخاب بین حوزههای مختلف برنامهنویسی کار بسیار دشواری شده است. برای ورود به بعضی از حوزهها به دلیل پرطرفدار بودن آنها وسوسه میشویم، مراقب باشید اینها روی انتخاب شما تأثیر منفی نگذارند.
تبلیغات
تبلیغات گمراهکننده و اغراق شده از یک حوزه برنامهنویسی خاص در شبکههای اجتماعی.
موجهای مهاجرتی
تحتتأثیر موجهایی مانند فراگیرشدن حوزه هوش مصنوعی که در شبکههای اجتماعی و عموم مردم ایجاد میشود وارد یک حوزه نشوید.
احساساتی نشوید
با دیدن میزان درآمد یک شخص خاص یا بازار کار یک زبان برنامهنویسی خاص تصمیم نگیرید.
هر حوزه برنامهنویسی سختیها و مشکلات خودش را دارد. با چشم باز و تحقیقات مفصل انتخاب خود را انجام دهید اما گرفتار کامل گرایی نشوید.
وارد یک حوزه بشوید. یاد بگیرید و تجربه کسب کنید.
مطمئن باشید هر تجربهای در هر بخش از دنیای فناوری اطلاعات در آینده به دردتان میخورد.
میانگین امتیاز 4.7 / 5. تعداد آرا: 10
اولین نفری باشید که امتیاز می دهید