زبان های برنامه نویسی بخش مهم و جدایی ناپذیر از دنیای مدرن هستند.
با این که رایانه های امروزی فوق العاده سریع هستند و هر روز سریعتر می شوند، محدودیت های قابل توجهی نیز دارند.
آنها به صورت محلی مجموعه محدودی از دستورات را درک می کنند و باید دقیقا به آنها گفته شود که چه کاری انجام دهند؛
بنابراین برنامه های کاربردی ای ساخته شدند که شامل این دستورالعمل ها هستند.
این برنامه ها از طریق زبان برنامه نویسی ایجاد می شوند؛ اما محبوب ترین زبان های برنامه نویسی کدامند؟ در ادامه با ما همراه باشید.
1# زبان برنامه نویسی چیست؟ (programming language)
زبان های برنامه نویسی رایانه به ما این امکان را می دهند تا به زبانی که کامپیوتر می فهمد،
درخواست های خود را به کامپیوتر انتقال بدهیم.
همان طور که زبان های بسیاری برای ارتباط میان انسان ها وجود دارد،
مجموعه ای از زبان های برنامه نویسی نیز وجود دارد که
برنامه نویسان می توانند از آن ها برای برقراری ارتباط با رایانه استفاده کنند.
به بیانی ساده تر، زبان برنامه نویسی این امکان را برای کامپیوترها فراهم می کند که
اطلاعات گسترده و پیچیده را با سرعت و کارایی بالا پردازش کنند.
بخشی از زبانی که کامپیوترهای امروزی می توانند درک کنند، اعداد باینری (Binary) نامیده می شوند.
در تمامی زبان های برنامه نویسی دستورات می بایست به زبان باینری ترجمه یا کامپایل (Compile) شوند.
این بزرگترین نقطه مشترک بین آن ها است که دستورالعمل های نوشتاری متفاوت را به یک زبان واحد ترجمه می کند.
البته در نوع جدید کامپیوترها که با نام کامپیوترهای کوانتومی شناخته می شود،
دستورالعمل ها می توانند به زبان موجود در هر کیوبیت (Qubit) ترجمه شوند که
ممکن است 0، 1 و یا حالات دیگری بین این دو حالت باشند که فراتر از زبان باینری خواهد بود.
اگر چه این موضوع تغییری در ماهیت و روش کار زبان های مختلف برنامه نویسی نخواهد کرد و
تنها روند کامپایل را تحت تاثیر قرار خواهد داد.
2# تاریخچه زبان های برنامه نویسی
می توان گفت تاریخچه زبان برنامه نویسی از مستندات رایانه های مکانیکی اولیه آغاز شده و تاکنون گسترش یافته است.
زبان های اولیه برنامه نویسی با تکیه بر ریاضی و نحو (Syntax) مشابه، به دلیل نزدیک بودن به زبان ماشین بسیار سخت و تخصصی بودند.
اما تحقیقات در نظریه کامپایلر در طول قرن بیستم، منجر به ایجاد زبان های برنامه نویسی سطح بالا شد که
از Syntax راحت تری برای دستورالعمل های ارتباطی استفاده می کنند.
اولین زبان برنامه نویسی سطح بالا Plankalkül بود که توسط Konrad Zuse بین سال های 1942 و 1945 ایجاد شد؛
اما اولین زبان تجاری موجود FORTRAN مخفف FORmula TRANslation بود که
در سال 1956، توسط تیمی به رهبری جان وانر باکِس (John Warner Backus) در IBM توسعه یافت.
3# انواع زبان های برنامه نویسی
امروزه، تعداد زیادی از زبان های برنامه نویسی عمومی و همه منظوره شده اند؛
اما این زبان ها تخصص خود را دارند و هر زبان مزایا و معایب خاص خود را دارد.
هر ساله تعدادی زبان برنامه نویسی وارد بازار کار می شوند؛
اما تعداد کمی از آن ها بسیار محبوب می شوند و ممکن است توسط یک برنامه نویس حرفه ای استفاده شوند.
معمولا زبان های برنامه نویسی را می توان به چند نوع طبقه بندی کرد.
به عنوان مثال می توان زبان های برنامه نویسی را از نظر درک توسط انسان و کامپیوتر به سه سطح زیر تقسیم کرد:
- زبان های سطح پایین: این زبان ها نزدیک به زبان ماشین هستند و درک آن توسط انسان سخت تر است؛
اما اجرا و عملکرد آن ها به مراتب سریع تر است. - زبان های سطح میانی: این نوع از زبان های برنامه نویسی هم به زبان ماشین و هم به زبان محاوره ای انسان نزدیک است و
شامل ویژگی زبان های سطح بالا و سطح پایین است. - زبان های سطح بالا: این زبان ها به زبان انسان نزدیک تر هستند به همین دلیل یادگیری آن ها آسان تر است.
در این مقاله انواع زبان ها از نظر ویژگی برنامه نویسی (Programming Paradigms) مورد بررسی قرار داده شده است.
1-3# زبان های برنامه نویسی رویه ای (Procedural Programming Language)
برنامه نویسی رویه ای ممکن است اولین الگوی برنامه نویسی باشد که یک برنامه نویس جدید فرا خواهد گرفت.
اساسا کدی که به صورت زبان رویه ای نوشته شود، همان کدی است که
به طور مستقیم دستگاه را در مورد نحوه اتمام کار در مراحل مختلف راهنمایی می کند.
برنامه نویسی رویه ای برنامه را به روال هایی تقسیم می کند که به عنوان توابع شناخته می شوند و
شامل یک سری دستورات ساده برای انجام است.
به زبان ساده، زبان برنامه نویسی رویه ای برای اجرای دنباله ای از دستورالعمل ها که منجر به نتیجه می شود، استفاده می شود.
این نوع زبان برنامه نویسی معمولا از عناصری استفاده می کند که
آن را از زبان های برنامه نویسی کاربردی جدا می کند.
برخی از این عناصر عبارتند از:
- متغیر ها
- حلقه های سنگین
- عبارات شرطی
- توابع
توابع در زبان رویه ای ممکن است به غیر از مقدار بازگشتی تابع، متغیرها را نیز کنترل کنند.
به عنوان مثال، چاپ اطلاعات. در لیست ذیل چند نمونه از زبان های رویه ای را مشاهده می کنید.
- بیسیک (BASIC)
- C
- فورترن (FORTRAN)
- جاوا (Java)
- پاسکال (Pascal)
زبان برنامه نویسی ساخت یافته (Structured Programming Language)
برنامه نویسی ساختاری زیرمجموعه برنامه نویسی رویه ای است که
به عنوان برنامه نویسی مدولار نیز شناخته می شود.
در واقع، این یک مدل برنامه نویسی منطقی است که
پیش تولید برنامه نویسی شی گرا (OOP مخفف Object-Oriented Programming) محسوب می شود.
هدف اصلی از اجرا و ارائه آن، ساختار منطقی برنامه ای است که
موجب کارآمدتر بودن و درک و اصلاح آسان تر آن است.
زبان برنامه نویسی ساخت یافته به یک برنامه نویس اجازه می دهد تا
با تقسیم کل برنامه به واحدها یا ماژول های کوچکتر، برنامه ای را کدگذاری کند.
برنامه نویسی ساخت یافته برای توسعه برنامه های بزرگ مناسب نیست و
اجازه استفاده مجدد از هر مجموعه کد را نمی دهد.
زبان برنامه نویسی ساخت یافته یک الگوی (Paradigm) برنامه نویسی است که
هدف آن بهبود کیفیت و نظم و ترتیب در کدنویسی با استفاده از ساختارهای بلوکی و حلقه ها است.
2-3# زبان های برنامه نویسی عملکردی (Functional Programming Language)
برنامه نویسی تابعی یک روش برنامه نویسی است که در آن برنامه ها با اعمال و ترکیب توابع ساخته می شوند.
در واقع، زبان برنامه نویسی عملکردی یک الگوی برنامه نویسی اعلانی است که
توابع در آن شامل سلسله مراتبی از عبارات هستند که
به جای اجرای دنباله ای از دستورات ضروری برای اجرای برنامه، مقادیر را به مقادیر دیگر تبدیل می کند.
این زبان برنامه نویسی به طور معمول از داده های ذخیره شده استفاده می کند و
به لطف توابع بازگشتی از اجرای حلقه های سنگین جلوگیری می کند.
تمرکز اصلی برنامه نویسی عملکردی بر روی مقادیر برگشتی توابع است و این معایبی را نیز به همراه دارد.
به عنوان مثال، در یک زبان کاملا Functional، اگر یک تابع تعریف شده باشد، انتظار می رود که
این تابع هیچ عملکردی را در ورودی و خروجی (Output/Input) اصلاح نکرده و یا تغییر ندهد.
با این حال، ممکن است طبق الگوریتمی توابع را فراخوانی کرده و پارامترهای آن را تغییر داد.
زبان های عملکردی معمولا از زبان های رویه ای آسان تر هستند و
شکل گیری موارد انتزاعی را آسان تر می کنند؛ اما با زبان ماشین تفاوت زیادی دارند و
کامپایل این مدل برنامه نویسی مدت زمان بیشتری را نسبت به زبان رویه ای به خود اختصاص می دهد.
برخی از زبان های برنامه نویسی کاربردی معروف عبارتند از:
- لیسپ (Lisp)
- پایتون (Python)
- ارلنگ (Erlang)
- هسکل (Haskell)
- کلوژر (Clojure)
3-3# زبان های برنامه نویسی شی گرا (Object-oriented Programming Language)
این زبان برنامه نویسی جهان را به عنوان گروهی از اشیا مشاهده می کند که دارای داده های داخلی هستند و
می توان از خارج به بخش هایی از این داده های داخلی دسترسی داشت.
هدف این زبان برنامه نویسی این است که با تفکیک کدها به مجموعه ای از اشیا که خدماتی را ارائه می دهند یا
برای حل یک مشکل خاص استفاده می شوند، خطایابی راحت تری انجام شود.
یکی از اصول اصلی زبان برنامه نویسی شی گرا Encapsulation یا کپسوله سازی است.
کپسوله سازی از طریق سه حالت Public ،Private و Protected دسترسی به کلاس ها و متدها را تنظیم می کند.
این زبان همچنین بر قابلیت استفاده مجدد از طریق وراثت و افزایش ظرفیت برای گسترش کدهای فعلی بدون نیاز به تغییر مقدار زیادی کد با استفاده از اشیا تاکید دارد.
معروف ترین زبان های برنامه نویسی شی گرا عبارتند از:
- جاوا (Java)
- پایتون (Python)
- ++ C
- روبی (Ruby)
- # C
4-3# زبان های اسکریپت نویسی (Scripting Programming Language)
این زبان های برنامه نویسی غالبا رویه ای هستند.
البته ممکن است عناصر زبانی شی گرا را نیز شامل شوند؛ اما در دسته بندی اسکریپت نویسی قرار می گیرند.
زیرا این نوع از زبان ها به طور معمول زبان های برنامه نویسی کامل با پشتیبانی از توسعه سیستم های بزرگ نیستند.
به عنوان مثال، ممکن است چک کردن نوع compile-time (مدت زمان ترجمه یک زبان به زبان ماشین) نداشته باشند.
معمولا این زبان ها برای شروع به یک سینتکس کوچک نیاز دارند.
برخی از زبان های اسکریپت نویسی عبارتند از:
- جاوا اسکریپت/اکما اسکریپت (JavaScript/ECMAScript)
- PHP
- پایتون (Python)
- روبی (Ruby)
- گرووی (Groovy)
- پرل (Perl)
- لوآ (Lua)
- بَش (Bash)
- پاورشل (PowerShell)
- R
- VBA
- ایمکس لیسپ (Emacs Lisp)
- GML
5-3# زبان های برنامه نویسی منطقی (Logic Programming Language)
زبان برنامه نویسی منطقی یک الگوی برنامه نویسی است که
در کنار توابع ریاضی، از مدارهای منطقی برای کنترل نحوه بیان حقایق و قوانین استفاده می کند.
این زبان برنامه نویسی که معمولا در برنامه نویسی های هوش مصنوعی، تکاملی و ژنتیکی مورد استفاده قرار می گیرد،
به جای بیان چگونگی انجام یک کار، به سیستم می گوید چه هدفی را باید به دست آورد.
این نوع از زبان ها به برنامه نویسان اجازه می دهند تا دستورات را بیان کنند؛
سپس رایانه ها پیامدهای این دستورات را به صورت منطقی بررسی می کنند.
کار با زبان برنامه نویسی منطقی گیج کننده است.
به همین دلیل برنامه نویسی به سبک شی گرا در زبان هایی مانند زبان C بسیار آسان تر است.
در ادامه نمونه هایی از زبان برنامه نویسی منطقی ذکر شده است.
- ASP (Answer Set Programming)
- Prolog
- ++ Prolog
- Absys
- CHIP
- Ciao
- CLACL
- CycL
به طور کلی، بیشتر زبان ها شامل ایده ها و ویژگی هایی از حوزه های مختلف هستند که
سودمندی و کاربرد این نوع زبان ها را افزایش می دهند.
با این وجود، بیشتر زبان های برنامه نویسی برای استفاده در همه سبک های برنامه نویسی بهترین نیستند.
یعنی یک زبان رویه ای که functional و شی گرا نیز هست، ممکن است برای
یک برنامه نویس شی گرا عملکرد قابل قبولی نداشته باشد.
4# زبان برنامه نویسی پایتون (Python)
پایتون یک زبان برنامه نویسی سطح بالا و چند پارادایمی (multi-paradigm) است.
یعنی از چندین الگوی برنامه نویسی، از جمله برنامه نویسی ساخت یافته (به ویژه رویه ای)، شی گرا و کاربردی پشتیبانی می کند.
زبان برنامه نویسی پایتون برای موارد زیر استفاده می شود:
- برنامه نویسی سمت سرور در وب (server-side web development)
- توسعه نرم افزار (software development)
- ریاضیات (mathematics)
- برنامه نویسی سیستم (system scripting)
1-4# چرا پایتون یکی از محبوب ترین زبان هاست؟
اولین و مهمترین دلیل محبوبیت پایتون این است که در مقایسه با سایر زبان های برنامه نویسی مانند ++C و Java بسیار پربازده است.
این زبان بسیار خلاصه و رسا است و برای انجام عملیات مشابه به زمان، تلاش و خطوط کد کمتری نیاز دارد.
علاوه بر این، خواندن کد پایتون بسیار ساده و آسان است.
اگر چه برنامه های پایتون کندتر از جاوا هستند؛ اما برای توسعه آن ها زمان بسیار کمتری نیز لازم است.
زیرا کدهای پایتون 3 تا 5 برابر کوتاه تر از کدهای جاوا هستند.
ویژگی های پایتون باعث می شود برنامه ها برخلاف سایر زبان ها، با خطوط کد کمتری نوشته شود.
این باعث می شود یادگیری زبان برنامه نویسی پایتون حتی برای مبتدیان و تازه کارها بسیار آسان شود.
همچنین:
- پایتون در سیستم عامل های مختلف (ویندوز، مک، لینوکس، رزبری پای و غیره) کار می کند.
- پایتون یک سینتکس ساده شبیه به زبان انگلیسی دارد.
- پایتون بر روی یک سیستم مفسر (کامپایلر) اجرا می شود، به این معنی که کد به محض نوشتن قابل اجرا است.
به همین دلیل، چرخه ویرایش، تست و اشکال زدایی بسیار سریع انجام می شود. - پشتیبانی از ماژول ها و بسته ها که باعث تشویق مدولار بودن برنامه و استفاده مجدد از کد می شود.
- کتابخانه های استاندارد گسترده بدون هیچ هزینه ای برای همه سیستم عامل های اصلی در دسترس است.
علاوه بر این، اشکال زدایی یا Debugging در برنامه های پایتون آسان است؛
چرا که اشکال یا یک ورودی بد هرگز باعث خطای کل یک قسمت (segmentation) نمی شود.
5# زبان برنامه نویسی جاوا (Java)
جاوا یک زبان برنامه نویسی سطح بالا است که توسط شرکت سان مایکروسیستمز (Sun Microsystems) توسعه یافته است.
این زبان در ابتدا برای توسعه برنامه های دستگاه گیرنده دیجیتال تلویزیون (set-top box) و دستگاه های دستی طراحی شده بود؛
اما بعدا به گزینه ای محبوب برای ایجاد برنامه های وب تبدیل شد.
سینتکس جاوا مشابه ++C است؛ اما کاملا یک زبان برنامه نویسی شی گرا است.
به عنوان مثال، بیشتر برنامه های جاوا شامل کلاس هایی (Class) هستند که
برای تعریف اشیا استفاده می شوند و متدهایی (Method) که به کلاس های جداگانه اختصاص داده می شوند.
جاوا همچنین با سخت گیری بیشتر از ++C شناخته می شود، به این معنی که متغیرها و توابع باید صریحا تعریف شوند.
این بدان معنی است که کد منبع جاوا ممکن است نسبت به زبان های دیگر به راحتی از کد نوشته شده خطا بگیرد.
کد منبع که به عنوان Source code یک برنامه شناخته می شود،
شامل اعلان ها، دستورالعمل ها، توابع، حلقه ها و سایر عبارات متغیر است که نحوه عملکرد برنامه را مشخص می کند.
1-5# دلیل محبوبیت جاوا
- نحو یا Syntax جاوا بر پایه ++C است، به همین دلیل یادگیری آن برای کسانی که قبلا با ++C کار کرده اند بسیار راحت است.
- در صورت وجود شی های بدون کلاس مرجع هیچ نیازی به حذف آن ها نیست؛
چرا که امکان Garbage Collection یا زباله روبی در جاوا به صورت خودکار آن ها را حذف می کند.
Garbage Collection یک نوع مدیریت حافظه است. - شی گرایی (Object-Oriented)
- وراثت
- انتزاعی سازی
2-5# جاوا در مقایسه با پایتون
جاوا یک زبان با نوع داده استاتیک ولی پایتون یک زبان Dynamic Typing است.
به این معنا که در زبان پایتون هنگامی که متغیرها تعریف می شوند نیازی به تعریف نوع داده استفاده شده در آن نیست و
مفسر یا Interpreter بر اساس مقادیر موجود در آن متغیرها نوع داده را تشخیص می دهد؛
اما در زبان جاوا می بایست نوع داده متغیرها در زمان تعریف مشخص شوند.
این تفاوت واحد باعث می شود که جاوا در زمان اجرا سریع تر و اشکال زدایی آن راحت تر باشد؛
اما در مقابل، استفاده از پایتون راحت تر و خواندن آن ساده تر است.
کدهای پایتون نسبت به جاوا برای برنامه نویسان قابل درک تر است به همین دلیل محبوبیت زیادی پیدا کرده است.
از نظر کتابخانه ها (Libraries) و پشتیبانی (Support Community) هر دو زبان پیشرو و تقریبا مشابه یکدیگر هستند.
6# زبان برنامه نویسی جاوا اسکریپت (JavaScript)
JavaScript که JS نیز نامیده می شود یک زبان اسکریپت نویسی شی گرا است که
برای ایجاد تعامل سمت مشتری (Client-Side) در صفحات وب مورد استفاده قرار می گیرد.
به عنوان مثال:
- داشتن افکت ها و انیمیشن های پیچیده
- دکمه های تعاملی قابل کلیک
- منوهای آکاردئونی
و غیره
البته نسخه های پیشرفته تری از جاوا اسکریپت برای برنامه نویسی سمت سرور مانند Node.js وجود دارد که
به شما امکان می دهد عملکرد بیشتری به وب سایت ها اضافه کنید.
جاوا اسکریپت شامل یک کتابخانه استاندارد از اشیا، مانند آرایه، تاریخ و یک مجموعه اصلی از عناصر زبان های برنامه نویسی مانند عملگرها، ساختارهای کنترل و دستورات است.
جی کوئری (J.Query) یکی از کتابخانه های جاوا اسکریپت است که
برای ساده تر کردن کدنویسی با زبان جاوا اسکریپت ارائه شده است.
برای دستیابی به اهداف مورد نظر می توان جاوا اسکریپت را تکمیل کرده و گسترش داد.
این بدان معنی است که در مرورگر، JavaScript می تواند نوع صفحه وب (DOM) را تغییر دهد و
به همین ترتیب، Node.js JavaScript در سرور می تواند به درخواست های سفارشی نوشته شده در مرورگر پاسخ دهد.
1-6# جاوا اسکریپت در مقایسه با جاوا
جاوا اسکریپت و جاوا از برخی جهات شبیه به هم هستند، اما در موارد دیگر اساسا متفاوت هستند.
کد JavaScript نیاز به کامپایل ندارد؛ اما کد جاوا باید کامپایل شود.
سینتکس جاوا اسکریپت شباهت زیادی به زبان برنامه نویسی جاوا دارد.
به همین دلیل نام آن از LiveScript به جاوا اسکریپت تغییر کرد.
برنامه های جاوا اسکریپت را نمی توان به صورت مستقیم و به تنهایی در پلتفرم هایی مانند ماشین های مجازی اجرا کرد.
به همین دلیل نمی توان آن را یک زبان برنامه نویسی کامل دانست.
به همین دلیل بسیاری از ویژگی های زبان جاوا را ندارد و برنامه نویسی جاوا از برنامه نویسی در JavaScript پیچیده تر است.
7# زبان برنامه نویسی #C
#C یک زبان برنامه نویسی مدرن چند پارادایمی است که
انواع مدل های زبان های برنامه نویسی نظیر عملکردی و شی گرا را شامل می شود.
این زبان توسط مایکروسافت توسعه یافته است و
انجمن تولیدکنندگان رایانه اروپا (ECMA) و سازمان استاندارد بین المللی (ISO) آن را تایید کرده اند.
برنامه نویسی به زبان #C تا حدودی شبیه به برنامه نویسی به زبان جاوا است؛
بنابراین یادگیری آن برای برنامه نویسان زبان جاوا یا زبان های مشابه C خیلی سخت نخواهد بود.
از زبان برنامه نویسی سی شارپ می توان در ساخت برنامه های زیر استفاده کرد:
- برنامه های تحت ویندوز
- برنامه های تحت وب
- Web serviceها
- برنامه های موبایل
- بازی ها
1-7# زبان #C در مقایسه با سایر زبان های برنامه نویسی
زبان برنامه نویسی سی شارپ (#C) نیز مانند زبان جاوا برای برنامه نویسی در پروژه های بزرگ طراحی شده است.
البته این زبان به دلیل برخی از سختگیری ها، نسبت به پایتون و جاوا از محبوبیت کمتری برخوردار است؛
اما به دلیل برخورداری از پشتیبانی مایکروسافت و پلتفرمی نظیر سیستم عامل ویندوز که محبوب ترین سیستم عامل در دنیا است،
یکی از مدعیان قوی در بین زبان های برنامه نویسی است.
2-7# دلیل محبوبیت زبان سی شارپ چیست؟
#C دلایل زیادی برای محبوبیت و تقاضا دارد که در ادامه به چند مورد از آن ها اشاره شده است:
- استفاده برای توسعه ویندوز و برنامه وب
- جامعه پشتیبانی بزرگ
- استفاده گسترده در ساخت بازی
- ویژگی هایی مانند Automatic Garbage Collection، رابط ها، شی گرایی و غیره این زبان برنامه نویسی را به یک زبان محبوب تبدیل می کند.
8# زبان های برنامه نویسی C و ++C
1-8# زبان برنامه نویسی C
C یک زبان برنامه نویسی عمومی است که بسیار محبوب، ساده و قابل فهم است.
این زبان عمدتا به عنوان یک زبان برنامه نویسی سیستم برای نوشتن یک سیستم عامل توسعه داده شد.
این زبان همچنین به طور گسترده برای نوشتن برنامه های گوناگون در سیستم عامل های مختلف مانند
ویندوز و بسیاری از برنامه های پیچیده دیگر مانند پایگاه داده Oracle ،Git، مفسر Python و غیره استفاده می شود.
گفته می شود که C مادر زبان های برنامه نویسی است؛ بنابراین می توان گفت، C پایه ای برای برنامه نویسی است.
آشنایی و سابقه کار با زبان C این امکان را فراهم می کند که
به راحتی دانش سایر زبان های برنامه نویسی را که از مفهوم C استفاده می کنند، درک کنید.
از ویژگی های اصلی زبان C می توان به موارد زیر اشاره کرد:
- یک زبان ساخت یافته است
- قابلیت حمل یا portability (یعنی در هر سیستم عاملی قابل اجرا است)
- یک زبان بازگشتی است (یعنی توابع بارها و بارها می توانند در زبان C خود را فراخوانی کنند)
- داشتن کتابخانه های قوی
- دسترسی به سطح کم حافظه
- مجموعه ای ساده از دستورات و کلمات کلیدی
این ویژگی ها زبان C را برای برنامه نویسی سیستم مانند سیستم عامل یا توسعه کامپایلر مناسب می کند.
بسیاری از زبان های بعدی سینتکس خود را مستقیم یا غیرمستقیم از زبان C وام گرفته اند؛ مانند:
- جاوا
- PHP
- JavaScript
- و بسیاری از زبان های دیگر مانند زبان ++C که عمدتا بر اساس زبان C ایجاد شده اند.
2-8# زبان برنامه نویسی ++C
همان طور که همه ما می دانیم ++C توسعه داده شده زبان C است و
توسط Bjarne stroustrup در آزمایشگاه های bell ایجاد شده است.
++C یک زبان سطح بالا و شی گرا است؛ اما کاملا شی گرا نیست و
ویژگی های آن مانند Friend و Virtual برخی از ویژگی های بسیار مهم OOP را نقض می کند.
به همین دلیل زبان ++C یک زبان میانی است.
مزایای ++C نسبت به زبان C
تفاوت عمده در مفهوم شی گرایی این دو زبان برنامه نویسی است.
++C یک زبان شی گرا است در حالی که C یک زبان رویه ای است.
ویژگی های زیر در زبان ++C باعث می شود این زبان قوی تر از C باشد:
- تمام ویژگی های شی گرایی در ++C مانند Abstraction (انتزاع)، Encapsulation (کپسوله سازی)، Inheritance (وراثت) و غیره باعث می شود که
این زبان برای برنامه نویسان کاربردی تر و مفیدتر باشد. - ++C از اپراتورهای تعریف شده توسط کاربر پشتیبانی می کند.
(به عنوان مثال Operator Overloading) این یعنی همان طور که در کلاس String، اگر از عملگر (Operator) جمع استفاده شود،
رشته ها به هم الحاق می شوند، می توان برای کلاس های تعریف شده توسط خودمان یک عملگر جداگانه تعریف کرد. - پردازش استثنا یا Handling Exception در ++C وجود دارد.
در این روش حالات استثنایی و پیش بینی نشده ای که ممکن است سبب ایجاد خطاهای مهلک (Fatal Error) شود،
توسط دو بلوک try و catch کنترل می شود. در صورت وجود خطا در بلوک try کنترل برنامه به بلوک catch سپرده می شود. - استفاده از توابع درون خطی (Inline) به جای ماکرو ها (Macro) که در زبان C استفاده می شود، سبب افزایش سرعت کامپایل کدها می شود.
- متغیرها را می توان در هر نقطه از برنامه با زبان ++C تعریف کرد؛ اما حتما باید قبل از استفاده تعریف شوند.
9# زبان برنامه نویسی PHP
PHP یک زبان برنامه نویسی متن باز (Open Source) با کاربردهای عمومی است که به ویژه برای توسعه وب مناسب است.
PHP در اصل مخفف Personal Home Page بود؛
اما اکنون مخفف PHP: Hypertext Preprocessor و به معنای PHP یک پیش پردازنده ابر متن است.
کدهای نوشته شده با زبان PHP معمولا توسط یک مفسر PHP که به عنوان یک ماژول روی وب سرور نصب می شوند، پردازش می شود.
این زبان یک زبان پردازه نویسی تحت وب است و کدهای آن بین کدهای HTML قرار می گیرد.
PHP یک زبان سمت سرور است و نتیجه کدهای تفسیر شده و اجرا شده آن که ممکن است هر نوع داده ای باشد،
مانند HTML تولید شده، کل یا بخشی از پاسخ HTTP را تشکیل می دهد.
یعنی کدهای آن مانند HTML و CSS توسط کاربران صفحات وب قابل مشاهده نیست
و تنها نتایج آن در قالب کد HTML نمایش داده می شود.
PHP به طور گسترده ای قابل حمل (Portable) است و
می تواند در اکثر سرورهای وب و تقریبا در هر سیستم عامل و پلتفرمی به صورت رایگان استفاده شود.
علاوه بر این، PHP می تواند برای بسیاری از کارهای برنامه نویسی خارج از زمینه وب، مانند
برنامه های گرافیکی مستقل و حتی کنترل رباتیک هواپیمای بدون سرنشین استفاده شود؛ اما بیشترین کاربرد را در دنیای وب دارد.
به گزارش W3Techs، از آوریل 2021، “٪79.2 از کل وب سایت ها از زبان برنامه نویسی سمت سرور PHP استفاده می کنند.
9#-1 مزایای PHP نسبت به سایر زبان های برنامه نویسی تحت وب
- یادگیری این زبان سمت سرور در مقایسه با سایر زبان ها بسیار آسان است.
- اگر با زبان های برنامه نویسی C یا Perl آشنا باشید، PHP را به راحتی و سریع یاد خواهید گرفت.
- استفاده از انواع پایگاه های داده های محبوب و پرکاربرد نظیر:
- MySQL
- اوراکل
- IBM DB2
- Microsoft SQL Server
- PostgreSQL
- SQLite
- یافتن راهنما یا مستندات برای زبان PHP به صورت آنلاین بسیار آسان است.
- دریافت پشتیبانی از طریق انجمن ها، وبلاگ ها و رسانه های اجتماعی PHP رایگان است.
- در مقایسه PHP با زبانی مانند ASPX، سطح آزادی شما بسیار برتر است و این به دلیل منبع باز بودن PHP است.
- در صورت تمایل می توانید از هر ویرایشگر متن برای کدنویسی در PHP استفاده کنید.
- PHP فاقد هزینه است و شما نیازی به خرید نرم افزار گران قیمت برای آن ندارید. وب سایت شما با کمترین هزینه ساخته خواهد شد.
هیچ گونه مجوز، محدودیت یا حق الزحمه ای در کار نیست. استفاده از PHP برای همه ٪100 رایگان است. - PHP برای بسیاری از برنامه های وب مورد استفاده قرار می گیرد و در واقع بیش از ٪30 از وب را تأمین می کند.
سیستم هایی مانند MongoDB ،Memcache و Pusher همه با PHP ادغام می شوند. - Object Oriented PHP در واقع توانایی فراخوانی اشیا Java و ویندوز COM (مخفف Component Object Model) را دارد.
علاوه بر این، می توانید کلاس های سفارشی ایجاد کنید و
برای آن ها کلاس های توسعه دهنده تعریف کنید که این باعث افزایش قابلیت های PHP می شود. - PHP از حافظه خود استفاده می کند؛ بنابراین حجم کار سرور و زمان بارگیری به طور خودکار کاهش می یابد که نتیجه آن سرعت پردازش بیشتر است.
10# زبان برنامه نویسی R
R یک زبان برنامه نویسی و نرم افزار رایگان برای انجام محاسبات آماری و گرافیک است که
توسط بنیاد R برای محاسبات آماری پشتیبانی می شود.
زبان R به صورت گسترده ای در میان آماردانان و دانشمندان استخراج کننده داده برای توسعه نرم افزار آماری و تجزیه و تحلیل داده ها استفاده می شود.
زبان برنامه نویسی R نسبت به سایر زبان های برنامه نویسی در نظرسنجی های داده کاوی و مطالعات پایگاه های اطلاعاتی دانشمندان محبوبیت بیشتری دارد؛
چرا که R طیف گسترده ای از سرویس های آماری را ارائه می دهد؛ از جمله:
- مدل سازی خطی و غیرخطی (Linear and nonlinear modelling)
- آزمون های آماری کلاسیک (Classical statistical tests)
- تجزیه و تحلیل سری زمانی (Time-Series analysis)
- طبقه بندی (Classification)
- خوشه بندی (Clustering)
از مزایای زبان برنامه نویسی R می توان به داشتن مجوز GNU از General Public License بنیاد نرم افزار آزاد اشاره کرد.
این برنامه رایگان در طیف گسترده ای از سیستم عامل های UNIX و سیستم های مشابه (از جمله FreeBSD و Linux)، Windows و MacOS کامپایل و اجرا می شود.
اگرچه R دارای رابط خط فرمان است؛ اما چندین رابط کاربر گرافیکی برای آن وجود دارد، مانند:
- RStudio
- IDE (integrated development environment)
- Jupyter
- Computational Notebook
11# زبان برنامه نویسی Objective-C
زبان Objective-C یک زبان ساده رایانه ای است که
برای فعال سازی برنامه نویسی شی گرای سطح بالا طراحی شده است.
Objective-C به عنوان یک مجموعه کوچک اما قدرتمند از برنامه های افزودنی برای توسعه زبان استاندارد C تعریف می شود.
افزودن این زبان به C بیشتر بر اساس Smalltalk، یکی از اولین زبان های برنامه نویسی شی گرا انجام می شود.
Objective-C به گونه ای طراحی شده است که
به زبان C قابلیت های کامل برنامه نویسی شی گرا را می دهد و این کار را به روشی ساده و مستقیم انجام می دهد.
به این صورت که سینتکس اولیه و دستورات کنترل جریان C را به ارث می برد و
سینتکسی را برای تعریف کلاس ها و متدها اضافه می کند.
از Objective-C برای نوشتن نرم افزار برای macOS و iOS استفاده می شود.
12# زبان برنامه نویسی تایپ اسکریپت (TypeScript)
TypeScript یک زبان برنامه نویسی است که
توسط مایکروسافت برای توسعه جاوا اسکریپت در مقیاس بزرگ تر و به عنوان یک مجموعه برتر از JavaScript طراحی شده است.
در واقع تایپ اسکریپت یکی از زیر مجموعه های زبان جاوا اسکریپت است که به ساده تر شدن کد نویسی کمک می کند.
کدهای نوشته شده توسط تایپ اسکریپت پس از کامپایل کردن به کد جاوا اسکریپت تبدیل می شوند.
مایکروسافت این زبان را با افزودن امکانات مختلف، تا حد زیادی شبیه به زبان #C و جاوا کرده است.
13# زبان برنامه نویسی سوئیفت (Swift)
سوئیفت یک زبان برنامه نویسی قدرتمند با اهداف عمومی (General-Purpose)، کامپایل شده و
Multi-Paradigm است که توسط شرکت اپل و جامعه منبع باز توسعه یافته است.
نرم افزار های با اهداف عمومی یا General-Purpose نرم افزارهایی هستند که
دارای طیف گسترده ای از کاربردها در حوزه های مختلف هستند.
به این معنا که برخلاف برخی از زبان های برنامه نویسی که فقط برای یک فیلد کاری خاص استفاده می شوند،
(به عنوان مثال زبان HTML که تنها در طراحی صفحات وب کاربرد دارد) می توان از
این زبان ها در کاربردهای مختلفی نظیر تحلیل داده، برنامه نویسی سمت سرور و غیره استفاده کرد.
علاوه بر این، سوئیفت از مفهوم توسعه پذیری پروتکل (Protocol Extensibility)،
یعنی یک سیستم توسعه پذیر قابل استفاده برای انواع ساختارها و کلاس ها پشتیبانی می کند که
اپل آن را به عنوان یک تغییر واقعی در پارادایم های برنامه نویسی معرفی می کند.
این مفهوم در اصطلاح، برنامه نویسی پروتکل گرا (Protocol-Oriented Programming) نامیده شده است.
در حال حاضر Swift توسط اپل در پلتفرم های زیر اجرا می شود:
- iOS
- iPadOS
- macOS
- tvOS
- watchOS
این زبان یک زبان برنامه نویسی ایمن، سریع و تعاملی است که سینتکسی مختصر و در عین حال رسا دارد.
Swift شامل ویژگی های مدرنی است که سبب محبوبیت آن بین توسعه دهندگان شده است.
کد این زبان از نظر طراحی ایمن است؛ اما در عین حال نرم افزار تولید شده توسط آن بسیار سریع اجرا می شود.
زبان برنامه نویسی Swift در واقع نتیجه جدیدترین تحقیقات در حیطه زبان های برنامه نویسی است که
این تحقیقات با چندین دهه تجربه در ساخت سیستم عامل های شرکت اپل همراه شده است.
1-13# مزایای سوئیفت نسبت به Objective-C
Swift به عنوان جایگزینی برای زبان برنامه نویسی اولیه اپل، یعنی Objective-C توسعه یافت؛
زیرا Objective-C از اوایل دهه 1980 عمدتا بدون تغییر و فاقد ویژگی های زبان مدرن بود.
البته برنامه نویسی با Objective-C به این زودی ها منسوخ نخواهد شد؛
زیرا به لطف 20 سال حیات خود، دارای کدهای بسیاری در هسته برنامه های مختلف است.
یکی از جنبه های اصلی طراحی Swift توانایی همکاری با بدنه عظیم کدهای Objective-C استفاده شده در
محصولات دهه های گذشته اپل است.
کتابخانه زمان اجرا در پلتفرم های اپل اجازه می دهد تا ++C ،Objective-C ،C و کد Swift بدون ایجاد مشکل در یک برنامه اجرا شوند.
مزایای Swift نسبت به زبان Objective-C عبارتند از:
- خواندن سوئیفت راحت تر است. دستورات و کلمات کلیدی Swift بر پایه زبان C نیستند.
این امر سبب شده تا توسعه دهندگان سوئیفت در انتخاب دستورات آزادی عمل بیشتری داشته باشند. - نگهداری از سوئیفت آسان تر است. ارث بری سبب شده است که Objective-C بدون زبان C تکامل نیابد.
به همین دلیل توسعه دهندگان مجبور به نگهداری از دو فایل کد به صورت همزمان هستند؛
اما این مشکل در زبان Swift وجود ندارد. - سوئیفت ایمن تر است. در Objective-C می توان متدی را با متغیر اشاره گر خالی (بدون مقدار اولیه) فراخوانی کرد و
این یک باگ بزرگ برای حفظ امنیت آن است. - Swift دارای مدیریت حافظه است و نیازی به مدیریت حافظه توسط برنامه نویس نیست.
- به کد کمتری احتیاج دارد.
- سرعت اجرای سوئیفت بیشتر است.
- از کتابخانه های پویا پشتیبانی می کند. کتابخانه های پویا قطعه کدهایی هستند که می توانند به یک برنامه مرتبط شوند.
به عنوان مثال با نسخه های جدیدتر زبان Swift پیوند داشته باشند.
14# زبان برنامه نویسی کاتلین (Kotlin)
کاتلین یک زبان برنامه نویسی چند منظوره (Cross-Platform)، general-purpose و استاتیک تایپ (Static Typing) است.
یعنی در زمان تعریف متغیرها باید نوع داده استفاده شده در آن ها نیز مشخص شود.
کاتلین برای تعامل کامل با جاوا طراحی شده است و روی ماشین مجازی جاوا (JVM) اجرا می شود.
اگر چه سینتکس آن با زبان برنامه نویسی جاوا سازگار نیست؛ اما می تواند به کدهای جاوا ترجمه شود.
علاوه بر این کدهای جاوا را نیز می توان به کدهای کاتلین ترجمه کرد.
Andrey Breslav سرپرست تیم توسعه کاتلین، دلیل طراحی کاتلین را وجود زبانی صنعتی-قدرتی (industrial-strength) و شی گرا که بهتر از جاوا باشد، بیان کرده است؛
اما کاتلین همچنان دارای سازگاری هایی با کد جاوا است که به کمپانی ها اجازه داده تا مهاجرتی تدریجی از جاوا به کاتلین داشته باشند.
در سال 2019، گوگل اعلام کرد که زبان برنامه نویسی Kotlin اکنون زبان ترجیحی این شرکت برای توسعه دهندگان برنامه های Android است و
از زمان انتشار Android Studio 3.0 در اکتبر 2017، Kotlin به عنوان جایگزینی برای کامپایلر استاندارد جاوا در نظر گرفته شده است.
کامپایلر Android Kotlin به طور پیش فرض bytecode جاوا 8 را تولید می کند (bytecode جاوا مجموعه دستورالعمل های ماشین مجازی جاوا یا JVM است)؛
اما به برنامه نویس اجازه می دهد تا برای بهینه سازی، امکانات جاوا 8 تا 16 را مورد استفاده قرار دهد.
15# زبان برنامه نویسی متلب (Matlab)
MATLAB مخفف matrix laboratory، یک زبان برنامه نویسی چند پارادایمی اختصاصی و محیط محاسبات عددی است که
توسط MathWorks ساخته شده است.
متلب امکانات زیر را برای برنامه نویسان فراهم می کند:
- دستکاری ماتریس (matrix manipulations)
- رسم توابع و داده ها (plotting of functions and data)
- پیاده سازی الگوریتم ها (implementation of algorithms)
- ایجاد رابط های کاربری (creation of user interfaces)
- ایجاد رابط با برنامه های نوشته شده به زبان های برنامه نویسی دیگر (interfacing with programs written in other languages)
کار کردن با زبان متلب بسیار ساده است و بیشتر داده ها در آن به شکل یک ماتریس ذخیره می شوند.
داده ها در متلب تنها به اعداد و ارقام محدود نمی شوند و داده هایی نظیر نمودارها، دیاگرام ها و غیره نیز در آن قابل اجرا است.
اگرچه MATLAB در درجه اول برای محاسبات عددی در نظر گرفته شده است؛
اما از یک جعبه ابزار اختیاری از موتور محاسبات جبری MuPAD نیز استفاده می کند که
امکان دسترسی به توانایی های محاسبات جبری را فراهم می کند.
همچنین امکاناتی را برای سیستم های پویا و جاسازی شده (embedded) اضافه می کند که از این قرار اند:
- افزودن پکیج (additional package)
- شبیه سازی (Simulink)
- افزودن شبیه سازی چند دامنه ای گرافیکی (adds graphical multi-domain simulation)
- طراحی مبتنی بر مدل (model-based design)
1-15# معایب زبان متلب نسبت به سایر زبان ها
- اولین مشکل زبان MATLAB متن باز نبودن آن است.
به این دلیل که برنامه نویسان قادر به استفاده از کدهای آماده این زبان در بخش های دیگر نیستند. - MATLAB زبان تفسیر شده است و از این رو اجرای آن نسبت به سایر زبان های کامپایل شده مانند C و ++C به زمان بیشتری نیاز دارد.
- یک نسخه کامل از MATLAB پنج تا ده برابر بیشتر از یک کامپایلر معمولی C یا FORTRAN هزینه دارد.
البته یک نسخه ارزان قیمت Student MATLAB نیز وجود دارد که ابزاری عالی برای دانش آموزان مایل به یادگیری زبان است. - متلب به کامپیوتر سریع و با حافظه کافی نیاز دارد. این به هزینه افرادی که مایل به استفاده از آن برای برنامه نویسی هستند اضافه می شود.
16# زبان برنامه نویسی Go
Go یک زبان برنامه نویسی Static Typing و کامپایل شده است که در Google طراحی شده است.
این زبان به عنوان پاسخی برای برخی از مشکلاتی که برنامه نویسان در شرکت گوگل داشتند طراحی و توسعه داده شد.
مانند جاوا، Go نیز یک زبان برنامه نویسی سمت سرور است و سینتکسی مشابه زبان برنامه نویسی C دارد.
Go یک زبان برنامه نویسی قوی در سطح سیستم در میان سیستم های بزرگ توزیع شده و سرورهای شبکه در مقیاس بزرگ است.
از این رو، Golang به عنوان جایگزینی برای زبان های برنامه نویسی مانند Java و ++C ظهور کرده است.
این زبان به دلیل نام دامنه خود، golang.org غالبا به Golang شناخته می شود؛ اما نام صحیح آن Go است.
Golang یک بسته کامل راه حل ارائه می دهد که آن را به یک زبان برنامه نویسی شگفت انگیز تبدیل می کند.
از زمان ورود، زبان Go کل صنعت برنامه نویسی را غافلگیر کرده است.
بیایید بسیاری از این شگفتی ها را که باعث می شوند Golang بهتر از سایر زبان های برنامه نویسی باشد، مرور کنیم.
1-16# مزایای Golang نسبت به سایر زبان ها
- Goroutine: این ویژگی اصلی زبان Go است که باعث محبوبیت آن در سراسر جهان می شود.
این ویژگی به متخصصان این امکان را می دهد تا
امکانات و ویژگی های ماشین های چند هسته ای را به بهترین شکل ممکن به هم متصل کنند. - Golang پس از تجزیه و تحلیل دقیق سایر زبان های برنامه نویسی مانند C ،C++ ،Java و غیره برای ادغام ویژگی های مفید آن ها ایجاد شده است.
- زبان Go فاقد هر کتابخانه مجزا برای زمان اجرا است؛ بنابراین قادر است یک کد اجرایی منفرد ایجاد کند که
فقط با کپی برداری قابل استفاده باشد. با این کار تمام نگرانی های مربوط به عدم تطابق یا وابستگی نسخه ها برطرف می شود. - امکان ایمنی حافظه (Memory Safety) در این زبان، از حافظه در برابر خطاهایی مانند سرریز بافر محافظت می کند.
- Go دارای امکان زباله روبی (Garbage Collection) است.
- امکان تایپینگ ساختاری (Structural Typing) در Go برای تشخیص سازگار بودن و
تخصیص تایپ ها بر ساختار و ویژگی آن ها استفاده می شود و به نام و محل اعلام آن ها توجهی نمی کند.
در تایپینگ ساختاری، یک عنصر اگر برای هر ویژگی در عنصر دوم، یک ویژگی متناظر و یکسان در نوع عنصر اول وجود داشته باشد،
با دیگری سازگار در نظر گرفته می شود. البته زیر گروه ممکن است دارای ویژگی های اضافه نیز باشد. - اکثر زبان های برنامه نویسی فاقد اجرای همزمان هستند و
به همین دلیل، سرعت اجرا، تدوین و برنامه نویسی را کاهش می دهند.
امکان همزمانی به سبک CSP (CSP-Style Concurrency) به زبان Go توانایی اجرای اجزای مختلف یا
واحدهای یک برنامه یا الگوریتم را به صورت همزمان را دارد؛ بدون این که در نتیجه نهایی تاثیر بگذارد.
17# زبان برنامه نویسی VBA
زبان برنامه نویسی VBA یا Visual Basic for Applications به معنای ویژوال بیسیک برای برنامه ها است.
VBA یک زبان تفسیر شده است که برای مجموعه نرم افزار های Office طراحی شده است.
VBA امکان ساخت توابع تعریف شده توسط کاربر (UDF یا User-Defined Functions)، خودکارسازی فرآیندها و
دسترسی به Windows API و سایر قابلیت های سطح پایین را از طریق کتابخانه های پیوند پویا (DLL ها) فراهم می کند.
این قابلیت ها توانایی های زبان های برنامه نویسی کلان قبلی مایکروسافت مانند Word’s Word BASIC را گسترش می دهد.
همان طور که از نام آن پیداست، VBA ارتباط نزدیکی با Visual Basic دارد و از کتابخانه Visual Basic Runtime استفاده می کند.
این زبان تنها به برنامه های مایکروسافت نظیر اکسل و ورد محدود نمی شود و توسط آن می توان:
- در اکسل برنامه نویسی کرد.
- داده های مخرب را از وب پاک کرد.
- محاسبات علمی یا مهندسی بزرگ انجام داد.
- بازی سازی انجام داد.
- سایر برنامه های آفیس را نیز کنترل کرد.
با این حال، کد VBA به طور معمول فقط در داخل یک برنامه میزبان قابل اجراست و
نمی تواند به عنوان یک برنامه مستقل اجرا شود.
VBA در اکثر برنامه های Microsoft Office و همچنین در برخی از برنامه های شرکت های دیگر به صورت جزئی استفاده شده است. از جمله:
- Office for Mac OS X (به جز نسخه 2008)
- سایر برنامه های Microsoft، مانند Microsoft MapPoint و Microsoft Visio VBA
- ArcGIS
- AutoCAD
- CorelDraw
- LibreOffice
- Reflection
- SolidWorks
- WordPerfect
1-17# تفاوت میان VBA با VB
VB یا Visual Basic و VBA یا Visual Basic for Applications برای برنامه ها، تقریبا در همه اهداف برنامه نویسی یک زبان هستند.
هر دو از یک زبان برنامه نویسی اصلی به نام Basic گرفته شده اند؛
اما همان طور که گفته شد VBA در یک برنامه میزبان کار می کند (مانند Word یا Excel) و نمی تواند مانند VB به طور مستقل کار کند.
VBA در ویرایشگر ویژوال بیسیک (VBE یا Visual Basic Editor) نوشته شده است.
در محیط Microsoft Office (Word ،Excel ،PowerPoint ،Access یا Outlook) می توانید با
فشار دادن Alt + F11 روی صفحه کلید خود به این ویرایشگر دسترسی پیدا کنید.
از طرف دیگر VB در Visual Studio نوشته شده است.
شما می توانید از VB 6.0 (که از نظر نحوی بسیار شبیه VBA یا VB.Net است) استفاده کنید.
یکی از مهم ترین تفاوت های زبان VB با VBA این است که
ویژوال بیسیک می تواند به یک فایل exe (اجرایی) مستقل کامپایل شود.
در حالی که فرم ها و ماژول های VBA نمی توانند و برای اجرا به برنامه میزبان خود نیاز دارند.
18# زبان برنامه نویسی روبی (Ruby)
روبی یک زبان برنامه نویسی interpreted یا تفسیر شده (بدون نیاز به کامپایل برای اجرا) و سطح بالا است.
این زبان general-purpose در اواسط دهه 1990 توسط یوکی هیرو ماتسوموتو (Yukihiro Matsumoto) در ژاپن طراحی و توسعه یافته است.
روبی دارای Dynamic Typing است و از Garbage Collection به بهترین نحو استفاده می کند.
همچنین از چندین الگوی مختلف برنامه نویسی از جمله، مدل برنامه نویسی رویه ای، شی گرا و عملکردی پشتیبانی می کند.
به گفته طراح و توسعه دهنده روبی، روبی تحت تاثیر زبان های برنامه نویسی زیر طراحی شده است:
- پرل (Perl)
- اسمالتاک (Smalltalk)
- ایفل (Eiffel)
- آدا (Ada)
- BASIC
- لیسپ (Lisp)
در روبی، همه چیز یک شی است.
به هر بیت اطلاعات و کد می توان ویژگی ها و عملکردهای خاص خود را داد.
اگر چه این زبان برنامه نویسی از نظر ظاهری ساده است؛ اما دارای بدنه ای بسیار پیچیده است.
از Ruby در زمینه های گسترده ای به ویژه در برنامه های تحت وب و علم داده استفاده می شود.
1-18# مزایای زبان Ruby نسبت به سایر زبان ها
- Ruby یک زبان برنامه نویسی پویا است؛ بنابراین قوانین سختی در مورد نحوه کدنویسی ندارد و بسیار به زبان های گفتاری نزدیک است.
- یکی از اهداف Ruby اجازه ایجاد ساده و سریع برنامه های تحت وب است.
به همین دلیل کار خسته کننده بسیار کمتری نسبت به بسیاری از زبان های برنامه نویسی دیگر دارد. - روبی کدهای کوچک، ظریف و قدرتمندی را ارائه می دهد.
- روبی کاملا رایگان است، علاوه بر این استفاده، کپی، اصلاح و توزیع آن نیز کاملا رایگان است.
- از آن جا که Ruby برای استفاده در پروژه های دیگر در دسترس است،
برنامه نویسان می توانند تغییرات لازم را روی آن اعمال کرده و بدون احساس محدودیت کدگذاری کنند.
نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.
ممنون از این مقاله کاربردی
سلام خدمت شما دوست عزیز
خیلی ممنون از اینکه همراه سایت نماتک هستید.