سؤالي از طريق ايميل از من پرسيده شده كه ترجيح ميدهم آنرا به صورت باز در اينجا پاسخ دهم. اگر فرض كنيم همين فردا مجبور شويم براي عمدهي كارهاي خود لايسنس تهيه كنيم، آيا ميتوان از ابزارهاي موجود دات نت در يك شركت تازه تاسيس (startup) استفاده كرد؟ آيا هزينهي كار با ويندوز واقعا بالا است؟ آيا ...
همچنين عموم تازه واردان به اين جمع هم از ليست امكانات رايگان مهيا كه فقط پس از خريد يك لايسنس اوليه ويندوز در اختيار آنها خواهند بود، بياطلاع هستند. بنابراين بد نيست اينها را با هم ليست كنيم.
سؤال: هزينه استفاده از دات نت فريم ورك چقدر است؟
پاسخ: رايگان است! از زمان ارائه ويندوز سرور 2003 به بعد، دات نت فريم ورك به عنوان يكي از كامپوننتهاي اصلي ويندوز عرضه ميشود و هر شخصي كه مجوز اصلي استفاده از ويندوز را خريده باشد، به صورت خودكار مجوز استفاده از دات نت فريم ورك را هم خواهد داشت و نيازي نيست بابت آن هزينهي خاصي را متقبل شود. براي مثال ويندوز سرور 2003 ، دات نت 1.1 سرخود است و ويندوز 7 و ويندوز سرور 2008 ، دات نت سه و نيم سرخود هستند.
سؤال: آيا براي توسعهي دات نت حتما نياز است تا ويژوال استوديوي چند هزار دلاري را خريد؟!
پاسخ: خير! ويژوال استوديو، نسخههاي مختلفي دارد و حتما نيازي نيست تا از نسخهي ultimate آن استفاده كنيد. براي مثال نسخهي Express آن كه توسط خود مايكروسافت ارائه شده، رايگان است (+). مهمترين تفاوت آن با نسخهي ultimate در اين است كه افزونه پذير نيست و اين مورد شايد براي خيليها اصلا اهميتي نداشته باشد چون عموما افزونههاي بد نوشته شده، باعث ناپايداري IDE ميشوند يا مثلا نسخهي ultimate به همراه MSTests جهت انجام سادهتر unit testing ارائه شده كه در نسخهي Express وجود ندارد، اين هم مهم نيست چون فريم وركهاي سورس باز آزمون واحد ديگري مانند Nunit ، MBUnit و غيره هم وجود دارند كه اصلا نيازي به هيچ IDE خاصي جهت كار ندارند و مسايلي از اين دست. يا براي سورس كنترل ميشود از SVN ، Git ، مركوريال و غيره هم هميشه استفاده كرد. اينها هم مستقل هستند از نوع IDE مورد استفاده.
همچنين يك گروه مستقل، IDE ديگري را به نام SharpDevelop تهيه كردهاند كه بسيار با كيفيت بوده و از همه مهمتر سورس باز است و رايگان. خيليها از كنترلهاي اين IDE در پروژههاي خودشون استفاده ميكنند (مثل syntax highlighting همراه آن و غيره)
در كنار تمام اينها، هيچ وقت دقت كردهايد كه در پوشه دات نت نصب شده در ويندوز چه چيزهايي يافت ميشوند؟! مثلا به آدرس C:\Windows\Microsoft.NET\Framework\v4.0.30319 مراجعه كنيد. فايل csc.exe همان كامپايلر خط فرمان سي شارپ است. كاري هم كه IDE ها انجام مي دهند اين است كه ليست فايلهاي شما رو به صورت آرگومان به اين برنامه ارسال ميكنند. اين اتوماسيون به صورت دستي هم ميسر است. IDE شما ميشود مثلا برنامه رايگان notepad++ ايي كه syntax highlighting تمام زبانهاي دات نتي را پشتيباني ميكند. سادهترين سيستم build شما يك فايل bat خواهد بود كه csc.exe را مديريت ميكند.
علاوه بر تمام اينها، MonoDevelop را هم اضافه كنيد. اين IDE ، نسخهي ويندوزي هم دارد.
سؤال: من شنيدم دات نت فقط با SQL Server كار ميكنه. اين هم كه گرونه؟!
پاسخ: خير! نسخهي رايگان SQL server به نام SQL Server express هم موجود است و در نسخهي 2008 R2 آن محدوديت حجم بانك اطلاعاتي آن به 10 گيگ رسيده كه براي اكثر كارها تا چند سال كافي است (+).
ضمنا قبلا در مورد ليست بانكهاي اطلاعاتي قابل استفاده توسط دات نت فريم ورك مطلب نوشتم و در سايت موجود است. بنابراين دات نت اصلا به SQL Server محدود نيست (+).
سؤال: دات نت سورس بسته است! نه اين اصلا خوب نيست؛ آينده نداره!
پاسخ: خير. سورس كامل دات نت فريم ورك تحت مجوزهاي MS-PL و MS-RSL چندسالي هست كه منتشر شده و اين مجوز (MS-PL) جزو مجوزهاي معتبر و پذيرفته شده سورس باز است (+).
لينك دريافت
خبر مرتبط
ضمنا كارهاي سورس باز مايكروسافت به اين يك قلم ختم نميشود. براي مثال به سايت CodePlex مراجعه كنيد تا سورس كامل ASP.NET MVC نگارش 3 را دريافت كنيد(+)، همينطور مجموعه كنترلهاي WPF و Silverlight و غيرهاي كه تهيه كردهاند (+) و بسياري موارد ديگر.
سؤال: دات نت كه فقط روي ويندوز اجرا ميشه. نه؛ اين خوب نيست!
پاسخ: خير! پروژهاي سابقا تحت عنوان Mono وجود دارد/داشت (+) كه توسط شركت ناول اداره ميشد و كار آن انتقال دات نت به لينوكس و ساير سكوهاي كاري بود. پس از فروخته شدن ناول، اين پروژه به ظاهر متوقف شد، اما تيم اصلي آن تحت نام ديگري به نام زاماريان (+) دوباره شروع به كار كرده و جالب اينجا است كه تا دات نت 4 را هم تحت لينوكس پشتيباني ميكند(+). جهت اطلاع ASP.NET رو به صورت كامل ميتونيد تحت لينوكس اجرا كنيد (+). همچنين ساير موارد پشتيباني شده رو.
سؤال: وضعيت بازار كار دات نت در ايران چطور است؟
پاسخ: آقاي محبي برنامهاي رو درست كردهاند به نام كارويس كه من مدتي است مشترك فيد آن هستم تا حدودا از نيازهاي عمومي بازار كار برنامه نويسي ايران اطلاع كسب كنم (+). نكتهي جالبي كه در فيد اين برنامه مشخص است، درخواست بالاي نياز به برنامه نويس دات نت در كشور است. بالاي 80 درصد آگهيها نياز به برنامه نويس دات نت دارند.
در كنار تمام اين مباحث، بحث «هزينه يادگيري و آموزش» را هم اضافه كنيد. شايد يكي بياد بگه CPP فلان، اون يكي بهمان! ولي اين سؤالات هم براي من نوعي كه تيم گوگل كروم نوشته شده با CPP رو مديريت نميكنم (و به قول اونطرف آبيها يك Average Joe هستم!) مهم هستند:
- چندتا كتاب فارسي آموزشي خوب در اين زمينه در كشور موجود است. من يادم مياد اولين كتاب VC منتشر شده در كشور پس از 450 صفحه به شما ياد ميداد چطور با MFC دكمه به صفحه اضافه كنيد، چطور منو درست كنيد و همين! اين شد برنامه نويسي CPP!
- چند عدد انجمن رفع اشكال فعال را كه تاريخ آخرين به روز رساني و پرسش و پاسخ آنها مثلا ديروز بوده را در مورد زبان xyz ميتوان يافت؟
- اگر به مشكل برخوردم، كسي هست به داد من برسه؟ چه زماني؟! مثلا هفته بعد يا تا آخر امروز؟
- چندتا وبلاگ فعال در اين زمينه موجود است؟ آيا هستند كساني كه در اين زمينهها فعالانه مطلب منتشر كنند؟ اطلاع رساني كنند؟
- اگر كارمند برنامه نويس شركتي امروز قهر كرد، مدير بخش توسعه تا چه زماني ميتونه يك نفر رو جايگزين اون كنه؟ مثلا تا آخر ماه يا تا آخر سال؟! اون هم با چه كيفيتي؟ با چه دستمزدي؟
و اينجا است كه وضعيت دات نت در ايران بسيار مطلوبتر از موارد مشابه به نظر ميرسد. از نظر تعداد كتاب فارسي مهيا، تعداد انجمن، تعداد وبلاگ فعال و غيره.