صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 51

نام تاپیک: سرعت برنامه در زبانهای تحت دات نت

  1. #1
    کاربر دائمی آواتار ali_hadian
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    تهران
    پست
    292

    سرعت برنامه در زبانهای تحت دات نت

    بسمه تعالی

    به نظر شما کدامیک از زبانهای دات نت سرعت بالاتری داره یا این که فرقی نداره؟
    VB.NET
    visual C#‎
    delphi .net
    C#‎builder

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1383
    پست
    52
    اصولا در شرایط مشابه زبانی سریعتره که برای نوشتن برنامه احتیاج به کد نویسی بیشتری داره بخاطر اینکه برنامه نویس مقدار کد اضافه کمتری می‌نویسه و کدش تخصصی تر می‌شه (فقط کاری رو که می‌خواد سفارش می‌ده نه کار اضافه دیگه‌ای رو)
    زبانهایی که کدنویسی رو کم می‌کنند معمولا همراه با کاری که برنامه نویس خواسته کارهای اضافه دیگه‌آی هم انجام می‌دهند (مثل ویژوال بیسیک 6)
    در نتیجه VB.Net و ‍C#‎.Net مثل هم اند
    Delphi و C#‎Builder: قدیما Delphi سریعتر از C Builder بود شاید در مورد دات نتشون هم همینطور باشه! :wink:
    می‌مونه Delph.Net و C#‎ که خودتون ببینید کدوم سریعترند!!!!!!!! :wink:

  3. #3
    چون تمامی کد ها به IL ترجمه می شوند فرقی ندارد.
    Artists use lies to tell the truth while politicians use them to cover the truth up

  4. #4
    چون تمامی کد ها به IL ترجمه می شوند فرقی ندارد
    ایشون درست میگن. توی دات نت فرقی نمی کنه!!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  5. #5
    لزوما" اینطور نیست . درسته که نهایتا" همهء برنامه ها به IL تبدیل میشن ، اما تعهدی وجود نداره که برنامه هائی یک شکل ، دقیقا" به تعدادی کد IL یکسان مبدل بشن . زبانهای مبتنی بر دات نت دارای ویژگیهای متفاوتی هستند ( سی شارپ ویژگیهائی داره که وی بی دات نت نداره ؛ ایضا دلفی دات نت ویژگیهائی داره که سی شارپ نداره و البته بالعکس ) که باعث میشه در بسیاری از موارد برای انجام وظیفه ای یکسان کدهای IL متفاوتی تولید بشه . لازم به ذکره وجود تفاوت در کدهای IL نیز ایضا" لزوما به معنای کندتر یا سریعتر شدن کد نیست .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  6. #6
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    من شک دارم سرعت تفاوت داشته باشه چون فلسفه وجودی IL همینه که ناهماهنگی رو از میان برداره یعنی همه از یک نوع منابع (سخت افزاری/نرم افزاری) استفاده کنند و نحوه پاسخ گویی سیستم عامل و ایضا framework به هرکدام هم مشابه باشه وتازه مایکروسافت ادعا میکنه که برای تولید یک محصول استراتژیک دیگه لازم نیست توسعه دهندگان یا بهتر بگم کدنویسان مجبور به استفاده از یک نوع زبان برنامه نویسی خاص باشند یکی از شعارهایی که همیشه طرفداران دات نت دادن اینه که وپژگیها تفاوتی نداره و فقط سبک نوشتن متفاوته البته قبول دارم که #C قابلیتهایی که داره که بعضی کار ها رو راحتر میکنه ولی این تو ذات خود C و هم خانواده های اونه که #C هم به ارث برده ولی دلیلی برای برتری اون نمیشه
    البته این فقط نظر منه

    سی شارپ ویژگیهائی داره که وی بی دات نت نداره ؛ ایضا دلفی دات نت ویژگیهائی داره که سی شارپ نداره و البته بالعکس
    اگه جناب inprise برای این موارد مصادیقی رو بفرمایند مورد امتنان است
    البته اگه بجای جواب پست من حذف نشه :shock:

  7. #7
    البته این فقط نظر منه
    "نظر شخصی " دادن در مورد مسائلی که سلیقه میتونه توش دخیل باشه معنی داره ! این از اون دسته مسائل نیست

    چون فلسفه وجودی IL همینه که ناهماهنگی رو از میان برداره
    فلسفهء وجودی IL اینی که گفتی نیست ، اما حالا مورد بحث چیز دیگریه . اگر کمی دقت کنی به وضوح تفاوت آنچه میگی با آنچه در عمل اتفاق می افته رو میتونی ببینی :

    زبانهای مبتنی بر دات نت دارای ویژگیهای متفاوتی هستند ( سی شارپ ویژگیهائی داره که وی بی دات نت نداره ؛ ایضا دلفی دات نت ویژگیهائی داره که سی شارپ نداره و البته بالعکس ) که باعث میشه در بسیاری از موارد برای انجام وظیفه ای یکسان کدهای IL متفاوتی تولید بشه

    اگه جناب inprise برای این موارد مصادیقی رو بفرمایند مورد امتنان است
    البته اگه بجای جواب پست من حذف نشه
    اگر برنامه نویس دات نت باشی لابد تفاوتهای ماهیتی سی شارپ و وی بی ، یا سی شارپ و سی مدیریت شده یا دلفی دات نت و وی بی و ... رو میدونی . اگر نمیدونی جستجو کن ، پیدا میکنی ، ربطی به موضوع این تاپیک نداره . حتی اگر بیخیال تفاوتهای ذاتی زبانها بشیم ، تفاوت عملکرد "کامپایلر"های زبانهای مبتنی بر دات نت میتونه براحتی باعث ایجاد خروجی های مختلف بشه . با جستجو میتونی نمونه های مختلفی رو پیدا کنی مثل : http://www.iunknown.com/000144.html و مواردی از این دست

    در نتیجه :

    بدون توجه به مقوله سرعت :

    زبانهای مختلف مبتنی بر دات نت ، برای وظایف یکسان و مشابه ، گاهی ، کدهای IL مختلفی ایجاد میکنند .

    با توجه به مقوله سرعت :

    تفاوت IL مرتبط با دو برنامهء مشابه ، ممکنه باعث تفاوت سرعت اجرا بشه ، و ممکنه نشه . بستگی به شرایط داره .

    موفق باشید
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  8. #8
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    سلام
    از جوابتون ممنونم ولی...
    اگر برنامه نویس دات نت باشی لابد تفاوتهای ماهیتی سی شارپ و وی بی ، یا سی شارپ و سی مدیریت شده یا دلفی دات نت و وی بی و ... رو میدونی . اگر نمیدونی جستجو کن ، پیدا میکنی ، ربطی به موضوع این تاپیک نداره . حتی اگر بیخیال تفاوتهای ذاتی زبانها بشیم ، تفاوت عملکرد "کامپایلر"های زبانهای مبتنی بر دات نت میتونه براحتی باعث ایجاد خروجی های مختلف بشه . با جستجو میتونی نمونه های مختلفی رو پیدا کنی مثل : http://www.iunknown.com/000144.html و مواردی از این دست
    من حرفه ای دات نت کار نمیکنم حرفه ای هم نیستم
    منظور من تفاوت ماهیتی میان وی بی و #C نیست منظورم تفاوت ماهیتی بین زبانهای دات نته
    چه چیزی در #C از نظر ماهیتی بر vb.net رجحان دارد و احتمالا برعکس

    بدون توجه به مقوله سرعت :

    زبانهای مختلف مبتنی بر دات نت ، برای وظایف یکسان و مشابه ، گاهی ، کدهای IL مختلفی ایجاد میکنند
    حتما درسته

    با توجه به مقوله سرعت :

    تفاوت IL مرتبط با دو برنامهء مشابه ، ممکنه باعث تفاوت سرعت اجرا بشه ، و ممکنه نشه . بستگی به شرایط داره .
    اینجا یکم جای بحث داره
    افزایش سرعت چه موقع روی میده
    وقتی برنامه شما دسترسی بیشتری به منابع (سخت افزاری/نرم افزاری) نسبت به بقیه داشته باشه
    که در زبانهایی مثل C و اجدادش و نوادگانش بدلیل ارتباط صریح و بدون واسطه با کرنل سیستم عامل و یا حتی سخت افزار اینگونه بود ولی در مورد دات نت چطور؟
    آیا میزان استفاده از توانایی freamwork در زبانهای خاص متفاته ؟ یا دلیل دیگه ای داره؟
    خوش باشی :flower:

  9. #9
    افزایش سرعت چه موقع روی میده
    وقتی برنامه شما دسترسی بیشتری به منابع (سخت افزاری/نرم افزاری) نسبت به بقیه داشته باشه
    خیر . اینا رو کی بهت گفته ؟

    در زبانهایی مثل C و اجدادش و نوادگانش بدلیل ارتباط صریح و بدون واسطه با کرنل سیستم عامل و یا حتی سخت افزار اینگونه بود
    ایضا" اینها رو ...؟


    در مورد دات نت چطور؟
    تفاوت کدهای IL تولید شده ، در بسیاری موارد معادل است با تفاوت سیکلهائی که پردازنده باید برای پردازش دستورات مصرف شده و در موارد دیگری معادل است با Memory Allocation متفاوت و Allocation Time متفاوت و یا حتی Library&Resource Usage متفاوت ؛ که این یعنی در برخی موارد تفاوت در اجرای سرعت برنامه های به ظاهر مشابه . دات نت از یک دیدگاه ، داره وظایف یک اسمبلر رو در یک لایهء بالاتر انجام میده . تو یه مثال نسبتا" قابل مقایسه ، ممکنه ظاهر دو برنامه دلفی و BCB که هر دو بصورت همزمان از یک متن یکسان VCL استفاده میکنند ، مشابه باشه ، اما طبیعتا" کدهای تولید شده توسط مترجم ها ( بدون توجه به کتابخانه های متفاوت که شاید در محیط دات نت قابل طرح نباشه ) متفاوت است که "میتونه" باعث تفاوت در سرعت اجرای کد بشه . اینجا بحث رجحان یا برتری یک زبان بر زبان دیگه مطرح نیست . میشه بصورت مفصل اینا رو بررسی کرد که گفتم ربطی به این تاپیک نداره . اونی که به اینجا مربوطه اینه که چون خروجی ها میتونن متفاوت باشن ( = IL های متفاوت ) پس سرعتهای اجرا هم ممکنه در شرایطی متفاوت باشن . پس یک نتیجه گیری کلی به این شکل که یک برنامه با وظایفی خاص و با استفاده از کلاسها و روتینهای مشخص ، با هر زبانی ، تحت دات نت ، سرعت اجرای یکسان خواهد داشت ، غیر علمی و غلط است . چون میتونیم شرایط متعددی بر خلاف این داشته باشیم .

    یک وظیفهء خاص---- استفاده از کلاسهای مشخص دات نت ---- سی شارپ ---- IL 1
    یک وظیفهء خاص---- استفاده از کلاسهای مشخص دات نت ---- وی بی ---- IL 2

    چون تضمین و تعهدی وجود نداره که IL1 و IL2 با هم یکسان باشن ، تعهد و تضمینی برای یکسان بودن روند اجرای اونها ( از جمله سرعت ) وجود نداره .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  10. #10
    بهتر است بجای این همه دعوا نگاهی به این سایت بکنید.

    http://msdn.microsoft.com/vstudio/pr...s/default.aspx

    نتیجه :
    برنامه نوشته شده با زبان VB.net و VC#‎.net تقریبا در یک سطح می باشند ولی برنامه نوشته شده با VC++‎.Net علاوه بر اینکه بسیار Optimize تر است قابلیت های بسیار زیادی را در اختیار برنامه نویس قرار می دهد.


    موفق باشید :wink:

  11. #11
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    شبیه به این سوال چند وقت پیش در قسمت دلفی هم مطرح شده بود، البته با دید دیگری... (به جوابهای کامبیز خان دقت بفرمایید)
    http://www.barnamenevis.org/vi...er=asc&start=0

  12. #12
    بهتر است بجای این همه دعوا نگاهی به این سایت بکنید
    اگر با فرهنگ مباحثه آشنا نیستی سعی کن خودت رو قاطیش نکنی .

    برنامه نوشته شده با زبان VB.net و VC#‎.net تقریبا در یک سطح می باشند
    در یک سطح بودن مفهوم علمی نداره . کامپایلرهای دات نت بصورت منطقی در ازای وظایف مشخص و کاربردهای معین از فریم ورک ، کدهای IL متفاوتی تولید میکنن . این یعنی تفاوت در کارکرد .

    برنامه نوشته شده با VC++‎.Net علاوه بر اینکه بسیار Optimize تر است قابلیت های بسیار زیادی را در اختیار برنامه نویس قرار می دهد.
    Managed CPP هیچ امکانی فراتر از سایر زبانها ، وقتی هدف توسعه بر فراز دات نت باشه ، در اختیار توسعه گر قرار نمیده .


    به جوابهای کامبیز خان دقت بفرمایید
    بین مطالب این دو تاپیک هیچ ارتباط منطقی ندیدم .

    موفق باشید
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  13. #13
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    بین مطالب این دو تاپیک هیچ ارتباط منطقی ندیدم .
    ربطش به شباهت کدهای نهایی حاصل شده بود در تایید فرمایشات حضرتعالی...

  14. #14
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    نقل قول:
    افزایش سرعت چه موقع روی میده
    وقتی برنامه شما دسترسی بیشتری به منابع (سخت افزاری/نرم افزاری) نسبت به بقیه داشته باشه


    خیر . اینا رو کی بهت گفته ؟

    نقل قول:
    در زبانهایی مثل C و اجدادش و نوادگانش بدلیل ارتباط صریح و بدون واسطه با کرنل سیستم عامل و یا حتی سخت افزار اینگونه بود


    ایضا" اینها رو ...؟
    شما دلیل بهتری برای افزایش سرعت سراغ دارید؟
    تفاوت کدهای IL تولید شده ، در بسیاری موارد معادل است با تفاوت سیکلهائی که پردازنده باید برای پردازش دستورات مصرف شده و در موارد دیگری معادل است با Memory Allocation متفاوت و Allocation Time متفاوت و یا حتی Library&Resource Usage متفاوت ؛
    دقیقا و این یعنی استفاده متفاوت از منابع سخت/نرم افزاری

    بهتر است بجای این همه دعوا نگاهی به این سایت بکنید.
    من به جناب inprise ارادت شدیدی دارم
    عزیز من ما دعوا نمیکنیم فقط داریم بلند بلند فکر میکنیم :roll:

    در یک سطح بودن مفهوم علمی نداره . کامپایلرهای دات نت بصورت منطقی در ازای وظایف مشخص و کاربردهای معین از فریم ورک ، کدهای IL متفاوتی تولید میکنن .
    شدیدا قبول دارم

    این یعنی تفاوت در کارکرد .
    آیا راه های مختلف برای رسیدن به هدف موجب سرعت متفاوت میشه؟

  15. #15
    شما دلیل بهتری برای افزایش سرعت سراغ دارید؟
    لازم نیست من دلیل داشته باشم . این مباحث سالهاست که بصورت آکادمیک تدریس میشه و میتونی برای کسب اطلاع به منابعش مراجعه کنی . جوابت قبلا داده شده :

    تفاوت کدهای IL تولید شده ، در بسیاری موارد معادل است با تفاوت سیکلهائی که پردازنده باید برای پردازش دستورات مصرف شده زمان و توان صرف کنه و در موارد دیگری معادل است با Memory Allocation متفاوت و Allocation Time متفاوت و یا حتی Library&Resource Usage متفاوت ؛ که این یعنی در برخی موارد تفاوت در اجرای سرعت برنامه های به ظاهر مشابه . دات نت از یک دیدگاه ، داره وظایف یک اسمبلر رو در یک لایهء بالاتر انجام میده . تو یه مثال نسبتا" قابل مقایسه ، ممکنه ظاهر دو برنامه دلفی و BCB که هر دو بصورت همزمان از یک متن یکسان VCL استفاده میکنند ، مشابه باشه ، اما طبیعتا" کدهای تولید شده توسط مترجم ها ( بدون توجه به کتابخانه های متفاوت که شاید در محیط دات نت قابل طرح نباشه ) متفاوت است که "میتونه" باعث تفاوت در سرعت اجرای کد بشه . اینجا بحث رجحان یا برتری یک زبان بر زبان دیگه مطرح نیست


    آیا راه های مختلف برای رسیدن به هدف موجب سرعت متفاوت میشه؟
    لزوما" خیر . اما همانطور که تفاوت در راههای رسیدن به خدا ، میتونه باعث تفاوت در زمان رسیدن به خدا - یا در مواردی زمان رسیدن به جهنم ! - بشه ، تفاوت کد خروجی کامپایلرهای متعدد ، هر چند اون کد یک زبان واحد و مشخص باشه - چه IL چه اسمبلی چه خود ِ زبان ماشین - اغلب باعث تفاوت کارکرد خواهد شد .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  16. #16
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    فکر میکنم ادامه این بحث زیاد مفید نیست چون هر دو داریم از زاویه مختلف به بحث نگاه می کنیم
    من در فکر رد یا اثبات فرمایشات جناب inprise نیستم فکر میخواهم به سوالی که چند وقته برام پیش اومده جوابی پیدا کنم
    سوال : چرا مایکروسافت به فکر ایجاد محیط توسعه یکپارچه (NET.) افتاد و هدف او چه بود
    جوابی که خودم بهش رسیدم : برای اینکه تیم های توسعه دهنده فارغ از نوع کد نویسی بتوانند محیط های Enterprise رو سریع ایجاد کنند (البته شاید شما صدها دلیل دیگه هم ذکر کنید که ما به آنها نمی پردازیم)
    تذکر : این جواب هیچ استنادی نداره و فقط برداشت من از مجلات ، کتابها ، سایتها ، و... حتی سخنان رفتگر محله میباشد.

    خب حالا که هدف مشخص شد در این وادی دیگه لازم نیست برای توسعه یک محیط نرم افزاری یکپارچه حتما تمامی کد نویسها به یک زبان خاص مانند دلفی برنامه نویسی کنند و در این محیط همه با هم برابرند
    ولی با توجه به فرمایشات inprise دوباره یکسری از کد نویسان بر دیگران رجحان پیدا میکنند که این با روح دات نت سازگار نیست

    زیاد هم نمیشه به مستندات یک شرکت که شدیدا در وادی رقابته اعتماد کرد
    مثلا طبق فرمایشات دوست عزیزی در همین سایت تعداد رکورد هایی که اکسس پشتیبانی میکنه بیش از دومیلیارده :shock:
    شما بخوبی میدانید که کسانی که کار حرفه ای با دیتابیس میکنند اصلا اکسس رو بعنوان بانک اطلاعاتی قبول ندارند چه برسه که بخوان دومیلیارد رکورد رو به این موتور دیزلی بسپارند
    مستندات موقعی مستنداته که منبطق با واقعیات باشه نه از تو کتاب و سایت و تدریس آکادمیک

    بهرحال اگه ادامه این بحث موجب ملال خاطر میشود این تاپیک را قفل کنید تا بیشتر در مورد آن تحقیق کنیم

  17. #17
    فکر میکنم ادامه این بحث زیاد مفید نیست چون هر دو داریم از زاویه مختلف به بحث نگاه می کنیم
    دفعه دومه که دارم این مسئله رو مطرح میکنم : این یک مطلب تکنیکی است . یک مسئله نظری یا فلسفی یا اجتماعی نیست که بشه بهش از زوایای مختلف نگاه کرد . یک کامپایلر سی ، یک کامپایلر سی است ! کسی نمیتونه بگه من از یک زاویهء دیگه به این نگاه میکنم و اون موقع ممکنه چیز دیگری هم باشه . بحث نحوهء پردازش عناصر یک زبان برنامه نویس ، مراحل کامپایل و ساخت و اتصال و نحوهء پردازش خروجی توسط پردازنده و ... همگی دارای وجود فنی و تکنیکی هستند که با مطالعه منابع مربوطه میشه به این وجوه مسلط شد . اینجا زوایای مختلفی وجود نداره .


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

    خب حالا که هدف مشخص شد در این وادی دیگه لازم نیست برای توسعه یک محیط نرم افزاری یکپارچه حتما تمامی کد نویسها به یک زبان خاص مانند دلفی برنامه نویسی کنند و در این محیط همه با هم برابرند
    استناد فنی این ادعا چیه ؟ چه کسی گفته که در یک محیط یکپارچه با حمایت از زبانها مختلف ( که حالا برای اولین بار ! توسط مایکروسافت منتشر شده ) باید همه زبانها در یک سطح و قواره باشند ؟ طبق کدام قاعده و دلیل منطقی ؟

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

    ب- طبق چه استدلالی این حقیقت با "روح دات نت " (؟) در تضاده ؟ روح دات نت چیست و کجاست ؟ و چه کسی ویژگیهای اون رو تدوین کرده ؟ طبق کدوم مستند و دلیل فنی ؟


    اگه ادامه این بحث موجب ملال خاطر میشود این تاپیک را قفل کنید تا بیشتر در مورد آن تحقیق کنیم
    چنین تاپیکهائی برای دوستانی مثل تو میتونه شروع تحقیق باشه . فراگیری روش برخورد حرفه ای فن نرم افزار ، از فراگیری خود این فن مهمتره . این رو قبل از شروع تحقیق بخاطر داشته باش . یک مهندس نرم افزار ، یک مهندس مکانیک ، عمران ، الکترونیک و ... حق نداره ، همینطوری از رو هوا یا مبتنی بر شنیده ها و گفته های غیر تکنیکی ، بدون وجود مطالعه و دانش ، در مورد یک موجودیت فنی اظهار نظر کنه . به عنوان مثال وقتی در جواب سوال " کدام زبان سریعتر است" کسی بگه فرقی نمیکنه ، چون همگی به اسمبلی ترجمه میشن ، چه فکری میشه در موردش کرد ؟ آیا غیر از این است که این آدم حتی مختصری دانش در مورد نرم افزار نداره ؟ دات نت ، جاوا و ... همگی از یک منطق تکنیکی و ثابت تبعیت میکنن ، که نمیشه اون رو از زوایای مختلف نگاه کرد و نتایج مختلفی گرفت . مطالب قبلی من ، مبتنی بر الفبا و مقدمات نرم افزار بود ، نه حاوی Trick پیچیده ای است نه مطلب عمیق و دشوار که با وجود تجربه و مطالعه و بدون دانش اکادمیک هم این مطالب قابل اخذ است . به عنوان مثال میتونی چند نمونه کد بنویسی ، با زبانهای مختلف دات نت ، و بعد IL ها رو مقایسه کنی ، یا حتی میتونی خروجی باینری JIT رو دیس اسمبل کنی و تفاوتهاشون رو ببینی و ...

    شاید یکی از تفاوتهای جدی وجود یا عدم وجود تحصیلات و مطالعات آکادمیک در حوزهء نرم افزار ، این باشه که ، عطف به داستان اشی مشی ، کسانی که بدون وجود پایهء علمی لازم ، از بین راه وارد یک مبحث نرم افزاری میشن ، آخر داستان ، یکی از بالهاشون همچنان آبی میمونه و حوض نقاشی هم کمک چندانی نمیتونه بهشون بکنه :) ( پاراگراف آخر استئناء هم داره که مورد بحث ما نیست )

    موفق باشید
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  18. #18
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    ما که داریم استفاده می کنیم! بحث خوبی هست.
    و این به نظر من خیلی طبیعی هست بین کدهای il که توسط زبان های مختلف تولید میشه تفاوتهای باشه.

  19. #19
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    مقدمه :

    بنده برای ادامه بحث(اگه شما تمایل داشته باشید) پیشنهاد میکنم ادبیات نوشتاری خود را عوض کنید
    چون شما با طرح سوالات باز عملا راه را برای رسیدن به هدفمون (سرعت کمتر با بیشتر) میبندید
    درضمن شما با طرح مسائلی همچون :


    و حال ادامه بحث و گفتمان:
    یک مسئله نظری یا فلسفی یا اجتماعی نیست که بشه بهش از زوایای مختلف نگاه کرد
    در هر مسئله میشود از زوایای مختلف بحث کرد مثلا وقتی شما از تواناییهای زبانی مثل c صبحت میکنید و من از مشکلات یادگیری واستفاده از این زبان آیا از دید و زاویه مختلف به بحث نگاه نمیکینم وآیا ادامه بحث هم به نظر شما مفیده ؟
    ما مجاز نیستیم در مورد مسائل فنی ، مطابق میل و خواسته خودمون ایده و نظریه صادر کنیم .
    ما لزوما از یک موجودیت یا یک واقعیت خاص یک برداشت مشترک نداریم هرچه که جنابعالی ، بنده ، و یا حتی جناب بیل گیتز از دات نت مطرح میکنیم منطبق با برداشت ما از دات نته و ممکنه با واقعیت فاصله داشته باشه
    یک سوال از شما دارم آیا شما با خواندن کتاب (مثلا صادق هدایت :wink: ) میتونی اداعا کنی همان برداشتی رو از کتاب داشتی که مولف خواسته منتقل کنه
    و مهمتر از اون چه لزومی به درستی ادعاهای منابع دارید (عطف به گفته های قبلیم درباره رقابت مایکروسافت)
    یکبار گفتم که واقعیات رو باید در عمل سنجید و البته دانش فنی قبلی لازم و واجبه

    باز هم میگم داریم وارد فلسفه میشیم تا تکنیک

    کدوم بخش از نوشته ها من مستقیما" ناظر بر وجود رجحان یک زبان بر زبان دیگر بود ؟ وقتی گفته میشه بین چند زبان ، میشه تفاوت هائی وجود داشته باشه ، یعنی الزاما" یکی بر دیگری مطلقا" رجحان و برتری داره ؟
    نظرتان را فرمایشات خودتان جلب میکنم اینجا هم بحث مطلقا رجحان نیست
    در یک سطح بودن مفهوم علمی نداره . کامپایلرهای دات نت بصورت منطقی در ازای وظایف مشخص و کاربردهای معین از فریم ورک ، کدهای IL متفاوتی تولید میکنن . این یعنی تفاوت در کارکرد .
    و ایضا نظرتون رو به برخی از سوالات باز از طرف شما جلب میکنم
    طبق چه استدلالی این حقیقت با "روح دات نت " (؟) در تضاده ؟ روح دات نت چیست و کجاست ؟ و چه کسی ویژگیهای اون رو تدوین کرده ؟ طبق کدوم مستند و دلیل فنی ؟
    بگذارید من به روش شما این بحث رو ادامه بدم
    تعریف (برداشت) شما از دات نت چیه ؟
    ویژگیهای دات نت چیه ؟ و هدف از طراحی او چه بوده ؟

    فراگیری روش برخورد حرفه ای فن نرم افزار
    لطفا کمی در مورد این روش صحبت کنید(نمونه ای از اصطلاحات غیر ضروری که هیچ تعریف آکادمیک نمیشه از اون کرد)

    شاید یکی از تفاوتهای جدی وجود یا عدم وجود تحصیلات و مطالعات آکادمیک در حوزهء نرم افزار
    اگه منظورت مطالعه آکادمیک در ایرانه که همه کسانی که بر اساس دانش دانشگاهی کار میکنن همون گنجشکک اشی مشی هستند

    و در مورد جناب linux
    ما که داریم استفاده می کنیم! بحث خوبی هست.
    و این به نظر من خیلی طبیعی هست بین کدهای il که توسط زبان های مختلف تولید میشه تفاوتهای باشه.
    برای من هم این بحث خیلی مفیده چون از یک زاویه دیگه داریم به دات نت نگاه میکنیم :wink:
    اینجا بحث تفاوت در il ها نیست تفاوت در سرعت و تفاوت (شاید ساختاری) در محیط یکپارچه سازی است

    شما هم موفق باشید

    ---
    Edited

  20. #20
    سلام؛

    مطالب فنی مربوط به کیفیت و سرعت اجرای برنامه های مبتنی بر دات نت تو جوابهای قبلی من موجوده که هر کسی دنبال یاد گرفتنه بهشون مراجعه میکنه . نکتهء فنی دیگه ای در این سطح باقی نمونده .

    موفق باشید
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  21. #21
    با اینکه تمام اینها به IL ترجمه می شوند ولی به نظر میرسه IL به دست اومده از زبونی مثل vb.net سرعت پایین تری نسبت به IL بدست اومده از managed C++‎ باشه. برای اینکه بفهمید آیا IL دو برنامه به زبانهای سی شارپ و وی بی یکی هست یا نه یه برنامه ی خیلی کوچک کنسول تو هر دو بنویسید و کامپایل کنید و سپس کد بدست اومده رو با ildasm کد il ش رو ببینید. در ضمن سرعت یه برنامه ی دات نت چیز اونقدر مهمی نیست که با همدیگه دعوا بکنیم!

  22. #22
    با سلام
    وقتی قرار است که برنامه همه زبانهای دات نت به یک IL تبدیل بشوند و بعد نسخه اجرایی آنها ساخته شود پس معنا ندارد که راجع به این که کدام کد سریع تر عمل خواهد کرد بحث کنیم چون همگی اول به یک زبان تبدیل می شوند و بعد نسخه اجرایی ساخته می شود.
    اما من با Inprise موافقم از این جهت که تبدیل شدن از زبان مبدا به زبان واسط حالت های مختلفی خواهد داشت . به این معنی که فرض کنید دو الگوریتم دقیقا به یک شکل در دو زبان سی شارپ و وی بی نوشته می شوند. آیا تضمینی وجود دارد که زبان واسطی که این دو الگوریتم تولید می کنند دقیقا مثل هم باشد؟ خیلی راحت می توان نتیجه گرفت که زمان اجرایی دو کامپایلر برای یک کار مشخص تفاوت خواهد داشت.
    این همه دعوا هم لازم نبود ... :wink: :D

  23. #23
    آقا یک کلام به صد کلام من از وقتی روز اول ماکروسافت دات نت را ارزه کرد تحقیقات فراوانی انجام دادم و با خیلی از برنامه نویسان خارجی تماس گرفتم اما کسی که برنامه نویس ++ :VCهیچ وقت به سی شارپ نمی یاد مگر کسی که تک برنامه نویس باشد الآن شرکت های بزرگ فقط با vC++‎ برنامه می نویسند .

  24. #24
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    کسی که برنامه نویس ++ :VCهیچ وقت به سی شارپ نمی یاد
    چرا؟

    مگر کسی که تک برنامه نویس باشد
    یعنی چی؟

    الآن شرکت های بزرگ فقط با vC++‎ برنامه می نویسند .

  25. #25
    البته به نظر من همه زبان ها یک خصوصیت منحصر به فرد دارند و هر یک در جای خود خوب هستند و نباید در مورد این که کدام زبان سریع تر است تعصب به خرج دهیم و زبانی را که خودمان بلدیم نام ببریم هر چند که سی شارپ سریعترین است . :sunglass:

  26. #26
    در جواب کاربر نقره ای باید اینرو خدمتشون عرض کنم که ماکروسافت زبانVC#‎ به این دلیل ارزه کرد که برنامه نویسانی که با زبان C/C++‎ کارکردندومی خواهند برنامه های تحت ویندوز یا وب اتوماسیون های کوچک یا متوسطی ایجاد کنند بجای استفاده از VC++‎ از VC#‎ استفاده کنند ولی نه اینکه مثلا شرکت دیسکریت بیاید 3دی مکس خود را با VC#‎ بسازد .زبان VC++‎ هر چند که دارای خصوصیات قدیمی تری نسبت به C#‎ است ولی هنوز برای ساخت نرم افزار های حجیمی که چنصد برنامه نویس متحدانه کار می کنندزبان VC++‎ بهترین انتخاب است البته اینهم بگویم که تمام قابلیت های زبان VC#‎ در managed C++‎ وجود دارد در کشور ما زبانی مثل VC#‎ طرفداران زیادتری دارد چرا؟ چون ما در ایران شرکت های بزرگ برنامه نویسی نظیر آتودسک ودیسکریت یا ماکروسافت نداریم که بخواهد VC++‎ زبان اول قلمداد شود. در ضمن سرعت ایجاد نرم افزار در C#‎ از VC++‎ بالاتر است.حتی زبان هایی مثل VB.net و delphi هم در ایجاد نرم افزار از VC++‎ سریعتر است چون جز محصولات Rad هستند ولی از لحاظ سرعت اجرا نرم افزار های تشکیل شده توسط این زبان ها ماکروسافت حرف اول رو می زند وسازگاری بیشتری با ویندوز دارد تا محصولات بورلند.

  27. #27
    فقط در مورد "دات نت" حرف بزنید .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  28. #28
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    به نظر من C#‎

  29. #29
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    البته .NET

  30. #30
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    فکر کنم بحث به بیراهه کشیده شده.

    بعضی دوستان نیز بصورت چشمگیری در ارسال پستهای آف تاپیک و تک خطی و بی ربط در جهت افزایش تعداد پست هایشان (چرا؟) فعالیت میکنند!

  31. #31
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    اینکه ابزار ما در پیاده سازی یک پروژه چی باشه بر میگرده به اینکه نوع پروژه چی باشه.
    chapter 6 از کتاب Solution Atchitectures مایکروسافت اینجوری بیان میکنه که توی مرحله Physical Design ما ابزارهای مختلف رو برای پیاده سازی پروژه بررسی میکنیم و بهترین ابزار رو با توجه به نیازمون انتخاب میکنیم

    پس دفاع کردن از یه ابزار خاص نشانه آگاهی کمه یا بهتر بگم تعصب نشانه جهل است.

    روی اینترنت جستجو کنید ببینید اساتید مسلم technologyهای مختلف مثل WebServices,Remoting,Messagingو غیره و غیره کیا هستند و Backgroundشون رو ببینید.
    موفق باشید.

  32. #32
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    سرعت برنامه های دات نت ارتباطی با طراحی فیزیکی نداره اون ابزارهای گفته شده ابزار های طراحی هستند مثلا oracle case یکی از این ابزارهاست.
    انتخاب پلتفرم برنامه نویسی و ایضا زبان آن در موقع پیاده سازیه و اون هم به فاکتور ها و پارامترهای بسیاری (حتی سیاسی) بستگی داره

    "اعترافیه:" :kaf:
    بنده امروز متوجه شدم این تاپیک بعد از مدتی باز شده (شاید به لطف اون هکر باشه ، نمیدونم)
    ولی در مورد سرعت برنامه های تحت دات نت حقیر با راهنماییهای جناب inprise (ع) متقاعد شدم و این بحث باعث شد جدی تر و حتی علمی تر و نه تعصبی تر به این مسئله نگاه کنم دوستان رو هم دعوت میکنم دوباره فرمایشات این استاد گرامی رو مرور بفرمایند.

    ---

  33. #33
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    سرعت برنامه های دات نت ارتباطی با طراحی فیزیکی نداره
    حق با شماست ظاهرا بحث اولیه به بیراهه رفته.
    من جواب این دوستمون رو دادم که گفته بود برنامه نویسای حرفه ای VC++‎ سراغ C#‎ نمیرن.

    در کل این challenge topic جالبی بود
    با تشکر از inprise :موفق:

  34. #34
    کاربر جدید
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    iran-h- h pomp 18 -p6
    پست
    13
    من یک بار یه کد برنامه ساده رو برای همه پیچوندم کامپایل هم همه جوره زدم سرعت خیلی محسوس نبود
    نه که فرقی نداشت از وی بی رو بیشتر دوست دارم ولی بلاخره از همه کند تر بود. این از قابلیتهای وی بی کم نمی کنه چون اگه اون یکی ها می خواستن مثل وی بی حرف بزنن حتما تر می زدن.بی ادبی من رو ببخشین.
    حالا سر چی وقت تلف می کنین ؟ :flower:

  35. #35
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    حالا سر چی وقت تلف می کنین ؟
    اگر بحث فوق رو درست میخوندی اینجوری حرف نمی زدی.

  36. #36
    سلام
    اصلا احتیاجی به این همه بحث نیست با یک تست کوچیک با کد نویسی و اجرای یه حلقه و به کار بردن یه Timer برای اندارزه گیری زمان می شه فهمید که سرعت اجرای برنامه توی #C چهار برابر VB است میشه همین تست رو برای زبان های دیگه هم اعمال کرد :)

  37. #37
    کاربر جدید
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    iran-h- h pomp 18 -p6
    پست
    13
    اگر بحث فوق رو درست میخوندی اینجوری حرف نمی زدی.
    سوال مگه رو سرعت اجرای کدهای مشابه تو زبانهای دات نت نیست ؟
    اقای مجتبی قناعت پیشه عزیز دوست گرامی من جوابم اینه که یه تست کوچولو رو یه کد مشابه طوری بود که وی بی کند تر عمل می کرد حالا خانم فاطمه هاشمیان میگه :
    سرعت اجرای برنامه توی #C چهار برابر VB است کاری ندارم ولی نود ونه درصد سرعت اجرا فرق میکنه
    چیزی که عیان است ...
    باز اگه نفهمیدم سوال چیه دیگه یا جواب نمیدم یا اگه بدون عجله دوباره خونم یه جواب میدم که سرزنشم نکنی :flower:

  38. #38
    کاربر دائمی آواتار ali_hadian
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    تهران
    پست
    292
    آقا من چند ماهه این تاپیک رو زدم شما هنوز دارید سرش جنگ و دعوا میکنید :mad:

  39. #39
    آقای Dot_net_lover ماکروسافت که نمی گه ماست من ترشه و بیاد یکی از ابزار هایشرا بر یکی برتر بدانه او از VC بعنوان Power oriented یاد کرده ونشاندهنده قدرت زیاد VC در پروژه های بزرگه بهمین دلیل برنامه نویسانی که پروژه های بزرگ می خواهند بنویسند VC رو انتخواب می کنند نه C#‎ را .من هم فقط در مورد این نوع پروژه ها گفتم VC از #C بهتر است نه در چیز دیگری مثل Web Application
    :flower: موفق باشید

  40. #40
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    گفتم VC از #C بهتر است
    جواب :
    اینکه ابزار ما در پیاده سازی یک پروژه چی باشه بر میگرده به اینکه نوع پروژه چی باشه.
    chapter 6 از کتاب Solution Atchitectures مایکروسافت اینجوری بیان میکنه که توی مرحله Physical Design ما ابزارهای مختلف رو برای پیاده سازی پروژه بررسی میکنیم و بهترین ابزار رو با توجه به نیازمون انتخاب میکنیم

    پس دفاع کردن از یه ابزار خاص نشانه آگاهی کمه یا بهتر بگم تعصب نشانه جهل است.

    روی اینترنت جستجو کنید ببینید اساتید مسلم technologyهای مختلف مثل WebServices,Remoting,Messagingو غیره و غیره کیا هستند و Backgroundشون رو ببینید.
    موفق باشید

    سرعت اجرای برنامه توی #C چهار برابر VB است
    به بار دیگه از اول challenge بالا و بیانات Inprise (ع) رو با دقت بخونید.

    باز اگه نفهمیدم سوال چیه دیگه یا جواب نمیدم یا اگه بدون عجله دوباره خونم یه جواب میدم که سرزنشم نکنی
    :flower:

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •