| نویسنده |
پیغام |
سالم پرچونه!!
مجموع ارسالها: 594 اعتبار کسب شده: 3000 جنسيت: مرد |
 |
سهشنبه 02 مرداد 1386، ساعت 18:44 |
|
 |
1 سال و 4 ماه پيش |
|
#1
|
| |
زبان برنامه نويسي D
آشنايي با زبان برنامه سازي D تحت لينوکس
D چيست؟
D يک زبان برنامهسازي سيستمي و کاربردي همه منظوره است. D يک زبان سطح بالاتر از ++C است اما توانايي نوشتن کدهاي قدرتمند و تعامل مستقيم با APIهاي سيستم عامل و سختافزار را حفظ ميکند. D به خوبي براي نوشتن برنامههاي متداول و برنامههاي بزرگ چند ميليون خطي با تيمهاي برنامه نويسي مناسب است. D به آساني قابل آموختن است ، توانائيهاي زيادي را براي کمک به برنامهنويس فراهم ميکند و به خوبي براي فناوري پرتکاپوي بهينهسازي کامپايلر مناسب است.
D يک زبان متني (اسکريپتي) يا داراي مضر نيست و داراي ماشين مجازي ، مذهب خاص يا فلسفه برتريجويي نميباشد. يک زبان عملي است براي برنامهنويسان حرفهاي که نياز به انجام سريع و قابل اعتماد پروژه دارند و به کد قابل فهم آسان نياز دارند و مسئول عملکرد صحيح برنامه هستند.
D اوج چند دهه تجربه به کارگيري کامپايلرهايي از زبانهاي گوناگون و تلاش براي بنانهادن پروژه هاي بزرگ توسط آن زبانها است.
D از زبانهاي ديگر مخصوصاً ++C الهام ميگيرد و آن را با تجــــربه و کاربرد به معناي واقعي درهم ميآميزد.
چرا D ؟
واقعاً چرا؟ کي زبان برنامهنويسي ديگري نياز دارد؟
صنعت نرمافزار راه درازي از زمان اختراع زبان C تاکنون پيچيده است. به وسيله ++C تعداد زيادي مفاهيم جديد به زبان C افزوده شد. اما سازگاري گذشته با C در آن ادامه يافت ، شامل سازگاري با تقريباً تمام ضعفهاي طراحي اصلي زبان C.
تلاشهاي زيادي براي برطرف ساختن آن ضعفها تاکنون صورت گرفته است اما در پي سازگاري با گذشته خنثي شده است. در ضمن هر دوي C و ++C دستخوش يک رشد پيوسته خصوصيات جديد شدهاند.
اين خصوصيات جديد بايد به دقت به ساختار موجود خورانده شود بدون نياز به بازنويسي کد قديمي نتيجه نهايي بسيار پيچيده است ؛ C استاندارد تقريباً ۵۰۰ صفحه است و ++C استاندارد حدود ۷۵۰ صفحه! حقيقت شلوغي کامپايلر ++C اين است که کامپايلرهاي انــــدکي به طور مؤثر استاندارد را دست نخورده به کار ميگيرند.
برنامه نويسان ++C گرايش مييابند که در جزاير خاصي از زبان برنامه بسازند و در نظر ميگيرند کاربرد بسيار خوب بعضي خصوصيات را در حالي که از ديگر مجموعهها اجتناب ميکنند . با وجود اينکه کد از يک کامپايلر به کامپايلر ديگر قابل حمل است ميتـــواند مشکل باشد که از برنامه نويسي به برنامه نويسي ديگر منتقل شود.
توانايي بزرگ ++C اين است که ميتواند تعداد زيادي سبکهاي اصلي برنامهنويسي را پشتيباني کنند . اما در کاربرد طولاني مدت سبکهاي داراي اشتراک و متناقض يک مانع هستند و سبب تأخير.
نااميد کننده است که زباني چنين قدرتمند ، اعمال پايهاي مانند تغيير اندازه آرايهها و الحاق رشتهها را انجام نميدهد. بله ++C توانايي برنامه نويسي قدرتمند براي پياده سازي آرايه هاي قابل تغيير اندازه و رشته ها را فراهم ميکنند (مانند نوع بردار در STL ) . به هرحال چنين خصوصيات بنيادي ، بايستي جزء قسمتهاي زبان باشد. آيا قدرت و قابليتهاي ++C ، قابل گسترش ، طراحي مجدد و پيادهسازي به يک زبان ساده وارتگنال و کاربردي ميباشد؟ آيا تمامي آنها ميتواند داخل بستهاي قرار گيرد که براي کامپايلرنويسان به آساني قابل پيادهسازي صحيح باشد و کامپايلرها را قادر کند که به نحوي کارا ، کدهاي بهينه شده و پرتکاپو ايجاد کند؟
فناوري پيشرفته کامپايلر به نقطهاي رسيده است که خصوصياتي از زبان که به منظور جبران کردن فناوري ابتدايي کامپايلر وجود دارند ، ميتوانند حذف شوند. (مثالي ازاين نمونه ميتواند واژه کليدي “Register” در C باشد ، مثالي ظريفتر ماکروي پيشپردازنده در C است) . ما ميتوانيم به قناوري پيشرفتهي بهينه سازي کامپايلر اعتماد کنيم تا ديگر به خصوصياتي از زبان که براي دست يافتن به کيفيت کد قابلقبول (جداي از کامپايلرهاي ابتدائي) لازم است نياز نداشته باشيم.
D درنظر دارد که هزينههاي گسترش نرمافزار را حداقل %10 کاهش دهد توسط افزودن خصوصيات بهينهسازي بالابرنده ميزان سودمندي و توليد و همچنين با تعديل کردن خصوصيات زبان ، به طوري که اشکالات وقتگير متداول از ابتدا حذف ميشوند.
خصوصيات حفظ شده از C++/C
منظره کلي D شبيه C و ++C است . اين موضوع آموختن D و انتقال کد به آن را آسانتر ميکند. گذر از C++/C به سوي D بايد طبيعي حس شود و برنامه نويس مجبور نخواهد بود که يک راه کاملاً جديد انجام کارها را فراگيرد. استفاده از D به اين معنا نيست که برنامه نويس به يک ماشين مجازي خاص زبان اجرا محدود شود مانند ماشين مجازي جاوا يا Smalltalk . هيچ ماشين مجازي D وجود ندارد يک کامپايلر سرراست است که Objectfile هاي قابل پيوند (Link) توليد ميکند. D به سيستم عامل متصل ميشود دقيقاً مانند C. ابزارهاي آشناي متداول مانند “MAKE” مستقيماً در برنامهنويسي D گنجانده شده است.
منظره عمومي و احساس موجود در C++/C ابقا خواهد شد . همان املاي جبري به کار خواهد رفت و اغلب عبارات و فرمهاي دستورات و طرحبندي عمومي.
برنامههاي D ميتواند هم به کسب C ـ توابع و دادهها ـ و هم در کسب ++C نه شيءگرا ـ ياترکيبي از هردو قابل نوشتن است.
D براي چه کساني مناسب است؟
برنامه نويساني که به طور مداوم از ابزارهاي تجزيه و تحليل کد استفاده ميکنند تا خطاها را حتي قبل از کامپايل شدن ازبين ببرند.
افرادي که عمل کامپايل را با بالاترين سطح هشدارها انجام ميدهند يا از کامپايلر ميخواهند که هشدارها را به منزله خطا تلقي کند.
مديران برنامهنويسي که مجبورند به راهنماييهاي سبک برنامهنويسي براي اجتناب از اشکالات معمول C اعتماد کنند.
افرادي که براين باورند که وعدههاي سبک شيءگراي ++C به خاطر پيچيدهگيهايش برآورده نميشود.
برنامهنويساني که از قدرت بيانگر ++C لذت ميبرند اما به خاطر نياز به صرف تلاش زياد براي اداره حافظه و يافتن اشکالات اشارهگرها ، نااميد شدهاند.
پروژههايي که نياز به تست همراه و تصديق و تأييد دارند.
برنامهنويساني که فکر مي کنند زبان بايد داراي خصوصيات کافي باشد . براي رفع نياز دائمي اداره دستي و مستقيم اشارهگرها.
برنامهنويسان محاسبات عددي . D داراي خصوصيات زيادي براي پشتيباني مستقيم اعمال مورد نياز برنامه نويسان محاسبات ميباشد ، مانند پشتيباني مستقيم از نوع داده مرکب و اعمال تعريف شده براي بينهايت و NAN’S (اين خصوصيات در استاندارد C99 اضافه شد ولي در ++C نه)
بخش تجزيه لغوي و تجزيه نحوي D از يکديگر در نهايت مجزا هستند و همچنين از تجزيهگر معنايي.
اين بدين معناست که نوشتن ابزارهاي ساده براي اداره کردن کد منبع D بر سطح عالي آسان است بدون اينکه مجبور به ساختن يک کامپايلر کامل باشيم . همچنين بدين معناست که کد منبع ، قابل انتقال به فرم tokenها است براي کاربردهاي خاص.
منبع:لينک
منابع مفيد ديگري نيز چه به فارسي و چه به انگليسي موجود است که علاقه مندان مي توانند براي دريافت آن به اينجانب اطلاع دهند. |
|
|
|
|
|
|
 |
mhaji  آخر آدم بيکار!
تاريخ عضويت: دوشنبه 19 خرداد 1382 مجموع ارسالها: 3419 اعتبار کسب شده: 3000 محل سکونت: Montreal جنسيت: مرد |
 |
سهشنبه 02 مرداد 1386، ساعت 19:36 |
|
 |
1 سال و 4 ماه پيش |
|
#2
|
| |
|
من حدود دو سال پيش از فرط بيکاري رفتم سراغش. ويژگي هايي که داره بعضي هاش جالبند اما واقعيت اينه که الان براي اختراع يه زبون جديد خيلي ديره! يعني ديگه دوره اش به پايان رسيده! با وجود رقباي قدرتمندي مثل ++C و Java و #C که هزارها هزار منبع، کتابخونه، ابزار و ... دارند، يه زبون همه منظوره جديد، حتي اگه در تئوري واقعا بهتر باشه، نميتونه به اين راحتي ها قابل استفاده بشه. يعني به حدي برسه که مدير پروژه و طراح و برنامه نويس و ... قانع کنه که هزينه سوييچ کردن رو قبول کنند. امروز هم سايتش رو نگاه کردم. به نظر از اون موقع تا الان تفاوت و پيشرفت چشمگيري نکرده. ويرايشگر، کتابخونه، مستندات و کلا ابزارهاي قابل اعتنايي نداره که فکر ميکنم مهمترين دليلش نداشتن حامي مالي درست و حسابيه. تازه در اين صورت، باز هم شخصا به موفقيتش اميدي نداشتم. چون تاکيد ميکنم که دوره اش به پايان رسيده! |
|
|
|
|
|
|
 |
سالم پرچونه!!
مجموع ارسالها: 594 اعتبار کسب شده: 3000 جنسيت: مرد |
 |
دوشنبه 08 مرداد 1386، ساعت 22:32 |
|
 |
1 سال و 3 ماه پيش |
|
#3
|
| |
با دير بودن براي تولد يه زبان ديگه موافقم!
اما فکر مي کنم بيشتر مشکل عدم وجود حامي مالي جديه!
وگرنه Syntax شون شبيه همه ( با اغماض)
* خدا آدمهاي بيکار رو حفظ کنه! آمين |
|
|
|
|
|
|
 |
|
|
|
|
شما نمیتوانید در این تالار موضوع جدیدی ارسال کنید شما نمیتوانید به موضوعات این تالار پاسخ دهید شما نمیتوانید پیغامهای ارسالی خود در این تالار را، ویرایش کنید شما نمیتوانید پیغام های ارسالی خود در این تالار را حذف کنید شما نمیتوانید در نظرسنجیهای این تالار شرکت کنید
|
| |