بایگانی برچسب‌ها : programming language

زبان برنامه نویسی سطح بالا 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) چندسطحی وجود ندارد می‌تواند به عنوان راه حلی مناسب و سریع مورد استفاده قرار گیرد. به همین دلیل این دستور در بسیاری از زبان‌های برنامه نویسی پشتیبانی می‌شود و در بسیاری دیگر نیز پشتیبانی نمی‌شود.

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

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

زبان برنامه نویسی سی شارپ 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";
}