زبان برنامه نویسی D بخش چهارم
S h a b g a r d . O R G
.::Security Group::.

*Nix *Nix *Nix *Nix *Nix *Nix *Nix مبتدی مبتدی مبتدی

    Search for in  

  خانه

  *Nix

      مبتدی

      متوسط

      تخصصی

  Windows

      مبتدی

      متوسط

      تخصصی

  network

  Programming

      PHP

  Security

  Hacking

  Program

      MS-Word

      Graphic

  Cisco

  Hardware



زبان برنامه نویسی D بخش چهارم
Posted by on Dec 31, 2004, 17:11

آشنایی با زبان D قسمت چهارم

کنترل های زمان کامپایل
کنترل نوع قوی تر
انتساب مقادیر به صورت واضح مورد نیاز است
مجاز نبودن متغییرهای محلی به کار نرفته
عدم ؛ خالی در بدنه حلقه ها
انتساب ؛ مقادیر بولی بر نمی گرداند
نپسندیدن API های متروک

کنترل زمان اجرا
عبارات اثبات صحت assert ( )
کنترل مرزهای آرایه
• case
تعریف نشده در استثنای switch
استثنای خارج از حافظه
ورودی ، خروجی و طراحی یکسان کلاس به وسیله کنتراکت

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

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


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

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



ابزارهای موجود را به کار می گیرد .
D
کد را در فرمت استاندارد فایل Object ایجاد می کند که باعث امکان استفاده از اسمبلرها ، لینکرها ،‌اشکال زداها ( debugger ) ، فشرده سازهای exe و دیگر تحلیل کننده های استاندارد به خوبی لینک کردن کدی که دیگر زبانها نوشته شده است می شود.

کنترل پروژه
نسخه سازی
D
به صورت درونی امکان ایجاد نسخه های متعدد از یک برنامه یا همان متن را دارد . D تکنیک # if و # end if پیش پردازنده‌ی C را جایگزین می کند .

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

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

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


import c.stdio ;
bit [8191] flags ;
int main ()
{ int i , count , prime , k , inter ;
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)






---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
Latest Headlines

 *Nix
 نصب سيستم عامل لينوكس وفارسي نويسي در محيط
kavoshgar.blogsky.com
 نصب سيستم عامل لینوکس مندریک 9.2 Mandrake linux
 راهنماي كاربران جديد لينوكس
 راهنماي كاربران جديد لينوكس
 تعاريف پايه و نكات كاربردي در لينوكس و يونيكس
 تنظیماتIP و شبکه در گنو / لینوکس
 تعیین سطوح دسترسی کاربران در لینوکس
 تاریخچه لینوکس
 ظاهر پوسته فرمان
 استفاده از پوسته فرمان در لینوکس
 Windows
 بازگرداندن ویندوز خراب شده به حالت قبل از بروز مشکل
 چگونه میتوان در ويندوز 98 و ME به درايو NTFS دسترسي داشت
 با افزودن پسورد دوم براي ورود به ویندوز XP امنیت خود را تا حد زیادی افزایش دهید
 برنامه های تحت داس و قدیمی را چگونه در XP اجرا کنیم
 نصب ويندوز 98 يا ME در محیط ويندوز NT يا XP فقط در یک دقیقه و نیم
 مقدمات و نيازهاي شما براي يادگيري TCP/IP
 امكانات شبكه اي ويندوز
 SSL چيست ؟
 آموزش HyperTerminal
 آموزش كرك فايل هاي SAM
 network
 كارت شبكه يا LAN Card
 شبكه سرى يا BNC
 شبكه Hub
 تنظيم و كنترل برنامه Network Neighborhood
 استفاده از شبكه و عمل Sharing
 نصب و تنظيم برنامه Wingate جهت اتصال شبكه به سرور و اينترنت
 AAA (Authentication, Authorization and Accounting)
 مقدمه ای بر شبکه خصوصی مجازی (VPN)
 ip و port
  RFC چيست؟
 Programming
 زبان برنامه نویسی D قسمت اول
 زبان برنامه سازی D تحت لینوکس قسمت دوم
 زبان برنامه‌نويسی D بخش سوم
 زبان برنامه نویسی D بخش چهارم
 زبان برنامه نویسی D بخش پنجم
 زبان برنامه‌نویسی D بخش ششم
 نرم‌افزار آزاد یا باز‌متن چیست؟
 مقدمه ای بر برنامه نويسی شی گراء در دات نت
 آموزش رتينا
 ايجاد فايل XML با استفاده از يک بانک اطلاعاتی
 Security
 بررسی نحوه عملکرد فایروال Firewallیا ديواره آتش
 مقايسه سرورهای لينوکس و ويندوز
 چه فایلهائی میتوانند برای کاربران مخاطره آمیز باشند !
 امنيت برنامه های وب ( بخش اول )
 امنيت برنامه های وب ( بخش دوم )
 امنيت برنامه های وب ( بخش سوم )
 امنيت برنامه های وب ( بخش چهارم )
 امنيت برنامه های وب ( بخش پنچم )
 امنيت نامه های الکترونيکی ( بخش اول )
 مفاهيم اوليه پروتکل TCP/IP ( بخش اول )
 Hacking
 چگونه هکر شویم؟ بخش اول
 چگونه هکر شویم؟ بخش دوم
 هنر هشتم : كرك كردن
 مقدمات قبل از شروع يادگيری هک
 Port Scanning
 Port Scanning
  کاربرد نرم‌افزار nmap
 IP Scanning
 پورت ۷۹
 پورت ۸۰ چيست؟
 Program
  آموزشهاي افكتهاي فتوشاپ
 Shocking Text
 مبانی آشنايی با Word
  آموزش ساخت متن یخی
 نصب تم در موزیلا فایرفاکس
 کلید های میانبر در فایرفاکس
 Cisco
 آشنايي با مدارک سيسکو
 Cisco Systems
 Hardware
 آشنايي با پورت USB
 نحوه انتخاب يك كارت صدا