http://www.debian.org
Welcome to TECHNOTUX      
   ورود/ایجاد حساب کاربری یكشنبه، ۰۳ آذر ۱۳۸۷   
   منوی اصلی
· خانه
   تازه واردان و تازه‌کارها
· تازه واردان و تازه‌کارها بخوانند
· قوانین انجمن‌ها
   درباره ما
· هدف ما چیست؟
   تهیه توزیع‌های لینوکس
· فروشگاه لینوکس شاپ
· فروشگاه Sito.ir
   امکانات
· ارسال خبر
· آمارها
· اخبار
· مقالات آموزشی
· انجمنها (سوال کنید!)
· جستجو در سایت
· جستجو در انجمن‌ها
· لیست برگزیده
· کانال IRC
   جستجو
Google
   اخبار لینوکس از Slashdot
   مرورگر مقالات سایت

   آیا میدانید؟

با استفاده از دستور rpl می‌توانید یک رشته متنی را با یک رشته متنی دیگر در تعداد زیادی فایل جایگزین کنید:

$ rpl oldstring newstring file1 file2 ...

-- نکته‌های خط فرمان
   کاربران حاضر
مدیر
هیچیک از مدیران حاضر نیست
مدیر خبر
هیچ مدیر کمکی حاضر
مدیر انجمن
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:1
جدیدترین:مجموع:7170
جدیدترین:جدیدترین:
This_is_ALireza
اعضا:حاضر
اعضا:اعضا:1
مهمان‌ها:مهمان‌ها:64
مجموع:مجموع:65
کاربران حاضر
حاضرebe79442114
   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید
   سایت‌های پیشنهادی
· آموزش فارسی GTK
· آموزش پایتون
· پرسیسم CMS
· گنو/دانلود
· مستندات فارسی برای nix*
· گروه کاربران لینوکس تهران
· پارسیکس گنو/لینوکس
· طرح ملی نرم‌افزارهای متن‌باز
· نشریه الکترونیک لینوکس
· گنو ایران.ارگ
· واژه‌نامه xFarDic
   آخرین بسته‌ها
   RSSهای تکنوتاکس

اخبار و اعلامیه‌ها


آخرین پست‌های انجمن‌ها

زبان برنامه نویسی D بخش چهارم

(584 مجموع کلمات موجود در متن)
(4785 بار مطالعه شده است)  نسخه چاپی

کنترل های زمان کامپایل

۱. کنترل نوع قوی تر

۲. مقدار دهی اولیه به صورت واضح مورد نیاز است

    ۳. مجاز نبودن متغییرهای محلی به کار نرفته

    ۴. عدم ' ; ' تکی در بدنه حلقه ها

    ۵. عمل انتساب ،مقادیر بولی بر نمی گرداند.

    ۶. از رده خارج کردن API های متروک


کنترل زمان اجرا

    ۱. عبارات اثبات صحت ( )assert

    ۲. کنترل مرزهای آرایه

    ۳. case تعریف نشده در استثنای switch

    ۴. استثنای تجاوز از اندازه حافظه

    ۵. ورودی ، خروجی و طراحی یکسان کلاس به وسیله کنتراکت


سازگاری

تقدم عملگر و قوانین سنجش

D عملگرهای C و قوانین تقدم آنها را حفظ می کند همچنین ترتیب قوانین سنجش و قوانین تقدم . این از اشکالات ریز که از ابتدای برنامه نمایان می شود جلوگیری می کند .


دسترسی مستقیم به API های C

نه تنها D نوع داده های مطابق با C دارد همچنین دسترسی مستقیم به توابع C را فراهم می سازد . هیچ نیازی به نوشتن توابع بسته بندی شده یا کدی برای کپی کردن اجزای متراکم یک توده به صورت یک به یک نیست.



پشتیبانی از تمام نوع داده های C

ارتباط با هر API زبان C و یا کد کتابخانه ای C ممکن است . این پشتیبانی تمام انواع C 99 را در بر می گیرد . D شامل توانایی صف بندی اعضای ساختمان برای مطمئن شدن از سازگاری با فرمتهای داده خارجی می باشد.

پردازش استثنای سیستم عامل

مکانیسم پردازش استثناهای D متصل به روشی است که سیستم عامل در سطح زیرین استثناها را در یک برنامه کاربردی پردازش می کند .



کنترل پروژه

نسخه سازی

D SPAN>. D تکنیک if# و

نبود هشدار

کامپایلرهای D هشدارهایی برای کدهای نامطمئن تولید نمی کنند . کد یا توسط کامپایلر قابل قبول است یا نیست . این خصوصیت هر گونه بحثی در این زمینه که آیا هشدار خطایی صحیح است یا نه و نیز هر بحثی در این باره که با آن هشدار چه کنیم را از بین می برد . نیاز برای هشدار کامپایلر نشانه‌ی طراحی ضعیف زبان است .

استهلاکDeprecation

به مرور زمان ،بعضی کدهای کهنه کتابخانه با نو تر و نسخه بهتر جایگزین می شود . نسخه قدیمی باید برای پشتیبانی کدهای به جا مانده از قبل موجود باشد اما می تواند لقب مستهلک بگیرد . کدهایی که نسخه های مستهلک را به کار می گیرند ، می توانند به انتخاب برنامه نویس توسط یک سویچ کامپایلر برچسب غیر قانونی بخورند که باعث آسان شدن کار برنامه نویسان برای نشان دادن هر وابستگی به خصوصیات مستهلک می شود .

نمونه برنامه D غربال اراتستن (تست اعداد اول):

import c.stdio ;
bit [8191] flags ;
int main (){
int i , count , prime , k , iter ;
print f(“ 10 iterations \n” );
for ( iter = 1 ; iter<=10 ; iter ++ ) {
count = 0 ;
flags [ ] = 1 ;
for ( i = 0 ; i < flags . length ; i ++ ){
if ( flags [i] ) {
prime = i + i +3;
k = i + prime;
while ( k < flags . Length ) {
flags , [ k] = 0 ;
k + = prime ;
}
count + = 1;
}
}
}
print f ( “ % d primes” , count ) ;
return 0 ;
}


حمید نصیبی (hamidnsaba@yahoo.com)



Linux is a registered trade mark of Linus Torvalds.

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد. یک نسخه از این مجوز را اینجا می‌توانید برای خود دریافت نمایید.

Email Us : webmaster AT technotux DOT org