بررسی زبانهای برنامه نویسی مختلف و حوزه کاری (بخش اول)

به نام خدا.

یکی از دغددغه ها و مباحث اصلی مجامع برنامه نویسی و کسانی که میخواهند شروع به یادگیری زبانهای برنامه نویسی کنند, انتخاب زبان برنامه نویسی و بستر مناسب و مورد علاقه میباشد. مباحث زیادی در مورد انواع تکنولوژیها و بستر های توسعه نرم افزار در انجمن های مختلف ارائه شده است و توصیه های بیشماری از طرف افراد مختلفی در این حوزه نسبت به انتخاب یک یا چند زبان برنامه نویسی ارائه شده است. همچنین چند موسسه معتبر هر ساله و شاید هر ماهه آمار محبوبیت زبانهای برنامه نویسی را از دید خود و بر اساس تحقیقات انجام شده را منتشر میکنند تا برای برنامه نویسان و شرکتها به عنوان یک راهنما عمل کنند.

نکته  : فارغ از اینکه چه زبانی را برای صحبت کردن با کامپیوتر انتخاب میکنید اول باید از خود کامپیوتر و علوم سازنده آن اگاهی و دانش کافی داشته باشید. دانش کافی از معماری کامپیوتر, سیستم عامل و ساختار شبکه های کامپیوتری در کنار مهارتهای ریاضی حل مسئله و پیادی سازی الگوریتم های مختلف و از همه مهمتر دانش کافی در مورد بستر مورد نظر برای توسعه نرم افزار یک امر ضروریست و بدون این مقدمه مطمئنا تبدیل به یک برنامه نویس خوب نخواهید شد چرا که زبانهای برنامه نویسی فقط ابزارهای شما در پیاده سازی تفکراتتون هستند.

اما آنچه بسیار مهم است این است که بدانیم دلیل ایجاد یک زبان برنامه نویسی, شرایط زمانی که این زبان ایجاد شده و طیف برنامه نویسانی که از ان استفاده کرده اند چیست. همچنین باید درک عمیقی از انواع امکانات رایگان و غیر رایگانی که بستر های توسعه نرم افزار و تکنولوژیهای مختلف میتوانند برای ایجاد هرچه بهتر و سریعتر نرم افزار مورد نظر در اختیار کاربران قرار میدهند داشته باشیم.

 در این مقاله سعی شده است تا 10 زبان برنامه نویسی (در سه بخش), بستر های مرتبط به همراه حوزه کاری و احتمالا بازار کار هریک در سالهای اخیر  ارائه شود تا راهنمای علمی برای جامعه برنامه نویسان باشد.

 زبانهای برنامه نویسی که میخواهیم مورد بررسی  قرار دهیم شامل موارد زیر میشود :

  1.  C/C++
  2.  Java
  3.  Python
  4. #C
  5. JavaScript
  6.  Ruby
  7.  SQL
  8.  Swift
  9.  Kotlin
  10. PHP

 

1 - زبان برنامه نویسی C و ++C

زبان C  جهت توسعه سیستم عامل قدرتمند Unix در آزمایشگاه Bell  توسط Dennis Ritchi و  Ken Thompson در اوایل دهه 1970 میلادی ایجاد شد. این زبان یکی از قدیمیترین زبانهای برنامه نویسی است که همین الان هم از محبوب ترین زبانهای برنامه نویسی محسوب میشود و به همراه ++C زبانهای اصلی ساخت و توسعه برنامه های سیستمی از جلمه سیستم عامل ها و بستر های مختلف مانند موتورهای تولید بازی و یا نرم افزار های طراحی مانند 3DMax میباشند.  زبان C امروزه بیشتر در بحث اینترنت اشیاء یا IOT به کار برده میشود و توسط کسانی مورد استفاده قرار میگیرد که بیشتر در گیر مسائل نزدیک به سخت افزار هستند. بیشتر سیستم عامل ها به زبان C نوشته شده اند. زبان ++C مدل شی گرا یا OOP زبان C میباشد. نیاز به اندیشه شی گرایی در مهندسی نرم افزار منجر به ایجاد زبان ++C بر اساس زبان C با قابلیتهای شی گرایی در سال 1985 توسط bjarne stroustrup شد. زبان ++C زبان اصلی ساخت موتورهای بازیسازی و پیاده سازی الگوریتم هایی است که نیاز به توان عملکرد یا Performance  بالا دارند.

 

زبان برنامه نویسی C و C++

 

زبان های C و ++C زبانهای کامپایلی یا Compiler Language هستند و برای اجرای یک برنامه نوشته شده به این دو زبان نیاز به یک کامپایلر دارید که متناسب با سیستم عامل شما برنامه را ترجمه و در نهایت اجرا کند. از جمله کامپایلر هایی که میتوانید استفاده کنید شامل :

  •  - Microsoft Visual C++ compiler
  •  - Turbo C++
  •  - Borland C++
  •  - Intel C++ Compiler (ICC)
  •  - GCC C
  •  - Open 64
  •  - AMD Optimizing C/C++ Compiler (AOCC)
  •  - Clang
  •  - Digital Mars

 

 موارد استفاده از زبان C

  •  - برنامه نویسی سیستم ها عامل (Unix , Linux , Solaris )
  •  - برنامه نویسی اینترنت اشیاء (Embeded C)
  •  -  برنامه نویسی برای پیاده سازی  الگوریتم های فرا ابتکاری
  •  - دانشجویان مهندسی نرم افزار
  •  - بازیهای کامپیوتری

 

موارد استفاده از زبان ++C

  •  - توسعه سیستم عامل
  •  - توسعه بسترها و زبانهای برنامه نویسی ( PHP , NodeJS , Python , C# , Java)
  •  - برنامه نویسی برنامه های دسک تاپ با بار سنگین (Microsoft Office , Matlab , Latex , Google Earth)
  •  - ساخت بازیهای کامپیوتری (SFML , UnReal , Cocos , Alegre , SDL )
  •  - ساخت موتور ها و بستر های بازی سازی
  •  - ساخت برنامه های طراحی (Adobe , 3DMax , AutoCAD )
  •  - پیاده سازی الگوریتم های  زیربنایی که توسط شرکتهایی مانند Google استفاده میشود
  •  - برنامه نویسی موبایل   (Qt , Native Android)

 

محیطهای توسعه مجتمع برای کاربا زبان های C و ++C

  •  - CodeBlock
  •  - DevC++
  •  - Microsoft Visual C++
  •  - Netbeans
  •  - Eclipse
  •  - IndeliJ IDE
  •  - Embarcadero C++ Builder

 

زبانهای C و ++C  در ایران بیشتر برای نوشتن برخی از بازیهای کامپیوتری و نیز اینترنت اشیا استفاده میشود. همچنین این زبانها از سرفصل های اصلی درس زبان برنامه نویسی پیشرفته در دانشگاه میباشد. کسایی که علاقه بسیاری به علوم کامپیوتر دارند و نیز کسانی که میخواهند به مهارتهای بالایی در برنامه نویسی و شناخت سیستم دستیابی داشته باشند میتوانند  این زبان را فرا گیرند. این زبان به میزان بسیار بالایی در شرکتهایی مانند Microsoft , Google , IBM , Tesla , و شرکتهای خودرو سازی استفاده میشود.

2- زبان برنامه نویسی جاوا

زبان جاوا در اوایل دهه 1990 میلادی توسط James Gosling به همراه گروهی برای ایجاد یک زبان به اصطلاح سبز ایجاد شد و در سال 1995 رسما توسط شرکت Sun Microsystems ارائه گردید. سال 2010 بعد از خرید Sun توسط Oracle به این شرکت تعلق گرفت. ساخت این زبان بر اساس ایده Write Once Run Anywhere که تا آن زمان یک امر نشده بود انجام شد. تا قبل از ایجاد جاوا تمامی زبانهای برنامه نویسی به نحوی وابسته به سیستم عامل و حتی سخت افزار هدف بودند وانتقال سورس برنامه ها و حتی نسخه اجرایی آنها کار دشوار و پیچیده ای بود. از طرفی دنیای مهندسی نرم افزار در سالهای منتهی به ایجاد این زبان توسط زبان C و ++C  تصرف شده بود. پیاده سازی یک نرم افزار توسط این زبانها اگرچه میتواند به یک نرم افزار بسیار سریع با عملکرد بالا منتج شود, اما در عین حال طبیعت این زبانها و نزدیکی آن به سخت افزار کار برنامه نویسان سیستم های تحت وب و یا Enterprise را بسیار دشوار میکرد, لذا زبان Java با ایده مطرح شده و کاهش پیچیدگی های کار با زبان ++C موفق شد که بخش عظیمی از برنامه نویسان سیستم های بزرگ را به سمت خود بکشاند و امروزه به محبوب و پر استفاده ترین زبان برنامه نویسی حوزه سیستم های Enterprise تبدیل شده است.

 

زبان برنامه نویسی جاوا

 

اساس کار جاو روی یک پلتفرم به نام Java Virtual Machine یا به اختصار JVM میباشد. که برنامه نوشته شده به زبان جاوا و یا سایر زبانهای ساخته شده برای JVM  مانند Scala یا Kotlin و ... را به Bytecode تبدیل میکند و این بایت کد میتواند بر روی هر سیستم عاملی تبدیل به یک برنامه اجرایی شود. بنابراین برای کار با جاوا باید ابتدا یکی از نسخه های JVM که شامل JDK  (کتابخانه اصلی )  , JRE (برای اجرای برنامه) را دانلود و نصب کنید.

ارئه دهنده اصلی JVM شرکت Oracle بوده و در زمان نوشته شدن این مقاله نسخه 13 از جاوا ارائه گردیده است ولی نسخه استاندارد اوراکل بعد از نسخه 11 برای مصارف تجاری شامل هزینه شده و بسیاری از شرکتها به سمت نسخه دیگر جاوا یا OpenJDK مهاجرت داده شده اند که کاملا رایگان و open source  بوده و توسط شرکتهای زیادی پشتیبانی و بروز رسانی میشود مانند موارد زیر :

  •  - Amazon Correto
  •  - IBM AdoptOpenJDK
  •  - ZULU
  •  - Oracle OpenJDK
  •  - ...

 

موارد استفاده از زبان برنامه نویسی جاوا :

  •  - برنامه های دسک تاپ با استفاده از انواع کتابخانه ها و بسترهایی مانند (AWT,Swing, JavaFX)
  •  - ایجاد برنامه های سمت سرور که نیاز به مهندسی و معماری بالایی دارند. (Spring, Spring Boot, J2EE, grails, Struts,GWT, JSF )
  •  - برنامه نویسی موبایل (Android , Codenameone , Java Mobile)
  • - برنامه نویسی Embded توسط Java Card
  •  - علم داده و هوش مصنوعی (Hadoop , Spark)
  •  - برنامه نویسی بازیهای کامپیوتری (LibGDX, LWJGL)

 

جاوا معمولا انتخاب برنامه نویسان با مدارک بالای مهندسی نرم افزار در جهت ساخت سیستم های Enterprise می باشد. همچنین این زبان محبوبترین زبان برنامه نویسی در 20 سال گذشته بوده و هیچ زبانی به اندازه جاوا دارای Community وسیع و تنوع کتابخانه ای نیست. این زبان در کشور ایران بیشتر در زمینه برنامه نویسی Android کاربرد دارد و معمولا از آن در ایجاد وب سایتهای کوچک و متوسط یا برنامه های دسک تاپ استفاده نمیشود, در صورتی که در اروپای شرقی و اسکاندیناوی زبان برتر در برنامه نویسی Backend و حتی سیستم های تحت دسک تاپ میباشد.

 

محیطهای توسعه (IDE) مناسب زبان برنامه نویسی جاوا :

  •  - Eclipse
  •  - Netbeans
  •  - InteliJ IDE
  •  - JDeveloper
  •  - 1BlueJ

 

وب سایتهای اصلی یادگیری برای زبان برنامه نویسی جاوا:

  •  - Tutorialspoint.com
  •  - java2s.com
  •  - Java.org
  •  - JavaCodeGeek.com    
  •  - ...

3- زبان برنامه نویسی Python

زبان Python در سال 1991 به عنوان یک زبان اسکریپتی (Dynamic Type Interpretd) توسط Guido Van Rossum بر اساس ایده یک زبان نزدیک به زبان  انسان به عنوان یک زبان چند منظوره طراحی شده است. امکانات بالای خود زبان و کتابخانه ها و پلتفرم های بسیار زیادی که برای python ساخته شده است منجر به محبوبیت روزافزون این زبان مخصوصا در سالهای اخیر شده است.

زبان Python امروزه زبان اصلی فیلدهای علمی میباشد و کاربرد بالایی در زمینه علم داده و یادگیری ماشین دارد. شکل دستورات این زبان و کتابخانه های ریاضی فراوان, این زبان را به رقیبی جدی برای زبانهای R و Matlab بدل کرده.

 

زبان برنامه نویسی پایتون

 

موارد استفاده از زبان برنامه نویسی پایتون :

  •  1 - برنامه نویسی وب (Django , Flask )
  •  2 - برنامه نویسی در زمینه یادگیری ماشین و علوم داده ( TenserFlow, PyTorch , Chainer)
  •  3 - برنامه نویسی دسک تاپ یا GUI (Cocoa , GTK . Kivy , PyQt )
  •  4 - برنامه نویسی RespheryPI
  •  5 - ساخت بازیهای کامپیوتری (PyGame)
  •  6 - نوشتن انواع اسکریپت های هک

 

محیطهای توسعه زبان پایتون :

  •  - PyCahrm
  •  - Visual Studio
  •  - Sublime Text
  •  - Visual studio Code

 

مشکل اصلی زبان Python در واقع سرعت اجرای کم آن میباشد. معمولا تمامی زبانهای نوع داینامیک و اسکریپتی دارای سرعت اجرای کمی نسبت به زبانهای کامپایلی و ماشین مجازی میباشند ولی این سرعت پایین در پایتون بسیار مشهود است. حتی سرعت Runtime زبانهایی مانند PHP یا Ruby چند برابر Python است. این به دلیل نوع ساختمان داده استفاده شده در بستر این زبان برای راحتی کاربران در حین کار با پایتون میباشد البته راه هها زیادی برای اجرای سریعتر برنامه های نوشته شده در زبان پایتون وجود دارد مانند اجرای برنامه در بسترهای  Cython و PyPy که میتواند توان عملکرد زبان Python  را به میزان قابل توجهی افزایش دهد.

این زبان بهترین زبان برای شروع کنندگان برنامه نویسی و کسایی که میخواهند بستر مناسبی برای نوشتن برنامه های الگوریتمیکی داشته باشند است. اگر میخواهید وارد حوزه هوش مصنوعی و علوم داده شوید زبان پایتون بهترین انتخاب است. همچنین این زبان را به برنامه نویسان سایر زبانها مانند Java و #C و ++C به عنوان زبان دوم توصیه میکنیم.

 

 


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید