PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : زبان های برنامه نویسی نسل چهارم (4gl)



Borna66
05-04-2011, 10:49 PM
زبانهای نسل چهارم که از سوی دیگر به عنوان زبانهای 4GL شناخته شده اند، از اواسط تا اواخر سال 1980 مشهور شده و تا امروز با ما هستند هدف زبانهای 4GL کاهش قابهای زمان تکامل نرم افزار و قیمت آن می باشد. روشهای تکامل نرم افزار قراردادی بسیار آهسته، وقت گیر و گران بودند. بنابراین زبانهای 4GL برای رساندن تکامل نرم افزار کاربردی به سطحی بالاتر طراحی شدند. به همین صورت که زبانهای نرم افزار کاربردی موجود یا 3GL در سطحی بالاتر از نرم افزار سیستم عامل بودند که به طور کلی به شکل دودویی یا کد ماشین نوشته می شوند، یا چیزی بسیار نزدیک به آن که تنها از صفر و یک استفاده می شود.
زبانهای نسل سوم( (3GL به انگلیسی نزدیکتر می باشند و بنابراین برای تولید بسیار سریع تر می باشند، گرچه برای اجرا کندتر هستند.
4GL آن را به سطح دیگری منتقل می کند، همچنان که به زبان انگلیسی نزدیکتر می شود. این زبان(4GL) با کاهش دادن قابهای زمان تکامل نه تنها سبب افزایش سرعت تکامل شدند بلکه با کاهش افرادی که بر روی این سیستم کار می کردند از قیمت آن نیز کاستند.
سه نسل اول زبانهای برنامه نویسی خیلی سریع پیشرفت کردند ولی هنوز نومید کننده، کند و مستعد اشتباه برای برنامه های کامپیوتری بودند که آن را به سمت اولین بحران برنامه نویسی سوق می داد.
حرانی که در آن مقدار کار تخصیص داده شده برای برنامه نویسان بسیار بیشتر از زمان موجود برای انجام آن بود. ضمن اینکه در موارد خاصی تجربه زیادی به دست آمد و روشن شد که کاربردهای معینی را می توان با افزودن زبانهای برنامه نویسی محدودی به آنها تعمیم داد
زبانهای نسل چهارم غیر رویه ای هستند، یعنی چیزی که باید انجام شود را بدون توصیف چگونگی آن تعریف می کنند.
اولین زبان برنامه نویسی نسل چهارم یعنی Forth که در سال 1970 توسط یک منجم آمریکایی به نام چارلزمور به وجود آمد در کاربردهای کنترل صنعتی و علمی استفاده می شود. بیشتر زبانهای نسل چهارم برای اهداف ویژه ای نوشته می شوند.
زبانهای نسل چهارم با زبانهای ماشینی تفاوت بسیار دارند و سطح زبانهای کامپیوتری را به زبانهای بشری نزدیکتر نشان می دهند.
اصول کاربرد برنامه نویسی زبانهای نسل چهارم( 4GL) بر این است که فرمانهای انگلیسی نسبتاً استاندارد توسط برنامه به یک زبان نسل سوم(3GL) عادی تبدیل میشوند که سپس بر روی سیستم اجرا می گردند.

Borna66
05-04-2011, 10:50 PM
از اواسط تا اواخر سال 1990 استفاده از زبانهای نسل چهارم (4GL) شروع به تغییر کردند. آنها دیگر به عنوان نشانگر جایگزینی برای شرکتهای نرم افزار دیده نشدند.بلکه به جای آن به عنوان ابزاری تولیدی و بسیار فعال که شرکتها برای تسریع فرایند تکامل می توانند از آن استفاده کنند، پدیدار شدند.
زبانهای جدید 4GL شروع به وارد شدن به وب و فعالیتهای وابسته اینترنتی کردند. بعضی از این زبانهای جدید از شکل جدیدی از روش های تکاملی معروف به برنامه نویسی شیء گرا (OOP) استفاده می کردند.برنامه سازی شیء گرا متفاوت از دیگر روشهای برنامه سازی است. برای استفاده از یک قیاس ساده، برنامه سازی پیش از OOP مانند ساختن یک ماشین بود، که در هر زمان یک مدل جدید ساخته شده ، هر قسمت جداگانه طراحی شد و از سرهم بندی کردن قطعات تولید می شود.OOP همه آنرا تغییر می دهد، یعنی چیزهایی که برای ماشین دیگری تازه طراحی و تولید شده اند را قادر می سازد، تا به آن مدل ملحق شود. این روش خیلی سریعتر است، زیرا دیگر لازم نیست بنشینیم و هر قسمت مجزای برنامه را از آغاز تعریف نماییم.همان طور که وارد قرن جدید می شویم، برنامه سازی 4GL OOP رایج تر می شود. ولی جایگزین شرکت یا مؤسسه نمی شود.بلکه تنها توانایی های آنها را افزایش می دهد.
بعضی از 4GL های رایج عبارتند از:
• زبانهای OOP : C , C++ , Visual C++ , Java , Visual Basic , XML

• زبانهای غیر OOP :Active Server Pages(ASP),Java Server Pages(JSP),PHP

Borna66
05-04-2011, 10:50 PM
اکنون زبانهای نسل چهارم کاربران را قادر به استفاده از منوها ، آیکون ها، فیلدهای درون دادی و دیگر تکنیکهای رابط گرافیکی کاربر می کند تا برنامه ها را بدون آگاهی از چگونگی آن تولید کند.تمام 4GL ها از گرافیک استفاده نمی کنند. بعضی از آنها از دیالوگهای متنی کاربر-برنامه استفاده می کنند که سیستم را قادر می سازد تا برنامه را بر اساس جواب های داده شده به سیستم توسط کاربر تولید نماید.
این سیستم ها اغلب کد نوشته شده در یک 3GL را ایجاد می کنند.
زبان نسل چهارم یک زبان ویژه کاربردی، زبانی با دانش درون ساختی از یک زمینه کاربردی است شبیه به آنچه که دانش درون ساختی SQL در زمینه بانک اطلاعاتی دارد.4GL های خالص شامل عبارات شرطی مانند (if-Then-Else) و حلقه های تکرار ، نمی شود. هر چند بعضی از زبانها ترکیبی از زبانهای نسل سوم و 4GL ها هستند.
بعضی دیگر از زبانهای موفق نسل چهارم عبارتند از:
بانک اطلاعاتی زبان های پرس و جو، مانند : SQL,Focus و زبانهای جریان داده ها، مانند: AVS , APE.

Borna66
05-04-2011, 10:50 PM
تفاوتهای 3gl و 4gl :
3glها اغلب منبعی مؤثر تر از 4gl ها است و 4gl ها اغلب برای برنامه آسانترند. ولی تست کردن هر دوی آنها برای آزمون پذیری اگر به آنها کد داده نشود مشکل خواهد بود. برای یک برنامه نویس خبره و کاردان 3glها خوب هستند. برای یک برنامه نویس کم تجربه 4gl ها راهی سریع و آسان فراهم می سازند تا نرم افزاری که با سرعت پائینی اجرا می شود را با قیمت بسیار کمی به وجود آورند.
هنوز 4gl در دستان فردی شایسته و کاردان می تواند راه حل های خوبی را به سرعت فراهم سازد. 3glها محدودیت های کمتری نسبت به 4glها دارند ولی به طرح پیشین خوبی نیاز دارند.
تفاوت اصلی بین زبانها 3gl و 4gl با دسترسی به کتابخانه های بسته بندی شده، محو شده است. به عنوان مثال تنوع گسترده ای از تابعی با کاربرد ویژه و کتابخانه های کلاسی برای c و c++ در بازار وجود دارد.

Borna66
05-04-2011, 10:50 PM
مشخصات زبانهای نسل چهارم :
یک 4GL به طور کلی در موارد زیر با 3GL تفاوت دارد :
• سودمندی(بهره وری) : 4GLها اهمیت بهره وری بیشتری نسبت به 3GLها دارند.
• دقت و وضوح : 4GLها در زمینه یک مشکل خاص هستند. در حال حاضر بیشتر آنها برای گرفتن اطلاعات- ذخیره کردن- دستکاری کردن- بازیابی و گزارش کاربردهایی مانند Visual Basic خاص هستند. ولی زبانهای دیگر برای کاربردهای دیگری طراحی می شوند. در مقابل 3GLها معمولاً کاربردی کلی دارند که به ما اجازه می دهند تا برنامه های کاربردی گسترده ای را به وجود آوریم. و این بدین علت است که 3GLها در مقابل 4GL ها از یک دسته کوچکی از بلوک های خیلی ساده و سطح پایین ساخته می شوند.
• محدوده ی ابزارها و بسط متدها : به طور مرسوم 3GLها از یک ابزار یعنی کد منبع برای کنترل کردن تمام جوانب برنامه نویسی استفاده می کنند. مانند توصیف داده ها ، دستکاری داده ها ، اجرای رابط کاربری و غیره.
4GLها به طور نمونه از ابزارهای مشخص برای کارهای مخصوص به وسیله هر یک از ابزار طراحی شده برای آن کار استفاده می کنند و قادرند تا نتیجه های استفاده از دیگر ابزارها را به اشتراک گذارند.

• عملکرد سخت افزاری : 4GLها معمولاً سخت افزاری با تأثیر بسیار کمتری میباشند که برای دادن عملکرد مناسب به سخت افزار بسیار قوی تری نیاز دارند.