دلفی (زبان برنامه‌نویسی)

دلفی یا به تعبیری ویژوال پاسکال – یک زبان برنامه‌نویسی است و بستری برای توسعه نرم‌افزار که شرکت بورلند آن را تولید کرده‌است و بعدها توسط امبارکادرو خریداری شد. این زبان، در بدو انتشار خود در سال ۱۹۹۵، به عنوان یکی از نخستین ابزارهایی مطرح شد که از توسعه نرم‌افزار بر مبنای متدولوژی راد (RAD: Rapid application development) یعنی تولید و توسعه سریع برنامه‌های کاربردی پشتیبانی می‌کردند.
این نرم‌افزار بر مبنای پاسکال شیءگرا (آبجکت پاسکال) بوده و از این زبان مشتق شده‌است. البته بورلند نسخه‌ای از دلفی و سی++بیلدر را برای لینوکس به نام کایلیکس (Kylix) ارائه کرد که مورد استقبال توسعه دهندگان نرم‌افزارهای لینوکس قرار نگرفت.
نرم‌افزارهای دلفی در ابتدا به صورت مستقیم از کتابخانه‌های ویندوز و کتابخانه مخصوص خود به نام VCL استفاده می‌کردند، اما پس از نسخه ۶ دلفی، امکانات استفاده از دات‌نت هم به آن اضافه شد.
زبان دلفی که پیشتر بنام پاسکال شیءگرا (Object-Pascal) خوانده می‌شد و برای طراحی نرم‌افزارهای تحت ویندوز به کار می‌رفت، امروزه چنان توسعه یافته‌است که برای تولید نرم‌افزارهای تحت سیستم‌عامل لینوکس، آی او اس و اندروید نیز به کار می‌آید. بیشترین کاربرد دلفی در طراحی برنامه‌های رومیزی و پایگاه داده‌ها است، اما به عنوان یک ابزار «چند- منظوره»، برای طراحی انواع گوناگونی از پروژه‌های نرم‌افزاری (نظیر وب) نیز مورد استفاده قرار می‌گیرد.
زبان برنامه‌نویسی
دلفی یک محیط نرم‌افزاری توسعه یافته برای برنامه‌های مخصوص ویندوز مایکروسافت است. این محیط همیشه پشتیبانی شده‌است برای توسعه برنامه‌های کاربردی پنجره‌ای محلی توسط زبان برنامه‌نویسی دلفی، به علاوه توسعه Opject Pascal.
دلفی ۲۰۰۷، نسخه۱۱، همچنین توسعه در C++ برای پایگاه‌های ویندوز مایکروسافت ۳۲بیتی، و در دلفی و C# برای پایگاه‌های Microsoft.NET را پشتیبانی می‌کند. دلفی ۲۰۰۹، نسخه ۱۲، یعنی آخرین نسخه آن که در آگوست سال ۲۰۰۸ منتشر شد، حمایت از Unicode برای VCL و IDE را به خوبی ویژگی‌های کامپایلر جدید (روش‌های عمومی و تخلصی) به برنامه اضافه کرد و IDE همراه اولین نسخه از مدیریت منابع و مدیریت بازرسی و نگهداری پروژه به خوبی پیکر بندی‌های ساخت تعریف شده کاربر آسان کرد.
دلفی در اصل برای توسعه برنامه‌های روی میزی و پایگاه‌های داده‌ای سازمانی استفاده می‌شود، اما ابزار توسعه نرم‌افزاری با هدف کلی‌تری که مناسب با اکثر پروژه‌های نرم‌افزاری است، می‌باشد. به همراه کتابخانه‌های ضمیمه شده بیشتر، امکان بهتری برای پروژه‌های تحت شبکه فراهم شده‌است.
دلفی در نسخه‌های مختلف با ویژگی‌های متفاوتی گسترش یافته‌است: شخصی (فعلا در دسترس نیست)، حرفه‌ای، سازمانی (قبلا کارگزار و کاربری) و معماری.
ویژگی‌های اختصاصی
دلفی و Kylix از زبان برنامه‌نویسی دلفی مبتنی بر پاسکال استفاده می‌کنند، و کد منبع دلفی را به کد محلی x۸۶ یا کد مدیریت شده .NET کامپایل می‌کند. آن‌ها شامل VCL/CLX (کتابخانه مولفه دیداری) هستند، که رابط‌های مستقل COM (ریزفیلم‌های خروجی کامپیوتر) همراه اجرای کلاس‌های فرض شده با مرجع، و تعداد زیادی از اجزاء بیگانه را حمایت می‌کنند. پیاده‌سازی‌های رابط به قسمت‌هایی از قابلیت‌های کلاس‌ها واگذار می‌شود. گرداننده‌های پیام بوسیله علامت زدن شیوه‌ای از کلاس با عدد ثابت پیام برای اجرا پیاده‌سازی می‌شوند. تاکید مهم بر روی اتصال پایگاه داده قرار دارد، و این موجب شده دلفی در مورد پایگاه داده دچار اشتباه شود، (فقط) نرم‌افزار نهایی طراحی کننده، مجموعه پایگاه داده‌ای غنی خود را عرضه کرده‌است.
مزیت‌ها
دلفی یک زبان برنامه‌نویسی قوی سطح بالا است. در اصل بر مبنای زبان برنامه‌نویسی خوب طراحی شده پاسکال ایجاد شده‌است. دلفی بر خلاف پاسکال مقدمتا برای اهداف تحصیلی طراحی نشد. اضافه بر ویژگی‌های زبان‌های سطح بالا، برنامه‌نویسی سطح پایین نیز با فعال شدن اسمبلر و بوسیله کدهای دستورالعمل پردازنده نیز ممکن است. ویژگی‌های شیی گرایی زبان فقط چند ریختی بر مبنای کلاس- و رابط – که باعث می‌شود برنامه با وضوح بیشتری درظاهر یک برنامه نوشته شده به چند زبان نوشته شود، اجازه و استفاده چند ارثی داده شده. کلاس‌های خودی، اولین اشیاء کلاس هستند. اشیاء در حقیقت به اشیاء رجوع می‌کنند (شبیه جاوا) که دلفی به طور ضمنی ارجاع می‌دهد، بنابراین به اختصاص دادن حافظه برای اشاره گرها به اشیاء توسط خودمان یا تکنیک‌های مشابه آن در زبان‌های دیگر نیازی نیست. در آنجا مراجع اختصاصی که نوع رشته دارند وجود دارد. (به خوبی رشته‌های نا متناهی)
ترجیحا نسبت به توابع، رشته‌ها بوسیله علامت + می‌توانند ملحق شوند. برای آن دسته از انواع رشته‌ای اختصاص داده شده، مدیریت حافظه توسط خودمان لازم نیست، بلکه مدیر حافظه این را مدیریت می‌کند. مدیر حافظه پیشرفته که توسط Borland Developer Studio ۲۰۰۶ معرفی شده‌است، توابعی را برای اختصاص دادن حافظه فراهم می‌کنند.
زبان برای پیشرفته سازی‌های بعدی مناسب است و از IDE جامع آمده‌است. دلفی با یک رابط گرافیکی بزرگ به اسم VCL ارتباط خوبی دارد، که شامل خیلی از کدهای منبع آن است. سوم-اجزا حزب (معمولا با منبع کامل قانون) موجود در بازار هم به منزله تقویت ide یا برای سایر کارهای دلفی مربوط به توسعه‌است. IDE شامل واسط گرافیکی برای محلی سازی و ترجمه برنامه‌های ایجادشده که می‌تواند به یک مترجم گسترش داده شود، بدون هزینه اضافی. (برخی از گسترش دهنده‌ها دسته سوم محصولات را به خاطر عاملیتی که دارند ترجح می‌دهند)
رابط گرافیکی حالتی را پیش می‌آورد که نسخه‌های قدیمی به نسخه‌های جدید دلفی، تبدیل شوند. کتابخانه‌های دسته سوم می‌توانند از طریق فروشنده یا قابلیت‌های کامپایل دوباره برنامه را ارتقا داده شوند. VCL سازگار کننده قدیمی‌ای بود از تزریق وابستگی یا کنترل معکوس. VCL یک مدل با قابلیت استفاده دوباره، خبره و توسعه پذیر با ارتقا دهنده هاست. با کمک کننده کلاس، می‌توان عملکرد هسته RTL و کلاس‌های VCL را بدون تغییر دادن منبع اصلی کد تغییر داد. بهینه‌سازی سریع وساده انتقال کامپایلری می‌تواند به برنامه اجرایی تبدیل کند.CLX بیشتر پشتیبانی نشد چون Kylix از رده خارج شد.
عیب‌ها
دلفی درون خود، یک ابزار گذر از پایگاه نیست. اما Delphi.NET برای چارچوب‌های گرافیکی .NET کامپایل می‌کند، که برای پایگاه‌های گذار با چند تنظیم کد منبع pre.NET اصل طراحی شده‌است. محصول Kylix، که انتقال برنامه‌ها را به لینوکس امکان می‌بخشد، خیلی به فروش نرفت.
هر نسخه جدید دلفی سعی در سازگاری با نسخ قبلی دارد. این به کاربران امکان می‌دهد تا کدهای ارث برده شده بسازند بدون اینکه در توابع و رابط‌ها مشکلی پیش بیاید. اما بعضی از ارتقا دهندگان احساس می‌کنند این توجه به سازگاری با قبل از تحول در دلفی جلو گیری کند، و باعث کهنگی و از رده خارج شدن تصمیمات طراحی در کتابخانه‌های استاندارد کلاس(VCL/RTL) شود.
تاریخچه
Turbo Pascal و Borland Pascal کامپایلرهای ۱۶بیت با کد محلی ارزان قیمتی بودند. آنها در طی سال‌ها تجدید چاپ شدند، و در اصل برای تولید برنامه‌های نمایش متن استفاده می‌شدند. وقتی استفاده از رابط‌های گرافیکی کاربر توسط ۳٫۱Microsoft Windows حمایت شد، استفاده از Borland Pascal تکمیل شده به عنوان زبان زیر مجموعه معرفی شد. دلفی یکی از اولی ابزار چیزی که آمد بود که به عنوان Rapid Application Development(RAD) شناخته می‌شد وقتی که در سال ۱۹۹۵ برای Windows ۳٫۱ ۱۶ بیتی آمد.
دلفی۲، یک سال بعد منتشر شد، که از طرف محیط Windows ۳۲ بیتی حمایت می‌شد و استفاده‌های مختلفی از C++ به عنوان یک زبان زیرمجموعه می‌نمود؛ و C++ Builder چند سال بعد دنبال شد.
رئیس طراحی دلفی آندرس هجلسبرگ بود، کسیکه Turbo Pascal را توسعه داد. او در سال ۱۹۹۶ به Mhcrosoft رفت تا روی C# کار کند. در سال ۲۰۰۱ لینوکس Kylix منتشر شد. این نسخه نقد شده و با کیفیت پایین ارزیابی شد و به خوبی فروش نرفت و بعد از نسخه سوم از رده خارج شد.
برای حمایت هم‌زمان از Windows و Linux به منظور ارتقای پایگاه‌های گذار تلاش شد، و نسخه پایگاه گذاری از VCL که به عنوان CLX شناخته می‌شد در ۲۰۰۲ به همراه دلفی۶ منتشر شد. این تلاش‌ها برای تکنولوژی CLX بیهوده شد و به همراه متروک شدن Kylix، CLX هم از میان رفت.
از آنجایی که نسخه ۱٫۰ ارتقای پایگاه داده باقی‌مانده یکی از قوی‌ترین نقاط دلفی است. کتابخانه مولفه دیداری (VCL) شامل کتابخانه بزرگی از پایگاه داده کنترل‌های آگاه است، و پایگاه داده به مولفه‌ها دسترسی دارد. موتور پایگاه داده Borland پایگاه داده اصلی لایه اتصال بود، و تنها انتخاب در نسخه‌های اولیه دلفی بود، اگرچه الآن به ندرت استفاده می‌شود، اما آخرین نسخه به عنوان یکی از اختیارات قابل نصب در BDE وجود دارد.
دلفی۷ که در اوت ۲۰۰۲ منتشر شد، تبدیل به نسخه استانداردی شد که بیشتر از دیگر نسخ ساده توسط توسعه دهندگان استفاده شد، و تا این تاریخ نیز استفاده موثری از آن می‌شود. این نسخه قابلیت حمایت از قالب‌های Windows XP، و حمایت‌های بیشتری را نیز برای ساختن برنامه‌های تحت web اضافه کرده‌است. همچنین آخرین نسخه دلفی بود که بدون فعال سازی قابل استفاده بود. این خصوصیت ثبت اختیاری دارد که می‌توان از آن صرف نظر نمود. دلفی۷ یکی از پر طرفدارترین IDEها است که توسط Borland تولید شده‌است، که به خاطر پایداری، سرعت و نیاز کم به سخت‌افزار است. به هر حال، در تمام نسخه‌های دلفی مقدار زیادی از خطاهای شناخته شده وجود دارد که Borland آنها را برطرف نکرده‌است. وظیفه برطرف کردن این خطاها در انجمن دلفی باقی‌ماند.
دلفی۸ در دسامبر ۲۰۰۳ منتشر شد، که تنها .NET منتشر شده بود و به کاربران اجازه می‌داد اشیاء دلفی با کد پاسکال را به .NET CIL کامپایل کنند. این همچنان مهم بود که IDEهای خود را برای اولین بار تغییر دهد، از نوع IDE پنجره چندگانه متغیر در روی میز کار(desktop) به نوع دیدن و احساس کردن شبیه Microsofts Visual Studio.NET. HDEهای جدید هنوز لایه پنجره‌های «Classic Undocked» را به عنوان Option در دسترس دارند.
نسخه بعدی، دلفی۲۰۰۵ (دلفی۹)، شامل ارتقای Win۳۲ و .NET در یک IDE ساده، که تعهدات Borland را برای کاربران Win۳۲ تکرار کرد. دلفی ۲۰۰۵ شامل فرصت انجام طراحی بوسیله ترک داده در پایگاه داده‌است. همچنین شامل ID پیشرفته‌است و در متن برنامه for را نیز اضافه کرده‌است (شبیه foreach برای C#). به هر حال، به خاطر بعضی از خطاها مورد انتقاد قرار گرفت. هردوی دلفی۸ و دلفی۲۰۰۵ مشکلات پایداری را در هنگام اجرا شدن دارند، که فقط تا اندکی در service packها بر طرف شده‌اند.
بعدها در سال ۲۰۰۵ دلفی ۲۰۰۶ منتشر شد و مدل ارتقا یافته‌ای از C# و Delphi.NET ،DelphiWin۳۲ و C++ را در IDE ساده‌ای ترکیب کرد. از دلفی ۸ یا دلفی ۲۰۰۵ وقتی که اجرا می‌شد پایدارتر بود، و حتی توسط انتشار بسته‌های خدماتی و برطرف سازی اساسی مشکلات پیشرفته‌تر شد.
در ۸ فوریه سال۲۰۰۶ Borland اعلام کرد که به دنبال خریداری برای IDEهایش و خط پایگاه داده‌ای محصولاتش است، که شامل دلفی برای تاکید بر خط ALM است. اخبار دلگرم کننده‌ای برای کاربران باقی‌مانده آمد.
در ۶ سپتامبر سال ۲۰۰۶ ابزار ارتقا دهنده گروهی (اسم شرکتی که هنوز از بین نرفته) شرکت نرم‌افزاری Borland نسخه‌های تک زبانه از Borland developer studio را منتشر کرد، که به نام مشهور Turbo بازگشت. محصول مجموعه Turbo شامل Turbo Delphi برای Win۳۲ ،Turbo Delphi برای .NET، Turbo C++، و Turbo C# است. هر نسخه در دو ویرایش در دسترس است:
Explorer(نسخه‌ای که Download آن رایگان است) و Professional(با قیمت ارزانتر US$۸۹۹ برای کاربران جدید؛US$۳۹۹ برای نو سازی) نسخه‌ای که دسترسی به هزاران مولفه شخص ثالث را امکان‌پذیر می‌کند. بر خلاف نسخه‌های شخصی قبلی دلفی، ویرایش‌های جدید Explorer می‌توانند برای گسترش‌های تجاری قابل استفاده باشند.
در ۱۴ نوامبر سال ۲۰۰۶ Borland اعلام کرد که ترجیح می‌دهد که فروش ابزار توسعه گروهی متوقف و به به شرکت فرعی مستقلی با نام CodeGear تبدیل شود.
دلفی ۲۰۰۷، اولین نسخه CodeGear، در ۱۶ مارس ۲۰۰۷ منتشر شد. در ابتدا ماهیت Win۳۲ منتشر شد، قبل از اینکه ماهیت.NET از دلفی۲۰۰۷ منتشر شود، به عنوان بخشی از محصول CodeGear RAD Studio ۲۰۰۷. ویژگی‌های جدید شامل حمایت از ساخت MS و ارتقای کتابخانه مولفه دیداری برای Windows vista است. CodeGear هم چنین DBX۴ را به عنوان نسخه بعدی dbExpress معرفی کرد. برای اولین بار دلفی می‌توانست از اینترنت Download و با اجازه‌نامه فعال سازی شود. نسخه‌های بین‌المللی از دلفی ۲۰۰۷ همزمان به انگلیسی، فرانسوی، آلمانی و ژاپنی پیاده‌سازی می‌شد. RAD Studio ۲۰۰۷ که شامل .NET وC++Builder development می‌شود، در ۵ سپتامبر ۲۰۰۷ منتشر شد.
آخرین نسخه، دلفی ۲۰۰۹(با نام کد شده Tiburón)، خیلی از ویژگی‌های جدید مثل کار دوباره به صورت کامل روی VCL و RTL برای حمایت کامل از Unicode، و روش‌های کلی با نام مستعار (برای هردویWin32 native و .Net development) را اضافه کرد.
Borland، CodeGear را به Embarcadero Technologies در سال ۲۰۰۸ فروخت. Embarcadero امتیاز CodeGear را که توسط Borland تولید شده بود، برای شناسایی ابزار و راهنمایی‌های پایگاه داده‌ای آن، نگهداری می‌کند؛ و Embarcadero تصمیم گرفته‌است ابزار پایگاه داده آن را تحت DatabaseGear moniker شناسایی کند.
نام
دلفی در اصل پروژه تحقیقاتی محرمانه‌ای بود در Borland که منجر به محصولی شد که AppBuilder نامیده می‌شد. کمی قبل از اولین انتشار AppBuilder از طرف Borland، Novell AppBuilder منتشر شد، که Borland را در نیاز اسمی جدید رها کرد. بعد از تلاش‌های بسیار بالاخره نام دلفی غلبه کرد. توسعه دهنده Danny Thorpe که نام دلفی را با مرجع Oracle at Delphi انتخاب کرد. یکی از اهداف اصلی دلفی تامین اتصال پایگاه داده با برنامه‌نویس به عنوان یک ویژگی کلیدی بود و بسته پایگاه داده‌ای رایج در آن زمان Oracle database بود؛ بنابراین «اگر می‌خواهید با Oracle صحبت کنید، به دلفی بروید. (البته این یک ضرب‌المثل قدیمی یونانی است)» همین‌طور که توسعه ادامه یافت، نام بر آنها رشد کرد و حمایت Borland نیزاز نام دلفی بیشتر شد.
دوره بعدی تولیدکنندگان
Anders Hejlsberg، معمار اصلی دلفی و Turbo pascal، در سال ۱۹۹۶ تحت استخدام Microsoft درآمد، جایی که او یک مهره کلیدی بود در تولید قالب‌های گرافیکی Microsoft.NET و منجر به طراحی هر دوی Java با گرایش J++ و C# شد.
Chuck Jazdzewski، کسیکه دانشمند رئیس و معمار در تکنولوژی دلفی Borland بود، در سال ۲۰۰۴ Borland را ترک کرد و به Microsoft پیوست. Danny Thorpe، دانشمند رئیس در آن موقع در ۲۰۰۵ به Google پیوست و در ۲۰۰۶ به Microsoft پیوست.
نرم‌افزار مربوط
دلفی برای PHP
دلفی بزای PHP یکIDE برای PHP است. این عملکرد صحیح RAD را فراهم می‌کند. این ویژگی‌های دلفی یا Visual basic از طرف طراح، اصلاح کننده خطا (بنا شده بر خدمات دهنده شبکه)، شبیه هستند. این همچنین شامل کتابخانه VCL که به PHP منتقل شده‌است می‌باشد. برای حمایت از ویژگی‌های Web۲ شبیه AJAX، آن را به یک IDE منحصربه‌فرد تبدیل کرده‌است.
این محصول در ۲۰ مارس ۲۰۰۷ معرفی شد و برQadram Qstudio بنا شده‌است، که CodGear الان کاملا و انحصارا مالک آن است.
محصولاتی که توسط دلفی تولید شده‌است
در میان خیلی از محصولاتی که توسط دلفی تولید شده‌است داریم:
محاسباتی: Intuit Lacerte
محصولات CodeGear: CodeGear Delphi، CodeGear C++ Builder، Borland JBuilder versions 1 and ۲
گسترش و مدیریت پایگاه داده: MySQL Tools (Administrator، Query Browser)، TOAD
نرم‌افزارهای مهندسی: Altium Designer/Protel (electronics design)
نمایش دهنده عکس: FastStone Image Viewer، FuturixImager، Photofiltre
پیام دهنده اینترنت:
Skype (VoIP and IM)، QIP (IM)، The Bat! (e-mail کاربر)، PopTray (e-mail چک کننده)، FeedDemon (feed viewer)، XanaNews، Xnews (خواننده اخبار گروهی)
تولید Music: FL Studio
توسعه نرم‌افزار:
Dev-C++ (IDE)، DUnit (unit testing)، Help - Manual (help system authoring)، Inno Setup (installer engine)
نویسندگی شبکه:
Macromedia HomeSite (HTML ویرایش‌گر)، TopStyle Pro (CSS ویرایش‌گر)، Macromedia Captivate (screencast)
جستجوگر شبکه (پوشش MSIE): Avant Browser، Netcaptor
تسهیلات:
Spybot - Search - Destroy، Ad-Aware (anti-spyware)، jv16 PowerTools، Total Commander (file manager)، Copernic Desktop Search، PowerArchiver، Beyond Compare(file comparison)، WordWeb (dictionary/thesaurus
همزادها و جایگزین‌ها
خیلی از کامپایلرهای Pascalشی گرا وجود دارند که در اصل بوسیله Borland توسعه یافته‌اند، و همچنین محصولاتی که قالب‌های گرافیکی را مثل دلفی کاملا فراهم کردند.
بعضی از آنها کارهایی را انجام می‌دهند که دلفی نمی‌تواند، مثل حمایت از سیستم‌عامل‌های مختلف، و اجازه برای امتحان کد منبع کامپایلر. آنها بعضی مواقع عادت دارند بخش‌های server از برنامه‌های دلفی را در سیستم‌عامل‌هایی به غیر سیستم‌عامل‌های Microsoft اجرا کنند. اکثرا حمایت Linux را در سال‌های قبل از Kylix داشتند.
Bloodshed Dev-Pascal: ویرایش‌گر Windows ۳۲ بیتی خیلی از لحاظ گرافیکی آراسته شده (هر چند غیر RAD) به عنوان تنظیم کننده GNU Pascal و Free Pascal
Lazarus: IDE RAD که از کامپایلر رایگان Pascal استفاده می‌کند.
تبصره
۱. ^ «A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi ۲۰۰۶». About.com. Retrieved on ۲۰۰۷-۱۲-۱۹.
۲. ^ «Delphi and C++Builder Roadmap». CodeGear.com. Retrieved on ۲۰۰۸-۰۹-۲۹.
۳. ^ David Intersimone. «Press Release: Borland forming CodeGear to focus exclusively on developer productivity». Retrieved on ۲۰۰۶-۱۱-۲۸.
۴. ^ David Intersimone. «Borland History: Why the name»Delphi?"". Retrieved on ۲۰۰۶-۱۱-۲۸.
۵. ^ «Borland Brain Drain Continues». eWeek (2004-02-02). Retrieved on ۲۰۰۷-۱۲-۱۹.
۶. ^ «Into the Maelstrom» (۲۰۰۶-۰۴-۱۴). Retrieved on ۲۰۰۷-۱۲-۱۹.