stringtranslate.com

زبان برنامه نویسی نسل چهارم

یک زبان برنامه نویسی نسل چهارم ( 4GL ) یک زبان برنامه نویسی کامپیوتری سطح بالا است که به کلاسی از زبان ها تعلق دارد که به عنوان پیشرفتی بر زبان های برنامه نویسی نسل سوم (3GL) در نظر گرفته شده است. هدف هر یک از نسل‌های زبان برنامه‌نویسی ارائه سطح بالاتری از انتزاع از جزئیات سخت‌افزار داخلی کامپیوتر است که زبان را برنامه‌نویس‌تر ، قدرتمندتر و همه‌کاره‌تر می‌کند. در حالی که تعریف 4GL در طول زمان تغییر کرده است، می توان آن را با عملکرد بیشتر با مجموعه های بزرگ اطلاعات به طور همزمان به جای تمرکز بر بیت ها و بایت ها مشخص کرد . زبان هایی که ادعا می شود 4GL هستند ممکن است شامل پشتیبانی از مدیریت پایگاه داده ، تولید گزارش ، بهینه سازی ریاضی ، توسعه رابط کاربری گرافیکی یا توسعه وب باشد . برخی از محققان بیان می کنند که 4GL ها زیرمجموعه ای از زبان های خاص دامنه هستند . [1] [2]

مفهوم 4GL از دهه 1970 تا 1990 توسعه یافت و بیشتر توسعه 3GL را همپوشانی کرد، با 4GL که به عنوان زبان های "غیر رویه ای" یا "تولید کننده برنامه" شناخته می شوند، در مقابل 3GL ها که زبان های الگوریتمی یا رویه ای هستند. در حالی که 3GL ها مانند C ، C++ ، C# ، جاوا و جاوا اسکریپت برای کاربردهای مختلف همچنان محبوب هستند، 4GL ها همانطور که در ابتدا تعریف شده بودند، استفاده هایی را یافتند که بر پایگاه داده ها، گزارش ها و وب سایت ها متمرکز شده بودند. [3] برخی از 3GL های پیشرفته مانند Python ، Ruby و Perl برخی از توانایی های 4GL را در یک محیط 3GL همه منظوره ترکیب می کنند، [4] و کتابخانه هایی با ویژگی های مشابه 4GL به عنوان افزودنی برای اکثر 3GL های محبوب توسعه داده شده اند و زبان هایی را تولید می کنند که ترکیبی از 3GL و 4GL هستند که تمایز را محو می کند. [5]

در دهه های 1980 و 1990 تلاش هایی برای توسعه زبان های برنامه نویسی نسل پنجم (5GL) صورت گرفت .

تاریخچه

اگرچه قبلاً در مقالات و بحث ها استفاده می شد، اصطلاح 4GL برای اولین بار به طور رسمی توسط جیمز مارتین در کتاب توسعه برنامه های کاربردی بدون برنامه نویسان [6] در سال 1981 برای اشاره به زبان های غیر رویه ای و با مشخصات سطح بالا استفاده شد . به روشی ابتدایی، 4GLهای اولیه در محصول انفورماتیک MARK-IV ( 1967 ) و MAPPER اسپری (استفاده داخلی 1969، انتشار 1979) گنجانده شدند.

انگیزه‌های شروع و ادامه علاقه «4GL» چندین است. این اصطلاح می تواند برای مجموعه بزرگی از محصولات نرم افزاری به کار رود. همچنین می تواند برای رویکردی اعمال شود که به دنبال ویژگی های معنایی بیشتر و قدرت پیاده سازی است. همانطور که 3GL قدرت بیشتری را به برنامه نویس ارائه می کرد، 4GL نیز محیط توسعه را به روی جمعیت بیشتری باز کرد.

طرح ورودی اولیه برای 4GL از ورود داده ها در محدوده 72 کاراکتری کارت پانچ شده (8 بایت برای توالی استفاده می شود) پشتیبانی می کرد که در آن برچسب کارت نوع یا عملکرد را مشخص می کرد. با استفاده عاقلانه از چند کارت، عرشه 4GL می‌تواند طیف گسترده‌ای از قابلیت‌های پردازش و گزارش را ارائه دهد، در حالی که عملکرد معادل کدگذاری شده در یک 3GL می‌تواند شامل یک جعبه کامل یا بیشتر از کارت‌ها باشد . [7]

فرمت 72 کاراکتری برای مدتی ادامه یافت زیرا سخت افزار به سمت حافظه بزرگتر و رابط های ترمینال پیش رفت. حتی با وجود محدودیت‌هایش، این رویکرد از برنامه‌های کاربردی بسیار پیچیده پشتیبانی می‌کرد.

با بهبود اینترفیس‌ها و طول بیانیه‌های طولانی‌تر و مدیریت ورودی مبتنی بر دستور زبان، قدرت بیشتری ایجاد شد. نمونه ای از آن در صفحه Nomad توضیح داده شده است .

نمونه دیگری از قدرت Nomad توسط نیکلاس راولینگ در نظرات خود برای موزه تاریخ کامپیوتر در مورد NCSS نشان داده شده است (به نقل قول زیر مراجعه کنید). او گزارش می دهد که جیمز مارتین از رالینگ برای حل مشکل استانداردی که مارتین به نام « مشکل مهندس» نامیده می شود، از رالینگ درخواست کرده است : «به مهندسانی که رتبه شغلی آنها میانگین 7 یا بهتر است، 6 درصد افزایش حقوق بدهید». مارتین "دوجین صفحه COBOL و سپس فقط یک یا دو صفحه از Mark IV را از انفورماتیک ارائه کرد ." رالینگ بیانیه واحد زیر را با اجرای یک عملیات تنظیم در یک زمان ارائه کرد...

توسعه 4GL تحت تأثیر عوامل متعددی قرار گرفت، با محدودیت های سخت افزاری و سیستم عامل که وزن زیادی داشتند. هنگامی که 4GL برای اولین بار معرفی شد، ترکیبی متفاوت از سخت افزار و سیستم عامل، پشتیبانی از توسعه برنامه های کاربردی سفارشی را که مختص سیستم بود، به منظور اطمینان از فروش الزامی کرد. یک مثال سیستم MAPPER است که توسط Sperry توسعه یافته است . اگرچه ریشه‌های آن به ابتدا بازمی‌گردد، اما در بسیاری از برنامه‌ها موفق بوده و به پلتفرم‌های مدرن منتقل شده است. آخرین نوع در پیشنهاد BIS [8] Unisys تعبیه شده است . MARK-IV اکنون با نام VISION:BUILDER شناخته می شود و توسط Computer Associates ارائه می شود .

راه آهن سانتافه از MAPPER برای توسعه سیستمی در پروژه ای استفاده کرد که نمونه اولیه 4GL، نمونه سازی سریع و برنامه نویسی توسط کاربران بود . [9] ایده این بود که آموزش استفاده از MAPPER به کارشناسان راه‌آهن آسان‌تر از آموزش «پیچیدگی‌های عملیات راه‌آهن» به برنامه‌نویسان بود. [10]

یکی از زبان‌های اولیه (و قابل حمل) که دارای ویژگی‌های 4GL بود، رامیس بود که توسط جرالد سی کوهن در Mathematica ، یک شرکت نرم‌افزاری ریاضی توسعه یافت. کوهن Mathematica را ترک کرد و Information Builders را برای ایجاد یک 4GL گزارش‌گرای مشابه به نام FOCUS تأسیس کرد .

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

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

انواع

تعدادی از انواع مختلف 4GL وجود دارد:

برخی از 4GL ها دارای ابزارهای یکپارچه ای هستند که امکان تعیین آسان تمام اطلاعات مورد نیاز را فراهم می کند:

محیط های کم کد

در قرن بیست و یکم، سیستم‌های 4GL به‌عنوان محیط‌ها یا پلتفرم‌های «کد کم» برای مشکل توسعه سریع برنامه‌ها در دوره‌های زمانی کوتاه پدیدار شدند. فروشندگان اغلب سیستم‌های نمونه‌ای مانند CRM، مدیریت قرارداد، ردیابی اشکال را ارائه می‌کنند که از آن‌ها می‌توان با برنامه‌نویسی کمی توسعه یافت. [11]

نمونه ها

استفاده عمومی / همه کاره

پایگاه دادهزبان های پرس و جو

مولدهای گزارش

استخراج داده ها از فایل ها یا پایگاه داده برای ایجاد گزارش در طیف گسترده ای از فرمت ها توسط ابزار تولید گزارش انجام می شود.

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

نرم افزارسازندگان

بهینه سازی ریاضی

توسعه اپلیکیشن رابط کاربری گرافیکی مبتنی بر پایگاه داده

کد کم / بدون پلتفرم توسعه کد

منبع: [12] [13]

نقاش صفحه نمایش و ژنراتور

زبان های توسعه وب

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

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

مراجع

  1. ^ سی و پنجمین کنفرانس بین المللی هاوایی در علوم سیستم - 1002 زبان اختصاصی دامنه برای مهندسی نرم افزار بایگانی شده در 16 مه 2011، در Wayback Machine
  2. آری ون دورسن؛ پل کلینت؛ Joost Visser (1998). "زبان های شاهد خاص دامنه: کتابشناسی مشروح". بایگانی شده از نسخه اصلی در 2009-02-02 . بازیابی شده در 2009-03-15 .
  3. مک دانل، استفان (نوامبر 1993). "توسعه نرم افزار، ابزارهای CASE و 4GL ها - بررسی استفاده نیوزلند. قسمت 1: 750 سازمان نیوزلند". hdl : 10523/928 . {{cite journal}}: مجله استناد نیاز دارد |journal=( کمک )
  4. «نسل‌های نرم‌افزار راجر کلارک».
  5. «تعریف زبان نسل چهارم». PCMAG ​بازبینی شده در 7 مه 2020 .
  6. ^ مارتین، جیمز . توسعه اپلیکیشن بدون برنامه نویس Prentice-Hall, 1981. ISBN 0-13-038943-9
  7. «IBM Punch Cards». www.columbia.edu . بایگانی شده از نسخه اصلی در 2019-02-16 . بازیابی شده در 2019-02-03 .
  8. "نرم افزار داده کاوی، تجزیه و تحلیل داده ها و موارد دیگر: ویژگی های سرور اطلاعات تجاری Unisys". Unisys . 2006-08-21. بایگانی شده از نسخه اصلی در 2006-08-21 . بازیابی شده در 2019-02-03 .
  9. لوئیس شلوتر (1988). محاسبات طراحی شده توسط کاربر: نسل بعدی .[کتاب تولید گزارش و سیستم های MAPPER]
  10. باربارا کنینگ مک نورلین؛ رالف اچ اسپراگ (2004). "فصل 9". مدیریت سیستم های اطلاعاتی در عمل (PDF) . پیرسون/پرنتیس هال. شابک 978-0-13-101139-7.[ لینک مرده دائمی ]
  11. ^ فارست، کانر. "چگونه Salesforce از ارکستراسیون با کد پایین برای نجات "پروژه های IoT در حال شکست" استفاده می کند. ZDNet .
  12. ماروین، راب (۱۰ اوت ۲۰۱۸). "بهترین پلتفرم های توسعه کم کد برای سال 2019". PCMAG
  13. سایر، مارتین هلر و پیتر (6 آوریل 2018). "25 ابزار ساده برای ساخت سریع برنامه های تلفن همراه". InfoWorld . بایگانی شده از نسخه اصلی در 18 نوامبر 2017 . بازبینی شده در 17 نوامبر 2017 .
  14. «DronaHQ. برنامه‌ها را بدون کدنویسی بسازید». www.dronahq.com . بایگانی شده از نسخه اصلی در 09-08-2019 . بازیابی شده در 2019-09-11 .