تبليغاتX
مباحث حرفه ای کامپیوتر
این وبلاگ برای مباحث حرفه ای کامپیوتر طراحی شده است
 
به نام آفريننتده زيباييها
 
درخت دوستی بنشان که کام دل به بار آرد
نهاد دشمنی برکن که رنج بيشمار آرد
 
(يک درخت هر چه قدر هم که بزرگ باشد با يک دانه آغاز ميشود طولانی ترين سفرها با اولين قدم)

صورت زيبا، نيايد هيچ كار
اى برادر، سيرت زيبا بيار

:
به جهان خرم از آنم كه جهان خرم از اوست‏
عاشقم بر همه عالم كه همه عالم از اوست  اوست‏


+ نوشته شده در  دوشنبه بیستم آبان 1387ساعت 7:35 بعد از ظهر  توسط بهروز   | 

موجودات جديدی كه ما امروزه آنها را با نام برنامه های وب می شناسيم ، ماحصل تاثير وب بر نرم افزار و رشد رو به فزاينده استفاده از اينترنت در متن زندگی ، ماحصل تاثير نرم افزار بر وب است . اجازه دهيد ببينيم موضوع از كجا و با چه مختصاتی شروع گرديد و هم اينك در چه وضعيتی به سر می بريم .
ادامه مطلب
+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:18 بعد از ظهر  توسط بهروز   | 

.Net محيطي جهت ساخت برنامه‌هاي توزيع شده است كه شامل ابزارهايي نظير ""كتابخانه كلاسهاي پايه"(BCL : Base Class Library)، CLR و زبانهاي برنامه‌نويسي است. اين ابزارها امكان ساخت انواع مختلفي از نرم‌افزارها، از قبيل فرمهاي ويندوز، ADO.Net، ASP.Net و سرويسهاي وب، را فراهم مي‌آورند.

فرمهاي ويندوز، مجموعه‌اي از كتابخانه‌ها جهت ساخت رابط‌هاي كاربر گرافيكي براي برنامه‌هاي كاربردي است. اين كتابخانه‌ها اغلب API هاي Win32 را در خود دارا مي‌باشند. همچنين امكان استفاده از رهيافت شي‌گرايي را جهت توليد آسان برنامه‌هاي تحت ويندوز، فراهم مي‌آورند.

ADO.Net مجموعه‌اي از كلاسهاي شي‌گرايي است كه جهت ساخت مولفه‌هاي داده و سطوح دسترسي داده در برنامه‌هاي n-tiered مورد استفاده قرار مي‌گيرد.

ASP.Net شامل مدل برنامه‌نويسي فرمهاي وب است كه بوسيلة آن برنامه‌هاي تحت وب ساخته شده و تحت اينترنت قابليت اجرا پيدا كرده و از طريق مرورگر(Browser) قابل دسترسي مي‌باشند. اين روش مدل بهبود يافته برنامه‌سازي وب است كه در آن كدها در سرور كامپايل مي‌شوند ولي همانند صفحات HTML در كامپيوتر مشتري اجرا مي‌شوند.

سرويسهاي وب، رهيافتي جديد، مستقل از platform و استاندارد، جهت ايجاد ارتباط و فعاليت بين سيستمهاي ناهمگون در اينترنت، مي‌باشند. سرويسهاي وب .Net، از زير ساخت شي‌گرايي برنامه‌نويسي ASP.Net استفاده مي‌كنند، اما همچنان از استانداردهاي باز و مدلي بر پاية پيغام(Message Based Model) استفاده مي‌نمايند. استفاده از استانداردهاي باز از قبيل XML، WSDL و UDDI باعث مي‌شوند تا سرويسهاي وب با ساير سرويسهاي وب استاندارد كه پياده‌سازي‌هايي متفاوت دارند، بدون توجه به محيط و platform آنها، ارتباط برقرار نمايند..

+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:12 بعد از ظهر  توسط بهروز   | 

(Common Language Runtime)CLR

CLR يك موتور اجرايي است كه با هدف اصلي اجراي هدايت شدة كدها در .Net ايجاد گرديده است. CLR به مديريت اجرا، ارتقاي نسخه و امنيت تمامي كدها در .Net مي‌پردازد. به همين دليل كدهاي .Net يا C# اغلب تحت عنوان كدهاي مديريت شده، شناخته مي‌شوند.(Managed Code) تمامي كدهايي كه به CLR مرتبط هستند، تحت عنوان "مديريت شده" و كدهايي توسط CLR مديريت نشده‌اند، بلكه مستقيماً به كد ماشين تبديل مي‌شوند، تحت عنوان "مديريت نشده" بيان مي‌شوند.

كدهاي مديريت شده، به كد ماشين كامپايل نمي‌شوند، بلكه به زبان سطح مياني مايكروسافت(MSIL) كامپايل شده و مورد استفاده قرار مي‌گيرند. اين زبان سطح مياني را مي‌توان زباني شبيه به زبان اسمبلي تصور كرد. IL در حافظه بارگذاري مي‌شود و بلافاصله بوسيلة CLR در حافظه به كد ماشين كامپايل مي‌گردد.

برنامه‌هاي .Net از اسمبلي‌هايي تشكيل شده‌اند كه اجزاي خودكار منطقي توسعه، شناسايي و امنيت به حساب مي‌آيند و تفاوت آنها با روشهاي قديمي در آن است كه اسمبلي مي‌تواند شامل يك يا چندين فايل باشد. اسمبلي .Net به صورت يك فايل اجرايي تك يا يك فايل كتابخانه‌اي است، اما ممكن است حاوي ماژول‌ها، كه كدهايي غير اجرايي بوده و قابليت استفادة مجدد را دارند، نيز باشد.

مسئلة مهم ديگر در مورد CLR، نحوة بارگذاري(Load) و اجراي برنامه توسط آن است. به محض اينكه برنامة .Net شروع به اجرا مي‌كند، ويندوز اسمبلي .Net راتشخيص داده و CLR را اجرا مي‌كند. سپس CLR نقطه شروع برنامه را شناسايي و پروسة تعيين انواع كه در آن،  محل قرارگيري انواع مختلف بكار رفته در برنامه مشخص مي‌شود را، اجرا مي‌كند. اسمبلي شناسايي شده در پروسة Loader بارگذاري مي‌گردد

+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:10 بعد از ظهر  توسط بهروز   | 

انواع داده پایه در #C همراه با معادل دات نت آنها در جدول زیر ارائه شده است.

Table 1-10: Primitives in C#

Type

Primitive

Description

Range

bool

System.Boolean

Boolean

true or false

byte

System.Byte

8-bit integer

0 to 255

char

System.Char

16-bit Unicode character

/u0000 to /uffff

decimal

System.Decimal

128-bit decimal

±1.0 × 10-28 to ±7.9 × 1028, with 28 to 29 digits of precision

double

System.Double

64-bit floating point

-1.79769313486232e308 to 1.79769313486232e308

float

System.Single

32-bit floating point

±1.5 × 10-45 to ±3.4 × 1038, with 7 digits of precision

int

System.Int32

32-bit unsigned integer

-2,147,483,648 to 2,147,483,647

long

System.Int64

64-bit integer

-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

sbyte

System.SByte

8-bit integer

-128 to 127

short

System.Int16

16-bit integer

-32,768 to 32,767

string

System.String

not applicable

String is an immutable variable length string.

uint

System.UInt32

32-bit unsigned integer

0 to 4,294,967,295

ulong

System.UInt64

64-bit unsigned integer

0 to 18,446,744,073,709,551,615

ushort

System.UInt16

16-bit unsigned integer

0 to 65,535

+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:9 بعد از ظهر  توسط بهروز   | 

ملاحظات اغلب برای ارائه اطاعات توصیفی درباره برنامه به کار می روند و در زمان کامپایل توسط کامپایلر نادیده گرفته می شوند .

هدف از درج ملاحظات درون برنامه

  • به عنوان مستندات عملکرد برنامه
  • یادآوری کد نوشته شده در ارجاعات بعدی
  • درک بهتر و سریعتر برنامه توسط دیگران
  • نگهداری سوابق ویرایش های برنامه

 در #C سه نوع ملاحظات وجود دارد :

  • ملاحظات تک خطی :                                                comment    //
  • ملاحظات چند خطی :                     

                                                                                      */

                                                                      comments

                                                                                        /*

  • ملاحظات مستند سازی :                             XML DOC  ///

         تجربه شخصی : کدهایی که نوشتید هرگز پاک نکنید بلکه آنها را  comments  کنید.  

+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:8 بعد از ظهر  توسط بهروز   | 

اين روزها بحث اينكه C#‌ بهتراست يا Delphi در تمامي مجامل برنامه نويسان داغ داغ هست!

 حالا براي اينكه منم در اين زمينه يك كمكي به شما Delphi كارا بكنم كه كم نياريد يك ليستي در پايين آوردم كه امكانات اين دو محصول رو با هم مقايسه ميكنه خودتون ببينيد و مقايسه كنيد!!!

امكاناتي كه C# دارد و Delphi  ندارد:

  

foreach

operators using, lock, checked and unchecked

block scoped variables

case statements with strings

assembly internal classes

namespaces can span code units

implicit array dimensioning: int[] a = new int{1,2,3};

ternary operator ( ? : )

can use classes from namespaces without importing the whole namespace

circular references are possible

try..catch..finally

assignment operators (+=, ++, -=, etc)

multi-file assemblies

You don't need to distribute Borland.Delphi.dll

امكاناتي كه Delphi دارد و C# ندارد:

 

1.      sub-range types

2.      enums and sets are first-class types

3.      class type support

4.      virtual constructors

5.      virtual class methods

6.      class references 

7.      nested procedures

8.      non-default index properties

9.      can defines constant arrays and records

10.  resourcestrings

11.  default parameters

12.  variants

13.  arrays with non-integral subscripts

14.  sets with more than 64 elements

15.  message handlers

16.  unions (variant records)

17.  untyped parameters

18.  const parameters

19.  class helpers

20.  smart linker

21.  named constructors

22.  array properties

23.  unmanaged exports

24.  super fast single pass compiler, compiling any project faster than C#, using less memory at the same time.

 

به نظر منكه فقط مورد 24 Delphi به همه خصوصيات C# مي ارزه ;-). خوب پس ديگه شك نكنيد كه Delphi بهتر از C# هست!!!  

+ نوشته شده در  پنجشنبه بیست و دوم فروردین 1387ساعت 8:2 بعد از ظهر  توسط بهروز   |