منو
 کاربر Online
703 کاربر online
تاریخچه ی: زبان برنامه نویسی

نگارش: 6




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

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


هر زبان برنامه نویسی را می توان به عنوان یک مجموعه از مشخصات در باره ی نحو، کلمات و معانی دانست.
این مشخصات معمولا شامل موارد زیر می شوند:
  • انواع داده و ساختمان های داده
  • دستورالعمل ها و کنترل جریان
  • مکانیزم های ارجاع و استفاده ی مجدد
  • فلسفه ی طراحی

اغلب زبان هایی که کاربرد گسترده دارند و یا زبان هایی که برای یک دوره ی قابل توجه پر کاربرد بوده اند، دارای قالب های استانداردی برای تعریف، تعمیم و تکمیل برنامه ها می باشند.

انواع داده و ساختمان های داده


در یک رایانه رقمی مدرن، تمامی داده ها بصورت صفر و یک سیستم عددی باینری ذخیره می شوند. عموما داده بیانگر اطلاعاتی از دنیای واقعی همچون نام ها، حساب های بانکی و ... می باشد. بنابراین زبان های برنامه نویسی داده های سطح پایین باینری را به این مفاهیم سطح بالا سازماندهی می کنند.

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

در زبان های نوع دار ایستا، انواع از پیش تعیین شده ای برای اجزای داده ها (همچون اعداد در یک بازه ی خاص، رشته ها یا حروف و ...) وجود دارد و متغیر ها (مقادیری که از دید برنامه نام دارند) می توانند فقط یک نوع ثابت را داشته باشند و عملیات خاصی را بپذیرند. مثلا اعداد نمی توانند به نام تبدیل شوند و برعکس. اغلب زبانهای اصلی نوع دار ایستا همچون C و C PLUS PLUS و Java به تعریف واضح تمامی انواع نیاز دارند. و بیان می شود که این کار فهم برنامه را سریع می کند.
زبان های شیءگرا به برنامه نویسان امکان تعریف انواع داده ای شیء که متغیرها و توابع ذاتی خود را دارند می دهند (که به ترتیب ویژگیها و روش ها نامیده می شوند).
یک برنامه ی شامل اشیاء به آنها اجازه ی عمل مستقل را می دهد اما زیر برنامه ها را تحت تأثیر قرار می دهد: این اثر متقابل می تواند در زبان کد کردن طراحی می شود تا اشیاء با اثر متقابل را شبیه سازی کند. این کار یک عمل مفید و شهودی است. زبان هایی مثل python و Ruby به عنوان زبان های شی گرا گسترش یافته اند. آنها نسبتاً برای یادگیری و استفاده آسان هستند و در محدوده های برنامه نویسی حرفه ای و غیر حرفه ای عمومیت پیدا کرده اند. تفکر عامه چنین است که شی گرایی، زبان ها را شهودی می کندو دسترسی عمومی و قدرت کاربردهای کامپوتری مشتری پسند را افزایش می دهد.
جدای از اینکه کی و چگونه تطابق بین انواع و عبارات تعیین شده است، یک سؤال اساسی وجود دارد که که زبان چه انواعی را تعریف می کند و چه انواعی را به عنوان مقادیر عبارات (ارزش های بیان شده) و به عنوان مقادیر نام دار (ارزش های دلالت شده) اجازه می دهد. زبان های سطح پایین مثل C به برنامه اجازه ی نام دهی به مکان های حافظه و ثابت های زمان کامپایل را می دهد در حالی که به عبارت امکان باز گرداندن مقادیر که در ثبات ماشین قرار گرفته اند را می دهد؛ ANSIC این قابلیت را با اجازه به عبارات به منظور باز گرداندن مقادیر struct ، توسعه داده است. (پیوند رکورد را ببینید). زبان های تابعی اغلب نام هارا به منظور دلالت مستقیم بر مقادیر محاسبه شده ی زمان اجرا، به جای مکان های حافظه ی نام دار که مقادیر در آن ذخیره می شوند، محدود می کنند و در بعضی از موارد به مقادیر دارای نام امکان تغییر نمی دهند. زبان هایی که از جمع آوری زباله استفاده می کننددر امکان دادن به ساختارهای داده ای مختلط دلخواه به عنوان مقادیر بیان شده آزادند. در پایان، در بعضی زبان ها، رویه ها تنها به عنوان مقادیر استدلال شده اجازه ی استفاده دارند (نمی توانند با عبارات باز گردانده شوندیا به نام های جدید محدود شوند)؛ در دیگر زبان ها رویه ها می توانند به عنوان پارامتر به رویتن ها منتقل شوند اما نمی توانند محدود به نام های جدید گردند؛ در بعضی دیگر آنها در استفاده مانند مقدار بیان شده محدودیتی ندارند اما در زمان اجرا نمونه های جدیدی نمی تواند ایجاد شود؛ و در انواع دیگری، رویه ها مقادیر کلاس اول هستند که می توانند در زمان اجرا ایجاد شوند.

دستور العمل و جریان کنترل

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

فلسفه ی طراحی

به خاطر اهداف ذکر شده، هر زبان با استفاده از طراحی، فلسفه ی ویژه ای گسترش یافت. بعضی از جنبه ها، با روشی که زبان از ساختمان های داده استفاده می کند، تأکید می شدند یا اینکه نشانگذاری ویژه ی آن، راه های مشخص حل مسائل یا بیان ساختارشان را ترویج کرد.

همچنین ببینید





تاریخ شماره نسخه کاربر توضیح اقدام
 یکشنبه 16 مهر 1385 [08:12 ]   13   زینب معزی      جاری 
 یکشنبه 16 مهر 1385 [07:57 ]   12   زینب معزی      v  c  d  s 
 یکشنبه 16 مهر 1385 [07:51 ]   11   زینب معزی      v  c  d  s 
 چهارشنبه 22 شهریور 1385 [12:35 ]   10   فرید امیرغیاثوند      v  c  d  s 
 دوشنبه 09 آذر 1383 [09:49 ]   9   حمید حسن نیا      v  c  d  s 
 دوشنبه 09 آذر 1383 [08:58 ]   8   حمید حسن نیا      v  c  d  s 
 دوشنبه 09 آذر 1383 [04:42 ]   7   حمید حسن نیا      v  c  d  s 
 یکشنبه 08 آذر 1383 [12:39 ]   6   حمید حسن نیا      v  c  d  s 
 شنبه 07 آذر 1383 [08:14 ]   5   حمید حسن نیا      v  c  d  s 
 شنبه 07 آذر 1383 [07:15 ]   4   حمید حسن نیا      v  c  d  s 
 دوشنبه 02 آذر 1383 [20:45 ]   3   حمید حسن نیا      v  c  d  s 
 شنبه 30 آبان 1383 [10:39 ]   2   حمید حسن نیا      v  c  d  s 
 دوشنبه 27 مهر 1383 [10:19 ]   1   حمید حسن نیا      v  c  d  s 


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..