زبان های مختلف برنامه نویسی و دامنه آنها. سخنرانی در Yandex. زبان های برنامه نویسی مدرن و استفاده از زبان های برنامه نویسی

برای حل وظایف محاسبات، پردازنده های گرافیکی به طور فزاینده ای در حال حاضر استفاده می شود، اما این سوال هنوز باز است: نحوه نوشتن برنامه های موثر برای پیکربندی های مربوطه؟

06/15/2011 Andrei adinets

برای حل وظایف محاسبات، پردازنده های گرافیکی به طور فزاینده ای در حال حاضر استفاده می شود، اما این سوال هنوز باز است: نحوه نوشتن برنامه های موثر برای پیکربندی های مربوطه؟ راه حل استاندارد - یک دسته از CUDA یا OpenCL - به شما اجازه می دهد تا نسبتا سریع الگوریتم را به سرعت اجرا کنید، اما ایجاد یک پیکربندی خاص با کمک آنها دشوار است. نیاز به ابزار برای برنامه نویسی پردازنده های گرافیکی سطح بالا است که می تواند به عنوان مثال، با کمک زبان های قابل ارتقا ایجاد شود.

سه سال پیش، تجهیزات پردازش گرافیکی (واحد پردازش گرافیکی، GPU) تنها به عنوان کارت های ویدئویی برای یک کامپیوتر در نظر گرفته شد، در حال حاضر نگرش نسبت به آنها تغییر کرده است - مدل های سرور GPU ویژه متمرکز بر حل وظایف محاسبات، عملکرد در محاسبات دقت دوگانه افزایش یافته است ، عملکرد سیستم ضبط، که اشغال خطوط بالا در TOP500. چگونه برای نوشتن برنامه های موثر برای چنین ماشین آلات؟ پاسخ استاندارد - یک دسته از CUDA یا OPENCL برای برنامه نویسی GPU و MPI در سطح خوشه ای. این ابزارها در دسترس هستند، به طور فعال توسط تولید کنندگان تجهیزات پشتیبانی می شوند، بسیاری از برنامه ها برای آنها نوشته شده اند، اما همچنین معایب نیز وجود دارد.

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

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

زبان های قابل انعطاف

به منظور زبان قابل ارتقا، لازم است که در آن حضور داشته باشید:

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

به نظر می رسد که زبان هایی که این الزامات را برآورده می کنند نسبتا کم هستند: LISP، Nemerle، Seed7، XOC و استراتژیو. در همان زمان، XOC، که در نظر گرفته شده برای گسترش زبان SI، از یک زبان زتا جداگانه برای نوشتن فرمت ها استفاده می کند، و استراتژیکو زبان منطقه موضوع است تا مبدل های کد منبع را ایجاد کند. Nemerle یک زبان قابل انعطاف با استفاده از چهارشنبه است. خالص.

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

در زبان Nemerle، یک طراحی برای این استفاده می شود، به عنوان مثال، یک درخت را ایجاد می کند که شامل یک متغیر متغیر I با مقدار اولیه 0. است. فاکتورهای شبیه سازی اشیاء رشته ای با ثابت های رشته ای مشابه است. در شکل 1 نمونه ای از فاکتورها را نشان می دهد. طراحی Interpolation به شما امکان می دهد مقادیر متغیرها را در یک الگوی ثابت در داخل فاکتور جایگزین کنید. در Nemerle، آن را با استفاده از $ (...) طراحی شده برای این اگر شما می خواهید برای جایگزینی یک لیست، به عنوان مثال. همچنین در زبان های قابل ارتقا، طرح هایی برای تجزیه و تحلیل درخت برنامه وجود دارد. در زبان Nemerle، اپراتور بازی (...) (...) استفاده می شود، آنالوگ از سوئیچ از زبان SI، به عنوان شاخه هایی که توسط طرح های فنی استفاده می شود استفاده می شود. در این مورد، interpolation به عنوان متغیرهای جدید تبلیغاتی مورد استفاده قرار می گیرد، که، اگر مقایسه موفقیت آمیز، ارزش های زیر شاخه های مربوطه را دریافت کند. به عنوان مثال، برای مطابقت با اپراتور تطبیق (e) (| \u003d\u003e ...)، اگر e حاوی یک درخت باشد، در یک متغیر a سقوط خواهد کرد، و در متغیر b.

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

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

از لحاظ تاریخی، مکانیزم ماکرو در LISP ابتدا ظاهر شد، برنامه ای که در آن به نظر می رسد مانند یک لیست منظم است و نیازی به طرح های ویژه ای برای کار با درخت برنامه ندارد، بنابراین در این زبان بود که برنامه نویسی قابل انعطاف بیشتر توزیع شده است. ماکرو در Nemerle در LISP مشابه است. در سیستم XOC، مکانیزم فرمت از طریق گسترش گرامر و صفات درخت تجزیه شده اجرا می شود. هر فرمت لزوما دو ویژگی را تنظیم می کند: نوع طراحی نحو و بیان بر زبان پایه که در آن تبدیل شده است.

برای زبانهای قابل ارتقا، پیاده سازی بسیاری از ساختارهای استاندارد توسط ماکرو مشخص می شود. در زبان Nemerle، تمام چرخه ها و اپراتورهای مشروط، به جز مسابقه، از طریق ماکرو اجرا می شوند، و در ماکرو های LISPY، چرخه های استاندارد و اعلامیه های توابع هستند.

نحوه استفاده از زبان ها؟

برای یک زبان برنامه نویسی قابل ارتقا، شما می توانید سازه هایی را بنویسید که راحت ترین راه برای برنامه ریزی پردازنده های گرافیکی، که به عنوان بخشی از پروژه NUDA (معماری دستگاه واحد Nemerle) انجام شده است، هدف آن ایجاد پسوند زبان Nemerle برای GPU است برنامه نويسي. OpenCL به عنوان یک رابط تعامل با GPU و زبان مقصد برای نشان دادن برنامه استفاده می شود.

برای شروع، لازم است اجرای اجرای کد زیرزمینی GPU را در زبان Nemerle اجرا کنید. این باید توسط اپراتورهای معمول زبان، مانند چرخه ها و شاخه ها، و همچنین کار با انواع داده های ساده، ساختارها و آرایه ها پشتیبانی شود. کد برای GPU به توابع فردی یا در هسته NUDA ارسال می شود. هر هسته با یک ماکرو Nukernel مشخص شده است که توسط کد بر روی کد OpenCL و روش پلاگین برای تماس با هسته در سمت میزبان تولید می شود. قبل از تولید کد، افشای تمام ماکروها، به استثنای چرخه ها و ماکروهای شاخه انجام می شود. اگر داخل هسته لازم باشد که یک تابع را فراخوانی کند، این تابع باید توسط ماکرو Nucode مشخص شود، که کد را برای این عملکرد در OpenCL تولید می کند. تماس اصلی با استفاده از ماکرو NUCALL انجام می شود؛ علاوه بر پارامترهای هسته، آن را نیز به پیکربندی شبکه جریان منتقل می شود که با آن شروع می شود.

اغلب، بدن چرخه به عنوان یک هسته برای GPU استفاده می شود، بنابراین من می خواهم بلافاصله چرخه را به GPU انتقال دهم. در Nerlele، این را می توان اجرا کرد - ماکرو متناظر در NUDA نامیده می شود Nuwork نامیده می شود. به عنوان پارامترهای مورد نیاز، اندازه بلوک جریان را می گیرد و بر اساس زمینه فعلی و تجزیه و تحلیل کد بدن چرخه، مجموعه متغیرهایی را تعیین می کند که باید به عنوان پارامترها به هسته منتقل شوند. بدن هسته از بدن چرخه تولید می شود، محاسبه شاخص های چرخه از طریق شماره جریان جهانی، و همچنین شرایطی است که به شما اجازه می دهد تا چرخه را به درستی اجرا کنید، حتی اگر اندازه شبکه جهانی به اندازه آن تقسیم نشده باشد گروه جریان یک ماکرو Nucall به محل چرخه تماس می دهد که هسته تولید شده را فرا می خواند.

در اصل، شما می توانید به استفاده از آرایه های زبان Nemerle در برنامه های GPU اجازه دهید، اما منجر به هزینه های بالای سربار می شود - آرایه مورد نیاز برای کپی کردن به حافظه GPU هر بار که هسته نامیده می شود، و سپس آن را کپی کنید. بنابراین، انواع خاصی از آرایه ها در برنامه های GPU با هماهنگ سازی تنبل بین GPU و CPU استفاده می شود. این اجازه می دهد تا از یک طرف، متن برنامه را با کپی کردن دستورات داده، و از سوی دیگر - برای جلوگیری از سربار داده های کپی، کلاچ را به دست ندهید. برای چنین آرایه هایی، به عنوان آرایه های معمولی در Nerlele، مدیریت حافظه با استفاده از مجموعه زباله استفاده می شود. برای برجسته کردن حافظه برای چنین آرایه ها، ماکرو Nunew وجود دارد که باید به اپراتور تخصیص حافظه معمول اعمال شود.

در شکل 4 در سمت چپ یک برنامه آرایه های متعارف است، و در سمت راست - یک برنامه مشابه، اما انجام محاسبات در GPU. دریافت برنامه های GPU از عادی به سادگی به سادگی - فقط اعمال ماکرو به چرخه و عملیات تخصیص حافظه، و مقدار کد عملا تغییر نمی کند. برنامه نوشته شده با استفاده از NUDA طول می کشد کمتر از 20 خط کد. یک برنامه مشابه، اما در زبان پاک Si و Opencl طول می کشد بیش از 100 خط.

علاوه بر ماکرو، تسهیل کار با GPU، سیستم توسعه NUDA همچنین شامل حاشیه نویسی برای تبدیل چرخه است. حاشیه نویسی اساسا ماکروهای خاص است. به عنوان مثال، انتزاعی درون خطی به یک چرخه با تعداد ثابت تکراری استفاده می شود و اسکن کامل آن را انجام می دهد. DMINE Abstract یک اسکن چرخه عمیق را انجام می دهد. "اسکن عمیق" به این معنی است که ایجاد چندین نسخه از بدن چرخه و هم زدن نه تنها برای چرخه قابل تبدیل، بلکه همچنین برای چرخه های توپی، در صورتی که مستقل باشد، انجام می شود.

اثر

چرا برنامه نویس باید یک زبان جدید را یاد بگیرد و کتابخانه های جدید زبان های قابل ارتقا را توسعه دهد؟ پاسخ اصلی بهره وری است. داشتن یک الگوریتم از چرخه های موازی که با آرایه ها عمل می کنند و در زبان Nemerle ثبت شده اند، به اندازه کافی برای اضافه کردن چندین حاشیه نویسی برای دریافت یک برنامه برای GPU کافی است. در عین حال، این برنامه بر روی هر دستگاهی با پشتیبانی OpenCL، از جمله پردازنده های گرافیکی NVIDIA و AMD، و همچنین پردازنده های X86 اجرا خواهد شد. برای دستیابی به همان تنها با تکنولوژی های Opencl یا Cuda، لازم است منابع بسیار بیشتری را صرف کنید که نه تنها برای نوشتن کد منبع، بلکه همچنین تعامل بین میزبان و GPU را نیز انجام می دهد.

یکی دیگر از دلایل عملکرد کد ایجاد شده است. در CUDA یا OPENCL، تبدیل چرخه به صورت دستی انجام می شود و به طور جداگانه برای هر معماری انجام می شود. این یک فرآیند خطای طولانی و پیچیده است و کد حاصل شده برای همراهی مشکل و ناخوشایند است. با NUDA، این کار را می توان با کمک حاشیه نویسی انجام داد. به عنوان مثال، برای هسته های متعدد، شما می توانید پیچ \u200b\u200bو تاب تصاویر یا ضرب ماتریس ها را با حاشیه نویسی درون خطی و DMINE بهینه سازی کنید. بدون افزایش اندازه کد منبع، ممکن است در دو یا پنج بار افزایش بهره وری را افزایش دهیم. در عین حال، اگر همان تغییرات به صورت دستی انجام شود، منجر به افزایش در کد در زمان، و گاهی اوقات یک مرتبه از مقدار، به ذکر است زمان صرف زمان صرف اشکال زدایی و انتخاب پارامترهای بهینه بهینه. به عنوان مثال، یک برنامه حاشیه نویسی جهانی از هفت ردیف در NUDA ضرب یک ماتریس انتقال یافته بر روی یک ماتریس دوبار دقت بر روی NVIDIA Tesla C2050 انجام می شود تنها 40٪ کارآمد در لحظه پیاده سازی (CUBLAS 3.2). یک برنامه مشابه نوشته شده توسط دست 70 خط کد را اشغال می کند. به طور طبیعی، برای وظایف استاندارد، شما می توانید به صورت دستی کد را برای افزایش بهره وری، اما برای وظایف خاص، کاهش هزینه های کار و بهره وری بسیار مفید خواهد بود. در نهایت، افزایش بهره وری نیز شامل ایجاد پسوند خود می شود: برای ایجاد آنها با کمک زبان های قابل ارتقاء آسان تر از استفاده از ابزارهای سنتی است. کل سیستم NUDA، با وجود عملکرد آن، تنها 12 هزار خط کد را می گیرد، نه تست ها. به عنوان مثال، این نسبتا کمی است، به عنوان مثال، کامپایلر زبان Nemerle (مجمع 9025) حدود 130 هزار خط طول می کشد.

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

Andrey adinets([ایمیل محافظت شده]) - M.N.S. دانشگاه ایالتی نیوز مسکو (مسکو).



عنوان گزارش

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

نویسنده پروژه

ساختار پروژه

● طرح طبقه بندی زبان برنامه نویسی

● طبقه بندی زبان برنامه نویسی

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

● منابع مفید

طبقه بندی برنامه های کاربردی برنامه نویسی

طبقه بندی زبان های برنامه نویسی

برنامه نویسی رویهایی - بازتابی از پس زمینه معماری Nymanovsk از کامپیوتر وجود دارد. برنامه ای که در زبان رویه ای نوشته شده است دنباله ای از دستورات است که الگوریتم حل مسئله را تعیین می کند. ایده اصلی برنامه نویسی رویه ای استفاده از حافظه برای ذخیره سازی داده ها است. فرمان اصلی اختصاص داده شده است، که تعیین می شود و حافظه کامپیوتر تغییر می کند. این برنامه تبدیل محتوای حافظه را با تغییر آن از حالت منبع به نتیجه می دهد.

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

 زبان فورتران در اوایل دهه 50 قرن بیستم برای برنامه نویسی وظایف علمی و فنی ایجاد شد؛

 COBOL - ایجاد شده در اواخر دهه 60 میلادی قرن بیستم برای حل مشکلات پردازش مقادیر زیادی از داده های ذخیره شده در حامل های مختلف داده؛

 Algol (1960) یک زبان برنامه نویسی پیشرفته چند منظوره است. برای اولین بار، مفاهیم "ساختار بلوک برنامه" و "توزیع حافظه پویا" معرفی شد؛

 در اواسط دهه 60 قرن بیستم، یک زبان برنامه نویسی تخصصی برای مبتدیان ایجاد شد - پایه. این امر با سادگی توسعه و حضور ابزارهای جهانی برای حل وظایف علمی، فنی و اقتصادی، و همچنین وظایف، به عنوان مثال، بازی مشخص می شود.

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

 در سال 1963-1966، یک زبان جهانی چند منظوره PL-1 ایجاد شد. این زبان به خوبی برای تحقیق و برنامه ریزی فرآیندهای محاسباتی، مدل سازی، حل وظایف منطقی، توسعه سیستم های پشتیبانی ریاضی اقتباس شده است.

 زبان پاسکال (پاسکال) (1968-1971gg) - زبان برنامه نویسی رویه ای محبوب ترین رایانه است که در حال حاضر با موفقیت اعمال می شود. زبان پاسکال بر اساس یک کار مشترک به خصوصی (ساده تر و کمتر در حجم) است. اصول اساسی که پاسکال دارای می تواند عبارتند از: الف) برنامه ریزی ساختاری، که بر اساس استفاده از زیرروئوتین ها و ساختارهای داده مستقل است؛ ب) برنامه ریزی "بالا به پایین" زمانی که این کار به وظایف ساده و مستقل تقسیم می شود. سپس راه حل مشکل اولیه به طور کامل بالا می رود.

 به زبان برنامه های برنامه نویسی شامل زبان جهنم (1979 د)، زبان پس از اولین برنامه نویس از Dooms of Bairon Lavlayers نامگذاری شده است. این مدولاسیون ساختارها را دارد.

 زبان SI (آغاز 70s) نیز مربوط به زبان های برنامه نویسی رویه ای است. گزینه اولیه آن به عنوان یک زبان برای اجرای سیستم عامل یونیکس به جای اسمبلر برنامه ریزی شد. یکی از ویژگی های زبان SI این است که تفاوت بین عبارات و اپراتورها صاف است، که آن را به زبان های برنامه نویسی کاربردی به ارمغان می آورد. علاوه بر این، هیچ مفهومی از روش در زبان C وجود ندارد و استفاده از زیرمجموعه ها بر اساس مفهوم یک تابع است که می تواند قابلیت های این روش را ترکیب کند. از یک طرف، بر روی مجموعه ای از ساختارهای کنترل و ساختارهای داده، می توان آن را به زبان های سطح بالا نسبت داد، و از سوی دیگر، مجموعه ای از ابزار دسترسی مستقیم به گره های عملکردی کامپیوتر است که به این معنی است که می تواند باشد به عنوان یک زبان عملی استفاده شود.

برنامه نویسی شی گرا (OOP) - این یک روش برنامه نویسی است، هنگام استفاده از عناصر اصلی برنامه ها اشیاء هستند. در زبان های برنامه نویسی، هدف از جسم به عنوان مجموعه ای از خواص (ساختارهای داده مشخصه این شیء)، روش های پردازش (subroutines برای تغییر خواص آنها) اجرا می شود و رویدادهایی که این شیء می تواند واکنش نشان دهد و معمولا به عنوان یک قانون است ، برای تغییر خواص جسم. ترکیب داده ها و درمان آنها روش های پردازش در یک شیء، encapsulation نامیده می شود و یکی از مهمترین اصول OOP است.

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

مهمترین اصول مهم OOP وراثت و پلی مورفیسم است. وراثت شامل ایجاد کلاس های جدید بر اساس موجود است و اجازه می دهد تا کودک به عنوان یک نسل به عنوان (به ارث بردن) تمام خواص کلاس پدر و مادر.

پلی مورفیسم به این معنی است که امکانات متولد شده دارای اطلاعاتی در مورد روش هایی است که آنها باید از آنها استفاده کنند بسته به اینکه زنجیرهایی که در آن هستند استفاده می شود.

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

پیشرفته ترین زبان های برنامه نویسی C ++ و جاوا هستند. از اواسط دهه 90، بسیاری از زبان های شی گرا به عنوان سیستم های طراحی بصری اجرا می شوند که در آن بخش رابط کاربری محصول نرم افزار در حالت گفتگو ایجاد می شود، عملا هیچ اپراتورهای نرم افزاری نوشتاری ایجاد نمی شود. سیستم های طراحی بصری شی گرا عبارتند از ویژوال بیسیک، دلفی، C ++ Builder، Visual C ++. زبان VBA (ویژوال بیسیک برای برنامه) - زبان برنامه مایکروسافت آفیس (اکسل، کلمه، نقطه قدرت، و غیره). VBA مطابق با نحو اصلی قوانین زبان و برنامه نویسی پایه های اساسی، به شما اجازه می دهد تا ماکروها را برای ساخت برخی از عملیات و رابط کاربر گرافیکی، ادغام بین محصولات مختلف نرم افزار ایجاد کنید.

زبان های برنامه نویسی اعلام شده

این شامل زبان های برنامه نویسی کاربردی و منطقی است. برنامه نویسی عملکردی یک راه برای تهیه برنامه هایی است که تنها عمل یک تماس عملکرد است. برنامه نویسی کاربردی از حافظه به عنوان یک مکان برای ذخیره سازی داده استفاده نمی کند و بنابراین متغیرهای متوسط، اپراتورهای تخصیص و چرخه استفاده نمی شود. مفهوم کلیدی در زبان های کاربردی عبارت است. برنامه ای که در زبان عملکردی نوشته شده است، توالی توابع و عبارات توصیف شده است. این عبارت توسط مجتمع اطلاعات به ساده محاسبه می شود. تمام عبارات به صورت لیست ثبت می شوند. زبان اول LISP (LISP، لیست پردازش پردازش لیست ها) در سال 1959 ایجاد شد. این زبان به شما امکان می دهد مقدار زیادی اطلاعات متنی را پردازش کنید. برنامه نویسی منطقی از لحاظ منطق برنامه ریزی است. در سال 1973، زبان هوش مصنوعی Prolog (Prolog) ایجاد شد (برنامه نویسی در منطق). برنامه Prologue بر اساس دنباله ای از حقایق و قوانین است، پس تصویب که Prolog در تلاش است تا با کمک قوانین اثبات کند. زبان خود به دنبال یک راه حل با استفاده از روش های جستجو و مقایسه ای است که در آن قرار داده شده است. برنامه های منطقی با سرعت بالا متمایز نیستند، زیرا روند اجرای آنها به ساخت زنجیرهای مستقیم و معکوس استدلال با انواع روش های جستجو کاهش می یابد.

خلاصه ای از زبان های برنامه نویسی

اسمبلر

زبان های برنامه نویسی کامپیوتر به 2 گروه اصلی تقسیم می شوند:

1) زبان های سطح پایین؛

2) زبان های سطح بالا.

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

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

پاسداری

زبان برنامه نویسی پاسکال توسط پروفسور بخش مهندسی کامپیوتر موسسه فدرال سوئیس فدرال نیکولوس ویرجین در سال 1968 به عنوان جایگزینی برای زبان های برنامه نویسی موجود و همه پیچیده مانند PL / 1، Algol، Fortran توسعه داده شد. توسعه فشرده پاسکال منجر به ظهور در سال 1973 شد و در سال 1973 به شکل یک پیام تجدید نظر شد و تعداد مترجمان این زبان در سال 1979 بیش از 80 بود. در اوایل دهه 80، پاسکال حتی موقعیت خود را با ظهور MS تقویت کرد -Pascal و Turbo Translators -Pascal برای Pevm. از این زمان، پاسکال یکی از مهمترین و به طور گسترده ای از زبان های برنامه نویسی استفاده می شود. ضروری است که زبان به مدت طولانی فراتر از محدوده علاقه های حرفه ای دانشگاهی و باریک بوده و در اکثر دانشگاه های کشورهای توسعه یافته نه تنها به عنوان یک ابزار کاربر استفاده می شود. مهمترین ویژگی پاسکال ایده ای از برنامه ریزی ساختاری است. یکی دیگر از ویژگی های ضروری، مفهوم ساختار داده ها به عنوان یکی از مفاهیم اساسی است.

دلایل اصلی محبوبیت پاسکال به شرح زیر است:

زبان آسان به شما اجازه می دهد تا به سرعت آن را مدیریت کنید و برنامه های پیچیده الگوریتمی را ایجاد کنید.

ابزارهای توسعه یافته برای ارائه ساختارهای داده، راحتی اطلاعات عددی و نمادین و نمادین را فراهم می کنند

حضور تکنیک های ویژه برای ایجاد مترجمان از پاسکال، توسعه آنها را ساده کرده و به زبان گسترده کمک کرده است

بهینه سازی خواص مترجمان از پاسکال به شما امکان ایجاد برنامه های موثر را می دهد. این به عنوان یکی از دلایل استفاده از پاسکال به عنوان یک زبان برنامه نویسی زبان خدمت کرده است.

در زبان پاسکال، ایده های برنامه ریزی ساختاری اجرا می شود، که برنامه را بصری می کند و فرصت های خوبی برای توسعه و اشکال زدایی می دهد

Denis Ritci، کارمند Bell Labs، زبان C را در سال 1972 در طول همکاری با Ken Thompson، به عنوان یک ابزار برای اجرای سیستم عامل یونیکس ایجاد کرد، اما محبوبیت این زبان به سرعت چارچوب یک سیستم عامل خاص و وظایف برنامه های خاص سیستم را به دست آورد. در حال حاضر، هر سیستم عامل و سیستم عامل را نمی توان در نظر گرفت اگر ترکیب آن شامل کامپایلر زبان C نیست. Ritchee یک SI را به سادگی از سر اختراع نکرد - نمونه اولیه زبان BI توسعه یافته توسط تامپسون بود. زبان برنامه نویسی SI به عنوان یک ابزار برای تمرینکنندگان توسعه یافت. مطابق با این، هدف اصلی نویسنده آن، ایجاد یک زبان مناسب و مفید در همه جهات بود.

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

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

C - زبان قدرتمند و انعطاف پذیر. اکثر سیستم عامل یونیکس، کامپایلرها و مترجمان زبان های فورتران، پاسکال، لیزپ و Baisik دقیقا با کمک آن نوشته شده است.

C - زبان مناسب برای حفظ یک سبک برنامه نویسی خوب، به اندازه کافی ساختار یافته است و در عین حال با محدودیت های تنگ ارتباط ندارد. به نوعی، زبان SI جهانی ترین است، زیرا علاوه بر مجموعه ای از ابزارهای ذاتی زبان های برنامه نویسی سطح بالا (ساختاری، مدولار، انواع داده های خاص)، شامل نرم افزار برای برنامه ریزی عملا در سطح مونتاژلر است. مجموعه ای از اپراتورها و معنی نیاز به یک برنامه نویس احتیاط، دقت و دانش خوب زبان با تمام مزایا و معایب IHO است.

C ++ در اوایل دهه 80 ظاهر شد. ایجاد شده توسط Bierian Sturastrup با هدف اولیه برای صرفه جویی در خود و دوستان خود را از برنامه نویسی در Assembler، SI یا انواع مختلف دیگر زبان های سطح بالا.

به گفته نویسنده زبان، تفاوت بین ایدئولوژی Si و C ++ تقریبا به شرح زیر است: برنامه در C نشان دهنده "روش تفکر" پردازنده، و C ++ یک روش برنامه نویس تفکر است. پاسخ به الزامات برنامه نویسی مدرن، C ++ تمرکز بر توسعه انواع داده های جدید از مفاهیم کاملا مرتبط از منطقه انتخاب شده از دانش و وظایف برنامه کاربردی است. کلاس مفهوم کلیدی C ++ است. شرح کلاس شامل توصیف داده های مورد نیاز برای نشان دادن اشیاء این نوع و مجموعه ای از عملیات برای کار با اشیاء مشابه است.

بر خلاف ساختارهای سنتی C و PASCAL، اعضای کلاس نه تنها داده ها هستند، بلکه عملکردها نیز هستند. توابع - اعضای کلاس دسترسی به داده ها را در اشیاء این کلاس دارند و رابط کاربری بین این اشیا و بقیه برنامه را فراهم می کنند. با کار بیشتر، کاملا لازم نیست که ساختار داخلی کلاس و مکانیسم بهره برداری از ویژگی های داخلی را به یاد داشته باشید. به این معنا، کلاس شبیه به مبلمان برق است - تعداد کمی از مردم در مورد دستگاه خود می دانند، اما همه می دانند که چگونه از آن استفاده کنند.

زبان C ++ وسیله ای از برنامه نویسی شی، آخرین روش های طراحی و اجرای برنامه ها است که در دهه جاری به احتمال زیاد جایگزین برنامه های رویه ای سنتی می شود. هدف اصلی خالق زبان دکتر Biern Strastard با ساختارهای C ++ مجهز شده است، که اجازه می دهد تا بهره وری برنامه نویسان را افزایش دهد و روند تسلط بر محصولات بزرگ نرم افزاری را تسهیل کند.

انتزاع، پیاده سازی، ارث و پلی مورفیسم خواص لازم است که زبان C ++ آن است، به طوری که آن را نه تنها جهانی، و همچنین زبان C، بلکه زبان شیء است. Fortran Fortran یک زبان به طور گسترده ای توزیع شده است، به ویژه در میان کاربران که در مدل سازی عددی مشغول به کار هستند. این به دلایل مختلف توضیح داده شده است:

وجود بودجه های بزرگی از برنامه های کاربردی برنامه های کاربردی بر روی قلعه که در طول سال ها انباشته شده است، و همچنین حضور تعداد زیادی از برنامه نویسان که به طور موثر از این زبان استفاده می کنند؛

حضور مترجمان موثر Morthrane در تمام انواع کامپیوتر، و نسخه برای ماشین های مختلف کاملا استاندارد شده است و انتقال برنامه ها از دستگاه به دستگاه معمولا بزرگ نیست؛

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

در طول دوره گذشته، یک روش جدید و فلسفه برنامه نویسی جدید شکل گرفته است. از آغاز دهه 70، فورد سزاوار انتقاد شده است. در سال 1977، یک استاندارد جدید Fortran-77 تصویب شد. مدت زمان طولانی برای ایجاد یک استاندارد جدید طول کشید، اما اکنون ممکن است فرض شود که توسعه آن تکمیل شده است و استاندارد جدید Fortran-90 شروع به وارد شدن به تمرین کاربران Urthran کرد. فقط در دستگاه های IBM PC چند متر مربع برای مثال، Watfor، Lap-Fortran و غیره وجود دارد، اما بزرگترین توزیع بر روی ماشین آلات این نوع نسخه های مختلفی از مترجم Fortran-77 را دریافت کرد. مترجم MS-FORTRAN 5.0 منتشر شده در سال 1990 تقریبا به طور کامل با استاندارد FORTRAN-90 مطابقت دارد. اکثر برنامه های کاربردی بزرگ علمی و فنی بر روی فورتران نوشته شده اند، زیرا تحمل پذیری و ثبات، و همچنین به دلیل حضور توابع ریاضی و مثلثاتی ساخته شده است. یک بخش اضافی، یکپارچه از هر برنامه کاربردی در Fortran یک کتابخانه گرافیکی گسترده است که اجازه می دهد تا با استفاده از داده های گرافیکی مختلف و تصاویر.

این زبان به طور عمده در سال 1975 تا 1980 به عنوان یک نتیجه از یک پروژه بزرگ توسط وزارت دفاع ایالات متحده برای توسعه یک زبان برنامه نویسی واحد برای سیستم های به اصطلاح داخلی ساخته شده است (یعنی سیستم های کنترل مجتمع های خودکار در زمان واقعی) . اول از همه، سیستم های کنترل در محل برای مدیریت اشیاء نظامی (کشتی ها، هواپیماها، مخازن، موشک، پوسته، و غیره) به معنای بود. بنابراین، تصمیمات گرفته شده توسط نویسندگان، جهانی را در نظر نمی گیرند. آنها باید در زمینه ویژگی های موضوع موضوع انتخاب شده درک شوند. زبان اداری به عنوان یک نتیجه از رقابت بین المللی پروژه های زبان در سال های 1978-1979 بوجود آمد. شرکت کنندگان باید بسیار دشوار راضی باشند، تحت حمایت وزارت دفاع ایالات متحده با الزامات طراحی شده اند. جالب توجه است، تمام زبان هایی که به آخرین دور این مسابقه رسیده اند، بر اساس پاسکال بود. در این راستا، جهنم را می توان قبلا به عنوان پاسکال مشخص کرد، توسعه یافته، با توجه به پنج مورد اساسی ذکر شده در بالا ذکر شده است. در عین حال، نویسندگان عمدتا در طول مسیر گسترش پاسکال با عناصر جدید رفتند. در نتیجه، زبان به طور قابل توجهی پیچیده تر شد.

کوبول

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

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

PL / 1 در سال 1964-1965 توسط IBM توسعه یافت. PL / 1 به تعدادی از زبان های جهانی اشاره دارد، یعنی اجازه می دهد تا شما را به حل مشکلات از مناطق مختلف: محاسبات عددی، پردازش متن، وظایف اقتصادی، و غیره با قابلیت های آن، آن را به عنوان زبان هایی مانند Fortran، Algol-60 ( COBOL (برای وظایف اقتصادی) برای محاسبات عددی ایجاد شده است، اگر چه به دلایل متعددی، این زبان های PL / 1 نمی تواند سرکوب شود.

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

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

مدول

ما می توانیم فرض کنیم که تاریخ زبان ماژول در سال 1980 آغاز می شود، زمانی که نیکلاوس Wirth، یکی از متخصصان تئوری اطلاعات برجسته، شناخته شده ترین متخصصان فنی کامپیوتر، به طور عمده به عنوان خالق پاسکال، توصیف زبان برنامه نویسی جدید را منتشر کرد مدول. بر خلاف پاسکال، که توسط زبان برای برنامه ریزی یادگیری برنامه ریزی شده بود، ماژول از همان ابتدا یک زبان برای برنامه نویسان سیستم حرفه ای بود، ادامه بهترین سنت های سلف خود را ادامه داد و آنها را با ایده های جدیدی که چنین الزاماتی را برای زبان های برنامه نویسی به عنوان ساختارگرا مطابقت می داد، غنی سازی کرد ، مدولار و توانایی گسترش. همانند بسیاری از زبان های برنامه نویسی دیگر، ماژول تحت تکامل قرار گرفت، در طی آن نام اولیه آن به نام ماژول 2 بازسازی شد. همزمان با توسعه زبان ماژول، کامپایلرهای جدید برای او ایجاد شد، اما هیچ کدام از آنها نمی توانستند با بهترین تحقق زبان پاسکال و SI رقابت کنند، به عنوان مثال، توسط Borland توسعه یافته است. در این زبان ماژول انتقالی، بهترین دوره به عنوان Logitech اجرا شد، که به واسطه ویژگی های آنها از دست دادن توربو پاسکال و توربو سی. تنها در سال 1988، پس از ظهور سیستم سرعت بالا در بازار ایالات متحده، ماژول -2 در میان زبانهای رویه ای که برای برنامه ریزی سیستم طراحی شده بود، جایگاه شایسته ای را به دست آورد. عجله از محبوبیت سیستم سرعت بالا، عوامل متعددی را به وجود آورد: راحت و علاوه بر این، محیط عملیاتی به راحتی به درخواست کاربران، کامپایلر سریع و سردبیر انتخابی اتصالات قابل تغییر است. اما مهم ترین این واقعیت بود که برنامه های ایجاد شده با سرعت بیشتری مشخص شده و فضای زیادی را در حافظه اشغال نکرده اند.

بیسک

پایه - کد دستورالعمل نمادین همه جانبه مبتدی - "کد جهانی نمادین دستورالعمل برای مبتدیان"). نسل مستقیم فورتران و هنوز محبوب ترین زبان برنامه نویسی برای رایانه های شخصی. Becisik در سال 1963 ظاهر شد (به نام نویسنده دشوار خواهد بود، اما شایستگی اصلی در ظاهر خود بدون شک به آمریکایی ها جان کمان و توماس کورتو متعلق به آمریکایی ها است. همانند هر گونه مزایا، سادگی Beysik در اطراف، به ویژه در نسخه های قبلی از مشکلات ساختاری تبدیل شد؛ علاوه بر این، Baisik اجازه بازگشت را اجازه نمی دهد - یک تکنیک جالب است که به شما اجازه می دهد تا برنامه های کوتاه و در همان زمان را انجام دهید.

یک کامپایلر بیس بال قدرتمند توسعه یافته است، که نه تنها واژگان غنی و سرعت بالا، بلکه امکان برنامه ریزی ساختاری را فراهم می کند. به گفته برخی از برنامه نویسان، نسخه های جالب ترین Gwbasic، Turbo-Basic و Quick Basic هستند.

در یک زمان، ظاهر اولیه اولیه، تولد نسل دوم سیستم های برنامه نویسی در زبان Baysik را مشخص کرد. این امکان برنامه نویسی مدولار و رویه ای را فراهم کرد، ایجاد کتابخانه ها، ایجاد برنامه های آماده سازی، و غیره، که آن را به سطح مانند زبان های برنامه نویسی کلاسیک، مانند Si، پاسکال، فورتران و غیره به ارمغان آورد، علاوه بر این، به دلیل عدم وجود از استاندارد رسمی زبان Baysik، پیاده سازی آن سریع اولیه تبدیل به یک استاندارد واقعی شده است. رهبران بدون قید و شرط در میان نسخه های مختلف Baysik Quick Basic 4.5 و PDS 7.1 مایکروسافت بود که در اواخر دهه 80 ظاهر شد.

لیز

زبان LISP توسط J. McCarthy در سال 1960 پیشنهاد شد و بر توسعه برنامه ها برای حل مشکلات ماهیت غیر عددی متمرکز بود. نام انگلیسی این زبان - LISP اختصار بیان پردازش لیست (پردازش لیست ها) است و به خوبی بر روی منطقه اصلی استفاده از آن تأکید دارد. مفهوم "فهرست" معلوم شد بسیار محکم است. در قالب لیست ها مناسب است که نمایانگر عبارات جبری، نمودارها، عناصر گروه های محدود، مجموعه ها، قوانین خروجی و بسیاری از اشیاء پیچیده دیگر را نشان دهد. لیست ها انعطاف پذیر ترین فرم ارائه اطلاعات در حافظه کامپیوتر هستند. تعجب آور نیست که یک زبان مناسب به طور خاص برای رسیدگی به لیست ها طراحی شده است، به سرعت به دست آوردن محبوبیت.

پس از ظهور LISP، نویسندگان مختلف، تعدادی از مشکلات دیگر الگوریتمی را در زمینه هوش مصنوعی پیشنهاد دادند که از جمله پخش کننده ها می توان آنها را می توان ذکر کرد، Snobol، Reflux، Prologue. با این حال، این امر از LISP جلوگیری نمی کند تا محبوب ترین زبان را برای حل این وظایف حل کند. در طول تاریخ تقریبا چهل سال از وجود آن، تعدادی از گویش های این زبان ظاهر شد: LISP مشترک، Mac Lisp، Inter Lisp، استاندارد LISP، و غیره تفاوت بین آنها طبیعت اساسی را تحمل نمی کند و عمدتا به کمی کاهش می یابد مجموعه های مختلف از توابع ساخته شده و برخی از تفاوت ها در قالب برنامه های ضبط. بنابراین، یک برنامه نویس که آموخته به کار بر روی یکی از آنها می تواند به راحتی استاد و هر یک دیگر. مزیت بزرگ LISP جهت گیری عملکردی آن است، I.E. برنامه نویسی با استفاده از توابع انجام می شود. علاوه بر این، این تابع به عنوان یک قاعده درک می شود، مقایسه عناصر برخی از کلاس ها، عناصر مربوطه کلاس دیگر. روند مقایسه خود را بر عملکرد برنامه تاثیر نمی گذارد، تنها نتیجه آن مهم است - ارزش عملکرد. این به شما اجازه می دهد تا به راحتی مجتمع های نرم افزاری بزرگ را بنویسید و اشکال زد. وضوح برنامه ها، تمایز روشن بین توابع خود، عدم وجود عوارض جانبی Caerz زمانی که آنها برآورده می شود، الزامات اجباری برای برنامه ریزی چنین وظایف منطقی منطقی است که وظایف هوش مصنوعی است. انضباط برنامه نویسی به ویژه مهم می شود زمانی که یک نفر در این برنامه کار نمی کند، بلکه یک گروه کامل از برنامه نویسان است.

زبان برنامه نویسی LISP عمدتا برای پردازش اطلاعات نمادین در نظر گرفته شده است. بنابراین، طبیعی است که در جهان LISP، این تعداد از نقش مهمی ایفا می کند. انواع اصلی داده ها در LISPY به نام "اتم" و "جفت نقطه" نامیده می شود.

مقدمه

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

شیک

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

Object Pal را می توان به عنوان یک ابزار برای ایجاد برنامه های آفلاین استفاده کرد. شما می توانید برنامه های تکمیل شده ویندوز را بنویسید و آن را تحت پارادوکس اجرا کنید.

Object Pal از مکانیزم مبادله داده پویا به عنوان هر دو مشتری و سرور پشتیبانی می کند. علاوه بر این، Object PAL از مکانیسم کار با اسناد کامپوزیتی به عنوان یک مشتری پشتیبانی می کند. علاوه بر آنچه گفته شده است، ممکن است چند رسانه ای را در برنامه خود قرار دهید، برنامه را با استفاده از اثرات صدا و انیمیشن انجام دهید.

ایجاد شده توسط BBSE، پیاده سازی زبان DBEE یک جهت گیری شیب ترکیبی موفقیت آمیز و روش های برنامه نویسی سنتی است. این اجازه می دهد تا سیستم ها را با استفاده از طراحی شیء ایجاد کرده و از پذیرش های متعارف برای پرونده های پردازش استفاده کنند. دستاورد بزرگ شرکت B Bohr این بود که تکنیک های برنامه نویسی شیء و رویه ای را به خوبی ترکیب کرده است. اولین نسخه برای ویندوز به کاربر قدرتمندترین ابزار شی را در بازار نرم افزار پایگاه داده داد. این اجازه می دهد تا شما را به ایجاد کلاس های جدید از اشیاء که خواص ارث، کپسیولاسیون و پلیمورفیسم دارند. همچنین به شما اجازه می دهد این اشیا را با استفاده از دستورات DBase سنتی برنامه ریزی کنید، ایده آل برای مدیریت پایگاه داده های جدول ساده مناسب است. همه اینها مزایای غیر قابل انکار را می دهد - بدون انتقال دشوار به تکنیک های برنامه نویسی شیء، انتقال بسیار پیچیده است، به عنوان مثال، به عنوان در Paradox DBMS.

زبان جاوا به عنوان بخشی از پروژه برای ایجاد نرم افزار پیشرفته (نرم افزار) برای لوازم خانگی مختلف ایجاد شد. پیاده سازی پروژه در C ++ راه اندازی شد، اما به زودی تعدادی از مشکلات بوجود آمد، بهترین ابزار مبارزه با ابزار خود - زبان برنامه نویسی. واضح است که یک زبان برنامه نویسی مستقل پلتفرم مورد نیاز است، که به شما امکان می دهد برنامه هایی را ایجاد کنید که مجبور نیستند به طور جداگانه برای هر معماری کامپایل شوند و بتوانند از پردازنده های مختلف تحت سیستم های مختلف استفاده کنند. زبان جاوا برای ایجاد محصولات تعاملی برای اینترنت مورد نیاز بود. در واقع، اکثر راه حل های معماری تصویب شده هنگام ایجاد جاوا توسط تمایل به ارائه نحو مشابه با C و C ++ دیکته شده است. جاوا از موافقت نامه های تقریبا یکسان برای اعلام متغیرها، انتقال پارامترها، اپراتورها و کنترل جریان اجرای کد استفاده می کند. جاوا تمام ویژگی های خوب C ++ را اضافه می کند.

سه عنصر کلیدی در فن آوری جاوا متحد شده اند

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

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

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

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

زبان های برنامه نویسی برای شبکه های کامپیوتری تفسیر شده اند. مترجمان برای آنها به صورت رایگان توزیع می شوند و برنامه های خود در متون منبع هستند. چنین زبانهایی اسکریپت - زبان ها نامیده می شود.

Perl یک زبان تفسیری است که توسط برنامه نویس دیوار لارد ایجاد شده است تا متون و فایل های بزرگ را اداره کند و به عنوان استخراج عملی و گزارش زبان (زبان برای استخراج داده های عملی و گزارش دهی) رمزگشایی شود. به عنوان مثال، با استفاده از Perl، شما می توانید یک اسکریپت ایجاد کنید که یک یا چند فایل را باز می کند، اطلاعات را پردازش می کند و نتایج را ثبت می کند.

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

با اختراع، وب جهان گستر، پرل تبدیل به یک ابزار عالی برای تعامل با سرورهای وب از طریق رابط دروازه مشترک (CGI) - یک رابط متقابل مشترک است. دستورات Perl به راحتی می توانید اطلاعات را از یک فرم HTML یا منبع دیگر دریافت کنید و هر عمل را با آنها انجام دهید.

زبان پی اچ پی (1995-1997) دسترسی به دسترسی به پایگاه داده دارد و توسط سازندگان سایت های پویا در سراسر جهان استفاده می شود.

زبان TCL / TK (پایان دهه 1980) شامل دستورات قدرتمند طراحی شده برای کار با اشیاء انتزاعی غیر انتزاعی است و به شما امکان می دهد برنامه های با یک رابط گرافیکی ایجاد کنید.

زبان vrml (1994) ایجاد شده برای سازماندهی رابط های سه بعدی مجازی در اینترنت.

زبان XML. از سال 1996، این کار بر روی ایجاد یک زبان جهانی ساختار سند است. این می تواند جایگزین برای HTML شود.

خروجی

منابع مفید

بررسی Aizili

گزارش کجاست؟

Ranitka را مرور کنید

RE: گزارش کجاست؟
همه چیز خواهد بود: -D

بازخورد شامگولاوا نخبگان

بررسی Mishina Alexander

گزارش بزرگ من در مورد زبان های برنامه نویسی زیادی آموختم.

بررسی Morozova الکساندر

البته من می خواهم یک گزارش یا حداقل ارائه در هر فرم را ببینم.

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

چه افزونه C Plus Plus؟

این زبان برنامه نویسی دارای تعیین فایل خود است. Designation CPP یک فرمت ویژه ای است که برای فایل های C ++ استفاده می شود. آنها هنوز آماده استفاده از کد (نه کامپایل نشده) نیستند که می توانند ویرایش شوند و بدون هزینه و شکست های قابل توجهی در برنامه ویرایش شوند. با استفاده از این افزونه، می توانید پیدا کنید که کدام فایل شامل متن در "SI" (زبان برنامه نویسی است که در حال حاضر بسیار محبوب است).

گسترش و اهمیت آن در برنامه نویسی

چرا لازم است نام فایل را که توسط کامپیوتر استفاده می شود گسترش دهید؟ واقعیت این است که کامپیوتر می تواند بسیاری از انواع مختلف فایل ها را اداره کند، هر دو در چارچوب سیستم عامل نصب شده و با استفاده از نرم افزار اضافی. یک مثال از چنین نرم افزاری ممکن است پلاگین های نصب شده در مرورگرها یا مترجمان زبان های برنامه نویسی مختلفی باشد که می توانند برنامه های در حال اجرا را اداره کنند. در اینجا، به رسمیت شناختن نحوه استفاده از مترجم کامپیوتر باید استفاده شود، کدام کد دستگاه برای پخش فایل استفاده می شود و پسوند لازم است. نوع فایل را به رسمیت می شناسد، این اطلاعات توسط جزئیات موجود ارائه می شود. بنابراین، CPP Extension یک فایل حاوی سند C ++ است. پس از شناخت، مترجم قادر خواهد بود آن را باز کند، و کاربر قادر به کار با سند خواهد بود.

فرمت نام فایل چیست؟

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

چنین هدیه ای از توسعه دهندگان اغلب از کلاهبرداران لذت می برند. فایل های مخرب شما که آنها را در رایانه های کاربران پیشنهاد می کنند، مهاجمان اغلب برای برنامه های دیگر پنهان می شوند، گسترش اصلی فایل (در ویروس ها و تروجان های مختلف آن از برنامه های عادی متفاوت است). ممکن است حتی این باشد که تمام فایل های واقعی پنهان یا حذف شوند، و به جای آنها به طور کامل متفاوت هستند. و به نظر می رسد که CPP CPP نیست، بلکه یک ویروس کامپیوتری است. حفاظت خوب از این نوع کلاهبرداران، فرمان نمایش تمام انواع پسوندها است. شما می توانید این ویژگی را در "کنترل پنل" فعال کنید، آن را به اندازه کافی برای پیدا کردن تنها مورد مورد نیاز است. و سپس شما می توانید برای فایل های C Plus Plus خود آرام باشید، و مطمئن شوید که شما به جای آن یک برنامه مضر را اجرا نخواهید کرد. اگر چه همیشه لازم است که گسترش فایل های اجرایی را تماشا کنید.

دقت اطلاعات مشخص شده در گسترش

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

روش های دیگر و فرصت ها برای مشخص کردن فرمت

ویژگی های دیگر برای مشخص کردن سیستم فایل وجود دارد. اما آنها رایج نیستند، و به احتمال زیاد هرگز شنیده اید:

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

قبل از اینکه بخواهید زبان برنامه نویسی را مطالعه کنید، باید کمی درباره تاریخ خود و جایی که آنها اعمال می شود، بدانید.

من شما را یک مرور کلی از 25 زبان شناخته شده برنامه نویسی ارائه می دهم. شروع از معروف ترین به کمتر محبوب ترین. این مقاله برای تازه واردین در زمینه برنامه نویسی ساخته شده است. شما می توانید در مورد هر زبان بخوانید و یکی را انتخاب کنید که بیشتر دوست دارید کشف کنید.

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

1. جاوا اسکریپت.

زبان برنامه نویسی دیجیتال نمونه اولیه. جاوا اسکریپت در ابتدا به منظور ایجاد صفحات وب "زنده" ایجاد شد. در مرورگر، آنها به طور مستقیم به HTML متصل می شوند و به محض اینکه صفحه بارگذاری می شود - بلافاصله اجرا می شود.

هنگامی که زبان جاوا اسکریپت ایجاد شد، او در ابتدا نام دیگری داشت: "Livescript". اما پس از آن زبان جاوا بسیار محبوب بود، و بازاریابان تصمیم گرفتند که یک نام مشابه یک زبان جدید را محبوب تر کند.

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

2. جاوا


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

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

در ابتدا، زبان بلوط نامیده شد ("بلوط") توسط جیمز Gosling برای برنامه نویسی دستگاه های الکترونیکی خانگی توسعه یافت. پس از آن، او جاوا را تغییر نام داد و شروع به استفاده از برنامه های کاربردی مشتری و نرم افزار سرور کرد.

3. پی اچ پی


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

هدف اصلی پی اچ پی ارائه توسعه دهندگان وب با توانایی به سرعت ایجاد صفحات وب پویا تولید شده است، با این حال، زمینه برنامه PHP به این محدود نیست.

پتون

زبان برنامه نویسی عمومی سطح بالا بر روی بهبود بهره وری توسعه دهنده، خوانایی کد و توسعه برنامه های کاربردی وب متمرکز شده است. نحو هسته پایتون کوچک است. کد در پایتون در توابع و کلاس هایی که می توانند به ماژول ترکیب شوند، سازماندهی شده اند.

5. C #


زبان برنامه نویسی شی گرا توسعه یافته در سال های 1998-2001 توسط گروهی از مهندسان تحت رهبری اندرس هلمزبرگ در مایکروسافت به عنوان یک زبان برای توسعه برنامه های کاربردی برای پلت فرم چارچوب مایکروسافت دات نت توسعه یافته است. C # به خانواده زبان ها با نحو مشابه C مشابه اشاره دارد که نحو آن نزدیک به C ++ و جاوا است.

زبان تایپ استاتیک، پشتیبانی از پلیمورفیسم، اپراتورهای بیش از حد، نمایندگان، ویژگی ها، حوادث، خواص، انواع مختلف و روش ها، دستگاه های iTerators، توابع ناشناس با پشتیبانی از بسته شدن، LINQ، استثنا، نظرات در فرمت XML را پشتیبانی می کند.

6. C ++.


کامپایل شده، زبان برنامه نویسی به طور کلی تایپ شده است. این یکی از شایع ترین زبان های جهان است. Google Chrome، موزیلا فایرفاکس، محصولات Winamp و Adobe با استفاده از C ++ طراحی شده است. علاوه بر این، برخی از بازی های مدرن و سیستم عامل ها به دلیل پردازش سریع و تلفیقی در C ++ توسعه داده شد.

7. روبی


زبان برنامه نویسی ساده و قابل خواندن متمرکز بر توسعه برنامه های کاربردی وب است. طراحی شده توسط Yukihiro Matsumto در سال 1995. این زبان مستقل از سیستم عامل برای اجرای Multithreading، تایپ کردن پویا دقیق، جمع کننده زباله است.

هدف اصلی روبی ایجاد ساده و در همان زمان از برنامه های قابل فهم است، که در آن سرعت برنامه مهم نیست، اما زمان توسعه کوچک، واضح تر و سادگی Syntax. این زبان به دنبال "کمترین تعجب" اصل است: این برنامه باید به عنوان برنامه نویس انتظار داشته باشد.

8. CSS


ورق های سبک Cascading (جداول سبک آبشار) توصیف رسمی زبان ظاهر یک سند نوشته شده با استفاده از یک زبان نشانه گذاری.
این بیشتر به عنوان یک ابزار توصیف، طراحی ظاهر صفحات وب نوشته شده با استفاده از زبان های نشانه گذاری HTML و XHTML، اما همچنین می تواند به هر اسناد XML اعمال شود.

9. C.


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

10. Objective-C


زبان برنامه نویسی شی گرا مورد استفاده توسط شرکت اپل، بر اساس زبان کوچک و پارادایم ساخته شده است. زبان Objective-C ناگهانی زبان SI است، بنابراین کد C به طور کامل توسط کامپایلر Objective-C قابل درک است. زبان در درجه اول برای Mac OS X (کاکائو) و Gnustep استفاده می شود - پیاده سازی یک رابط ObjectStep Object-Object. همچنین زبان برای iOS (کاکائو لمس) استفاده می شود.

11. پوسته

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

12. R.


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

13. پرل


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

14. Scala.


زبان برنامه نویسی چند منظوره طراحی شده توسط کوتاه و نوع امن برای آسان و سریع ایجاد نرم افزار مولفه، ترکیب برنامه نویسی عملکردی و شی گرا. Scala - برنامه ها عمدتا شبیه به برنامه های جاوا هستند و می توانند آزادانه با کد جاوا ارتباط برقرار کنند.

15. برو


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

16. SQL.

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

17. Haskell.


استاندارد کاربردی استاندارد برنامه نویسی کاربردی پاکسازی شده. این یکی از رایج ترین زبان های برنامه نویسی با زبان های محاسباتی معوق است. ویژگی متمایز زبان یک نگرش جدی نسبت به تایپ کردن است. Haskell زبان عالی برای یادگیری و برای آزمایشات با انواع داده های کاربردی پیچیده است.

18. سریع


باز Multiparadigmal باز کردن زبان برنامه نویسی عمومی. ایجاد شده توسط اپل در ابتدا برای توسعه دهندگان iOS و OS X. توسعه دهندگان Swift با چارچوب های لمسی کاکائو و کاکائو کار می کنند و با کد پایه اپل سازگار است که بر روی Objective-C نوشته شده است. سریع فکر کرد که چگونه به راحتی خواندن و مقاوم در برابر خطاهای برنامه نویس، به جای آنهایی که قبلا پیش از آن توسط Objective-C پیش از آن بودند. Swift بسیار از Objective-C قرض گرفته شده است، اما از طریق نشانه ها تعیین نشده است، بلکه انواع متغیرهایی که پردازنده های کامپایلر است. برای یک اصل مشابه، بسیاری از زبان های اسکریپتینگ کار می کنند.

19. MATLAB


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

20. ویژوال بیسیک.


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

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

21. دلفی.


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

امروزه همراه با پشتیبانی از 32 و 64 بیتی نرم افزار ویندوز، توانایی ایجاد برنامه های کاربردی برای اپل Mac OS X، و همچنین برای Google Android (به طور مستقیم بر روی پردازنده ARM) اجرا شد.

22. Groovy.


زبان برنامه نویسی شی گرا، طراحی شده برای پلت فرم جاوا، به عنوان علاوه بر زبان جاوا با قابلیت های پایتون، روبی و smalltalk طراحی شده است. Groovy از یک نحو جاوا مانند با یک کامپایل پویا در کد بایت JVM استفاده می کند و به طور مستقیم با کد و کتابخانه های دیگر جاوا عمل می کند. زبان را می توان در هر پروژه جاوا یا به عنوان یک زبان اسکریپتی استفاده کرد.

23. ویژوال بیسیک دات نت


زبان برنامه نویسی شی گرا، که می تواند به عنوان نوبت بعدی تکامل ویژوال بیسیک، اجرا شده در پلت فرم مایکروسافت دات نت مشاهده شود. VB.NET سازگاری عقب مانده با نسخه قبلی (ویژوال بیسیک 6.0) ندارد. توسعه پروژه های نسخه های قدیمی (* .vbp) تنها پس از تبدیل اولیه به فرمت VB.NET با یک استاد ویژه (جادوگر مهاجرت) امکان پذیر است. با این حال، پس از تبدیل، پالایش ابزار ضروری متون مورد نیاز است.

24. D.

MultipAdigmal زبان برنامه نویسی کامپایل شده توسط والتر روشن از مریخ دیجیتال ایجاد شده است. در ابتدا، D به عنوان مهندسی مجدد C ++ در نظر گرفته شد، با این حال، با وجود اثر قابل توجهی از C ++، این گزینه آن نیست. همچنین، زبان مفاهیم را از زبان های برنامه نویسی پایتون، روبی، C #، جاوا، ایفل تجربه کرده است.

25. مونتاژ.


زبان سطح پایین ماشین با دستورات، همیشه مربوط به دستورات دستگاه نیست، که می تواند امکانات اضافی مانند ماکروکامند را فراهم کند؛ Autocode، زبان های پیشرفته پیشرفته سطح بالا، مانند عبارات، ماکروها، وسیله ای برای ارائه مدولار نرم افزار.

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

من تمام زبانها را نگرفتم آنها تقاضای برنامه نویسان حرفه ای ندارند. وظیفه من تکمیل شده است، در حال حاضر شما می توانید یک زبان مناسب را انتخاب کنید و آن را تسخیر کنید. موفق باشید به شما در تلاش های شما.

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

ماهیت برنامه های سطح بالا برای نوشتن برنامه ها

زبان برنامه نویسی سطح بالا - ابزار مربوط به طبقه بندی مستقل دستگاه. این یعنی چی؟ واقعیت این است که زبان های برنامه نویسی به چندین دسته تقسیم می شوند.

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

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

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

مترجم

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

طبقه بندی زبان های سطح بالا

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

در صورت پردازش اطلاعات در هر مرحله از محاسبات، به صورت رویه ای گرا (به عنوان یک ابزار عمل می کند)؛

مشکل گرا (به عنوان وسیله ای برای حل صنعت و وظایف کاربردی که توسط گسترش برنامه های رایانه های شخصی تشکیل شده است)؛

Object-oriented (می تواند موارد خاصی از دو نوع اول زبان باشد، با این حال، با استفاده از طیف گسترده ای از توسعه دهندگان با سطوح مختلف آماده سازی، به عنوان مثال، به شکل یک راه حل با رابط بصری سازگار است).

در حال حاضر برخی از زبان های برنامه نویسی سطح بالا و مدرن در سطح بالا را در نظر بگیرید که مربوط به این طبقه بندی است.

زبان های پیش بینی شده

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

زبان مشکوک

این شامل LISP، Prologue است. زبان اول در سال 1962 توسعه یافت - چند سال پس از ایجاد فورتران. این در نظر گرفته شده است، به طوری که دوم در تاریخ است. به طور فعال به عنوان یک ابزار برای کار برنامه نویسان با رشته های شخصیت ها شرکت می کند. در عمل، LISP در سیستم های طبقه بندی شده به عنوان متخصص، و همچنین کسانی که برای محاسبات تحلیلی مورد استفاده قرار گرفتند استفاده شد. پرولوگ به طور گسترده ای در زمینه برنامه نویسی منطقی استفاده شد. در عمل، اغلب در مدیریت الگوریتم های هوش مصنوعی در سیستم های مربوطه دخیل هستند.

زبان شی گرا

ما در حال حاضر نمونه هایی از زبان های برنامه نویسی سطح بالا را مطالعه می کنیم که به رده شی گرا اشاره می کنند. در میان آنها - ویژوال بیسیک، دلفی، فورتران ویژوال، در بالای C ++، و همچنین Prolog ++ اشاره شده است. در واقع، همه آنها بر اساس زبان های پیش بینی شده هستند. با این حال، فرض بر این است که علاوه بر عناصر بصری مدیریت به منظور توسعه بعدی الگوریتم های لازم توسط توسعه دهندگان عادت به ابزارهای دیگر، بنابراین، اولین زبان برنامه نویسی سطح بالا - FORTRAN - ممکن است توسط کارشناسان فناوری اطلاعات از طریق امکانات بصری فورتران مورد مطالعه قرار گیرد. یک روش مشابه می تواند به سرعت تسلط بر پایه یا پرولوگ باشد.

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

FORTRAN و LISP - زبان های اول و دوم سطح بالا

ما بیشتر مطالعه خواهیم کرد، به عنوان اولین زبان برنامه نویسی سطح بالا ظاهر شد - Fortran، و همچنین LISP، در نظر گرفته دوم. در سال 1954، توسعه دهندگان آی بی ام، به ریاست جان باکوس، یک زبان را ایجاد کردند که برنامه نویسان توانستند تعامل با کامپیوتر را به طور قابل توجهی کاهش دهند، تا زمانی که از طریق دستورات ماشین یا مونتاژ شده انجام شود. او Fortran نامیده شد و به زودی در USSR تحت آیتم Russified شناخته شد. Fortran تبدیل به یک ابزار محبوب برای محاسبات علمی شده است.

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

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

با این حال، جالب خواهد بود که رویکردهای دیگر را به طبقه بندی ابزارهای مورد نظر ابزار توسعه نرم افزار در نظر بگیریم.

زبان های جهانی سطح بالا

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

جهت گیری در طیف گسترده ای از وظایف (اول از همه مربوط به محاسبات)؛

تعداد زیادی از ساختارهای زبان و الگوریتم؛

اهمیت نه تنها برای زمان خود، بلکه همچنین برای مرحله مدرن توسعه تجهیزات کامپیوتری؛

پشتیبانی در زبان های مربوط به روش ضمنی.

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

زبان های منحصر به فرد

برخی از کارشناسان فناوری اطلاعات در یک دسته مستقل "زبان های منحصر به فرد" تخصیص می دهند. از جمله: APL، COBOL، FORT، SETL، و همچنین CLU. خاصیت آنها چیست؟

مهمترین جنبه APL، دخالت آرایه ها (بردارها و ماتریس ها) به عنوان نوع ساختاری کلیدی است. مشخصه های زبان کوبول - در جهت گیری در حوزه تجاری. بنابراین، توصیه می شود از آن استفاده کنید زمانی که حل مشکلات مرتبط با یک فرمت استاندارد از نمایندگی از نتایج. زبان چهارم با استفاده از سوابق نرم افزار PostFix، و همچنین استفاده از نماد شیک مشخص می شود. در زبان SETL، مجموعه ای از مقادیر به عنوان یکی از انواع کلیدی داده ها استفاده می شود. زبان برنامه نویسی سطح بالا نیز CLU است. ویژگی اصلی آن این است که از مفهوم کار با انواع داده های انتزاعی استفاده کنید. بسیاری از متخصصان فناوری اطلاعات، ظهور منطقی راه حل های جدید را بر اساس زبان های منحصر به فرد مانند، به عنوان مثال، کوبول شی گرا می بینند.

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

این دسته ممکن است شامل تعداد زیادی از راه حل ها باشد. به نوبه خود، زبان های برنامه نویسی موازی ممکن است تعداد زیادی از زمینه های طبقه بندی را داشته باشند. به عنوان مثال، روش سازماندهی فرایندها. این پایگاه شامل طبقه بندی ابزارهای برنامه نویسی موازی بر اساس حضور در آنها می شود:

soprograms؛

شاخه ها؛

انجمن ها؛

براکت های موازی؛

الگوریتم های کار با فرایندها.

مبنای دیگری برای طبقه بندی زبان های نوع مورد نظر، روش هماهنگ سازی فرآیندها است. بنابراین راه حل های مربوطه ممکن است عبارتند از:

semaphores؛

مانیتور؛

- "Randevu"؛

بخش های بحرانی؛

روش های چالش از راه دور؛

معاملات مربوط به رده اتمی.

زبان نوع نوع شامل Modula-2، Bliss، Pascal، DP، Argus است.

خانواده زبان C.

در بالا، ما به عنوان نمونه ای از یک زبان برنامه نویسی سطح بالا به عنوان یک راه حل به عنوان C. در نظر گرفتیم. در واقع، کل خانواده را تشکیل می دهد. زبان های متعلق به آن ساختارهای خصوصی C هستند. بنابراین، علاوه بر آن به اجزای مختلف شی گرا منجر به توسعه C ++ شد. جاوا پس از فیلتر کردن قابل توجهی از یک ردیف از ساختارهای C، ظاهر شد. می توان اشاره کرد که جاوا در بسیاری از موارد تحت تاثیر مفاهیم پروژه اوبرون، که توسط نیکلاس ویرث، خالق زبان پاسکال اداره می شود، ایجاد شده است. آیا جاوا اسکریپت سطح بالا به جاوا اسکریپت سطح بالا مربوط می شود؟ البته، بله، با وجود محدودیت های برنامه - به عنوان یک ابزار برای توسعه صفحات وب. اما زبان های برنامه نویسی سطح بالا شامل، به ویژه HTML، XML و SGML نیستند. آنها به عنوان ابزار نشانه گذاری hypertext طبقه بندی می شوند.

خانواده زبان پاسکال

زبان های برنامه نویسی سطح بالا پاسکال همچنین یک خانواده جداگانه را تشکیل می دهند. بر اساس پاسکال، در واقع اوبرون را ایجاد کرد، به عنوان یک زبان نوع شی گرا طبقه بندی شد. ویژگی کلیدی Oberon - در توانایی اطمینان از ایمنی انواع. شمارش اوبرون، زبانهای خانواده پاسکال را می توان به Modula-2، و همچنین مولفه پاسکال نسبت داد.

خانواده زبان ADA

اساسی در رده مربوطه زبان ها - که توسط وزارت دفاع ایالات متحده ADA دستور داده شده است. این در اواخر دهه 70 - اوایل دهه 80 ایجاد شد. این تعداد زیادی از توابع، فرصت ها، قابلیت انعطاف پذیری مشخص می شود. خانواده ADA شامل راه حل هایی مانند سدر، مدولا 3 می باشد.

خانواده زبان Simula

زبان Simula در شاخه های برنامه نویسی مرتبط با مدل سازی تقلید توزیع می شود. خاصیت راه حل های مناسب - درگیر شدن یک هسته خاص. استفاده از آن شما را قادر می سازد تا برنامه های مختلفی را که به یک برنامه یا برنامه دیگر اقتباس شده اعمال کنید. بر اساس Simula، یک زبان smalltalk شی گرا ایجاد شده است، و همچنین بتا، که با توانایی ترکیب در یک انتزاع تک الگوریتم، منعکس کننده کار با داده ها، روش ها و کنترل است. اشیاء بتا را می توان در یک زمینه متفاوت، به عنوان مثال، به عنوان متغیرها، توابع یا سیستم های موازی مورد توجه قرار داد.