تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 6 از 6

نام تاپيک: سوال در رابطه با نوع داده ها

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    پيش فرض سوال در رابطه با نوع داده ها

    درود و سلام،
    این متن رو امکان داره بخونید؟
    میگه برخی نوع داده ها در اصل متعلق به سی شارپ نیست و مربوط به .net میشه درسته؟ خوب خود سی شارپ و زبان های برنامه نویسی در خود فریم ورک .نت در بالاترین لایه قرار میگیره.
    یعنی زبان سی شارپ هم جزو .نت هست. این حرفش ایا ضد و نقیض نیست؟ یک مثال هم زده حتی...
    واقعیت این هست که من همیشه فکر میکردم کل این متغیر و مسائل مربوط به زبان سی شارپ هست و .net وظیفه هندل کردن و ... را بر عهده دارد..

    الان یعنی خود .net یک سری کلاس و متد ها رو داره و باهاش سی شارپ رو ساختن؟
    مگر .نت رو با C++ ننوشتند؟


  2. #2
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    بله، C# زبان است نه Resource . کامپایلر C# تمام موارد را بر اساس معماری .net بررسی و ایجاد می کند. برای VB.net هم همین طور.
    در واقع این int ها و ... یکسری alias هستند به کلاس هایی نظیر Int32 که در .net تعریف شده اند.
    .net یک چیز و C# یک چیز دیگری است. C# یک مجوعه قوانین برای کد نویسی است و .net یک resource . شما می توانید با هر زبانی با .net ارتباط بگیرید و از کلاس های آن استفاده کنید در واقع شما باید بگویید C#.net که یعنی C# تحت مجموعه ی .net .
    C#ی که تحت mono است مجموعه ی آن از نظر ساختاری متفاوت می شود. گرچه باید به این نکته نیز توجه کرد:
    می توان اینگونه دید که ساختار داخلی .net (چیدمان کلاس ها؛ اجزا و ...) توسط C# متبلور شده است و خود این مطلب است که قوانین C# را به مرور پیاده کرده و حال تحت هر محیطی دیگر قرار بگیرد باید آن چیدمان را داشته باشد.
    اگر nativeC# استفاده کنید دیگر این ساختار ها اینگونه نخواهد بود. چرا که کامایلر یک تفسیر دیگر از alias های int و ... خواهد داشت.
    open source C# native compiler
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    الان یعنی خود .net یک سری کلاس و متد ها رو داره و باهاش سی شارپ رو ساختن؟
    فکر کنم جواب این سوال در جملات بالا باشد.


    موفق باشید.

  3. این کاربر از Msba بخاطر این مطلب مفید تشکر کرده است


  4. #3
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    پيش فرض

    بله، C# زبان است نه Resource . کامپایلر C# تمام موارد را بر اساس معماری .net بررسی و ایجاد می کند. برای VB.net هم همین طور.
    در واقع این int ها و ... یکسری alias هستند به کلاس هایی نظیر Int32 که در .net تعریف شده اند.
    .net یک چیز و C# یک چیز دیگری است. C# یک مجوعه قوانین برای کد نویسی است و .net یک resource . شما می توانید با هر زبانی با .net ارتباط بگیرید و از کلاس های آن استفاده کنید در واقع شما باید بگویید C#.net که یعنی C# تحت مجموعه ی .net .
    C#ی که تحت mono است مجموعه ی آن از نظر ساختاری متفاوت می شود. گرچه باید به این نکته نیز توجه کرد:
    می توان اینگونه دید که ساختار داخلی .net (چیدمان کلاس ها؛ اجزا و ...) توسط C# متبلور شده است و خود این مطلب است که قوانین C# را به مرور پیاده کرده و حال تحت هر محیطی دیگر قرار بگیرد باید آن چیدمان را داشته باشد.
    اگر nativeC# استفاده کنید دیگر این ساختار ها اینگونه نخواهد بود. چرا که کامایلر یک تفسیر دیگر از alias های int و ... خواهد داشت.
    open source C# native compiler
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    فکر کنم جواب این سوال در جملات بالا باشد.


    موفق باشید.
    درود و سپاس ولی متاسفانه من پاسخم رو نگرفتم.
    شاید باید سوال ها رو واضح تر مطرح کنم و بعد از درک این سوالات به مسائل ریز تر فکر کنم.
    1-. نت با چه زبانی نوشته شده است؟
    2- سی شارپ ، کجای . نت است؟

  5. #4
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    پيش فرض

    C# however was specifically designed to create MSIL Code for the .NET Framework

  6. #5
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    جالب است من امروز صبح جواب اون پست روز زدم ولی متاسفانه بعد کلی تایپ ارور داد و در نهایت ثبت نشد.
    مجدد جواب پست3 :
    باز بحث این است که C# کجای .net است. سی شارپ فقط یک زبان است همین و بس. یعنی یکسری قاعده و سینتکس. یکسری تعریف برای نوشتن حلقه، شرط، کلاس و استفاده از کلاس. همین!
    مشابه چنین چیزی در C هم وجود دارد که تا به حال برایتان سوال نشده است؟! C هم مانند C# فقط یک زبان است. خوب این c یکسری کتابخانه دارد. این کتابخانه ها با چه نوشته شده است؟ C و اسمبلی. در واقع این کتابخانه ها کدهایی که شما می بایست می نوشتید را نوشته و آماده کرده است. حالا در لایه های پایین ، مدیریت مستقیم حافظه مطرح بوده که آن هم در این کتابخانه ها نوشته شده. یعنی ما چند حالت داریم. یک مثال،
    فرض کنید به شما می گویند برنامه ای بنویسید که حرف a را درون یک رشته پیدا کند. خوب شما این برنامه را مثلا با C# نوشتید.سپس یک کلاس کردید و آن را در اختیار دیگران گذاشتید. (اینجا برنامه نویس میکروسافت و دیگران ما هستیم)
    آیا این مطلب مشکلی دارد؟
    دقت کنید که .net از این نظر دارای دو بخش است:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    کلاس ها
    قید شده است که clr با C++ و در برخی منابع با Visual C++ نوشته شده است. یعنی هسته ی کار. هسته ای که باید کدmanage را برای یک سیستم unmange تعریف کند. پس خود به عنوان یک لایه فقط می تواند یک ساختار native و unmange باشد. پس تا اینجا مشخص شده که هسته ی اصلی پردازش چیست.
    بخش دوم، کلاس ها:
    مدیریت clr این امکان را به .net می دهد که بتوان روی این هسته کد manage تولید کرد. شما می توانید این کد manage را توسط C# ، VB.net ، C++ CLR پیاده سازی کنید.
    حال در اینجا زبان جدید توسط میکروسافت خلق شد. که همان C# باشد.
    یک کامپایلر که خروجی های این زبان را برای clr ترجمه کند.پس دقت کنید که در اینجا دو بخش داریم. زبان - کامپایلر.
    زبان همان طور که قبلا گفتم زبان است اما با وجود کامپایلر مایکروسافت است که تعریف این چنینی به C# داده.
    خوب آلان خودتان را بگذارید جای میکروسافت:
    1- شما یک زبان جدید دارید که برای کارخودتان طراحی کرده اید.
    2- یک هسته ی آماده دارید که نیازمند کلاس ها و تکمیل لایه ی بالایی است.
    خوب آیا از c++ که برای هسته استفاده کرده اید برای نوشتن این کلاس ها استفاده می کنید؟ گرچه استفاده از آن می بایست خروجی manage داشته باشد یعنی همان c++ CLR .
    میکروسافت این زبان را ساخت که بتواند یک زبان با قابلیت کار در حافظه ی مدیریت شده داشته باشد، یعنی ساده تر باشد. در قبل هم گفتم .net توسط C# شناخته شد. یک زبان ساده با پشتوانه ای مستحکم که به صورت پنهان در آن است و آن هم خود .net framework است.
    تا به حال راجع به os با C# فکر کرده اید؟
    خوب اگر قرار باشد از کامپایلر فعلی استفاده شود این امر محال است. خروجی کامپایلر کد CIL بوده و cpu به کدهای مثلا X86 نیاز دارد. پس در اینجا .net باید توسط یک compiler به گونه ای دیگر تعریف و خروجی شود. مطلاب بیشتر در [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] بخوانید.

    نکته: در جاهایی درون .net که C# نیازمند توابع سیستمی و native است، آن ها را تولید نمی کند بلکه به native های آن متصل می شود و اینگونه روند را پوشش میدهد.

    پست4:
    یک زبان ساده، با یک کامپایلر برای تفسیر به msil . دقت کنید می توانست از C++ هم برای این کار استفاده کند و کامایلر آن را بسازد اما دشواری c++ در استفاده در محیط های manage را نباید فراموش کرد.


    موفق باشید.

  7. 2 کاربر از Msba بخاطر این مطلب مفید تشکر کرده اند


  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    جالب است من امروز صبح جواب اون پست روز زدم ولی متاسفانه بعد کلی تایپ ارور داد و در نهایت ثبت نشد
    سلام، برادر، مانند من باید از Notepad استفاده کنید، بخواهم زیاد بنویسم و همان لحظه هم ارسال کنم باز در Notepad مینویسم!
    ==============
    تاپیک را چند ساعت قبل دیدم و متنی حاظر کردم، حالا گرچه دوستمان Msba جواب تاپیک را دادند ولی حیفم می آید متن را دور بریزم!

    کامپایلر های سینتکسی CSharp و VB.Net درواقع کار خیلی زیاد و مهمی انجام نمیدهند! ما الآن Farsi.NET هم داریم!!!
    اصل بار بر دوش dotNet و FCL و CLR و JIT و... است.
    مثلاً یک ساختار کلی با نام System.Int32 در دات نت داریم، بخشی از زحمتی که [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] میکشد آن است که نام های اجدادی C را نگاشت میکند به معادلشان در دات نت.
    یعنی به برنامه نویسان C که به int عادت دارند اجازه میدهند بنویسند int و خودش بعدا بجایش میگذارد System.Int32

    VB.Net همین کار را برای Basic کارهایی انجام میدهد که به Integer عادت دارند، میگذارد آنها بنویسند Integer و بعد خودش بجایش میگذارد System.Int32

    درواقع کامپایلر های CSharp و VB.Net کد برنامه نویسان خود را به کلاس های FCL و کدهای MSIL کامپایل میکنند.
    خروجی MSIL حاصل از CSharp با VB.Net فرق خواصی ندارد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مایکروسافت در واقع محیط توسعه ای طراحی کرده که مستقل از سینتکس زبان برنامه نویسی و سخت افزار باشد.
    درواقع جلوی تکرار بخش بزرگی از کار گرفته شده، شما میتوانید با سینتکس دخواه خود برنامه نویسید (C#, VB, J#, F#, IronPython, IronRuby و...) و از امکانات یکسانی استفاده کنید و پس از کامپایل هم کدها خیلی راحت با هم تعامل خواهند داشت، میتوانید قطعه ای را در IronPython بنویسید و dll آن را به دوست تان که [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] کار میکند بدهید... در واقع بعد کامپایل فقط اعداد کدگذاری شده MSIL می ماند.

    ==============

    در حال حاضر در بخش هایی خاصی مانند هسته CLR و JIT از ++VC استفاده شده ولی حدود 99% کتابخانه BCL+FCL با خود [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] و توسط مایکروسافت نوشته شده.
    یعنی درست است که VB, J#, F#, IronPython, IronRuby و حتی [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] از BCL+FCL استفاده میکنند ولی خود BCL+FCL با [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] نوشته شده، بحرحال یک زبانی باید جور بقیه را میکشیده! مانند ساختمان یا غذایی که یک نفر میسازد و سپس خودش و دیگران از آن استفاده میکنند!
    درضمن بد نیست بدانید کامپایلر آتی VS2015 به نام Roslyn با [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] نوشته شده.

    مطالعه بیشتر
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    فارسی دات نت؟!
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    بنیاد متن باز دات نت:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    دانلود سورس دات نت فریم ورک:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    دانلود سورس (NET Compiler Platform (Roslyn
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    شب خوش و موفق باشید.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •