# Native Code > برنامه نویسی در Delphi > محیط توسعه (IDE) دلفی >  ساختار زبان دلفی

## dkhatibi

میخواستم این سوال را مطرح کنم که خود زبان دلفی بر پایه ی برنامه نویسی ++C و اسمبلی استوار است ؛ یعنی به این زبانها نوشته شده یا مستقل از این دو زبان و هسته ی مجزایی دارد؟

----------


## robochoo

هر برنامه و کدی برای اجرا شدن (غیر از اسکریپت ) با ید به زبان ماشین تبدیل شود. زبان اسمبلی تعبیری از زبان ماشین و پایین ترین سطح برنامه نویسی است. چه با زبان c  چه  VB و... باید به اسمبلی تبدیل شود. اما برای برنامه نویسی به زبان اسمبلی با این که آزادی عمل زیادی دارد بسیار طولانی وسخت است. از طرفی برنامه ای که بخواهد در محیط windows اجرا شود با ید بر پایه message باشد و... فکر میکنم محیط IDE اولیه با C  یا pascal باشد. اما کد های تولید شده و فایل های اجرایی اکثرآ به زبان ASM , pascal هست. در کتاب خانه math یه سری به power و intpower بزنید. با اسمبلی نوشته شده. باید به خاطر داشت که خود c , pascal با اسمبلی نوشته شده است.

----------


## Inprise

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

----------


## judgment

سلام
میشه بیشتر توضیح بدین چه جوری محیطط دلفی با خود دلفی گسترش داده میشه؟  :متفکر:

----------


## vcldeveloper

> میشه بیشتر توضیح بدین چه جوری محیطط دلفی با خود دلفی گسترش داده میشه؟


کامپایلر که درست شد، شما یک زبان برنامه نویسی به اسم دلفی دارید با syntax و ساختارهای مشخص که می تونید براش کد بنویسید و آن کد را به کامپایلر بدید تا آن را برای شما به زمان ماشین تبدیل کند و در نهایت کد را اجرا کنید.
محیط دلفی (منظور همون IDE دلفی هست که درش کد می نویسیم و برنامه را Debug می کنیم) هم یک برنامه هست مثل سایر برنامه های موجود در سیستم شما. پس از آماده شدن کامپایلر، یونیت هایی به زبان Object Pascal نوشته شدند تا عملیات های پایه ایی را انجام بدند. یونیت هایی هم برای ترجمه توابع متداول API ویندوز به Object Pascal نوشته شد. با کمک این یونیت ها، RunTime دلفی و کلاس های VCL نوشته شدند تا یک چارچوب شی گرا برای توسعه دلفی بوجود بیاد. یکسری API هم برای توسعه IDE بطور خاص ساخته شدند (تحت نام ToolsAPI). با استفاده از این کلاس ها هم IDE دلفی ساخته شد. الان هم IDE دلفی با خود زبان دلفی توسعه داده میشه. حتی خود شما هم می تونید به عنوان یک برنامه نویس دلفی، با استفاده از ToolsAPI افزونه هایی (Extensions) به IDE دلفی اضافه کنید تا کارهای خاصی را در محیط دلفی برای شما انجام بدند. شرکت های زیادی هم هستند که همچین افزونه هایی را برای محیط دلفی تولید می کنند تا قابلیت های آن را افزایش بدهند.

----------


## rasool_brn

البته تمام IDE رو با دلفی ننوشتنا :چشمک: یه مقداریشو با جاوا نوشتن.

----------


## rasool_brn

البته تمام IDEرو با دلفی ننوشتنا , یه خوردشو با جاوا نوشتن :چشمک:

----------


## vcldeveloper

> البته تمام IDE رو با دلفی ننوشتنایه مقداریشو با جاوا نوشتن.


IDE دلفی از ورژن 8 به بعد تغییرات عمده ایی کرد و به Visual Studio شباهت پیدا کرد. تا جایی که من می دونم، برای انجام این تغییرات بورلند از تجربیات خودش در توسعه JBuilder هم استفاده کرد. شاید هم کتابخانه هایی را هم از آنجا به دلفی ترجمه کرده باشند و در توسعه IDE استفاده کرده باشند. اما فکر نمی کنم مستقیما کد جاوایی برای توسعه IDE دلفی استفاده شده باشه. دقت بکنید این مربوط به دلفی 8 به بعد هست، و در ورژن های قبل از آن مطمئنا از هیچ کد جاوایی استفاده نشده.

----------


## Inprise

IDEی اخیر دلفی با دلفی و مقداری هم با دات نت نوشته شده . Together که ابزار مدل سازی و مهندسی معکوس بورلند و مبتنی بر جاوا بود هم برای ترکیب با این محیطها با #J بازسازی شده که در کنار دلفی نصب میشه و مستقیما جزو IDE دلفی نیست

----------


## judgment

من خودم با دلفی  7 برنامه نویسی می کردم ولی حالا برای انتخاب اینکه چه زبانی رو برای ادامه انتخاب کنم موندم از یک طرف قدرت #C رو می بینم از یک طرف دلفی و حتی نسخه جدید اونو ولی چیزی که هست اکثرا کار دلفی رو تمام شده می دونن و توصیه نمی کنن حالا منو راهنمایی کنید الان واقعا نمی دونم چه کار کنم  :افسرده:  :ناراحت:

----------


## Mohammad_Mnt

برای تولید برنامه‌های ویژه‌ی ویندوز هنوز دلفی قدرت بالایی داره ولی برای چهارچوب دات‌نت سی شارپ (نظر شخصی) را توصیه می‌کنم

----------


## vcldeveloper

> من خودم با دلفی 7 برنامه نویسی می کردم ولی حالا برای انتخاب اینکه چه زبانی رو برای ادامه انتخاب کنم موندم از یک طرف قدرت #C رو می بینم از یک طرف دلفی و حتی نسخه جدید اونو ولی چیزی که هست اکثرا کار دلفی رو تمام شده می دونن و توصیه نمی کنن حالا منو راهنمایی کنید الان واقعا نمی دونم چه کار کنم





> برای تولید برنامه‌های ویژه‌ی ویندوز هنوز دلفی قدرت بالایی داره ولی برای چهارچوب دات‌نت سی شارپ (نظر شخصی) را توصیه می‌کنم





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


یک خورده تامل کنید و ببینید اینایی که نوشتید ربطی به ساختار زبان دلفی داره؟!!

----------


## Mohammad_Mnt

نه ولی به سوالی که شده ربط داره

----------


## vcldeveloper

> نه ولی به سوالی که شده ربط داره


قرار نیست به هر سوالی در هر تاپیکی جواب داده بشه! فعالیت در یک تاپیک باید در راستای عنوان آن تاپیک باشه.

----------


## #target

هر چی باشه خروجی دلفی Win32 هست و سرعت کار اون خیلی بالاتر از .Net هست چون دات نت یک چارچوبه که بعنوان یک لایه روی سیستم قرار داره و برنامه نوشته شده در دات نت باید از این طریق اجرا بشه پس سرعتش - مخصوصا سرعت اجرا - خیلی پایین می آد از طرفی برای فایلها نوشته شده در دلفی هیچ پیش نیازی احتیاج نیست ولی برای اجرای برنامه های .Net حتما باید .Net Framework نصب باشه . از طرفی .Net framework اینطور نیست که مثلا ما ورژن 3 اون رو نصب داریم بتونیم همه برنامه در ورژن های قدیمی تر هم اجرا کنیم بلکه باید برای هر فایل ورژن مربوطه را نصب کرد .!!!!!

اون هم با سایز هایی که .Net Framework runtime داره 
v1.1 =  20 Mb
V2.0 = 22Mb
v3.5 = + 195Mb
از طرفی برای اجرای C#‎ باید C#‎ Redistriubutable package هم نصب باشه که اون هم فکر کنم بالای 3 مگابایت سایز داره 
حالا فرض کن یک برنامه ساده با دات نت  2 و سی شارپ نوشتی ... !!!!!!  حالا اگه با دات نت 3.5 باشه که دیگه ..!!! :گریه:  :عصبانی:

----------


## vcldeveloper

> هر چی باشه خروجی دلفی Win32 هست و سرعت کار اون خیلی بالاتر از .Net هست چون دات نت یک چارچوبه که بعنوان یک لایه روی سیستم قرار داره و برنامه نوشته شده در دات نت باید از این طریق اجرا بشه پس سرعتش - مخصوصا سرعت اجرا - خیلی پایین می آد


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

----------

