بایگانی برچسب‌ها : زبان برنامه نویسی

زبان برنامه نویسی سطح بالا High-level Programming Language

زبان برنامه نویسی سطح بالا یا High-level Programming Language چیست؟

زبان برنامه نویسی سطح بالا (High-level Programming Language) به گونه‌ای از زبان های برنامه نویسی گفته می‌شود که از میزان انتزاع (Abstraction) بالایی نسبت به جزئیات رایانه و زبان ماشین برخوردار هستند. به عبارت بهتر در این زبان‌ها نسبت به زبان‌های سطح پایین (Low-level Programming Language)، برنامه نویسان با پیچیدگی‌های سیستم های رایانه ای (آنچه به طور مستقیم توسط پردازنده ها و رایانه ها قابل فهم و اجرا می‌باشد) کمتر دست و پنجه نرم می‌کنند.

مقایسه زبان برنامه نویسی سطح بالا و زبان برنامه نویسی سطح پایین

سورس کدهایی که به زبان های سطح بالا نوشته می‌شوند معمولا به زبان طبیعی (انگلیسی) شباهت بیشتری دارند (شامل مجموعه‌ای از کلمات، نمادها و جملات هستند) و یادگیری آن‌ها نیز آسانتر است. در این زبان‌ها، اغلب بخش‌های مهم سیستمی (نظیر مدیریت حافظه) بدون اینکه برنامه نویس با آن درگیر شود به صورت خودکار انجام می‌شود و به طور کلی توسعه یک برنامه به زبان های سطح بالا (از کدنویسی گرفته تا اشکال زدایی، نگه داری و …) در مقایسه با توسعه آن در یک زبان سطح پایین کار آسانتری خواهد بود.

در این زبان‌ها برخلاف زبان های سطح پایین (نظیر زبان اسمبلیتوسعه دهنده به جای آنکه مستقیما با مفاهیمی نظیر ثبات های پردازنده یا آدرس های حافظه سر و کار داشته باشد از آبجکت ها، متغیرها، حلقه ها، زیرروال ها، دستورات شرطی و … برای ایجاد برنامه استفاده می‌کند.

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

با توجه به اینکه ساختار زبان های سطح بالا مستقل از معماری سیستم رایانه ای ساخته می‌شوند امکان اجرای برنامه نهایی با کمک کامپایلرهای مخصوص روی معماری های پشتیبانی شده وجود خواهد داشت. این در حالی است که دستورالعمل های زبان های سطح پایین معمولا برای معماری های خاصی بهینه شده‌اند.

از جمله زبان های برنامه نویسی سطح بالا می‌توان به ویژوال بیسیک (Visual Basic)، سی شارپ (C#پی اچ پی (PHP)، دلفی (Delphi) و بسیاری از زبان های پرکاربرد دیگر اشاره کرد.

نحوه اجرای کدهای نوشته شده به یک زبان سطح بالا

معمولا به منظور اجرای کد نوشته شده به یک زبان سطح بالا و تبدیل آن به دستورات قابل فهم (یا قابل اجرا) توسط پردازنده از کامپایلر یا مفسر استفاده می‌شود. در مدل اول، کد نوشته شده پیش از اجرا توسط نرم افزاری به نام کامپایلر به فرم قابل اجرا توسط پردازنده تبدیل می‌شود و در مدل دوم دستورات به طور مستقیم با کمک نرم افزاری به نام مفسر اجرا می‌شوند. البته گفتنی است نوعی معماری نادر به نام معماری کامپیوتر زبان سطح بالا (High-level Language Computer Architecture) نیز وجود دارد که امکان اجرای مستقیم کدهای این نوع زبان ها را فراهم می‌آورد.

زبان برنامه نویسی سطح بالا
مقایسه یک قطعه کد ساده در یک زبان برنامه نویسی سطح بالا و یک زبان سطح پایین – استفاده از شئ گرائی در زبان های سطح بالا از جمله مزایایی است که در اغلب این زبان ها وجود دارد و باعث آسانتر شدن کدنویسی و جلوگیری از تکرار می‌شود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

دستور GOTO

دستور GOTO چیست؟

GOTO (به معنای “برو به …”) عنوان دستوری است که در بسیاری از زبان‌های برنامه‌نویسی به منظور انتقال کنترل به خط دیگری از کد مورد استفاده قرار می‌گیرد. مکان‌هایی که با استفاده از این دستور به آن‌ها پرش می‌شود معمولا توسط برچسب (Label) ها مشخص می‌شود و یا از شماره خطوط برای این جهش کمک گرفته می‌شود. بسته به زبان‌های برنامه‌نویسی مختلف، این دستور به اشکال گوناگونی از جمله GoTo، goto و … مشاهده می‌شود.

دستور GOTO از جمله دستورات جهش یا انشعاب غیر شرطی به شمار می‌رود. با وجود اینکه در گذشته استفاده از این دستور متداول بوده است اما با ظهور برنامه‌نویسی ساخت یافته (Structured Programming)، این دستور آرام آرام به فراموشی سپرده شده است. به عبارت دیگر در زبان‌های امروزی، استفاده از این دستور برای ایجاد برنامه‌ها ضرورتی ندارد و می‌توان از طریق حلقه‌ها، دستورات انتخاب و … نیز به همان عملکرد دستور GOTO دست پیدا نمود.

ساختار کلی این دستور به شکل goto identifier می‌باشد که در آن منظور از identifier برچسب یا شماره خطی است که به آن نقطه قرار است پرش صورت بگیرد. (یک برچسب در واقع دنباله‌ای از کاراکترهاست که در بسیاری از زبان‌ها با علامت : به پایان می‌رسد و یک نقطه معین در سورس کد را مشخص می‌کند). در قطعه کد زیر که به زبان C++ نوشته شده است نحوه استفاده از این دستور نمایش داده شده است:

...
goto label;
...
label:
...

مزایا و معایب استفاده از دستور GOTO

مهم‌ترین انتقادی که نسبت به این دستور بیان می‌شود آنست که استفاده از GOTO در مقایسه با ساختارهای جایگزین باعث می‌شود درک و فهم کد دشوارتر شود. هرچند این انتقاد در بسیاری از موارد قابل قبول است با اینحال از نظر بسیاری از کارشناسان، این دستور می‌تواند در صورت استفاده صحیح مفید واقع شود و نه تنها منجربه پیچیده‌تر شدن کد نشود بلکه خوانایی کد را بهبوده داده، از حجم کد کاسته و مانع از تکرار بخش عظیمی از دستورات شود. به علاوه در برخی از زبان‌ها از جمله C که امکان شکست (Break) چندسطحی وجود ندارد می‌تواند به عنوان راه حلی مناسب و سریع مورد استفاده قرار گیرد. به همین دلیل این دستور در بسیاری از زبان‌های برنامه نویسی پشتیبانی می‌شود و در بسیاری دیگر نیز پشتیبانی نمی‌شود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

زبان همه منظوره General-Purpose Language – GPL

زبان همه منظوره یا General-purpose language چیست؟

زبان همه منظوره (General-purpose language به اختصار GPL) یا زبان با اهداف عمومی به گونه‌ای از زبان‌های رایانه‌ای گفته می‌شود که دارای بازه‌ی گسترده‌ای از کاربردها در حوزه‌های مختلف می‌باشند. با توجه به این که چنین زبان‌هایی به طور اختصاصی برای یک حوزه‌ی مشخص طراحی نشده‌اند الزاما شامل ویژگی‌ها و قابلیت‌های تخصصی برای حوزه‌های مجزا نمی‌باشند.

هرچند در اغلب موارد، این مفهوم در مورد زبان‌های برنامه نویسی به کار می‌رود اما علاوه بر زبان‌های برنامه نویسی، زبان‌هایی همچون زبان‌های نشانه گذاری همه منظوره (نظیر XML) و زبان‌های مدل سازی همه منظوره (نظیر UML) را نیز دربرمی‌گیرد. از جمله زبان‌های برنامه نویسی General-purpose پرکاربرد نیز می‌توان به C، جاوا (Java)، پرل (Perl) و پایتون (Python) اشاره نمود.

گفتنی است این اصطلاح در نقطه‌ی مقابل زبان‌های خاص دامنه یا مخصوص یک حوزه (Domain-Specific Language) (نظیر HTML که به منظور ایجاد صفحات وب استفاده می‌شود) قرار می‌گیرد. البته ممکن است یک زبان همه منظوره در عین حالی که دارای کاربرد گسترده‌ای است شامل قابلیت‌های مناسب و ویژه برای یک حوزه مشخص نیز باشد و یا از سوی توسعه دهندگان معمولا در یک حوزه‌ی مشخص مورد استفاده قرار بگیرد. به علاوه در مواردی که یک زبان General-purpose از محبوبیت بالایی برخوردار می‌باشد ممکن است یک کتابخانه الحاقی برای یک حوزه خاص توسط اشخاص ثالث منتشر شود که امکانات تخصصی آن حوزه را به زبان مورد نظر می‌افزاید.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

زبان برنامه نویسی سی شارپ C# Programming Language

زبان برنامه نویسی سی شارپ یا C# چیست؟

سی شارپ (C#) یک زبان برنامه‌نویسی شئ گرا و همه منظوره است که توسط شرکت مایکروسافت و به مدیریت Anders Hejlsberg تولید شده است. دامنه‌ی کاربرد این زبان برنامه‌نویسی از نرم افزارهای کوچک تا محصولات پیچیده نظیر سیستم‌عامل‌ها و کاربردهای تحت وب و … را در برمی‌گیرد.

Anders Hejlsberg در سال 1999 در مایکروسافت رهبری تیمی برای پروژه‌ی COOL (مخفف عبارت “C-like Object Oriented Language” به معنای “زبان شئ‌گرای مشابه سی”) را برعهده گرفت. مایکروسافت درنظر داشت همین نام را به عنوان نام نهایی این زبان برنامه‌نویسی مورد استفاده قرار دهد، اما به دلایل تجاری مجبور به تغییر نام آن به سی شارپ شد. گفتنی است استفاده از کاراکتر # (شارپ) از موسیقی گرفته شده است (نماد شارپ در موسیقی به این معناست که نُت نوشته شده باید نیم پرده‌ی کروماتیک بالاتر برده شود). چنین سیاستی در نامگذاری، مشابه استراتژی به کار رفته در نامگذاری زبان برنامه نویسی C++ می‌باشد. به عبارت بهتر نمادهای ++ و # هر دو از برتری (و قدرت بالاتر) زبان‌های C++ و C# نسبت به زبان C حکایت دارند. از سوی دیگر می‌توان نماد # را ترکیبی از چهار علامت + (در چهار گوشه) در نظر گرفت که از این جهت نیز روی برتری C# (و بهبودیافتگی و قابلیت‌های پیشرفته‌تر آن) نسبت به C++ هم تأکید شده است.

نسخه‌ی اول سی شارپ به صورت رسمی در سال 2002 و بر پایه‌ی دات نت فریم ورک 1 منتشر شد و جدیدترین نسخه‌ی آن یعنی C# 7.0 در سال 2017، همراه با Microsoft Visual Studio 2017 و دات نت فریم ورک 4.6.2 عرضه شده است.

از نظر ساختاری، این زبان شباهت‌های بسیاری به زبان‌های C و C++ دارد. استفاده از سمی‌کلن برای مشخص کردن پایان دستورات، استفاده از آکولاد برای گروه‌بندی دستورات و … از جمله شباهت‌های میان این زبان‌ها به شمار می‌رود. برای مستندات سی شارپ، تعدادی پیاده‌سازی مختلف وجود دارد که از مهم‌ترین آن‌ها می‌توان به Microsoft Visual C# و Mono اشاره نمود.

برنامه Hello, World! به زبان C#:

using System;
class Program
{
  static void Main(String[] args)
  {
     Console.WriteLine("Hello, world!");
  }
}

زبان برنامه نویسی سی پلاس پلاس C++ Programming Language

زبان برنامه‌نویسی سی پلاس پلاس (C++) چیست؟

سی پلاس پلاس (C++) یکی از زبان‌های برنامه‌نویسی پرکاربرد، همه منظوره و شیء گرا است که علاوه بر دارا بودن ویژگی‌های عمومی برنامه‌نویسی، امکان دستکاری سطح پایین حافظه را نیز فراهم می‌آورد. از همین رو سی پلاس پلاس را یک زبان سطح میانه (یا ترکیبی) می‌دانند چرا که برخی از ویژگی‌های زبان‌های سطح پایین و زبان‌های سطح بالا را به طور همزمان در خود جای داده است.

منشأ تولد این زبان برنامه نویسی به اواخر دهه 70 میلادی بازمی‌گردد. Bjarne Stroustrup در سال 1979 کار روی پروژه‌ای به نام C with Classes (سی همراه با کلاس‌ها) را به عنوان توسعه‌ای از زبان برنامه نویسی C آغاز کرد که چهار سال پس از آن نامش به سی پلاس پلاس تغییر داده شد و به طور رسمی در سال 1985 منتشر شد. استفاده از این نام به دلیل هم‌خوانی ارتباطش با زبان برنامه نویسی C است. هم‌چنین عملگر افزایش (یا Increment) به کار رفته در نام این زبان (که در بسیاری از زبان‌های برنامه‌نویسی با نماد ++ شناخته می‌شود) نیز تأکیدی بر پیشرفت C++ نسبت به زبان C می‌باشد.

ویژگی‌ها و کاربردهای C++

سی پلاس پلاس یک زبان کامپایلی است که همانند سی پیاده‌سازی‌های گوناگونی از آن برای پلتفرم‌ها و سیستم‌عامل‌های مختلف فراهم شده است. گفتنی است ساختار اصلی این زبان از زبان سی الهام گرفته شده است و بسیاری از زبان‌های مدرن امروزی نظیر سی شارپ و جاوا تحت تأثیر سی و فرزند خوش‌نامش سی پلاس پلاس شکل گرفته‌اند.

ویژگی‌هایی چون شئ گرایی، وراثت، چندریختی، سربارگذاری عملگرها، مدیریت استثنائات و … از جمله ویژگی‌هایی است که علاوه بر قابلیت‌های به ارث برده شده از زبان سی در سی پلاس پلاس به چشم می‌خورد.

امروزه زبان سی پلاس پلاس همانند سی با اهداف متمایل به برنامه نویسی سیستمی و جاسازی شده (Embedded)، مورد استفاده‌ی فراوان توسعه‌دهندگان قرار می‌گیرد. به علاوه، کارایی و همچنین انعطاف‌پذیری بالای این زبان برنامه نویسی آن را به گزینه‌ی بسیار مناسبی برای توسعه‌ی اپلیکیشن‌های دسکتاپ و همچنین مواردی که به کارایی و عملکرد بالایی نیاز دارند تبدیل کرده است.

برنامه‌ی Hello World به زبان C++:

#include <iostream>
int main()
{
    std::cout << "Hello, world!\n";
}

زبان برنامه نویسی سی C Programming Language

زبان برنامه نویسی سی یا C Programming Language چیست؟

زبان برنامه نویسی C یک زبان برنامه‌نویسی همه منظوره است که اوایل دهه‌ی 1970 توسط Dennis Ritchie در Bell Labs طراحی و ساخته شد. هدف اصلی از ساخت این زبان، استفاده از آن در برنامه‌نویسی‌های سیستمی بوده است، البته همان‌طور که اشاره شد کارایی زبان C عمومی می‌باشد و به این حوزه محدود نمی‌شود.

اهمیت زبان C

بسیاری از زبان‌های پرکاربرد امروزی از جمله سی پلاس پلاس، جاوا، سی شارپ، پی اچ پی و … ویژگی‌های اصلی و برخی از ساختارهای مهم خود را از زبان C الهام گرفته‌اند به طوری که شباهت‌های میان این زبان‌ها با زبان سی کاملا مشهود است. به علاوه این زبان در نگاشت به دستورات ماشین از کارایی مناسبی برخوردار است، به همین دلیل در بسیاری از موارد توانسته است جایگزین مناسبی برای کاربردهایی باشد که در گذشته از زبان اسمبلی برای برنامه نویسی آن‌ها استفاده می‌شده است (طراحی و توسعه‌ی سیستم‌عامل‌ها و ساخت نرم‌افزار برای ابررایانه‌ها از جمله این کاربردها به شمار می‌رود).

با توجه به گستردگی کامپایلرهای زبان C که توسط شرکت‌های مختلف و برای معماری‌های گوناگون عرضه شده است، این زبان توانسته است با داشتن قابلیت‌های سطح پایین در کنار چند پلتفرمی بودن به یکی از پرکاربردترین زبان‌های برنامه نویسی در طول تاریخ تبدیل شود که حاصل آن معمولا با تغییرات اندکی در سورس کد برای پلتفرم‌ها و سیستم عامل‌های مختلف قابل اجرا می‌باشد.

سایر ویژگی‌های زبان C

زبان سی از برنامه نویسی ساخت یافته (Structured Programming) پشتیبانی می‌کند. انتهای دستورات در این زبان با علامت ; (سمی کلن) مشخص می‌شوند و محدوده‌ی دستورات در بلاک‌های مختلف نیز در داخل آکولاد یا { } قرار داده می‌شود.

امکان دسترسی سطح پایین به حافظه، قابلیت تعریف توابع، دستورات کنترلی (نظیر حلقه‌ها و دستورات شرطی)، پشتیبانی از عملگرهای مختلف منطقی و حسابی، ایجاد آرایه و … از جمله ویژگی‌هایی هستند که در این زبان مشاهده می‌شود.

با این حال، زبان برنامه نویسی C برخی از ویژگی‌هایی که در زبان‌‌های مدرن و سطح بالای امروزی مشاهده می‌شود (نظیر شیء گرایی و زباله‌روبی) را پشتیبانی نمی‌کند. کلمات کلیدی موجود در این زبان برنامه‌نویسی با وجود قدرت بالایی که دارد بسیار اندک بوده و در نسخه‌های جدید به حدود 50 کلمه می‌رسد.

برنامه‌ی Hello World به زبان C:

#include <stdio.h>
int main(void)
{
    printf("hello, world\n");
}

بیسیک BASIC

بیسیک یا BASIC چیست؟

بیسیک (BASIC) که مخفف عبارت Beginner’s All-purpose Symbolic Instruction Code می‌باشد از جمله زبان‌های برنامه نویسی سطح بالاست که در آن روی آسانی استفاده تأکید شده است.

نسخه‌ی اصلی زبان بیسیک در سال 1964 توسط John G. Kemeny و Thomas E. Kurtz در کالج دارتموث طراحی شد. هدف آن‌ها از توسعه‌ی این زبان برنامه نویسی تسهیل استفاده از رایانه برای دانشجویانی بود که در رشته‌های مختلف تحصیل می‌کردند.

از کاربردی‌ترین کلمات کلیدی که در زبان BASIC یافت می‌شده می‌توان به موارد زیر اشاره نمود:

  • LET: تخصیص مقدار به متغیر
  • IF … THEN … ELSE: مقایسه و تصمیم‌گیری
  • FOR … NEXT: حلقه تکرار به تعداد مشخص
  • WHILE … WEND: حلقه تکرار تا زمان صحت شرط
  • GOTO: پرش به یک خط یا برچسب
  • PRINT: نمایش پیام روی صفحه
  • INPUT: گرفتن مقدار یک متغیر از کاربر
  • REM: نوشتن کامنت و توضیحات

جالب است بدانید در دنیایی که بسیاری از زبان‌های برنامه نویسی در آن به دست فراموشی سپرده شده‌اند همچنان می‌توان ردپای BASIC را در یکی از محبوب‌ترین زبان‌های برنامه نویسی مدرن به نام ویژوال بیسیک (Visual Basic) مشاهده نمود به طوری که با وجود ظهور زبان‌های جدیدی همچون سی شارپ هنوز هم فرزندان این خانواده طرفداران زیادی را به خود اختصاص داده‌اند.

بیسیک
نمایی از MSX BASIC 3

برنامه ی Hello World به زبان BASIC:

PRINT "Hello, World!"
END