Mahmood_M
چهارشنبه 05 اسفند 1388, 03:11 صبح
با سلام ...
من چند وقت پیش این موضوع رو مطرح کردم ولی کسی در بحث شرکت نکرد ، اما یک بار دیگه دوستان رو دعوت به بحث در این زمینه می کنم ...
با یک سئوال شروع می کنم :
آیا توابع ، و کتابخانه های موجود در ( برای ) یک زبان برنامه نویسی می تونه دلیل قدرت و برتری اون زبان باشه ؟!
به عنوان مثال فرض کنید در زبان دلفی Unit هایی تعریف شده و درون هر کدوم توابع زیادی وجود داره که کار رو برای برنامه نویس ساده می کنه ، اما سئوال اینجاست که وجود این توابع آیا ویژگی خاصی به زبان دلفی اضافه کرده ، آیا درسته که مثلا بگیم زبان دلفی توابع بسیاری رو در خودش داره ؟!
یا مثلا در زبان ++C فایلهای Header به چیزی شبیه به Unit ها در دلفی هستند ، آیا توابع درون Header ها جزئی از زبان ++C هستند ؟!
یک مثال می زنم :
می خوایم دو عدد رو بگیریم و عدد بزرگتر رو نمایش بدیم ، می دونیم که :
Max = ( | A1 + A2 | + | A1 - A2 | ) / 2
زبان دلفی به من امکان میده که به صورت زیر این کار رو انجام بدم :
var
A1, A2 : Integer;
Max : Double;
begin
A1 := a;
A2 := b;
Max := (ABS(A1+A2)+ABS(A1-A2))/2;
end;
توضیح : a , b عدد هستن و ABS هم تابعی هست در زبان / محیط دلفی برای محاسبه ی قدرمطلق یک عدد ...
خوب ، حالا اگر فرض کنیم که برای محاسبه ی عدد بزرگتر بین دو عدد ، یک Unit در کتابخانه های دلفی شامل تابعی به نام Max باشه که مقدار عدد بزرگتر رو محاسبه کنه ، آیا باید این رو به عنوان یک ویژگی برای زبان دلفی در نظر بگیریم یا محیط دلفی یا نرم افزار دلفی یا ... ؟؟ !!
به نظرم باید قدرت محیط برنامه نویسی به یک زبان رو از قدرت زبان برنامه نویسی جدا کرد ، یعنی منظورم اینه که وجود تابعی به نام Max یا همون ABS برای محاسبه ی قدر مطلق ، در واقع امکاناتی هستن که سازندگان محیط دلفی ( شامل IDE , Code Editor و ... ) ، اون رو درون یک Unit به امکانات زبان دلفی اضافه کردند ...
کمی توضیح بیشتر :
زبان ++C هم به من امکان می ده که به صورت زیر عدد بزرگتر رو از بین دو عدد پیدا کنم :
{
A1 = a;
A2 = b;
Max = (abs(A1+A2)+abs(A1-A2)) / 2;
}
حالا اگه در زبان دلفی تابعی به نام Max داشتیم ولی در ++C تابعی به این نام وجود نداشت آیا می تونیم این رو دلیلی برای برتری زبان دلفی بیان کنیم ؟ یا باید به عنوان یک ویژگی مثبت محیط یا نرم افزار دلفی بیان بشه ؟
من نظرم اینه که این توابع و Unit ها یا Header ها از زبانهای برنامه نویسی جدا هستند ، هرکسی می تونه یک Unit یا Header بنویسه و به محیط یا نرم افزار دلفی یا Visual CPP اضافه کنه !
اما ویژگی ای که زبان دلفی و زبان ++C رو در حل مسئله ی بالا متمایز می کنه نحوه ی نوشتن دستورات هست ، مثلا در ++C نیاز نبود که حتما A1 و A2 به عنوان متغیر عددی تعریف بشن ولی در دلفی باید حتما این کار رو انجام بدیم ...
این رو هم میشه به حساب کامپایلر گذاشت و به زبان مربوطش نکرد ! ، به نظر شما یک زبان برنامه نویسی شامل چه قسمتهایی هست ؟ ( جدا از Syntax ! )
خوشحال می شم دوستان در این بحث شرکت کنند ، مطمئنا برای خیلی ها مفید خواهد بود ...
موفق باشید ...
من چند وقت پیش این موضوع رو مطرح کردم ولی کسی در بحث شرکت نکرد ، اما یک بار دیگه دوستان رو دعوت به بحث در این زمینه می کنم ...
با یک سئوال شروع می کنم :
آیا توابع ، و کتابخانه های موجود در ( برای ) یک زبان برنامه نویسی می تونه دلیل قدرت و برتری اون زبان باشه ؟!
به عنوان مثال فرض کنید در زبان دلفی Unit هایی تعریف شده و درون هر کدوم توابع زیادی وجود داره که کار رو برای برنامه نویس ساده می کنه ، اما سئوال اینجاست که وجود این توابع آیا ویژگی خاصی به زبان دلفی اضافه کرده ، آیا درسته که مثلا بگیم زبان دلفی توابع بسیاری رو در خودش داره ؟!
یا مثلا در زبان ++C فایلهای Header به چیزی شبیه به Unit ها در دلفی هستند ، آیا توابع درون Header ها جزئی از زبان ++C هستند ؟!
یک مثال می زنم :
می خوایم دو عدد رو بگیریم و عدد بزرگتر رو نمایش بدیم ، می دونیم که :
Max = ( | A1 + A2 | + | A1 - A2 | ) / 2
زبان دلفی به من امکان میده که به صورت زیر این کار رو انجام بدم :
var
A1, A2 : Integer;
Max : Double;
begin
A1 := a;
A2 := b;
Max := (ABS(A1+A2)+ABS(A1-A2))/2;
end;
توضیح : a , b عدد هستن و ABS هم تابعی هست در زبان / محیط دلفی برای محاسبه ی قدرمطلق یک عدد ...
خوب ، حالا اگر فرض کنیم که برای محاسبه ی عدد بزرگتر بین دو عدد ، یک Unit در کتابخانه های دلفی شامل تابعی به نام Max باشه که مقدار عدد بزرگتر رو محاسبه کنه ، آیا باید این رو به عنوان یک ویژگی برای زبان دلفی در نظر بگیریم یا محیط دلفی یا نرم افزار دلفی یا ... ؟؟ !!
به نظرم باید قدرت محیط برنامه نویسی به یک زبان رو از قدرت زبان برنامه نویسی جدا کرد ، یعنی منظورم اینه که وجود تابعی به نام Max یا همون ABS برای محاسبه ی قدر مطلق ، در واقع امکاناتی هستن که سازندگان محیط دلفی ( شامل IDE , Code Editor و ... ) ، اون رو درون یک Unit به امکانات زبان دلفی اضافه کردند ...
کمی توضیح بیشتر :
زبان ++C هم به من امکان می ده که به صورت زیر عدد بزرگتر رو از بین دو عدد پیدا کنم :
{
A1 = a;
A2 = b;
Max = (abs(A1+A2)+abs(A1-A2)) / 2;
}
حالا اگه در زبان دلفی تابعی به نام Max داشتیم ولی در ++C تابعی به این نام وجود نداشت آیا می تونیم این رو دلیلی برای برتری زبان دلفی بیان کنیم ؟ یا باید به عنوان یک ویژگی مثبت محیط یا نرم افزار دلفی بیان بشه ؟
من نظرم اینه که این توابع و Unit ها یا Header ها از زبانهای برنامه نویسی جدا هستند ، هرکسی می تونه یک Unit یا Header بنویسه و به محیط یا نرم افزار دلفی یا Visual CPP اضافه کنه !
اما ویژگی ای که زبان دلفی و زبان ++C رو در حل مسئله ی بالا متمایز می کنه نحوه ی نوشتن دستورات هست ، مثلا در ++C نیاز نبود که حتما A1 و A2 به عنوان متغیر عددی تعریف بشن ولی در دلفی باید حتما این کار رو انجام بدیم ...
این رو هم میشه به حساب کامپایلر گذاشت و به زبان مربوطش نکرد ! ، به نظر شما یک زبان برنامه نویسی شامل چه قسمتهایی هست ؟ ( جدا از Syntax ! )
خوشحال می شم دوستان در این بحث شرکت کنند ، مطمئنا برای خیلی ها مفید خواهد بود ...
موفق باشید ...