۹ زبان برنامهنویسی محبوب که ارزش یادگرفتن دارند
تنوع زبانهای برنامهنویسی باعث شده که علاقهمندان به یادگیری هنگام انتخاب زبان موردنظرشان با مشکلاتی مواجه شوند؛ بهقولمعروف تا بیایند بررسی کنند که کدام زبان برنامهنویسی مناسبشان است، زمان زیادی را از دست دادهاند. با مدتی جستوجو و مطالعه دربارهی زبانهای برنامهنویسی متوجه خواهید شد که تعداد زبانهای برنامهنویسی محبوب آنقدرها هم زیاد نیست؛ با علم به این موضوع که دقیقا میخواهید بعد از یادگیری برنامهنویسی چهکار کنید، میتوانید یک زبان برنامهنویسی مناسب را انتخاب کنید. در این مقاله با ۹ زبان برنامهنویسی محبوب که هنوز هم بهشدت ارزش یادگرفتن دارند آشنا میشوید. با دیجیکالا مگ همراه باشید.
جاوا اسکریپت
بسیاری از کاربران «جاوا اسکریپت» (JavaScript) و جاوا را با هم اشتباه میگیرند. جاوا اسکریپت یک زبان کاملا مستقل و جدا از جاوا است. وجود نام جاوا در ابتدای جاوا اسکریپت تنها یک شباهت اسمی است. جاوا اسکریپت در درجهی اول یک زبان اسکریپتی سمت کاربر برای وب است که از آن برای توسعهی رابط کاربری استفاده میشود. برنامههای وب در زبانهای سمت کاربر روی کامپیوتر کاربر اجرا و از منابع سیستمی مثل رم و CPU کاربر استفاده میکنند.
تا مدتی پیش از جاوا اسکریپت تنها در وبسایتها برای انجام برخی رویدادهای سمت کاربر (رویدادهایی که در مرورگر وب اجرا میشوند) استفاده میشد. بعد از مدتی پای فریموُرکها در جاوا اسکریپت باز شد و کارها با سادگی و سرعت هرچهتمامتر انجام پذیرفت. درواقع قبل از ورود فریمورکها در جاوا اسکریپت، ساخت وب اپلیکیشنها هیچگاه به این سادگی نبود. ساخت وب اپلیکیشنها بهوسیلهی کتابخانههایی مانند jQuery ،AngularJS ،Ember.js ،React و غیره انجام میشود.
علاوهبر وب اپلیکیشنهای تحت مرورگر، از جاوا اسکریپت میتوان برای ساخت اپلیکیشنهای تحت سرور استفاده کرد. اینها اپلیکیشنهایی هستند که میتوانند برای انجام برخی فعالیتها مانند ذخیرهی اطلاعات در پایگاه داده به سرور متصل شوند. برای این منظور پلتفرمی تحت عنوان Node.js ارایه شده که با وجود عمر بسیار کم، جامعهی بسیار فعالی دارد. پیشرفت تلفنهای هوشمند و اپلیکیشنهای آنها بر کسی پوشیده نیست. جاوا اسکریپت هم برای عقبنماندن از این دنیا با ارایهی فریمورکی با نام PhoneGap به توسعهدهندگان این امکان را داده که برای سیستمهای عامل مختلف نرمافزارهای هیبریدی تولید کنند. تنها کافی است که با جاوا اسکریپت، HTML و CSS آشنا باشید تا بتوانید نرمافزار هیبریدی خود را برای هر سیستم عاملی تولید کنید. از طرفی شرکت فیسبوک هم فروردین ۱۳۹۴ فریمورکی را با نام React Native ارایه کرد که به کمک آن میتوان با جاوا اسکریپت اقدام به تولید نرمافزارهای Native روی این پلتفرم کرد.
روبی
سازندگان زبان برنامهنویسی «روبی» (Ruby) آن را اینگونه توصیف کردهاند: «زبانی که به کمک آن برنامهنویسان با لذت و اشتیاق اقدام به تولید نرمافزار کنند.» یا «زبان برنامهنویسیای که روی نیازهای انسان تاکید دارد نه روی نیازهای ماشین.»
روبی از طریق فریمورک قدرتمند «روبی آن ریلز» (Ruby on Rails) که برای ساخت برنامههای تحت وب بهینه شده، محبوبیت خاصی را بهدست آورده است. روبی بهخوبی میتواند شما را در انجام پروژههای بزرگ همراهی کند. این زبان حاصل مطالعهی خالق آن روی زبانهای SmallTalk ،Ada ،Perl ،Eiffel و Lisp است.
پایتون
«پایتون» (Python) جزو محبوبترین زبانهای برنامهنویسی دانشگاههای ایالات متحده امریکا است. توسعهدهندگان از پایتون برای ساخت اپلیکیشنهای دسکتاپ و موبایل استفاده میکنند. همچنین پایتون گزینهی بسیار مناسبی برای انجام فعالیتهای داده کاوی (Data Mining) است.
پایتون محبوبیت بالایی در جوامع علمی و دانشگاهی برای فعالیت در حوزههای تحلیل داده و بیوانفورماتیک دارد. از پایتون برای برنامهنویسی در ویندوز، مک و لینوکس میتوان استفاده کرد. گوگل، دراپ باکس، پینترست، اینستاگرام، ردیت، بیت تورنت و Civilization IV شرکتهایی هستند که از پایتون در بسیاری از پروژههایشان بهره میبرند.
پیاچپی
«پیاچپی» (PHP) یک زبان اسکریپتی سمت سرور و متنباز (Open Source) است. بسیاری از وبسایتهایی که روزانه از آنها بازدید میکنید، بهوسیلهی PHP ساخته شدهاند. فیسبوک، یاهو، ویکیپدیا، تامبلر، وردپرس و بسیاری دیگر از سایتها مواردی هستند که از PHP قدرت گرفتهاند.
PHP قواعد دستوری سختی ندارد که این موضوع باعث میشود بهراحتی بتوانید آن را یاد بگیرید. جالب است به این نکته اشاره کنیم که شما از همان اولین روزهای یادگیری PHP میتوانید پروژههای خوبی تولید کنید که باعث بالا رفتن روحیهتان برای ادامهی کار میشود.
جاوا
«جاوا» (JAVA) زبانی چندسکویی (Cross-Platform) و مستقل از سیستم عامل است که ویژگیهایی مانند امنیت و قابلیت استفاده در پلتفرمهای مختلف را برای توسعهدهندگانش به ارمغان میآورد. از جاوا برای ساخت اپلیکیشنهای اندروید، برنامههای دسکتاپی و بازیها میتوان استفاده کرد.
جاوا زبانی کلاسیک و ریشهدار است که بهخوبی از پس انجام پروژههای نرمافزاری بزرگ (Enterprise) برمیآید. علاوهبراین «هدوپ» (Hadoop) یک فریمورک تحت جاوا برای انجام پردازش روی دادههای بزرگ (Big Data) است که در وبسرویسهای یاهو، فیسبوک و آمازون مورد استفاده قرار میگیرد. بنابراین چه بخواهید برای تلفن همراهتان اپلیکیشن بسازید و چه بخواهید روی الگوریتمهای پیچیده کار کنید، جاوا یک همراه خوب برای شما خواهد بود.
C و ++C
از زبان برنامهنویسی C معمولا برای ساخت برنامههای سیستمی استفاده میشود. زبان برنامهنویسی C یک زبان قابل آمیخته شدن با سایر زبانها در سیستم عامل است. ++C یک زبان قدرتگرفته از C است. از ++C در ساخت موتورهای بازیسازی، نرمافزارهای دسکتاپی، اپلیکیشنهای موبایل و حتی نرمافزاری تحت وب میتوان استفاده کرد. ++C بسیار سریع و قدرتمند است؛ طوریکه فیسبوک از آن برای انجام پردازشهای سنگین استفاده میکند.
اگر شما درک خوبی از زبان C داشته باشید در یادگیری سایر زبانهای برنامهنویسی مشکلی نخواهید داشت. ازآنجاکه هنگام برنامهنویسی به زبان ++C / C برای انجام یک فعالیت ساده نیاز است که مقدار کد زیادی نوشته شود، بسیاری از برنامهنویسان مبتدی روحیهشان را در ابتدای کار از دست میدهند. فراموش نکنید که یادگیری C یا ++C درک خوبی از منطق برنامهنویسی به شما میدهد. بنابراین اگر در ابتدای کار هستید به شما پیشنهاد میکنیم که برای داشتن درک خوب از برنامهنویسی مدتی روی یادگیری ++C / C وقت بگذارید ولی انتظار ساخت نرمافزارهای حرفهای را نداشته باشید.
آبجکتیو-سی / سوییفت
درواقع «آبجکتیو-سی» (Objective-C) یک لایهی ساختهشده روی زبان C است که به کمک آن میتوان برای محصولات شرکت اپل اپلیکیشن ساخت. «سوییفت» (Swift) یک زبان برنامهنویسی ارایهشده بهوسیلهی شرکت اپل است که سازگاری خوبی با Objective-C دارد. به مانند زبان پایتون، هدف سوییفت یادگیری آسان است؛ طوریکه تازهکارها هم بتوانند بهسادگی از آن بهره ببرند.
شرکت اپل سوییفت را ارایه کرد تا به کمک آن بتوان با حداقل کد نوشتهشده، برنامههایی با سرعت و امنیت بالا تولید کرد. اگر میخواهید برای آیپد و آیفونتان اپلیکیشنی حرفهای تولید کنید میتوانید از Objective-C یا سوییفت استفاده کنید. البته پیشنهاد ما به کسانی که تازه میخواهند شروع به یادگیری کنند، سوییفت است.
سی شارپ
«سی شارپ» (#C) محصولی از شرکت مایکروسافت و بر پایهی فریمورک «دات نت» (.net) است. از #C برای برنامهنویسی تحت وب (بهوسیلهی ASP)، ساخت بازیهای کامپیوتری و ساخت نرمافزارهای دسکتاپی میتوان استفاده کرد.
اگرچه در گذشته #C یک زبان چندسکویی نبوده ولی هماکنون به کمک پروژهای تحت عنوان Mono که بهوسیلهی شرکت «زامارین» (Xamarin) ارایه شده، میتوان از #C برای برنامهنویسی اندروید و iOS هم استفاده کرد.
اس کیو ال
اگرچه از «اسکیوال» (SQL) در ایران زیاد به عنوان یک زبان برنامهنویسی یاد نمیشود و صرفا مهارتی الزامی در کنار سایر مهارتها به شمار میرود. ولی با رشد اهمیت موضوعاتی مانند بزرگ دادهها (Big Data) ترجیحمان بر این بود که SQL هم در این لیست قرار گیرد.
از SQL برای کار روی پایگاههای داده در محیطهای مختلف میتوان استفاده کرد. تقریبا در هر زمینهی برنامهنویسی که بخواهید کار کنید، برای ذخیرهسازی اطلاعاتتان در پایگاه داده به SQL نیاز خواهید داشت. یادگیری SQL بسیار سریع و لذتبخش است. با یادگیری این زبان و حرفهای شدن در آن میتوانید به عنوان یک مدیر پایگاه داده کار کنید.
با اطلاعاتی که در اختیارتان قرار دادیم باید بتوانید که یک زبان برنامهنویسی را برای یادگیری انتخاب کنید. شاید هم با خواندن این مقاله همچنان سوالاتی در ذهنتان در مورد انتخاب یک زبان برنامهنویسی وجود داشته باشد. سوالاتی دربارهی فرصتهای شغلی هر کدام از زبانها یا حتی جامعهی پشتیبانیکننده و آیندهی هر کدام از آنها. طی روزهای آینده با دیجیکالا مگ همراه باشید. ما به شما در انتخاب زبان برنامهنویسی مناسب کمک خواهیم کرد.
شما چه زبان برنامهنویسی دیگری را برای یادگیری پیشنهاد میکنید؟ تجربیاتتان را با دیگران به اشتراک بگذارید.
جاوا اسکریپت یک زبان اسکریپتی هست بلکه جاوا اسکریپت یک زبان برنامه نویسی مستقل و جدا هست
الان موتور بازی سازی یونیتی تری دی که از بهترین موتورهای بازی سازی دنیاست و خیلی از شرکت های بزرگ دارن ازش استفاده می کنن و خیلی ها جدیدا به سمتش در دنیا رو آوردن یکی از زبان هایی که پشتیبانی می کنه برای بازی نویسی جاوا اسکریپت هست! کلا از سه زبان پشتیبانی می کنه یکی جاوا اسکریپت یکی سی شارپ و یکی هم زبان “بو” در هر صورت خواستم بگم که جاوا اسکریپت فقط برای وب نیست و لطفا انقدر این زبان قدرتمند و بزرگ رو محدود نکنین
در ضمن هیچ زبانی از اون یکی بهتر نیست هر کدام کاربردی دارن وبستگی داره که به چه کاری نیاز داشته باشی تجربه من از کار با سی شارپ و جاوا اسکریپت اینه که این زبان ها فوق العاده هستن
متن اصلی خیلی نا دقیق است!
اولن در موضوع BigData دیگه SQL مطرح نیست و پایگاه دادههای NoSQL مطرح میشه.
بعد بر خلاف تصور خیلیها زبان SQL از نسخه ۹۹ به بعد Turing Complete است. یعنی میشه باهاش مساله حل کرد! و جالبیش اینه خیلی سطح بالاتر از بقیه است چون تو این زبان کاری که انجام میشه گفته میشه و نه راه حلش!
و در نهایت هر کدام این زبانها استفاده و جایگاه خودش رو داره و برای یک کاری مناسبتر و یا حداقل کم هزینهتز است و میشه در زمان کمتر باهاش نتیجه مناسب تولید کرد.
سلام امیرجان.
این مطلب قرار است علاقهمندانی که هیچ دیدی نیست به برنامه نویسی ندارند یا تازه وارد این دنیا شدهاند را از سردرگمی خارج و به آنها کمک کند. بنابراین برای یادگیری گام به گام آنها و رسیدن به درک در مورد مفاهیمی مانند بزرگ دادهها نیاز است که با مباحث ساده در مورد ذخیره سازی اطلاعات در پایگاههای داده آشنا باشند.باید قبول کنیم که فراگیرترین پایگاه داده تا اکنون SQL است. در مورد زبانهای برنامهنویسی با شما هم عقیدهایم و هدفمان این است که واقعا همه کاربرانمان خیلی زود به این نتیجه برسند.
موفق باشید
ببخشید جناب اسماعیلی
https://www.digikala.com/mag/%D9%85%D9%82%D8%A7%D9%84%D9%87-article/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C/
تو این صفحه گفتید که با جستوجوی ساده در گوگل (البته به زبان انگلیسی) در انجام پروژهای داوطلبانه شرکت کنید
ببخشید میشه لطف کنید بگید دقیقا چه عبارتی رو سرچ کنیم؟
اَـــــــــــــــــــه
c++ اعصابمو خورد کرده چهار خط واسش کد مینویسی تا شاید یه انیمیشن موقع دکمه زدن بیاره
جاوا و پایتون و c# خیلی خوبن اول اونارو یاد بگیرید کارتونو راه میندازه
البته یه راهنمایی بکنم اگه میخواید بازی بسازید(حجمش مهم نیست) موتور unity بهترین انتخاب واسه اونایی هست که میخوان شروع کنن فقط انتظار نید فور اسپید نداشته باشید
ممنون
البته یکی رو یاد بگیرید تا آخر که مسلط بشید
سی پلاس پلاس یکم طول میکشه ولی عوضش آخر که یاد میگیرید یه دنیا از فناوری اطلاعات رو تو مشتتون دارید چون همه کارست و لی غیر حرفه ایا جاوا یا سی شارپ یا پایتون یاد بگیرن. چون دستتون واسه استفادش باز تره
سلام دوستان
واسم عجیبه چرا کسی راجب زبان پایتون نظری نداد . پایتون یه زبان قدرتمنده که یادگیری اون خیلی ساده و لذت بخشه . واسه هکرا و مهندسای شبکه هم بهترین زبانه .
پایتون . روبی .جاوا و … زبان های سطح بالایی هستن یعنی نزدیک به زبان انسان که نوشتن و یادگیریشون ساده هستش ولی سرعت کمتری نسبت به زبان های سطح میانی مثل(++C) و سطح پایین مثل اسمبلی دارند.
از زبان های سطح میانی بیشتر برای برنامه نویسی های سیستمی استفاده میشه که نیاز به سرعت کامپایل بیشتری دارند
به نظر من کاملترین زبان برای نوشتن وب PHP هستش که قبل از اون باید با HTML و CSS آشنایی کامل داشت.
برای نوشتن نرم افزارهای تحت وب بهتره از زبان های اسکریپتی استفاده کرد مثل java script و…
در مورد SQL منم موافقم که زبان برنامه نویسی نیست و زبان پرسوجو هستش ولی از اهمیت یادگیری اون کم نمیکنه و تقریبا همه جا به اون نیاز پیدا میشه.(Structured Query Language = زبان پرسوجوی ساخت یافته)
و این نکته رو هم تذکر میدم که کسی که برنامه نویسی به زبان سی یا سی ++ رو یادگرفته باشه . یادگیری زبان های دیگه واسش خیلی ساده هستش. پس از یاد گرفتن سی ترسی نداشته باشید و فکر نکنید بی فایده هستش.
در آخر باز میگم پایتون زبان خیلی ساده و کاربردی هستش.
سلام اقای اسماعیلی برای مطلب مفیدتون
میخواستم بدونم برای شروع برنامه نویسی از چه کتاب یا سایتی باید استفاده کرد؟
من نمیدونم منظورتون از این جمله “انتظار ساخت نرمافزارهای حرفهای را نداشته باشید.” در تعریف ++C چیه ولی باید اشاره کنم که تمامی نرم افزار های حرفه ای تحت همین زبان نوشته میشوند، از سیستم عامل ها گرفته تا نرم افزار های ی دسکتاپی، وب و موبایل و … زبان های دیگه بیشتر به صورت انحصاری یعنی تک منظوره قابل استفاده هستند بر عکس همین کار به صورت چند منظوره در ++C ممکن هست.
پیشنهاد من یادگیری زبان ++C هست، علاوه بر این میتونید سراغ زبان های JavaScript, CSS, HTML و QML هم برید چرا که تحت ++C شما هر غیر ممکنی رو ممکن میسازید.
درضمن راجب این جمله “ازآنجاکه هنگام برنامهنویسی به زبان ++C / C برای انجام یک فعالیت ساده نیاز است که مقدار کد زیادی نوشته شود، بسیاری از برنامهنویسان مبتدی روحیهشان را در ابتدای کار از دست میدهند.”
خب این اشتباهه و بر میگرده به عدم شناخت و همچنین معرفی صحیح این زبان.در ++C شما نیازی نیست کد زیادی بنویسید این زمانی هست که شما اطلاعات لازم رو جهت استفاده از کتابخانه های استاندارد ++C رو داشته باشید. برای مثال در ++C شما میتونید به حالت معمولی کد نویسی کنید و حتی برای طراحی یک دکمه خیلی ساده چندین خط کد بنویسید، در حالی که چنین موارد تحت کتابخانه های حرفه ای این زبان تنها با چند کد بسیار کوتاه پیاده میشه، کافیه با کتابخانه های مخصوص هدف خودتون اشنا باشید مثل: Qt, Poco و …
آقا c++ و در کل سی عالیه خداس اصلا اگه نبود که نابود بودیم قبول ولی بدرد کسی که میخواد طراحی سایت کنه، نرم افزار موبایلی بنویسه یا بعضی چیزای دیگه که من نمیدونم خوب نیس، زبان های بهتری هست براشون پس لطفا مراقب باشید ممکنه کسیو به مسیر اشتباهی راهنمایی کنید با نظراتتون
سلام کامبیز جان.
زبانهای C / C++ واقعا جزو حرفهایترین انتخابها برای کاربران هستند و ما به این موضوع کاملا واقفیم. در مورد کیوت و فریمورکهای چند سکویی مانند آن هم اطلاعات کافی داریم و به قدرت آنها شکی نیست. اما لازم است به این نکته اشاره شود که در متن بالا خطاب ما در مورد نوشتن مقدار کد زیاد، ناامید شدن و عدم توانایی در نوشتن برنامههای پیشرفته کاملا با مبتدیها و تازهکارها بوده که قاعدتا با فریمورکها اشنایی ندارند ولی در ذهنشان امید و آرزوهای بزرگ دارند.
موفق باشید
با سلام
من برنامه نویس حرفه ای زبان ++C هستم و با آن برنامه های کاربردی زیادی نوشته ام و در شرکتم برنامه نویس های زیادی روی آن کار میکنند. حتی برای وب و موبایل نیز با همین زبان برنامه نویسی میکنیم. بخاطر امکانات زیاد این زبان ما هیچ احساس کمبود و یا رفتن به سراغ زبان دیگری نگرفتیم. من نمیخواهم بگویم چه زبانی خوب و یا بد است. برنامه نویس باید انتخاب کند. اگر سرعت میخواهید بیسیک زبان خوبیست ولی اگر فردا برنامه توسعه یافت چی؟ یا اگر از محصولات میکروسافت استفاده میکنید، در نسخه های بعدی سیستمهای عامل با مشکل برخورد خواهید کرد.
من جاوا کار میکنم و تقریبا میتونم بگم که یک جاوا کار حرفهای ام. یک زبان بسیار قدرتمند. بنده به کسانی که قصد شروع یادگیری برنامه نویسی و دارند، جاوا را پیشنهاد میکنم.
تو دبیرستان که انقد بد درس دادن هیچی از برنامه نویسی (سی شارپ-اچ تی ام ال- پی اچ پی و …) یاد نگرفتم. فقط میخواستن یه چی سرهم کنن کتاب تموم بشه بره.الانم نمیدونم چکار کنم ( -.-)
از همه مهم تر به نظر من فلوچارت کشیدن هست.تا کسی قشنگ بلد نباشه فلوچارت بکشه برنامه نویس خوبی نمیشه.
برنامه نویس خوب باید بتونه فلوچارت برنامشو تو ذهنش رسم کنه.
منظورت الگوریتمه
نظر شما محترم ولی من در زندگیم فلوچارت نکشیدم، الگوریتم چرا!
Only Intel Fortran
با سلام و خسته نباشید.
این مطلب هم مثل مطلب قبلی خیلی بهم کمک کرد و اینجوری که اینجا نوشته من فکرمبکنم ++c برم بهتره.
با تشکر فراوان