قبل از مطالعه این بخش از مقاله، پیشنهاد میشود ابتدا بخش اول این مقاله را مطالعه فرمایید.
3. C/C++
C و C++ در دنیای برنامه نویسی حضور چشمگیری دارند. تقریبا تمام سیستمهای سطح پایین مانند سیستم عاملها و سیستمهای فایل با زبان C/C++ نوشته می شوند. اگر میخواهید یک برنامه نویس در سطح سیستم باشید، اینها زبانهای برنامه نویسی هستند که باید یاد بگیرید.
C++ همچنین به دلیل سرعت و پایداری بسیار زیاد توسط برنامه نویسان رقابتی به طور گسترده مورد استفاده قرار میگیرد. چیزی به نامSTL Standard Template Library را ارائه میدهد. این مجموعهای از کتابخانههای آماده برای استفاده برای ساختارهای داده، عملیات حسابی و الگوریتمهای مختلف است. پشتیبانی از کتابخانه و سرعت زبان آن را به یک انتخاب محبوب در جامعه تجاری با فرکانس بالا نیز تبدیل کرده است.
سطح دشواری : یادگیری آسان تا متوسط
چشم انداز شغلی : خوب است، اگرچه رایج ترین فرصت شغلی نیست
جوانب مثبت :
- چندین کامپایلر و کتابخانه برای کار با [C++]
- دسترسی به اشیاء مسدود شده یا پنهان شده توسط سایر زبانهای برنامه نویسی را آسان می کند [C]
- اجرای سریعتر برنامه ها نسبت به اکثر زبانهای برنامه نویسی [C/C++]
- پایه ای برای درک زبانهای برنامه نویسی پیچیده تر [C/C++]
- زبان انتخابی برای توسعه اپلیکیشن چند دستگاهی و چند پلتفرمی [C++]
- درجه بالایی از قابلیت حمل را ارائه میدهد [C]
- زبان رویه گرا با گروهی از ماژول ها و بلوکهای تابع. اینها اشکال زدایی، آزمایش و نگهداری برنامهها را آسان تر میکند [C].
- برنامهها کارآمدتر و قابل درک تر هستند [C/C++]
- کتابخانه تابع غنی [C++]
- نزدیک به سخت افزار سیستم اجرا میشود و از این رو، سطح پایینی از انتزاع را ارائه میدهد [C/C++]
- پشتیبانی از مدیریت استثنا و اضافه بار عملکرد [C++]
- طیف گسترده ای از دامنههای برنامه، مانند بازیها، برنامههای رابط کاربری گرافیکی، و شبیه سازیهای ریاضی بلادرنگ [C++]
معایب :
- نحو پیچیده [C/C++]
- از فضای نام برنامه [C] پشتیبانی نمیکند
- ناتوان در حل چالشهای برنامه نویسی مدرن و واقعی [C]
- سیستم شی گرا کمتر کارآمد در مقایسه با سایر زبانهای برنامه نویسی مبتنی بر OOP [C++]
- نیاز به ایجاد دستی ساختارهای سطح بالا [C]
- بدون جمع آوری زباله یا تخصیص حافظه پویا [C/C++]
- بدون بررسی زمان اجرا [C/C++]
- بدون بررسی دقیق نوع [C]
- انتخاب اول آسانی برای یادگیری برنامه نویسی نیست [C/C++]
- گرفتار مشکلات سرریز بافر و خرابی حافظه [C/C++]
- کتابخانه استاندارد کوچکتر [C]
4. جاوا اسکریپت
جاوا اسکریپت زبان برنامه نویسی “frontend” است. جاوا اسکریپت به طور گسترده برای طراحی برنامههای کاربردی تعاملی استفاده میشود. به عنوان مثال، جاوا اسکریپت چیزی است که وقتی روی دکمهای کلیک میکنید که یک پنجره باز میشود استفاده میشود.
امروزه، بسیاری از سازمانها، اغلب استارتاپها، از NodeJS، یک محیط زمان اجرا مبتنی بر جاوا اسکریپت استفاده میکنند. Node.js به توسعه دهندگان این امکان را میدهد که از جاوا اسکریپت برای اسکریپت نویسی سمت سرور استفاده کنند. اسکریپتهای در حال اجرا در سمت سرور برای تولید محتوای صفحه وب پویا قبل از ارسال صفحه به مرورگر وب کاربر. به این ترتیب JS اکنون میتواند برای هر دو اسکریپت سمت سرور و کلاینت استفاده شود. اگر در استارتاپ مورد علاقه خود به دنبال آن شغل فنی جالب هستید، باید به طور جدی به یادگیری جاوا اسکریپت فکر کنید.
سطح دشواری : آسان
چشم انداز شغلی : بسیار عالی، زیرا چندین استارتاپ از آن استفاده میکنند
جوانب مثبت :
- جاوا اسکریپت سمت کلاینت بسیار سریع است. بلافاصله در مرورگر وب اجرا میشود زیرا نیازی به کامپایل نیست.
- رابط وب سایت را غنی تر میکند
- بسیار همه کاره
- به عنوان “زبان برنامه نویسی وب” عمل میکند
- به دلیل سمت مشتری بودن، تقاضای سرور وب سایت را کاهش داد
- به روز رسانیهای منظم از طریق مشخصات ECMA
- چندین افزونه، مانند Greasemonkey، برای افزایش عملکرد
- پیاده سازی ساده
- منابع فراوان و پشتیبانی عالی جامعه
- برای ساخت طیف متنوعی از برنامهها استفاده میشود
- با سایر زبانهای برنامه نویسی فوق العاده خوب کار میکند
معایب :
- عدم وجود روش کپی یا معادل آن
- فقط به ارث بردن منفرد اجازه میدهد
- با اجرای کد بر روی ماشین کاربر، بسیاری از افراد به دلیل ترس از سوء استفاده برای یک هدف مخرب، جاوا اسکریپت را غیرفعال میکنند.