نمایش نتایج 1 تا 26 از 26

نام تاپیک: بحث بر روی دات نت و آینده ی پیش روی آن

  1. #1

    بحث بر روی دات نت و آینده ی پیش روی آن

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

    1)اساسا" هدف مایکروسافت از ارائه دات نت چه بوده است و چقدر تا بحال به این اهداف دست یافته یا نزدیک شده است؟
    2)چه آینده ای را برای Cross-Platform بودن دات نت متصور هستید؟
    3)آیا دات نت یک چارچوب پایدار(Stable) است یا ممکن است در آینده دچار تحولاتی بنیادین گردد؟آیا تکنولوژی های نوینی که از سوی مایکروسافت ارائه می گردند میتوانند در پروژه های سازمانی طولانی مدت مورد استفاده قرار گیرند؟
    4)مایکروسافت چقدر به مقوله ی Backward Compatibility در دات نت توجه دارد؟
    5)آینده ی مایکروسافت را با وجود رقبایی چون Java چگونه پیش بینی می کنید؟

    دوستان توجه داشته باشید که پست های ارسالی از سوی کاربران باید شرایط زیر را دارا باشند :
    الف)کاملا" مرتبط با مرحله ی بحث باشد ،
    ب)دارای ارزش فنی و علمی باشند ،
    ج)دارای هیچگونه لحن توهین آمیز/سرزنش آمیز/دلسرد کننده و همچنین دیدگاه های متعصبانه نباشد ،
    د)منحرف کننده ی بحث از مسیر اصلی خود نباشد - علیرغم برخورداری از ارزش فنی- ،
    ه)موجب هیگونه اخلالی در بحث نگردد ،
    ---> در صورتیکه پستهای ارسالی هر یک از موارد فوق را نقض نمایند ، حذف خواهند شد ،

    با تشکر ،/
    I've just started tweeting!
    @Alireza_Maddah

  2. #2

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    اگه برگردیم به اون دوران (اواخر دهۀ 90) ، زبان های مطرح در بازار ، VB6 ، VC++‎ و دلفی و جاوا بودن
    جاوا می تونست روی چندین پلتفرم اجرا بشه و سینتکسی مشابه سی داشت (که لااقل برای برنامه نویسانی با بک گراند سی خیلی راحت بود) در ضمن جاوا داشت بازار برنامه نوسی web based و server based رو از آن خودش می کرد.
    وی بی از دید خیلی ها kindergarten language بود (خیلی از برنامه نویسای به قول خودشون real programmer ، اصلا وی بی رو قبول نداشتن به عنوان زبان.) مثل جاوا web programming رو پشتیبانی نمی کرد ، مثل سی پلاس پلاس قوی نبوده و به صورت مستقیم به API سیستم عامل دسترسی نداشت. (با این که فقط برای یک OS ایجاد شده بود) همواره از activex ها و dll هایی که برنامه نویسای وی سی ایجاد می کردن ، استفاده می کرد. در کل جایگاه خوبی میان برنامه نویسای حرفه ای نداشت. از پرفورمنسش هم خیلی شکایت می کردن.
    )توجه: جملات بالا به معنای بد بودن وی بی نیست. وی بی یک RAD بود ، نه یک ابزار system development)
    از طرفی وی سی سخت بود. سینتکس زبان C++‎ ، نحوۀ کد نویسی برای ویندوز (ATL ، MFC ، COM و ...) برای خیلی از برنامه نویسای متوسط خیلی پیچیده بود
    می مونه دلفی از بورلند: تیمی فوق العاده (Hejlsberg ، Torphe ، Jdazewski و ..) روش کار می کردن. پرفورمنسش مثل وی سی خوب بود. دسترسی به چیزایی داشت که خیلی زبان ها نداشتن (پوینتر ، پراپرتی ، ایونت ، ...)
    با وجود این ها ، خیلی محیط خوبی برای RAD و ایجاد GUI داشت (یعنی مخلوطی از سادگی وی بی و قدرت سی پلاس پلاس)
    مایکروسافت بازار بزرگ رو می خواست (برنامه نویسای متوسط ، web programming و ...)
    در واقع می خواست ویژگی های وی بی (سادگی و مورد علاقۀ تازه کار ها بودن) ، وی سی (سرعت و قدرت بالا) ، دلفی (زیبایی در زبان ، ویژگی های first class ای که خیلی زبان ها نداشتن) و جاوا (وب) رو یک جا داشته باشه.
    تصمیم بزرگ ، بیرون کشیدن مغز ها و یک جا جمع کردنشون بود. که از آندرس (بورلند) شروع شد.
    به نظر من هدف اصلی مسلما پول بوده (هرچه برنامه نویسان و کاربران بیشتر باشن ، پول بیشتر و همراهش قدرت بیشتری از آن مایکروسافت خواهد بود)
    خب ، باید بگم این ویژگی language-neutral بودن دات نت خیلی باعث موفقیتش شده و نمیشه به صورت عددی یا درصدی گفت که چقدر ، ولی مسلما مایکروسافت خیلی موفق بوده در ارائۀ یک محیط کامل و یکپارچه برای برنامه نویسی وب ، ویندوز ، pocket pc ها و ...
    (از بزرگ ترین فاکتور های موفقیت یک پلتفرم یا زبان ، library های اونه. چرا Perl موفق بود ، ولی LISP نه ؟ چون کتابخانه های بزرگتر و کاملتری داشت.)
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  3. #3
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: گردهمایی اعضاء سایت برنامه نویس در نمایشگاه Elecomp 87 - چهارم آذر - ساعت 2 بعداز ظهر - جای

    نخیر، بنده گفتم که فعلا جاوا از نظر آماری جایگاه بسیار بهتری نسبت به سایر زبان های برنامه نویسی داره. طبیعی هم هست، چون جاوا روی مالتی پلت فرم تاکید داره، ولی مالتی پلت فرم در دات نت، در عمل فقط در حد حرف هست. از طرفی اصلی ترین محصول مایکروسافت ویندوز هست، و همه محصولات مایکروسافت برای ارتقاء جایگاه ویندوز بکار گرفته میشند، پس نمیشه آینده روشنی برای مالتی پلت فرم در دات نت قائل بود. حتی پروژه هایی مثل مونو علی رقم اقدامات خوبی که صورت گرفته، نمی تونند این خلاء را پر کنند. جاوا برای Sun یک محصول محوری هست، در حالی که دات نت برای مایکروسافت فقط ابزاری هست برای فروش بیشتر ویندوز! پس طبیعی هست که در سطح اینترپرایز رویکرد به جاوا بیشتر از زبان های دات نتی باشد.
    البته سابقه طولانی تر جاوا، هم خودش در این امر تاثیر گزار هست.
    اتفاقا برعکس، با اآنکه دات نت خیلی جوانتر از رقیب خود یعنی جاواست، اما توانسته سهم بیشتری از بازار تولید نرم افزار رو به خودش اختصاص بده، همانطور که در این لینک میبینید، میزان شغلهایی که با دات نت در ارتباط هستند از جاوا بیشتر است، همینطور در این لینک به اختصار توضیح داده که استفاده از دات نت در تولید mission-critical applications بالاتر از جاواست، همینطور، خواندن این لینک هم مفیده.

    در مورد مالتی پلتفرم هم طبیعیه که مایکروسافت نیازی به مالتی پلتفرم نداره، چرا که حدود 90 درصد از سیستم عاملهای دسکتاپ، ویندوزه (رجوع کنید به هفته نامه ی کلیک، شماره ی 211) و بر همین اساس، مایکروسافت در سطح شرکتهای small to medium business رقیبی نداره، اما برای سیستمهای Enterprise و سازمانها هم مایکروسافت حرفهایی برای گفتن داره، شما اگر یک نگاه اجمالی به محصولات سرور مایکروسافت بندازید میبینید که حقیقتا نام غول نرم افزاری دنیا برازنده ی این شرکته، چرا که در هر زمینه ای که بویی از مدیریت و تجارت اومده باشه، مایکروسافت به تنهایی در یک کفه ی ترازو قرار داره.

    در مورد فروش بیشتر ویندوز هم من با شما هم عقیده نیستم، چرا که چند سال پیش بود، خبری میخوندم راجع به محبوبیت نرم افزار Office مایکروسافت، که اونو تبدیل به یک محصول کلیدی سود آور برای مایکروسافت کرده بود (صرف نظر از ویندوز).
    از دیگر محصولات کلیدی مایکروسافت، Moss یا Micrsoft Office SharePoint Server میباشد که به گفته ی کارشناسان، قویترین پورتال در زمینه ی تولید وب سایت و سیستمهای اتوماسیون اداری است، این محصول به تنهایی سریعترین رشد فروش را در تاریخ محصولات مایکروسافت داشته و بیش از 75 میلیون نسخه از آن را فروخته است. اطلاعات بیشتر

    نکته ی دیگر در باب فن آوری دات نت اینه که تمام محصولات مایکروسافت دارن از طریق دات نت تغذیه میشن، یعنی دات نت پلتفرم مورد استفاده ی مایکروسافت برای محصولات خودشه، پس ابزاری برای فروش بیشتر ویندوز نیست!

    نکته ی دیگه بازارهای دیگری هست که اصلا فن آوری جاوا انتخاب منظقی ای در اون زمینه ها نمیباشد، مثلا بازار بازی های کامپیوتری، بازاری سود آور میباشد که البته ابزار توسعه ی آن یعنی DirectX در دستان مایکروسافت است و مایکروسافت سکان دار تکنولوژیهای ساخت بازی میباشد.

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

  4. #4
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    داستان همانی بود که دوستمان تعریف کرد، حالا به اینجا رسیده که ماکروسافت می خواهد دات نت مرکز اصلی سیستم عاملش باشه و یک پروژه سیستم عامل جدید شروع کردند به اسم Singularity که در حد تحقیقات هست و با C#‎ نوشته شده ، به نظر من این یعنی سرمایه گذاری بیشتر روی دات نت

    در مورد کراس پلت فرم بودن ، قضیه بی معنی هست ، ماکرسافت احتیاجی به این کار نداره سیستم عامل خودش را داره و همه سعی و تلاشش این هست که این بازار را از دست نده، شعار دات نت یک پلت فرم برای همه زبانهاست بر عکس جاوا که یک زبان برای همه پلت فرم ها بود

    به هر حال نمیشه انتظار داشت 10 سال دیگر دات نت همینی باشه که هست،رفته رفته بهتر میشه ، پایدار تر میشه و به مرور ممکن هست بعضی از قسمت ها حذف بشه ولی تا حالا که نسخه های قبلی خوب پشتیبانی شدند
    ماکروسافت حالا حالا هست و وجود رقبایی مثل جاوا یا سر سخت تر ازآن به نفع برنامه نویسان و کاربران خواهد بود که در این رقابت هم قیمت ها پایین خواهد آمد و هم کیفیت بالا خواهد رفت.

  5. #5
    کاربر تازه وارد آواتار ahmad598
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    32
    پست
    34

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    به نظر من اگر مایکروسافت دات نت رو برای همه پلتفرمها درست می کرد خیلی بهتر بود؛کاری که الان نکرده و فقط یه پروژه آزاد به نام مونو هست که دات نت رو توی لینوکس شبیه سازی می کنه. به نظر من دات نت برای مایکروسافت حرکت بزرگی بود، تا قبل از اون زبان موفقی رو نداشت ولی با عرضه دات نت زبانی به نام C#‎ رو معرفی کرد که در بسیاری از موارد (بسیار) از جاوا الگو برداری شده بود و البته به نظر بعضی از برنامه نویسها این الگو برداری موفق نبود و جاوا از لحاض ساختار زبان و... بهتر هست. هدف مایکروسافت اراپه یک زبان ساده و قدرتمند بود که البته بهش نزدیک هم شد و الان C#‎ محبوبیت زیادی داره. اما اینکه می تونه جاوا رو از میدون به در کنه، به نظر من به سیاستهای آتی و میزان کاربلد بودن Sun بستگی داره. مایکروسافت از قدرت جاوا ترسید و سعی کرد که موفقیت اون رو تکرار کنه، که البته به نظر خود من نتونسته این کار رو انجام بده.

  6. #6

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    به نظر من اگر مایکروسافت دات نت رو برای همه پلتفرمها درست می کرد خیلی بهتر بود؛کاری که الان نکرده
    پاشنه آشیل دات نت همینجا ست. وقتی صحبت از ویندوز، اصلی ترین محصول مایکروسافت به زبون میاد، باید همه محصولات در جهت ارتقاء آن گام بردارند؛ پس حتی اگر هم Cross-platform کردن دات نت یک گام بزرگ در افزایش مقبولیت دات نت باشه، چون به ضرر ویندوز هست، بهتر هست که دات نت ضرر بکنه، ولی ویندوز ضرر نکنه! اگر بجای ویندوز، دات نت محصول اول مایکروسافت بود، مسلما جایگاه بهتری از امروز داشت.

    4)مایکروسافت چقدر به مقوله ی Backward Compatibility در دات نت توجه دارد؟
    در مایکروسافت Backward Compatibility یک مفهوم کاملا نسبی هست، و کاملا به سیاست های تجاری شرکت بستگی داره، نه به راحتی کاربران. مثلا خیلی ها مشکل ویندوز را این می دانند که بیش از حد Backward Compatible هست، البته خیلی ها هم یکی از علت های اصلی محبوبیت های ویندوز را همین ویژگی می دانند، به هر حال، سیاست مایکروسافت در ویندوز و آفیس این هست که نسخه های جدید تا حد زیادی با نسخه های قبلی سازگار باشند، اما وقتی سیاست های تجاری شرکت اقتضاء کند، مایکروسافت کار ندارد چند نفر اعتراض می کنند، برای رسیدن به هدف تجاری خود، و وادار کردن برنامه نویسان Win32 به مهاجرت به دات نت، کلا قید VB6 (محبوب ترین محصول برنامه نویسی مایکروسافت) را میزند، کاربران ++VC را هم حدود یک سال بلاتکلیف ول می کند، تا مجبور شوند به دات نت مهاجرت کنند. احتمال تکرار این کار در آینده هم وجود دارد، یعنی کافی هست تا بازار نرم افزار یک تغییر ناگهانی داشته باشد (مثلا تغییر سیاست های یکی از رقیبان دیرینه مایکروسافت)، و مایکروسافت مجبور به بازنگری کلی در برخی اهداف تجاری دات نت شود، آن وقت، سابقه نشان داده که مایکروسافت درگ چندانی در کنار گذاشتن سیاست ها، و محصولات فعلی، و ارائه محصول جدید نمی کند. البته این به این معنی نیست که فردا دات نت را کنار می گذارد، بلکه ممکن هست بعضی از ویژگی های آن یک شبه از آن حذف شوند، یا بگونه ایی تغییر کنند که کاربر راهی جز تن دادن به حرکت کردن در مسیر مورد نظر مایکروسافت نداشته باشد!
    این یکی از دلایلی هست که قبلا گفتم چرا باید نسبت با تکنولوژی های جدیدی که به سرعت به دات نت اضافه می شوند، با احتیاط برخورد کرد، و با ظهور هر تکنولوژی جدید ارائه شده (بخصوص نسخه های بتا که این روزها در دات نت بسیار زیاد شده اند)، روی آنها برنامه ریزی بلند مدت نکرد، و مدتی صبر کرد تا جایگاه آنها در سیاست های مایکروسافت روشن تر شود.


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

  7. #7
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    یکی از دلایلی که مایکروسافت رو وادار به تولید یک پلتفرم گسترده و یکپارچه برای تولید نرم افزار کرد، وجود پیچیدگیهای زیاد تکنولوژی های قبل از دات نت برای توسعه بود، تکنولوژی های قبل از دات نت مثل Com به سختی میتونستند توسعه پیدا کنند، چون در زمان طراحی آنها، آینده نگری زیادی نشده بود، همینطور یکی از اهداف ساخت زبان سی شارپ محدودیتهایی بود که در توسعه ی C++‎ وجود داشت که باعث شد مایکروسافت به فکر ساخت زبانی بیفته که قدرت C++‎ رو داشته باشه، در عین حال بتونه به راحتی اونو به هر صورتی که بخواد توسعه بده، که دقیقا هم همین اتفاق افتاد، یعنی از زمان ظهور نسخه ی اولیه ی دات نت تا بحال، تغییرات بنیادی زیادی در این پلتفرم و همچنین در زبانهای آن (خصوصا سی شارپ) داده شده، اما من خودم شخصا با توجه به تجربه ی چند ساله ای که در تدریس و تحقیق در زمینه ی دات نت دارم، همیشه از ویژگیهای جدید دات نت استقبال کردم و اگرچه مایکروسافت در ابتدای انتشار نسخه ی 3.5 ار دات نت، به برنامه نویسان میگفت شما مجبور نیستید از نسخه ی 3.5 استفاده کنید و میتوانید از همون نسخه ی 2 استفاده کنید، ولی من سعی کردم که خودم رو با ویژگیهای جدید این پلتفرم وفق بدم، چون امکاناتی که در حال اضافه شدن به این پلتفرم میباشد، واقعا ارزش مهاجرت از نسخه ی قدیمی به نسخه ی جدیدتر رو داره، البته هنوز هم یک سری از برنامه ها رو با همون 2.0 مینویسم و مشکلی هم پیش نیومده(با توجه به نسخه ی جدید Visual Studio که همون 2008 هست و امکان تولید نرم افزار به صورت Multi Targeting رو دارا می باشد)

  8. #8

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    خوندن این هم خالی از لطف نیست (با این که وقتی نوشته شده که هنوز یه بتا هم از .NET نداشتیم)
    http://www.joelonsoftware.com/articl...000000049.html
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  9. #9

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

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

    اگر یه نگاه کلی داشته باشیم، یکی که می خواد یه برنامه ی درست حسابی بنویسه (از هر نوعیش)، نیاز به این ابزار ها داره:

    1- دانش مناسبی از یک زبان برنامه نویسی برای نوشتن منطق برنامه

    2- اطلاعات کافی در مورد یک دیتابیس برای ذخیره ی داده ها

    3- ابزار مناسبی برای برقراری ارتباط بین لایه ی منطق برنامه با پایگاه داده

    4- روشی برای بسته بندی و پک کردن برنامه

    5- لزوم طراحی سلوشن وب برای وب سایت ها

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

    7- ابزاری برای اعتبار سنجی مدام اسکریپت های در حال اجرا برای کاربران که البته در طرف سرور هست

    8- طراحی کامپوننت ها به نحوی که به سایرین این اجازه رو بده که از کامپوننت های طراحی شده توسط شما بتونن استفاده بکنن و در جهت ارتقاء و بهبود بخشیدن اون گام بردارن

    9- توانایی طراحی یه اینترفیس زیبا و کارآمد

    10 - پتانسیل ذخیره ی کار ها و فعالیت های صورت گرفته برای کامپونن های یه صحفه ی وب برای استفاده ی مجدد از اونها

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

    1- زبان برنامه نویسی : C , C++‎ , Java , etc

    2- یتابیس : ORACLE , SQL Server , etc

    3- ابزار اتصال دهنده ی دیتابیس با برنامه : CORBA , RMI , DCOM , etc

    4- ابزار بسته بندی برنامه : فایل های ستاپ (محیط های وابسته) ، فایل های باینری و کپی دستی کامپوننت ها بر روی سیستم مقصد

    5- طراحی صفحات وب : HTML , DHTML , CSS , XML , etc

    6- داشتن فضایی برای استفاده مجدد برنامه به کمک : Java Beans , COM , etc
    7- اعتبار سنجی کلاینت : Java Script , JScript , Applets, etc
    و سرور توسط : Perl , ASP , PHP , etc

    8- توسعه ی کامپوننت ها : کپی و پیست کردن دستی کامپوننت ها و یا دسترسی دادن به اونها از طریق سرور

    9- اینترفیس : VB , VC++‎ , GTK+ , etc.

    10- طراحی کامپوننت های وب با امکان استفاده ی مجدد : میشه گفت هیچی

    خوب حالا یه برنامه نویس با وجود این امکانات برای نوشتن برنامه هاش باید مثلا C++‎ , SQL Server , DCOM , HTML , COM , JScript , ASP و VC++‎ , GTK+ (on Linux) , XML رو بلد باشه. می بینیم که مشکلی که اینجا هست اینه که اون برنامه نویس بد بخت باید بره و کلی چیز یاد بگیره و کلی وقت صرف کنه تا بتونه به همه ی این تکنولوژی ها تسلط نسبی ای پیدا کنه و تازه اگر بخوای هر دفعه یه کار تازه هم انجام بدی (که عموما هم خریدار از ما این انتظار رو داره) مجبوری دوباره از صفر صفر صفر شروع کنی و اینجاس که به نقطه ی مرگ و انزجار نزدیک می شیم.

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

    بنابراین برای یادگیری دات نت، چیز هایی که باید یاد گرفت تا به سطح بالایی از برنامه نویسی برسیم تنها محدود میشه به : C#‎ (or VB.NET) , ASP.NET , XML

    یعنی فقط سه تکنولوژی نه 10 یا 15 تا...

    سی شارپ می تونه برای اسکرییپت نویسی برای اعتبار سنجی کاربر، ایجاد منطق برنامه، برنامه نویسی سرور، ویندوز اپلیکیشن ها، برنامه های کنسولی و طراحی کامپوننت ها استفاده بشه؛ همچنین میشه XML رو به عنوان داده، متادیتا و ابزاری برای برقراری ارتباط بین دیتابیس و لایه ی منطق برنامه، به کار برد. و در نهایت با استفاده از ASP.NET خیلی راحت میشه کامپوننت های مناسبی برای وب طراحی کرد که البته میشه بارها ازشون استفاده کرد؛ همچنین طراحی سرویس های وب مثل ویندوز بدون داشتن مشکلاتی که متوجه ++VC است. و ...

    این یعنی تنها یک زبان، که می تونه هر جایی استفاده بشه و بدون سردگمی و گیج کردن برنامه نویس. با سی شارپ و در اصل دات نت، دیگه مشکل از دست دادن و کمبود حافظه برای سیستم پیش نمیاد که برنامه نویس ها قبلا با اونها در COM و DCOM مواجه بودن و یا مشکلات پیرامون دسترسی ها و پرمیشن ها در سیستم.

    بنابراین، میشه گفت این یه موفقیت و پیروزی خیلی مفیدیه برای یه برنامه نویس.

    تا اینجا دیدگاهی رو مطرح کردم در مورد یه دونه برنامه نویس ولی در مورد سازمان ها و شرکت ها چطور:

    فرض کنید یه شرکتی میاد و 4 تا برنامه نویس ++VC استخدام میکنه به این خاطر که الان باید یه پروژه با اون تحویل بدن. حالا میریم 6 ماه جلوتر، زمانی که این شرکت باید پروژه ای رو با VB بنویسه.
    خوب، حالا چه اتفاقی رخ میده؟
    شرکت یا از برنامه نویساش می خواد که برن و VB یاد بگیرن تا بتونن پروژه رو انجام بدن یا اینکه اونا رو میندازه بیرون و 4 تا برنامه نویس VB استخدام میکنه.
    خوب، پس متوجه مسئله ی اساسی میشیم که ...

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

    بنابراین، با دات نت دیگه نیازی نیست که بیایم و برنامه نویس های VB رو با برنامه نویسی های ++Managed C یا برنامه نویس های #C یا JScript.Net جایگزین کنیم.

  10. #10

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    به قول يكي از دوستان :
    مايكروسافت به دنبال اين هست كه همه ي زبان هاي برنامه نويسي براي ويندوز باشه ولي جاوا به دنبال يك زبان برنامه نويسي براي همه ي سيستم عامل ها است كه اين دو هدف كاملا متفاوت هستن

  11. #11

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    کسی اینجا جنگ نمی کنه، نترس!
    این حرفایی که زدی oversimplification هست (وقتی درسته که من کاربر مایکروسافتی باشم (یعنی هدفم ویندوز باشه) و بخوام تحت محیط managed کار بکنم)
    اگه بخوام تحت ویندوز یه (مثلا) DVD burner یا یه game یا یه ادیتور خیلی سریع با امکانات خفن ، یا یه نرم افزار ویرایش فیلم یا .... بنویسم ، اون وقت (به احتمال خیلی زیاد) میرم سراغ سی ، سی پلاس پلاس یا دلفی
    (گرچه نسخۀ managed این ها رو هم میشه نوشت.ولی وقتی کارایی یا قدرت زیاد خیلی مهم باشه ، اصولا باید به راهکار های native اندیشید.)
    مزیت بزرگ دات نت ، افزایش productivity برنامه نویساست ؛ ولی این غلطه که بخوایم اون رو یک اکسیر برای همۀ مشکلات بدونیم.
    من اگه بخوام یه برنامه بنویسم که روی ویندوز و لینوکس اجرا بشه یا از سی (سی پلاس پلاس) استفاده می کنم یا پایتون (روبی،...)
    و برای GUI از GTK یا wxWidgets یا Qt یا ....
    و پایگاه داده: SQLite یا ...
    (دات نت توهم cross platform بودن رو ایجاد کرده؛ فقط cross language runtime هست. مونو هم کامل نیست و نمیشه روش برای پورت پروژه ها حساب باز کرد)
    بله ، دات نت و جاوادر نیاز های سازمانی جایگاه ویژه ای دارن ، اما استفاده از اونا برای بعضی از برنامه ها ، overkiller هست
    در ضمن همۀ برنامه ها نیاز به همه چیز ندارن (وب ، پایگاه داده ، نصاب ، گرافیک ، ....)
    فیلد نرم افزار خیلی گسترده هست و برنامه نویسا هم اینو می دونن. روش "یک ابزار برای همه کار" به نظر من درست جواب نمیده در دراز مدت (مثل روشی که مایکروسافت در توسعه ی سی شارپ در پی گرفته) (ممکن هم هست جواب بده ، من نظر شخصیم رو گفتم. به نظر من برای هر کاری باید از ابزار مناسبش استفاده کرد)
    بنابراین برای یادگیری دات نت، چیز هایی که باید یاد گرفت تا به سطح بالایی از برنامه نویسی برسیم تنها محدود میشه به : C#‎ (or VB.NET) , ASP.NET , XML
    مطمئنی ؟ اون وقت به این شخص نمیشه گفت برنامه نویس ، باید گفت برنامه ساز. من از این برنامه نویسا زیاد دیدم؛ وقتی کدشون رو برای دیباگ میارن پیشم (یا ازم سوال می پرسن) متوجه میشم که اصلا (واقعا اصلا) چیزی در مورد مفاهیم نمی دونن. هیچ درکی از برنامه نویسی ندارن ، فقط یه سینتکس بلدن و چند تا کلاس و یه سری کارای drag-n-drop
    2 نتیجه ی خوب از بحث هایی که در الکامپ با آقای کشاورز داشتیم:
    1- پشتیبانی و اطمینان و قدمت ، مهم تر از زیبایی و ویژگی های خفن داشتنه (بحث در مورد ویژگی های جدید و خفنی که مایکروسافت هر دفعه داره به محصولاتش مخصوصا دات نت اضافه می کنه و این که هنوز هم پروژه هایی با سی دارن آغاز میشن)
    2- بسیاری از کسانی که با دات نت یا وی بی برنامه نویسی رو شروع می کنن ، درک خوبی از اصول برنامه نویسی ندارن. (یادگیری سی ، مدیریت حافظه ، بازگشتی ، طریقۀ کار CLR ، طراحی برنامه ، مهارت های debugging و .... ، مهم تر از مثلا یادگیری آخرین ویژگی های WPF و silverlight و ... است.)
    این حرفا رو نزدم که جنگ ایجاد بشه (خودم بیشتر از هر زبانی با سی شارپ و تحت دات نت برنامه نوشتم)
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  12. #12

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    کسی اینجا جنگ نمی کنه، نترس!
    اینجا اصالتا جای جنگه. البته جنگ از جنبه های متفاوتی میشه بهش نگاه کرد.
    چشم ها را باید شست، جور دیگر باید دید.
    این حرفایی که زدی oversimplification هست (وقتی درسته که من کاربر مایکروسافتی باشم (یعنی هدفم ویندوز باشه) و بخوام تحت محیط managed کار بکنم)
    فکر نمی کنم خیلی این حرفت درست باشه. چرا که این نکاتی رو که من گفتم، مختص فقط ویندوز نگفتم، کلی گفتم. منظورم اینه که اگر کلیه واژگان مربوط به ماکروسافت (مثل دات نت و سی شارپ و ...) حذف کنیم، خیلی واضحه که وجود همچین محیطی با همچین امکاناتی کاملا ضروری و لازمه. حالا، از اونجایی که محصولی مشابه دات نت با این خصوصیات وجود نداره، لذا کوچ کردن به دنیای ماکروسافت ...
    اگه بخوام تحت ویندوز یه (مثلا) DVD burner یا یه game یا یه ادیتور خیلی سریع با امکانات خفن ، یا یه نرم افزار ویرایش فیلم یا .... بنویسم ، اون وقت (به احتمال خیلی زیاد) میرم سراغ سی ، سی پلاس پلاس یا دلفی
    متوجه نمی شم، یعنی چی؟
    اگر شما بخوای یه برنامه ی ادیتور خیلی سریع با امکانات خفن بنویسی، میری سراغ سی؟ یعنی چی؟
    گرچه نسخۀ managed این ها رو هم میشه نوشت.ولی وقتی کارایی یا قدرت زیاد خیلی مهم باشه ، اصولا باید به راهکار های native اندیشید.
    بازم متوجه نمی شم. یعنی چی وقتی کارایی و قدرت مهم نباشه؟ چه زمانی میشه که کارایی یه برنامه یا قدرتش مهم نیست یا در رده ی دوم اهمیت قرار میگره؟ یعنی چی به راهکارهای نیتیو اندیشید؟
    چه مشکلی در خود دات نت وجود داره که باعث میشه تا شما بخوای بری سراغ کد نیتیو؟
    این قضیه اصلا برای من جا نمی افته. واقعا چه امکانی هست که شما بخوای و دات نت وسه ی شما فراهم نمی کنه.
    اگر یه سری کامپوننت آمده ی ابتدایی مثل باتن و لیبل و ... گرفته تا کامپوننت های دیگه ای مثل دیتا گرید و ... با کلی پروپرتی برای کنترل کردنشون می خوای، دات نت فوق العادس.
    اگر این ایراد رو میگری که نمیشه کامپوننت های سفارشی تولید کرد، که WPF جواب مسلم و قطعی برای این درخواست هست.
    اگر روی سیستم عامل های دیگه داری سوال مطرح می کنی، بازم با ظهور مونو مشکلی سره راه نیست. من متوجه نمی شم چرا میگی نمیشه روش حساب باز کرد. بیشتر توضیح بده.
    و هزاران امکان دیگه که باعث میشه دیگه نیازی به نوشتن صد ها خط کد بی خودی وجود نداشته باشه.
    اما استفاده از اونا برای بعضی از برنامه ها ، overkiller هست
    ؟؟؟
    در ضمن همۀ برنامه ها نیاز به همه چیز ندارن (وب ، پایگاه داده ، نصاب ، گرافیک ، ....)
    بله، منم کلی گفتم. به این معنا که یه برنامه نویس حرفه ای به هر حال باید این چیز ها رو بلد باشه برای انجام پروژه های متفاوت که در ضمینه های متفاوت هم البته هستن.
    فیلد نرم افزار خیلی گسترده هست و برنامه نویسا هم اینو می دونن. روش "یک ابزار برای همه کار" به نظر من درست جواب نمیده در دراز مدت
    یعنی چی درست جواب نمیده. این حرف زمانی درست هستش که شما به صورت درهم و غیر مدیریت شده یه زبون ساختی که همه چیز رو با هم غاتی کرده و به تبع نمیشه ازش سر در آورد ولی محیط منیج شده ای مثل سی شاپ به نظر این جوری نیست و کاملا اصولی تقسیم بندی شده. علاوه بر این همون طور که اساسا شعار ماکروسافت در این زمینه هست (یه پلت فرم، چند زبان)، ماکروسافت سعی بر تنوع زبانی داره و این که میاد و خیلی که جنبه های متفاوت رو در قالب یک زبون در میاره، یعنی اینکه اون مسائل جدا از هم نیستن و الا هیچ وقت یه شرکتی مثل ماکروسافت نمیاد و مخالف ایدئولوژی های خودش کار بکنه و مصداق این امر هم، همین #F هست که به این خاطر که کلا تابع محوری با شئ گرایی متفاوته، ماکروسافت میاد و یه زبون وسش طراحی میکنه و صرفا یه سری امکانات اولیه رو توی سی شارپش قرار میده.

    به غیر از این میشه گفت نگاه ماکروسافت کمی متفاوت دنبال میشه. به این معنا که به خاطر فضای مدیریت شده ای که سی شارپ داره، مثلا میاد و خیلی ساده چهار تا تکنولوژی جدید رو به دات نت اضافه می کنه و تحت لقای سی شارپ اونارو می پوشونه.
    مطمئنی ؟
    آره، کاملا. ولی می خوام کاملا متوجه مسائل بشم. اگر در این حرف هایی که گفتم و می گم، مشکلی هست، خواهش می کنم کاملا توضیح بدین تا قانع بشم و کاملا متوجه مسائل بشم.
    اون وقت به این شخص نمیشه گفت برنامه نویس ، باید گفت برنامه ساز. من از این برنامه نویسا زیاد دیدم؛ وقتی کدشون رو برای دیباگ میارن پیشم (یا ازم سوال می پرسن) متوجه میشم که اصلا (واقعا اصلا) چیزی در مورد مفاهیم نمی دونن. هیچ درکی از برنامه نویسی ندارن ، فقط یه سینتکس بلدن و چند تا کلاس و یه سری کارای drag-n-drop
    با این مسئله که میگی یه سری آدما بوجود میاد که میشن برنامه ساز، موافقم. من هم با خیلی ها مواجه شدم که طرف اصلا هیچ چیزی بارش نیست و راجع به مفاهیم و اصول، چیزی بلد نیست ولی کلی هم ادعا داره و تازه چند تا پروژه هم تو دست داره.
    ولی خیلی واضحه که این قضیه، یه مسئله ی دو طرفس. یعنی هم باقالی هایی پیدا میشن که هیچی بارشون نیست و به خودشون انتصاب سی شارپ کار حرفه ای میدن و هم اشخاص حرفه ای توشون هست که واقعا حرفه هستن و با یه نگاه به کدشون (البته اگر نشون بدن)، حرفه ای گری و رعایت مفاهیم و اصول داد میزنه.
    در نتیجه این حرف شما که علی الظاهر اومدین و همه رو جزء اون باقالی ها در نظر گرفتین، میشه گفت یه اشتباه بزرگه. این که یه سری از حرفه های این سایت، معتقد به استارت پروژه های عظیم با نیتیو کد هستن، وسه ی من جا نمیوفته چرا که خیلی پروژه های عظیم توسط شرکت های غول هست که از صفر با سی شارپ شروع شده.
    پشتیبانی و اطمینان و قدمت ، مهم تر از زیبایی و ویژگی های خفن داشتنه
    این حرف یعنی چی؟
    بزار یه مثال بزنم: فرض کن 30 ساله پیش که سی تازه اومده بود و یه انقلابی ایجاد کرده بود، احتمالا برنامه نویسای حرفه ای مثل شما در اون زمان هم مثل شما در این زمان فکر می کردن و برنامه هاشون رو با اسمبلی می نوشتن و ... .
    تو دنیای امروز، برنامه ای که حرفه ای و به تبعش زبیا، خفن و خاص نباشه، فروش نمی ره. خریدار دنبال برنامه ای هست که در عین حال که پنانسیل ارتقاء رو به سادگی داره، زیبا و همگام با تکنولوژی های روز هم باشه.
    این حرف رو با دو نگاه میشه بهش جامه ی عمل پوشوند: یکی با ساختار قدیمی اطمینان بخش ارتقاء یافته که به تبع دارای مشکلات IDE و گرافیکی و زیبا محوری خواهد بود و یکی هم با ساختار نو و جدید. که با توجه به مسائل مطرح شده در بالا، من دومی رو ترجیح میدم. و این که هنوز هم هنوز داره پروژه هایی با سی استارت میخوره، اصلا نمی تونه دلیل قانع کننده ای برای عمل به روش اول باشه.

    بسیاری از کسانی که با دات نت یا وی بی برنامه نویسی رو شروع می کنن ، درک خوبی از اصول برنامه نویسی ندارن
    بالا توضیح دادم.

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

    با تشکر

  13. #13

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    قبل از شروع بحثم از مدیر محترم خواهش می کنم در صورت به بیراهه رفتن بحث ، اخطاری بدن تا دیگه جلوتر نریم.
    دوست عزیز ، احساس می کنم از حرفای من اینطور برداشت کردی که من در مورد راه حل های native متعصبم یا با دات نت مشکلی دارم. هدف من اینه که به بچه های تازه کار فروم که تازه میخوان برنامه نویسی رو شروع کنن حقایق رو بگم که خودشون انتخاب کنن راهشون رو (ما مبلغ هیچ تکنولوژی ای نیستیم؛ هر ابزاری برای کار به خصوصی مناسبه؛ واهمۀ این هست که بعضی ها با خوندن پست هایی مثل پست های شما ، دات نت رو یک آرمان شهر بدونن و گرفتار hype بشن. من سال 84 در دانشگاهمون یه کلاس سی شارپ گذاشتم که تا 85 ادامه داشت، از اون روز تا الان بیش از 95 درصد کسانی که فارغ التحصیل شدن پروژه شون مخلوطی از SQL Server و سی شارپ بوده، یعنی یک نفر جسارت نداشته پاش رو از این دایره بیرون بذاره و variation های دیگه رو هم تست کرده یا یاد بگیره. همین قضیه هم امسال در مورد پایتون تکرار شد. قصد من آگاه سازیه. یاد دادن ماهیگیری )
    اگر شما بخوای یه برنامه ی ادیتور خیلی سریع با امکانات خفن بنویسی، میری سراغ سی؟ یعنی چی؟
    بازم متوجه نمی شم. یعنی چی وقتی کارایی و قدرت مهم نباشه؟ چه زمانی میشه که کارایی یه برنامه یا قدرتش مهم نیست یا در رده ی دوم اهمیت قرار میگره؟ یعنی چی به راهکارهای نیتیو اندیشید؟
    چه مشکلی در خود دات نت وجود داره که باعث میشه تا شما بخوای بری سراغ کد نیتیو؟
    اگه مجبور به کار با حجم زیادی از اطلاعات (چه فایل و چه شبکه) شده باشی میدونی چی میگم.
    بعضی برنامه ها هستن که کارایی و قدرت زیاد براشون مهم نیست؛ مثلا برای یه برنامۀ حسابداری بیشتر usablility و سهولت کار مهمه تا پرفورمنس بالا. پرفورمنس دات نت خیلی خوبه (لااقل در مقایسه با بقیۀ فریم ورک ها و زبان ها، به استثنای native ها) ولی بعضی وقتا باید بری سراغ C/C++‎ (مثال بارزش ، خود مایکروسافته که تقریبا تمام برنامه های بزرگشو با C++‎می نویسه)
    محصولات زیر از native C++‎ استفاده می کنن (البته این تبلیغ سی پلاس پلاس نیست ، فقط مثال آوردم):
    Adobe Photoshop، Nero Burning ROM ، CloneCD ، Visual Studio ، SQL Server ، Maya ، Acrobat Reader ، پروژه های گوگل ، فایرفاکس ، winamp ، Office ، JVM ، PowerDVD .....
    آیا میشه این ها رو در دات نوشت ، بعد با همین پرفورمنس اجرا بشن ؟
    دات نت مشکلی نداره ، شما داری بزرگش می کنی . هدف دات نت چیز دیگریست (Application development ، web development ، ... نه system programming یا HPC یا ...)
    اگر روی سیستم عامل های دیگه داری سوال مطرح می کنی، بازم با ظهور مونو مشکلی سره راه نیست.
    مونو کامل نیست. معمولا هم عقبه از قافلۀ مایکروسافت
    و الا هیچ وقت یه شرکتی مثل ماکروسافت نمیاد و مخالف ایدئولوژی های خودش کار بکنه و مصداق این امر هم، همین #F هست که به این خاطر که کلا تابع محوری با شئ گرایی متفاوته، ماکروسافت میاد و یه زبون وسش طراحی میکنه و صرفا یه سری امکانات اولیه رو توی سی شارپش قرار میده.
    مخالف ایدئولوژی نیست. مایکروسافت میخواد تو هر زمینه ای دست داشته باشه (نمونه اش F#‎ و استخدام Simon Peyton Jones و ..) (خودشم نمی دونه واقعا تا چه حد این ها mainstream خواهند شد. وگرنه F#‎ همون OCaml هست در دات نت. اگه بحث تابعی بودن باشه ، Qi که خیلی قوی تر و جامع تره ، ولی اینجاست که اسم مایکروسافت همه چیز رو عوض می کنه)
    تو دنیای امروز، برنامه ای که حرفه ای و به تبعش زبیا، خفن و خاص نباشه، فروش نمی ره. خریدار دنبال برنامه ای هست که در عین حال که پنانسیل ارتقاء رو به سادگی داره، زیبا و همگام با تکنولوژی های روز هم باشه.
    تو دنیای امروز و دیروز و فردا ، مشتری برنامه ای میخواد که کار کنه ، کارشو راه بندازه ، مشکل ساز نباشه ، کار باهاش راحت باشه. اصلا هم مهم نیست براش که از WPF استفاده کردی یا با سی پلاس پلاس نوشتیش. یا این که از خفن ترین الگوریتم های زیبای مرتب سازی استفاده کردی ، یا مثلا به روش تابعی نوشتی. مشتری این چیزا سرش نمیشه ، مشتری خروجی رو می بینه.
    یه شوخی: ضمینه نه ، زمینه. غاتی نه ، قاطی
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  14. #14

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

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

    هدف من اینه که به بچه های تازه کار فروم که تازه میخوان برنامه نویسی رو شروع کنن حقایق رو بگم که خودشون انتخاب کنن راهشون رو (ما مبلغ هیچ تکنولوژی ای نیستیم؛ هر ابزاری برای کار به خصوصی مناسبه؛ واهمۀ این هست که بعضی ها با خوندن پست هایی مثل پست های شما ، دات نت رو یک آرمان شهر بدونن و گرفتار hype بشن. من سال 84 در دانشگاهمون یه کلاس سی شارپ گذاشتم که تا 85 ادامه داشت، از اون روز تا الان بیش از 95 درصد کسانی که فارغ التحصیل شدن پروژه شون مخلوطی از SQL Server و سی شارپ بوده، یعنی یک نفر جسارت نداشته پاش رو از این دایره بیرون بذاره و variation های دیگه رو هم تست کرده یا یاد بگیره. همین قضیه هم امسال در مورد پایتون تکرار شد. قصد من آگاه سازیه. یاد دادن ماهیگیری )
    کاملا حرف شما متینه، ولی همون جوری که گفتم، احساس می کنم که شما از یه دید فقط مباحث رو مطرح می کنی. منظورم اینه که چون نمی خوای طرف مقابلت تو چاه بیوفته، ترجیح میدی که تو چاله بیوفته مثل من فقط فرقی که هست اینه که چاله ی من با چاله ی شما یکم فرق می کنه.
    و در مورد ماهیگری هم باید بگم این مسئله خودش خیلی مفصله و یکم از بحث میزنه خارج وسه همین بعدن و به وقتش بهش رسیدگی می کنم، البته سر بسته بگم ماهیگری رو باید یاد گرفت و از اصل و پایه ولی اینکه شما بیای و بخوای هر روز با یه چوب مخصوص یه ماهی خاص، ماهیگری بکنی، اصلا درست نیست. چرا که این جوری اگر یه وقت بخوای ده تا ماهی از ده تا نوع مختلف بگیری باید ده تا چوب دستت بگیری. حالا چجوریش رو دیگه خدا می دونه.
    و البته این هم لازم که بگم که واضحه که تا بیاد و برنامه های خیلی خفن بر پایه ی دات نت ونوشته بشن، کلی (5 تا 10 سال) طول میکشه، جدا از این مگه دات نت چند ساله که عرضه شده؟ بیشتر از 3 4 ساله؟(منظورم از دات نت 2 به بعد چرا که تا قبلش چیز آنچنانی نداشت) و البته یه دونم مثال می زنم که اونم Pain.Net هستش که اگر اشتباه نکنم از بیس با دات نت استارت خورده و بازم اگر اشتباه نکنم قرار نسخه ی نهاییش با ویندوز سون ارائه بشه.
    اگه مجبور به کار با حجم زیادی از اطلاعات (چه فایل و چه شبکه) شده باشی میدونی چی میگم.
    بعضی برنامه ها هستن که کارایی و قدرت زیاد براشون مهم نیست؛ مثلا برای یه برنامۀ حسابداری بیشتر usablility و سهولت کار مهمه تا پرفورمنس بالا.
    آره، درسته ولی منظورم من از کارآیی و قدرت همونیه که گفتی. یعنی User Friendly تر بودن و ساده تر کار کردن با برنامه و یکی خصوصیت دات نت هم همینه که اونقدر حالات متفاوت جلوی چشم ما میزاره که ما بیایم و بهترین رو که کاربر پسند تر و آسون تره از لحاظ کاری و به تعبیر خودم کارایی بهتر داره و قدرتمندتره رو انتخاب کنیم. که حالا پرفورمنس هم به نسبت سنگینیه کار یه چیزی ار آب در میاد.
    پرفورمنس دات نت خیلی خوبه (لااقل در مقایسه با بقیۀ فریم ورک ها و زبان ها، به استثنای native ها) ولی بعضی وقتا باید بری سراغ C/C++‎ (مثال بارزش ، خود مایکروسافته که تقریبا تمام برنامه های بزرگشو با C++‎می نویسه)
    محصولات زیر از native C++‎ استفاده می کنن (البته این تبلیغ سی پلاس پلاس نیست ، فقط مثال آوردم):
    Adobe Photoshop، Nero Burning ROM ، CloneCD ، Visual Studio ، SQL Server ، Maya ، Acrobat Reader ، پروژه های گوگل ، فایرفاکس ، winamp ، Office ، JVM ، PowerDVD .....
    آیا میشه این ها رو در دات نوشت ، بعد با همین پرفورمنس اجرا بشن ؟

    خوب اگر یه نگاهی به این برنامه های که مثال زدی بکنی، می بینی که همشون برنامه های با سابقه ی هستن که عموما از قدیما (قبل از دات نت) بودن لذا واضحه که استارتشون هم با دات نت زده نشده.
    دات نت مشکلی نداره ، شما داری بزرگش می کنی . هدف دات نت چیز دیگریست (Application development ، web development ، ... نه system programming یا HPC یا ...)
    متوجه نمی شم، بیشتر توضیح بدین.
    مونو کامل نیست. معمولا هم عقبه از قافلۀ مایکروسافت
    خوب معلومه که عقبه نسبت به دات نت. به خاطر اینکه اول باید دات نت ارائه بشه تا بعد بیان و وسه ی مونو اونرو پیاده سازی کنن.
    تو دنیای امروز و دیروز و فردا ، مشتری برنامه ای میخواد که کار کنه ، کارشو راه بندازه ، مشکل ساز نباشه ، کار باهاش راحت باشه. اصلا هم مهم نیست براش که از WPF استفاده کردی یا با سی پلاس پلاس نوشتیش. یا این که از خفن ترین الگوریتم های زیبای مرتب سازی استفاده کردی ، یا مثلا به روش تابعی نوشتی. مشتری این چیزا سرش نمیشه ، مشتری خروجی رو می بینه.
    دقیقا همینه، منم همین رو گفتم. مشتری دنبال چیزی هست که کار کردن باهاش وسش راحت باشه و در عین حال قشنگ باشه و کارآمد باشه و البته بشه راحت تغییرات درش اعمال کرد.
    یه شوخی: ضمینه نه ، زمینه. غاتی نه ، قاطی
    مرسی ولی به هر حال وقتی آدم یه پست میزاره با طول یه صفحه، این چیزا دیگه اجتناب ناپذیره.

    راستی یه چیز دیگه: سایت چرا هی می پوکه؟ به خاطر تغییرات بنادی درشه یا چیز دیگه ایه؟

    با تشکر

  15. #15

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    نقل قولي از دوستمون mehdi311ggg

    من از این برنامه نویسا زیاد دیدم؛ وقتی کدشون رو برای دیباگ میارن پیشم (یا ازم سوال می پرسن) متوجه میشم که اصلا (واقعا اصلا) چیزی در مورد مفاهیم نمی دونن.
    بسیاری از کسانی که با دات نت یا وی بی برنامه نویسی رو شروع می کنن ، درک خوبی از اصول برنامه نویسی ندارن
    و دنیای امروز و دیروز و فردا ، مشتری برنامه ای میخواد که کار کنه ، کارشو راه بندازه ، مشکل ساز نباشه ، کار باهاش راحت باشه. اصلا هم مهم نیست براش که از WPF استفاده کردی یا با سی پلاس پلاس نوشتیش. یا این که از خفن ترین الگوریتم های زیبای مرتب سازی استفاده کردی ، یا مثلا به روش تابعی نوشتی. مشتری این چیزا سرش نمیشه ، مشتری خروجی رو می بینه.
    1- قصد جسارت ندارم
    2- حرف‌هاي شما در تناقض است. (نمونه‌هاي بالا را در كنار هم قرار دهيد)
    3- بحث "من" بي‌سواد كه وقت نكردم مفاهيم رو ياد بگيرم از بحث اصلي اين موضوع خارج است. لطفا از بحث خارج نشويد.

  16. #16

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    anubis_ir عزیز، چه تقاضی در این حرفا هست؟ من که چیزی متوجه نمی شم.

    3- بحث "من" بي‌سواد كه وقت نكردم مفاهيم رو ياد بگيرم از بحث اصلي اين موضوع خارج است. لطفا از بحث خارج نشويد.
    ؟؟؟

  17. #17

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    - از يك طرف صحبت از برنامه نويسي ساختيافته است و درك اصول مهندسي نرم افزار، از يك طرف ميگه، اي آقا بنداز بره، كي به كيه؟! اين تناقض نيست؟
    - اگر من نوعي مثلا نمي‌دونم چگونه بايد از داخل يك ترد رابط كاربر را به روز كرد، مشكل من است يا دات نت يا دلفي يا امثال اينها؟ اين تاپيك بحث دات نت است نه بحث "من" نوعي كه يك سري از مفاهيم رو مطالعه نكردم.
    بنابراين لطفا از بحث خارج نشويد.
    با تشكر

  18. #18

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    - از يك طرف صحبت از برنامه نويسي ساختيافته است و درك اصول مهندسي نرم افزار، از يك طرف ميگه، اي آقا بنداز بره، كي به كيه؟! اين تناقض نيست؟
    - اگر من نوعي مثلا نمي‌دونم چگونه بايد از داخل يك ترد رابط كاربر را به روز كرد، مشكل من است يا دات نت يا دلفي يا امثال اينها؟ اين تاپيك بحث دات نت است نه بحث "من" نوعي كه يك سري از مفاهيم رو مطالعه نكردم.
    آینده دات نت که به تنهایی ارزشی برای من و شما نداره! بلکه مهم این هست که در این مسیری که دات نت طی میکنه، ما کجا هستیم، و نسبت به تغییرات یا آینده آن، چه رفتاری از خودمان نشان می دهیم. در واقع تعامل ما با دات نت باید در طول زمان به چه شکلی باشد که ما بیشتر استفاده را از آن بکنیم، و کمترین ضرر را از اشتباهات احتمالی مایکروسافت متحمل بشیم.


    امروز صبح چیزی در حدود 3 صفحه در اینجا نوشتم، ولی بخاطر یک کلیک اشتباه، همگی پاک شدند. :-(
    یک ساعت وقتم هدر رفت! یک سری نکاتی مدت ها در ذهنم بود که ظاهرا تقدیر نبود فعلا در این تاپیک نوشته بشه.

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


    Ali: akhe in matlab az hamoon aval ke topic ro zadi, tooy zehnam bood
    Ali: vali toolani bood, hey tooy zehnam miomad, vali hese neveshtanesh nabood
    Ali: agar kasi shafahi mikhast, mitoonestam tozih bedam, vali neveshtanesh ro hosele nadashtam
    Ali: hata yeki dobar omadam benvisam, monsaref shodam
    Ali: ta emrooz sobh!
    Ali: kolan ham manzooram in bood ke mokhalefat ba .Net nist
    gates: bhah bah
    Ali: balke masale chize digaee hast
    Ali: kholase 2 safheye aval in mishod ke...
    Ali: ما به دات نت به عنوان ابزاری برای رسیدن به هدف خودمان نگاه کنیم، نه اینکه مایکروسافت از ما برای رسیدن به هدفش استفاده کنه!
    Ali: البته ممکن هست جایی مسیرمون با هم یکی باشه، ولی نباید مقهور یک شرکت خاص شد
    Ali: و گفته بودم که فقط مایکروسافت نیست، و این مسئله برای سایر شرکت ها هم صادق هست.
    Ali: بعدش به یکسری تکنولوژی ها که در دات نت اومده اشاره کردم، و اینکه از قبل در کجا وجود داشتند
    Ali: و اینکه تصور اینکه اینها نوآوری هستند، اشتباه هست
    Ali: مایکروسافت آنها را بهبود داد، ولی چیز جدیدی خلق نکرد
    Ali: و گفتم برنامه نویس باید نگاه مستقل خودش را داشته باشه
    gates: are , kheili khoube
    gates: vali kashki pak nemishod
    Ali: مثلا بحث چند هسته ایی شدن سی پی یو ها، و مشکلاتی که در صنعت نرم افزار بوجود آورده، چند سالی هست که وجود داره
    Ali: درباره اینکه متمایل شدن به سمت Functional Programming میتونه تا حدودی این مشکل را کم کنه هم از قبل بحث شده
    Ali: برنامه نویس مستقل، خودش این جریان را احساس میکنه، و به سمت مطالعه در این زمینه حرکت میکنه، حتی اگر مایکروسافت هم هنوز در این زمینه اقدام نکرده باشه
    Ali: ولی برنامه نویس مقهور مایکروسافت، وقتی مایکروسافت F#‎ را عرضه میکنه
    Ali: یادش میاد که Functional Programming اصلا چی هست
    Ali: و فکر میکنه که مایکروسافت یک ایده جدید برای رفع مشکل چند هسته ایی ها داده!
    Ali: در واقع از نظر این افراد، اگر مایکروسافت بگه چیزی هست، پس حتما هست
    Ali: اگر مایکروسافت نگه، که عالم بگه، پس نیست!
    Ali: و البته گفته بودم که شرکت های دیگه مثل گوگل هم اگر جایگاه مایکروسافت را داشته باشند، همین رفتار را می کنند
    Ali: ما خودمان باید آگاهانه رفتار کنیم.
    Ali: یعنی همیشه نگاهمون به دست مایکروسافت نباشه
    Ali: یک مثالی هم زده بودم از یک برنامه نویس حرفه ایی و معروف
    Ali: که رشته تحصیلی اش ریاضی بود
    Ali: بیش از یک دهه در تولید کامپایلر کار می کرد
    Ali: ولی بعدش یک دفعه رفت به گوگل
    Ali: و با PHP و Python کار کرد
    gates: bah bah
    Ali: بعد از چند ماه رفت به مایکروسافت، و در Windows Live مشغول شد
    Ali: با ASP و دات نت
    Ali: بعد از یک سال رفت به یک شرکت دیگه و مشغول نوشتن پلاگین برای IE شد!
    Ali: این آدم چطور می تونست از اسمبلی و کدهای سطح پایین C
    Ali: یکدفعه بره سراغ
    Ali: PHP, Python, ASP.net, IE Plug in, va...?
    Ali: یا همین اندرس هلزبرگ و دیگران
    Ali: این مثال رو زده بودم که بگم برنامه نویسان بزرگ مقهور یک تکنولوژی خاص نمیشند
    Ali: وقت خودشان را هم زیاد صرف یادگیری متدهای این کلاس و آن کلاس نمی کنند
    Ali: بلکه وقتی مفهوم را خوب متوجه بشی، اون تکنولوژی مثل موم در دستت هست
    Ali: این فردی هم که اول مثال زدم
    Ali: Danny Thorpe بود
    Ali: bgzarim.....
    Ali: parid
    Ali: :))
    gates: bah bah
    gates: agha khob haminaro benevis dg
    gates: albate az in tike
    gates: ke gofti
    Ali: hesesh nist


    گاهی اوقات فکر می کنم که اگر ما هم در این سایت PodCast داشتیم، چیز خوبی بود. آدم مجبور نبود اینقدر تایپ کنه! :-p


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

  19. #19

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    سلام دوستان،
    با ورود جناب کشاورز، تصمیم گرفتم چند خطی قلم بزنم؛

    ما به دات نت به عنوان ابزاری برای رسیدن به هدف خودمان نگاه کنیم، نه اینکه مایکروسافت از ما برای رسیدن به هدفش استفاده کنه!
    طبیعی است، اصولا" اینگونه تکنولوژیهای نوین جهت "رساندن ما به اهداف خود در بستر فن آوری های آن شرکت" پدیدار میگردند؛

    بعدش به یکسری تکنولوژی ها که در دات نت اومده اشاره کردم، و اینکه از قبل در کجا وجود داشتند
    Ali: و اینکه تصور اینکه اینها نوآوری هستند، اشتباه هست
    بله، نگاه به این مقوله بدین صورت که هر چه از مایکروسافت تراوش شود، موجودیتی نوین است، صحیح نیست، گاها" دیده شده که تکنولوژیهایی که پیش از این در محیط های دیگر وجود داشته اند، هم اکنون به عنوان یک فن آوری نو توسط مایکروسافت معرفی شده اند، اما مسلما" با نگرشی جدیدتر و امکاناتی بیشتر و آینده ای روشن تر، در واقع میتوان به این مسئله به عنوان بهره گیری از ایده های پیشین نیز نگاه کرد اما نه به طور صرف؛

    این مثال رو زده بودم که بگم برنامه نویسان بزرگ مقهور یک تکنولوژی خاص نمیشند
    به این نکته ی ظریف باید به دقت نگاه کرد، یک برنامه نویس به معنای واقعی حرفه ای، سعی میکند پیش از آنکه خود را درگیر فراگیری جزئیات زمانیکه نیازی بدان آنها نیازی نیست، بکند، با مفاهیم مأنوس گردد، برای روشنتر شدن موضوع هنگامیکه یک برنامه نویس حرفه ای با دات نت فریم ورک، اجزای آن، و چگونگی کارکرد دقیق آن آشنا شد، دیگر یافتن یک متد یا یک کلاس خاص برای یک هدف خاص و چگونگی استفاده از آن برای وی چندان زحمتی نخواهد داشت؛ تکنولوژی Silverlight ارائه میگردد، اما یک برنامه نویس حرفه ای از فردای آن شروع به خواندن یک کتاب چند صد صفحه ای در این خصوص نمیکند، بلکه سعی میکند با کلیات و مفاهیم و چارچوب "به طور دقیق" آشنا شود، در آن هنگام، اگر برای شرکت در پروژه ای مبتنی بر این فن آوری از وی دعوت به عمل آمد، میتواند کمی بیشتر بر روی جزئیات تمرکز داشته باشد،این جمله را مجددا" تکرار میکنم:
    "یک برنامه نویس حرفه ای مقهور یک تکنولوژی خاص نمیگردد."
    I've just started tweeting!
    @Alireza_Maddah

  20. #20
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    Smile نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    سلام
    والا بنده نه به اندازه اساتيد اين مجموعه اطلاعات دارم نه قدرت نوشتن اينهمه متن !
    ولي ميخوام بگم که مايکروسافت تو دنياي کامپيوتر مثل بنز ميمونه تو دنياي اتومبيل !
    بنز تو هيچ کدوم از شاخص هاي ماشين حرف اولو نميرنه ولي تو همشون حرفي برا گفتن داره ، تو بعضي جاها تکنولوژي ماله خودشه یا اگرم ماله کسه ديگس به نحوه احسنت تبديلش کرده !
    به هرکي بگي ماشين چي دوست داري ميگه به به بنز !

    ميبخشيد اگر از بحث خارج شدم .

    به نظره من کسي از اطمينان به مايکروسافت ضرر نميکنه !

  21. #21
    کاربر تازه وارد آواتار hosseinsinohe
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    WWW
    پست
    72

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    Ali: این مثال رو زده بودم که بگم برنامه نویسان بزرگ مقهور یک تکنولوژی خاص نمیشند
    Ali: وقت خودشان را هم زیاد صرف یادگیری متدهای این کلاس و آن کلاس نمی کنند
    Ali: بلکه وقتی مفهوم را خوب متوجه بشی، اون تکنولوژی مثل موم در دستت هست
    -p
    بله
    من هم اين رو قبول دارم و بعضي اوقات هم در اين مورد فكر مي كردم و با خودم مي گفتم چطوريه كه بعضي برنامه نويسي ها تقريبا به تمام جوانب كار و تكنولوژي هاي جدبد مسلط هستند و اگه بگي با فلان تكنولوژي خاص برنامه بنويس راحت مي نويسند يا اينكه همزمان به چند زبان برنامه نويسي مسلط هستند و مي تونند پروژه خودشون رو با هر كدوم از اون زبان ها كه صلاح بدونند بنويسند در حالي كه اگه بخوايم مستندات يه زبان يا تكنولوژي رو به تنهايي و به صورت كامل مطالعه كنيم كم مي ياريم و چنين چيزي تقريبا غير ممكنه.

    ولي من كه تازه كارم روش اين كار رو بلد نيستم و نمي دونم كه چه جوري به اين روشي كه گفتين زبان هاي برنامه نويسي و تكنولوژي هاي جديد رو ياد بگيرم(براي مثال به اين نكته فكر مي كنم كه اگه ما به عنوان مثال بخوايم يك كد سي شارپ خوب بنويسيم اگه بخوايم اين كد از همه لحاظ خوب باشه (مثلا امنيت) موارد زيادي در اين زمينه وجود داره كه بايد فرا گرفته بشه و از نظر من تقريبا چنين چيزي غير ممكنه).خواهش مي كنم در اين زمينه و اينكه چه طور ميشه يك زبان يا تكنولوژي رو مطالعه كرد (و تا چه حد)بيشتر توضيح بدين. ممنون مي شم
    آخرین ویرایش به وسیله hosseinsinohe : شنبه 15 فروردین 1388 در 01:19 صبح

  22. #22

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    ولي من كه تازه كارم روش اين كار رو بلد نيستم و نمي دونم كه چه جوري به اين روشي كه گفتين زبان هاي برنامه نويسي و تكنولوژي هاي جديد رو ياد بگيرم(براي مثال به اين نكته فكر مي كنم كه اگه ما به عنوان مثال بخوايم يك كد سي شارپ خوب بنويسيم اگه بخوايم اين كد از همه لحاظ خوب باشه (مثلا امنيت) موارد زيادي در اين زمينه وجود داره كه بايد فرا گرفته بشه و از نظر من تقريبا چنين چيزي غير ممكنه).خواهش مي كنم در اين زمينه و اينكه چه طور ميشه يك زبان يا تكنولوژي رو مطالعه كرد (و تا چه حد)بيشتر توضيح بدين.
    خب، شما در پست تان یک مفهوم مثل امنیت را مثال زدید؛ همین مثال را در نظر بگیرید، شما تا زمانی که با مفهوم امنیت در سیستم های کامپیوتری آشنا نباشید، یادگیری این مطلب که مثلا استفاده از فلان کلاس در #C امنیت برنامه شما را افزایش میده، یا فلان کلاس امنیت برنامه شما را به چالش میکشه، کار چندان مفیدی نیست.

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

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

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

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


    حالا، هر چه تسلط شما روی سطوح اولیه مثال بالا بیشتر باشه، انعطاف پذیری شما در اون زمینه هم بیشتر هست. هر چه شما بیشتر با مباحث امنیتی بطور کلی آشنا باشید، بحث امنیت در ویندوز یا لینوکس برای شما قابل فهم تر هست. هر چه با امنیت در ویندوز بیشتر آشنا باشید، فهم مباحث امنیتی دات نت یا Win32 برای شما آسان تر هست، و هر چه با امنیت در دات نت بیشتر آشنا باشید، استفاده شما از قابلیت های زبان برنامه نویسی دات نتی مورد نظرتان (مثلا #C یا VB.Net) کارآمدتر هست.

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


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

  23. #23
    کاربر تازه وارد آواتار hosseinsinohe
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    WWW
    پست
    72

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    تا اينجا هم قبول دارم (البته از اولش قبول داشتم) و هم تشكر فراوان مي كنم از اينكه توجه كرديد و جواب داديد.

    اما يه چيز ديگه:
    ممكنه پروژه اي با يك زبان خاص به شما داده بشه و شما هم قبول كنيد كه يا اون را بنويسيد يا اگه يك نرم افزار موجود هست اون رو با آن زبان و ... توسعه بديد.مي دونيد كه وقتي بخوايد يك زبان و زير و بم اون رو ياد بگيريد تا بتونيد يك كد خوب بنويسيد طبيعتا زمان خاص خودش رو احتياج داره(وقتي كه يك پروژه داريم و يك زبان كه اصول و كمي هم جزييات اون رو مي دونيم). ممكنه يك كد رو خوب بنويسيد ولي اگه يه كم بيشتر مطالعه مي كرديد مي ديديد كه همون كد رو مثلا اگه چند خطه مي تونستيد تو يك خط بنويسيد يا اينكه اون كد جديد به مراتب و از لحاط هاي مختلف بهتر از اون كدي بوده كه شما نوشتيد.
    آيا اين مهم نيست يا اينكه بازم اين راه حل خاص خودش رو داره.

  24. #24

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    آيا اين مهم نيست يا اينكه بازم اين راه حل خاص خودش رو داره.
    مهم هست. مسئله اینه که اگر شما اصول و مفاهیم را ول کنید، و مستقیم برید سراغ جزئیات یک زبان برنامه نویسی خاص، نه اون جزئیات را درست متوجه میشید، نه می تونید از آن زبان استفاده درستی بکنید! کل کار شما میشه حفظ کردن یک سری مطالب، بدون آنکه بفهمید مفهوم آنها دقیقا چی هست. نمونه اش همین شی گرایی در #C هست. بخش عمده ایی از برنامه نویسان #C فقط میدونند که #C شی گرا ست. خب، آیا این برنامه نویسان هم می دانند شی گرایی یعنی چی؟! می دانند چطور باید یک پروژه را بصورت شی گرا تحلیل/طراحی/ و پیاده سازی کرد؟ همین که فرد بخونه فلان عبارت در #C یک متد را بصورت virtual تعریف میکنه، یا فلان عبارت یک عضو کلاس را بصورت private تعریف میکنه، آیا نشان درک فرد از مفهوم شی گرایی هست؟!
    این به معنی آن نیست که کاربر نباید هیچ چیز مخصوص به یک زبان برنامه نویسی خاص را یاد بگیره! بلکه منظور این هست که هر چقدر فرد اصول مربوطه را بهتر متوجه شود، و وقت بیشتری روی آن بگذارد، هم می توانند توابع و کلاس های آن زبان برنامه نویسی خاص را بهتر متوجه شود، هم اگر نیاز شد با زبان برنامه نویسی دیگه ایی برنامه نویسی کند، راحتر می تواند به آن زبان سوئیچ کند.


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

  25. #25
    کاربر تازه وارد آواتار hasan1896
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اهواز
    پست
    40

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    من واقعا از این پست ها استفاده کردم و از اینکه از همون ابتدا با syntax زبان c آشنا شدم خیلی خوشحالم چون زمانی که خواستم برنامه نویسی رو با زبونهای ویژوالی شروع کنم رفتم سراغ #C عزیز و واقعا از نوشتن برنامه با این زبون قوی و محبوب لذت میبرم

  26. #26

    نقل قول: بحث بر روی دات نت و آینده ی پیش روی آن

    تا آخر 2010 پروژه دات نتی دارم و توی این نه ماهی که باهاش پروژه داشتم نظرم این هست که دات نت داره یه Catch-Up Game با جاوا بازی میکنه و نوآوری ها و پروژه هایی که داخلش کلید خورده هم معمولا ندیده ام از ورژن 2.0 رد کنند.

برچسب های این تاپیک

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

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