PDA

View Full Version : چرا #C اینقدر خاطر خواه پیدا کرده؟



Developer Programmer
پنج شنبه 02 آبان 1387, 11:14 صبح
دلمون خوش بود چند ساله بی دردسر و راحت با دلفی برنامه می نویسیم... دیدیم خدمت داره تموم میشه، نگاهی به آگهی های روزنامه انداختیم... حاجی! همه شرکتها و موسسات، برنامه نویس #C با حداقل 5-3 سال سابقه کار میخوان:ناراحت:

اول یه تشکر بی حد و حساب از کسایی که خودشون رو متولی امور میدونن و شب، تخت میگیرن میخوابن وصبح تو میکروفن داد میزن، میکنم
دوم میخوام بپرسم # C واقعا چی داشته که اینطور عزیز شده؟! واقعا ارزش داره یا بازار 500 تومنی ایران همینجوری یه چیزی رو پرچم کرده؟

Alen
پنج شنبه 02 آبان 1387, 11:50 صبح
سلام ،
شايد بشه گفت بزرگترين مزيت #C
true object oriented بودن آن است
البته من بيشتر از ديد يه برنامه نويس ميتونم صحبت كنم
راحتي كار با IDE قدرتمندي كه توسط مايكروسافت ارائه شده
باز بودن دست برنامه نويس براي انجام كارهاي مختلف با راحتي هرچه تمام تر
وشايد خلاصه بشه اون شعار مايكروسافت رو گفت:
قدرت ++C ‏، راحتي VB

kh1387
پنج شنبه 02 آبان 1387, 14:03 عصر
همون طوری که دوستمون گفتند سی شارپ به راحتی کار افزوده حتی کاری کرده که آموزشش به مراتب راحت تر از بقیه زبانها شده.
شاید خیلی اینی که می گم مزیت نباشه اما همین علامت تساوی در دلفی شما باید حتما := بذاری ولی در سی شارپ فقط =
که خودش وقت کمتری می بره.
البته مزایای دیگری هست که اگه کد نویسی اش رو شروع کنید دیگه به سمت دلفی نخواهید رفت.
اگرچه به تمامی دلفی کاران عزیز احترام می ذارم.

Developer Programmer
پنج شنبه 02 آبان 1387, 14:51 عصر
شايد بشه گفت بزرگترين مزيت # C
true object oriented بودن آن است
تا اونجایی که من میدونم دلفی هم تو شی گرایی حرفهایی خوبی واسه گفتن داره و اگه اشتباه نکنم شی گرایی اش کامله

اما همین علامت تساوی در دلفی شما باید حتما := بذاری ولی در سی شارپ فقط =
که خودش وقت کمتری می بره.
Syntax زبانهای برنامه نویسی از دو جهت بررسی میشه: خوانایی و نوشتاری
زبانی مثل دلفی به خوانایی برنامه اهمیت میده و زبانی مثل C به سریع نوشتن کد اهمیت میده.

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

راحتي كار با IDE قدرتمندي كه توسط مايكروسافت ارائه شده
زبانهای زیادی هستن که واسه هر کدومشون چندین IDE با قابلیتهای متنوع نوشته شده اما چون فلان IDE راحته دلیل بر برتری اون زبان نیست

دوستان همه چیزهایی که میگین یه جور مزیته... من دنبال دلیل برتری زبان به سایر زبانها هستم.میخوام بدونم چرا همه#C میخوان؟

Salar Ashgi
پنج شنبه 02 آبان 1387, 15:05 عصر
سلام بنظر من ، یکی از مهمترین و شاید بهترین مزیت های سی شارپ ، دارا بودن بیش از

3000 کلاس آماده برای راحتی کاربر است ، به بیان بهتر ، سی شارپ اومده بجای اینکه

برنامه نویس بیاد وقتش رو صرف نوشتن یکسری کلاسها ، توابع و ... کنه ، بیاد ذهنش و

فکرش رو بذاره رو الگوریتم !!! من زیاد دلفی کار نکردم ، ولی مثلا تو سی پلاس پلاس برای

تبدیل یک عدد به رشته (بدون استفاده از توابع آماده) چقدر وقت صرف میشد و چقدر باید

کد می نوشتیم ولی همین متود ToString سی شارپ چقدر کار رو راحت کرده ، البته

این ساده ترین برتری اش بود ، وقتی که به مباحث پیشرفته شی گرایی و ... میرسیم ، این

برتری عمق بیشتری پیدا میکند !!

Mehdi Asgari
پنج شنبه 02 آبان 1387, 15:36 عصر
و اگه اشتباه نکنم شی گرایی اش کامله
دلیل ؟

کسی نگفته یکی از این دو تا زبان برتره. دلفی فوق العاده است. سی شارپ هم همینطور.
جاهایی هم هست که زور دلفی بیشتره (مثل برنامه نویسی برای ویندوز (native Win32)

بعدشم ، سی شارپ بعد از دلفی و جاوا و پایتون و ... اومد. طراح سی شارپ (Anders Hejlsberg) قبلا دلفی رو طراحی کرده بود و بالطبع در طراحی این زبان از ضعف ها و قوت های زبان های پیشین درس و کمک گرفته.
فراموش هم نکن که مایکروسافت سی شارپ رو بیرون داد (توضیح بیشتر نمیدم. خودت میدونی چی میگم)
رفتن بزرگانی مثل Danny Thorphe (http://en.wikipedia.org/wiki/Danny_Thorpe) ، Anders Hejlsberg (http://en.wikipedia.org/wiki/Anders_Hejlsberg) و Chuck Jazdzewski از Borland (که همه رفتن مایکروسافت)
هم بی تاثیر نبود.

(نمی دونم ربط داره یا نه ولی Anders Hejlsberg در سال 2001 برای طراحی سی شارپ جایزه ی Dr. Dobb's Excellence in Programming رو دریافت کرد (http://www.ddj.com/184404602))

manitack
پنج شنبه 02 آبان 1387, 15:58 عصر
از نظر قدرت و کارایی من دلفی و سی شارپ رو در یک سطح دیدم اما برنامه نویس دلش میخواد بعد از پیدا کردن راه حل سریع کد بنویسه و سریع کد بخونه. من سی شارپ رو روانتر دیدم. و همینطور که دوستان گفتند
نامی مثل مایکروسافت کار خودش رو میکنه.

mrm0101
پنج شنبه 02 آبان 1387, 20:20 عصر
سلام . به نظر من اصلا اهمیت نداره سی شارپ یا دلفی مهم اینه شما برای یه پروژه قرار داد می بندید بتونید به موقع و کامل برنامه رو تحویل بدید . برای کارفرما چه اهمیتی داره شما با چی می نویسید .

برای برنامه نویسی winapplication دلفی فوق العاده است خصوصا با کامپونت های متنوع و فوق العاده در بازار

برای برنامه نویسی تحت وب سی شارپ راحت تر است

موفق باشید

مهران رسا
پنج شنبه 02 آبان 1387, 22:05 عصر
حاجی! همه شرکتها و موسسات، برنامه نویس #C با حداقل 5-3 سال سابقه کار میخوان:ناراحت:


هنوز هم دیر نشده . NET. رو واسه 4-3 سال آینده یاد بگیر ...

رجوع شود به امضا ...

Alen
پنج شنبه 02 آبان 1387, 22:28 عصر
تا اونجایی که من میدونم دلفی هم تو شی گرایی حرفهایی خوبی واسه گفتن داره و اگه اشتباه نکنم شی گرایی اش کامله

بله تو خیلی از زبانهای دیگه هم میشه شی گرا کار کرد ولی از دید کارشناسان تا اونجا که یادمه فقط #C و java به طور کامل و صحیح object oriented هستند . به عنوان مثال شاید در ++C بشه کارهایی کرد که در #C نشه مثل تعریف کلاس دوست یک کلاس ولی باید دید آیا لزوما این کار ضرورتی دارد؟
از دید کارشناسان #C یکی از زبانهایی است که شکل صحیحی از شی گرایی در آن پیاده سازی شده
در مورد IDE حق با شماست ولی من گفت که دارم از دید یک برنامه نویس صحبت میکنم و کمتر IDE رو با قدرت IDE که در VS وجود داره دیدم
البته دلایل زیاده که خیلی هاش رو دوستان اشاره کردن
نباید وجود محیط یکپارچه NET. رو هم فراموش کرد ، البته من بر خلاف گفته دوستون اعتقاد دارم اگه صرفا قرار باشه برای سیستمی که از windows استفاده میکنه کد نوشته شه #C بهترین انتخابه
ذکر این نکته بی مورده که انتخاب یکی از این زبانها برای کدنویسی کاملا سلیقه ای هستش شاید یکی با #C بتونه راحت تر کار کنه و یکی هم با دلفی وشاید هر کدو م قابلیتهایی داشته باشند که دیگری نداشته باشه ولی به نظر می رسه آینده از آن #C باشه
http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29
http://www.gekko-software.nl/DotNet/Art01.htm

mdssoft
پنج شنبه 02 آبان 1387, 22:49 عصر
وشايد خلاصه بشه اون شعار مايكروسافت رو گفت:
قدرت ++C ‏، راحتي VB
اما هنوز ++C حرف اول رو می زنه ، به خصوص که نیازی نیست حتما رو Windows اجرا بشه
تقریبا تمام Game ها رو با ++C می نویسن
به نظرم هنوز خیلی راه مونده تا #C جای ++C رو بگیره

Alen
پنج شنبه 02 آبان 1387, 23:10 عصر
بله حق با شماست هنوز ++C قدرتمند تره و برای بعض از کارها (مثل استفاده از OpenGL) بهتر
و فراموش نکنیم #C هنوز اول راهه (یکی از ضعف هاش همینه)

linux
پنج شنبه 02 آبان 1387, 23:11 عصر
اما هنوز ++C حرف اول رو می زنه ، به خصوص که نیازی نیست حتما رو Windows اجرا بشه
تقریبا تمام Game ها رو با ++C می نویسن
به نظرم هنوز خیلی راه مونده تا #C جای ++C رو بگیره
C# نیامده است که جای C++ را بگیرد و قرار هم نیست که بگیرد.

Mehdi Asgari
پنج شنبه 02 آبان 1387, 23:13 عصر
ولی از دید کارشناسان تا اونجا که یادمه فقط #C و java به طور کامل و صحیح object oriented هستند
منبع ؟


اعتقاد دارم اگه صرفا قرار باشه برای سیستمی که از windows استفاده میکنه کد نوشته شه #C بهترین انتخابه
چرا ؟ رو سیستم هایی که دات نت ندارن چی ؟ اونجا که فقط دلفی و C++ باید استقاده کرد. تازه VB .NET هم هست.


به نظرم هنوز خیلی راه مونده تا #C جای ++C رو بگیره
قرار نیست زبانی ، جای زبان دیگه رو بگیره.

امیدوارم اینجا باز جایی نشه برای جنگ طرفداران زبان ها.

linux
پنج شنبه 02 آبان 1387, 23:16 عصر
دلمون خوش بود چند ساله بی دردسر و راحت با دلفی برنامه می نویسیم... دیدیم خدمت داره تموم میشه، نگاهی به آگهی های روزنامه انداختیم... حاجی! همه شرکتها و موسسات، برنامه نویس #C با حداقل 5-3 سال سابقه کار میخوان:ناراحت:

اول یه تشکر بی حد و حساب از کسایی که خودشون رو متولی امور میدونن و شب، تخت میگیرن میخوابن وصبح تو میکروفن داد میزن، میکنم
دوم میخوام بپرسم # C واقعا چی داشته که اینطور عزیز شده؟! واقعا ارزش داره یا بازار 500 تومنی ایران همینجوری یه چیزی رو پرچم کرده؟
دلیلیش سرمایه گذاری مایکروسافت روی دات نت هست که به مرور جز جدایی نشدنی از سیستم عاملهای ماکروسافت خواهد شد.
در این بین هم C# با توجه به شباهت ساختاری خود به C/C++ و جاوا و delphi تعداد زیادی از برنامه نویسان را جذب کرد، بودن دات نت به همراه چندین هزار کلاس آماده و محیط مناسب طراحی نرم افزار و ابزارهای مناسب در رشد این روند بسیار اثر گذار بودند.
در آینده نیز به احتمال زیاد این رشد زیاد تر خواهد شد، اگر برای ویندوز برنامه می نویسید از .نت و سی شارپ نباید غافل بشوید.

jaza_sa
پنج شنبه 02 آبان 1387, 23:54 عصر
یکی از دلایلی که C# مطرح شده اینه که ،
این زبان یک زبان جدیده
تاحدود زیادی مطابق با نیاز های روز بازار و برنامه نویسان تجاریه
یادگیری اون آسونه و برنامه نویس خیلی راحت میتونه باش ارتباط برقرار کنه

البته ناگفته نماند که زبانهایی مثل Delphi و Java خارج از این حوزه نیستند و هر کدوم جایگاه خاص خودشون رو دارن
بهتره تعصب روی یک زبان خاص نداشته باشیم ، چرا که جلوی پیشرفتمون رو میگیره دیدمون رو نصبت fi حوادث این جامعه محدود میکنه
طبع بازار در هر دوره ای از زمان جهت گیری خاصی پیدا میکنه و این جزء خصوصیات اونه.
و ...

vcldeveloper
جمعه 03 آبان 1387, 06:57 صبح
true object oriented بودن آن استtrue نه، PURE! در واقع #C یک زبان Pure Object-Oriented هست، یعنی فقط از برنامه نویسی شی گرا پشتیبانی میکنه. این "فقط" لزوما یک حسن محسوب نمیشه. البته درباره اش بحث هست، بعضی ها میگن چون برنامه نویس مجبور هست که شی گرا کار کنه، خوب هست. بعضی ها هم میگن عملا فرق چندانی نداره، چون همین الانش هم توی #C و جاوا برنامه نویسان به شکل گسترده ایی از Class function ها و Static Property ها استفاده می کنند، که میشه همون برنامه نویسی Structural سابق با یک روکش Object-Oriented. در واقع اجبار برنامه نویس به اینکه حتما همه چیز را در کلاس ها تعریف کنه، میتونه انگیزه خوبی باشه که برنامه نویس OOP یاد بگیره، ولی نمیتونه اون فرد را لزوما برنامه نویس شی گرا کنه، مثلا همین الان میتونید بین کاربران ایرانی #C یک آزمون برگزاری کنید و ببینید چند نفرشون واقعا با مفاهیم شی گرایی آشنا هستند، چند نفرشون همینطوری یک چیزهایی یاد گرفتند و هنوز هم تعریف دقیق از کلاس، Interface، وراثت، و... بلد نیستند.

------------------------

اون چیزی که باعث محبوبیت #C شد، در وهله اول خود شرکت مایکروسافت بود. ببین قبل از اینکه دات نت بیاد، اوضاع جامعه برنامه نویسی در سکوی ویندوز به چه شکل بود؟ تعداد بسیار بسیار زیادی برنامه نویس VB وجود داشت، در کنار آنها هم تعداد زیادی برنامه نویس ++Visual C. محیط توسعه ایی مثل دلفی با اینکه پرطرفدار بود، ولی به نسبت این دو زبان که در قالب محیط توسعه ایی بنام Visual Studio عرضه میشند، اقلیت محسوب میشد. این زبان ها در برابر دلفی حرفی برای گفتن نداشتند، چون دلفی تمام قابلیت های Visual C++ بجز درایور نویسی سطح کرنل داشت، یک محیط توسعه کاملا RAD بود، و برنامه نویسانش نیاز نداشتند مثل برنامه نویسان VC++ برای ایجاد رابط کاربر مشقت بکشند، یا از تلفیق VB و ++VC استفاده کنند. دلفی یک کتابخانه کاملا شی گرا داشت که بسیاری از توابع API ویندوز را در قالب کلاس های مختلف ارائه می کرد، در کنار آن، به برنامه نویس اجازه می داد که در صورت تمایل این کتابخانه را دور بزند، و مستقیما با توابع API کار کند، دلفی از COM و Corba پشتیبانی می کرد، کدهای تولید شده توسط کامپایلر آن فوق العاده Optimized بودند و کارایی در حد کدهای VC++ ارائه می کردند. اما دو نکته درباره دلفی وجود داشت که مانع از این می شد که بسیاری از برنامه نویسان ++VC به آن گرایش پیدا کنند:
1- Syntax پاسکال: سالها بود که برنامه نویسان حرفه ایی عادت کرده بودند که هر زبان برنامه نویسی جدیی را با Syntax زبان C ببینند. اصولا پاسکال همیشه یک زبان دانشگاهی بود، نه یک زبان حرفه ایی. این آندرس هلزبرگ بود که با ارائه Turbo Pascal توانسته بود پاسکال را احیا کند، اما آن زمان فرصتی برای ترغیب برنامه نویسان حرفه ایی به استفاده از Syntax پاسکال وجود نداشت. دلفی هم از همان Syntax استفاده می کرد، و این برای بسیاری از برنامه نویسان C و VC++ غیرقابل قبول بود. این افراد دچار نوعی تعصب شدید روی Syntax زبان C بودند و هر چیزی که Syntax مشابهی نداشت را با VB مقایسه می کردند! کار بجایی کشید که حتی بورلند مجبور شد نسخه ایی از دلفی با Syntax زبان ++C عرضه کند، اما این نسخه چندان موفق نبود، چون عملا برای هر کاری به دلفی وابسته بود.

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

علاوه بر این دو عامل اصلی، پشتیبانی های مایکروسافت از دو زبان ساخت خودش هم قابل توجه بود، مثلا در اغلب موارد برنامه نویسان VC++ دغدغه نصب Runtime زبان برنامه نویسی خودشان در سیستم عامل مقصد را نداشتند، چون مایکروسافت آن را خود به خود به سیستم عامل های خود اضافه می کرد. بسیاری از قابلیت های مورد نیاز آنها به همین شکل در ویندوز تعبیه میشد.

اما در اواخر دهه نود قرن بیستم دلفی به یک خطر واقعی تبدیل شده بود؛ IDE ارائه شده توسط مایکروسافت حرفی برای گفتن در برابر IDE دلفی نداشت، دلفی معماری یکپارچه ایی برای کار با بانک های اطلاعاتی در کتابخانه خود داشت که به آن امکان می داد با هر نوع بانک اطلاعاتی کار کند، بدون آنکه برنامه نویس درگیر جزئیات متفاوت این بانک ها شود. از طرفی دلفی امکانات بسیار زیادی برای توسعه سیستم های Enterprise عرضه می کرد. برنامه نویسان می توانستند به راحتی از چارچوب ارائه شده برای ساخت نرم افزارهای n-tier استفاده کنند، پشتیبانی از XML، و Transform کردن داده های XML به قالب های مختلف، پشتیبانی از ساخت انواع Web Application، امکانات وسیع در زمینه توسعه کامپوننت های جدید، همگی از مزایای بودند که برنامه نویسان ++VC غالبا از آنها بی بهره بودند. در واقع برنامه نویسان ++VC برای داشتن همچین قابلیت هایی یا باید کتابخانه های گرانقیمتی را خریداری می کردند، یا خودشان سالها به توسعه کتابخانه هایشان می پرداختند. در همچین شرایطی، تنها عاملی که موجب فروش بیشتر مایکروسافت میشد، عدم آشنایی بسیاری از مشتریان مایکروسافت با دلفی بود.
در همچین شرایطی مایکروسافت بخوبی متوجه جهت گیری درست دلفی شد، پس سعی کرد در همان سمت قدمهای اساسی بردارد. برای این کار در اولین قدم برنامه نویسان اصلی دلفی، و از جمله اندرس هلزبرگ با قیمت های بسیار بالا خریداری شدند. کار بجایی کشید که بورلند به دادگاه شکایت کرد، ولی مایکروسافت در یک توافق محرمانه که هیچ وقت افشاء نشد، نه تنها بورلند را از شکایت منصرف کرد، بلکه پروژه های موجود در لابراتورهای بورلند را نیز خریداری کرد!
اندرس هلزبرگ مامور ساخت نسخه ایی مایکروسافتی از جاوا شد. محصول مربوطه ساخته شد، ولی هیچ وقت محبوبیت گسترده ایی پیدا نکرد. بالافاصله اندرس هلزبرگ به عنوان یکی از برجسته ترین طراحان محصول جدید مایکروسافت مشغول به کار شد. محصولی که شباهت های بسیار زیادی به دو کار قبلی هلزبرگ شباهت داشت؛ دلفی، و جاوا. کتابخانه ایی مشابه VCL دلفی طراحی شد، ولی با توجه به اینکه تقریبا یک دهه از طرح اولیه VCL می گذشت، طرح جدید فقط از نکات مثبت آن بهره برداری کرد، البته کتابخانه جدید بسیار گسترده تر از VCL طراحی شد. زبانی هم مشابه زبان جاوا ایجاد شد که بسیاری از نکات مثبت جاوا و دلفی را با هم ادغام می کرد. سکویی هم برای افزایش نفوذ ویندوز، و مقابله با نفوذ گسترده جاوا طراحی شد که دقیقا نقطه مقابل پلت فرم جاوا (نه فقط زبان جاوا) قرار می گرفت.

محصول جدید عرضه شد، ولی باید برای آن مشتریانی فراهم میشد. VB دارای کاربران بسیاری بود که باید کاربرانش قربانی محصول جدید می شدند. نرم افزاری که به اصطلاح نسخه جدید VB بود، چنان متفاوت از نسخه های پیشین بود که برنامه نویسان VB برای یادگیری آن باید تقریبا تمام دانش فعلی خود در زمینه زبان VB را دور می ریختند. این امر باعث شد که عمده ترین مشتریان محصولات برنامه نویسی مایکروسافت در یک بزرخ واقعی بگیرند. سالها بود که مایکروسافت در VB بسیاری از امور را برای آنها ساده کرده بود، و برنامه نویسان VB با بسیاری از مفاهیم موجود در سایر زبان های برنامه نویسی آشنا نبودند. این افراد یا باید سراغ یک محیط توسعه جدید می رفتند، یا مسیری که مایکروسافت پیش روی آنها گذاشته بود را قبول می کردند. اکثرا راه حل دوم را انتخاب کردند، چون هر چند VB.Net خیلی با VB متفاوت بود، ولی شباهت های آن با VB بیشتر از دلفی یا ++C بود.
گروه دوم برنامه نویسان ++VC بودند. راضی کردن این گروه کار آسانی نبود، این افراد میلیون ها خط کد در ++VC داشتند، و تعداد بسیاری کتابخانه برای کارهایمختلف خود تهیه کرده بودند. مایکروسافت سعی کرد از یک طرف برای مدتی سرنوشت ++VC را در هاله ایی از ابهام قرار بده. برای مدتی برنامه نویسان ++VC از اینکه نسخه جدیدی تحت Win32 عرضه شود، نا امید شده بودند؛ از طرف دیگه مایکروسافت امکانات بسیار بهتری برای مهاجرت برنامه نویسان ++VC مهیا کرده بود، پس بالاخره تعداد بسیاری از برنامه نویسان ++VC تصمیم به مهاجرت به دات نت گرفتند.
بحث جایگزین شدن دات نت با Win32 هم توانست عده ایی را که هنوز مطمئن نبودند، به سمت دات نت بکشاند.
ولی یک دلیل عمده دیگه هم دخیل بود، افزایش روز افزون برنامه های تحت وب، و قابلیت های ASP.Net. نیاز به توسعه نرم افزارهای تحت وب از جمله عوامل اصلی بود که برنامه نویسان سکوی ویندوز را به سمت ASP.Net و خودِ سکوی دات نت می کشاند. در واقع بسیاری از افرادی که حاضر نبودند دات نت را به عنوان جایگزینی برای Win32 در عرصه دسکتاپ قبول کنند، فقط بخاطر ASP.Net به سمت دات نت گرایش پیدا کردند.

به تدریج با عرضه نسخه های بعدی دات نت فریم ورک امکانات بیشتری به دات نت اضافه شد. در کتابخانه کلاس ها عملا برای هر کاری کلاسی پیدا میشد، JIT کارایی بهتری پیدا کرد، و سخت افزارها سرعتشان بیشتر شد، بطوری که تفاوت سرعت کدهای دات نت با کدهای Native در نرم افزارهای مختلف (بخصوص Enterprise) هر روز کمتر و کمتر شد. مایکروسافت هم از یک طرف سرمایه گزاری عظیمی روی مستندات و منابع دات نت کرد، و از طرف دیگه به هر بهانه ایی و با هر نرم افزاری دات نت فریم ورک را روی سیستم کاربران نصب کرد تا دغدغه لزوم نصب فریم ورک بر روی سیستم مقصد هم تا حدودی کاهش پیدا کند. IDE مربوطه (Visual Studio) هم پیشرفت قابل ملاحظه ایی کرد، چه از نظر امکانات، و چه از نظر کارایی. سیاست های مایکروسافت هم تضمین می کرد که در عرصه داد نت نرم افزاری نخواهد توانست روی دست Visual Studio بلند شود. سیاست هایی مثل گره زدن کدهای Designer مربوط به Compact Editon به IDE، یا ممنوعیت استفاده سایر IDEها از نسخه های بتای فریم ورک در شرایطی که Visual Studio امکان این کار را داشت.

در نسخه های 3.0 و 3.5 مایکروسافت عملا کاربران را با قابلیت های جدید بمباران کرد، حتی قابلیت هایی که بعضا به نوعی رقیب سایرین محسوب میشدند مثل WFC دربرابر WinForms، یا Indigo دربرابر .Net Remoting. اگر تا قبل از این بسیاری از قابلیت های دات نت به شکل های دیگه در سایر سکوها هم پیدا میشد، با عرضه این نسخه قابلیت هایی ارائه شد که رقبایی در سایر سکوها نداشتند.

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

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

با این تفاسیر، این دات نت هست #C را زبان مهمی کرده. #C یک زبان مدرن هست، ویژگی های زبانی خوبی هم داره، ولی بسیاری از این ویژگی ها در سایر زبان های دات نتی و غیر دات نتی هم وجود داره، اما قابلیت های دات نت باعث تمایز #C از زبان های غیر دات نتی میشه، و در عرصه زبان های دات نتی هم حمایت بی دریغ صاحب سکوی دات نت از آن باعث میشه که حرف اول را بزنه. هر چقدر هم که به نظرت Syntax زبانی مثل دلفی در دات نت بهتر از #C به نظر برسه، باز هم مجبوری برای مطالعه سورس کدهای منتشر شده دات نت فریم ورک، و مستندات مایکروسافت، و بررسی قابلیت های جدید دات نتی که هنوز در مرحله بتا هستند، با #C آشنا باشی. زمانی اگر برنامه نویس C نبودی، و می خواستی برای ویندوز برنامه نویسی کنی، باید حداقل با Data-Typeهای C و فایل های Header آن آشنا می بودی، اما در دات نت بیش از اینها باید با #C آشنا باشی تا بتونی گلیمت را از آب بیرون بکشی.

البته یادگیری دات نت و #C برای تو که با دلفی آشنا هستی، کار سختی نیست. فعلا دات نت را بورلندی ها در مایکروسافت می چرخانند، پس در آن ایده های آشنای زیادی خواهی دید. اندرس هلزبرگ روی #C کار میکنه، استیو تیشیرا هم روی Visual C++.net کار میکنه؛ همون استیو تیشیرایی که سال ها کتاب Delphi 6 Developer's Guide اش را به عنوان مرجع دلفی در کنار کتاب Mastering Delphi مارکو کانتو استفاده می کردی. Chuck Jazdzewski هم که بعد از اندرس هلزبرگ به عنوان Chief Architect دلفی مشغول به کار بود، همون سال ها به مایکروسافت پیوست، ولی نمیدونم دقیقا روی چه محصولی کار میکنه. بعید نیست که این هم روی بخشی از دات نت مشغول باشه، سایر بورلندی ها هم در مسئولیت های جزئی تر مشغول هستند.
نکته ایی که مهم هست اینه که خیلی به سابقه 3-5 ساله برای استخدام توجه نکن! دات نت یک تیغ دولبه داره، اون هم سادگی و گستردگی کتابخانه کلاس هاش هست. برنامه نویس مبتدی جذب دات نت میشه، چون میبینه با چند خط کد ساده میتونه کارهای عجیب غریبی بکنه که قبلا یک برنامه نویس مجرب به سادگی از عهده اش برنمیامد. برنامه نویس مجرب هم جذب دات نت میشه، چون میینه خیلی از اموری که باید برایشان مدتها وقت میگذاشت، برایش از قبل آماده شدند، و او باید فقط روی منطق برنامه قابلیت های جدیدی که باید اضافه کند، متمرکز شود. برنامه نویس مجرب استفاده خودش را می کند، اما برنامه نویس مبتدی چون آشنایی مناسبی با اشیاء استفاده شده نداره، بعد از مدتی یا خودش دچار مشکل میشه، یا برای دیگران مشکلات بزرگی تولید میکنه. در حوزه دات نت هم از این مدل برنامه نویسان مبتدی بسیار زیاد هستند، افرادی که چندین سال در کار با دات نت سابقه دارند، ولی هنوز حتی اطلاع دقیقی از چگونگی کارکرد کدی که خودشان نوشتند ندارند! برنامه نویس مجربی که به تازگی قصد کار در دات نت را داشته باشد، هر چند سابقه کمی در دات نت دارد، ولی به راحتی می تواند همچین برنامه نویسانی را کنار بزند، و پست مورد نظر را به خودش اختصاص دهد، البته اگر معیار گرفتن آن پست مهارت های فنی فرد باشد، نه چیزهای دیگه!
به عنوان نمونه، در دات نت مثل دلفی کلاسی برای کپسوله کردن مفهوم Thread و کار کردن با آن در نظر گرفته شده. کار کردن با کلاس مربوطه در دات نت آسانتر از کلاس TThread دلفی هست. از طرفی چون کامپایل نهایی در دات نت توسط JIT و روی سیستم کاربر انجام میشه، دات نت این امکان را هم داره که کدهای نوشته شده را بدون دخالت برنامه نویس، برای Multi-threading بهینه کنه. خب، خیلی ها را هم می بینی که در عرصه دات نت از این قابلیت استفاده می کنند. در Win32 هر کسی جرات نوشتن برنامه های Multi-threaded نداشت، و سعی میشد اگر بهش در برنامه نیازی نیست، بیخودی توسعه پروژه بخاطر استفاده از Threadهای مختلف و مشکلات استفاده از آنها، پیچیده نشه. ولی در دات نت خیلی ها همینطوری ازش استفاده می کنند، البته برنامه نویس خوب و مجرب هم هستند، ولی غالبا اطلاع دقیقی از Threading ندارند، فقط میدونند که چیزی هست که موجب افزایش سرعت برنامه هاشون میشه. تو با توجه به پس زمینه ایی که از Win32 داری، وقتی وارد عرصه دات نت میشی، روی بحث Threading وقت زیادی صرف میکنی، و در استفاده کردن ازش دقت میکنی، ولی مبینی فرد دیگری که چند سال از تو سابقه بیشتری داره، از Thread در برنامه اش استفاده کرده، ولی هنوز نمیدونه که وقتی کنترلی در یک Thread ساخته میشه، باید فقط توسط همون Thread تغییر کنه، و Threadهای دیگه نباید مستقیما اونو تغییر بدند. این برنامه نویس ببخاطر کم اطلاعی اش با خطای کامپایلر #C مواجه میشه که بهش میگه این کار خطرناکه و نباید این کار را بکنه. اما مبینی یک برنامه نویس دیگه که با سابقه تر از برنامه نویس اولی هست، میاد و بجای اینکه بهش بگه چرا نباید این کار را بکنه، بهش یاد میده که چطوری یک خصوصیت خاص را تنظیم بکنه، تا دیگه کامپایلر #C برای همچین موضوع بیخودی (!!) بهش گیر نده و کدش کامپایل بشه. خب معلوم هست که این برنامه چند وقت بعد با مشکلات عجیب و غریبی روبرو میشه که دیباگ کردنشون کار حضرت فیل هست! با دیدن همچین صحنه هایی در دات نت، به خودت امیدواری میشی، و احساس نمیکنی که خیلی از عموم کاربران فعلی دات نت عقب هستی :چشمک:



سر صبحی برات هم انشاء نوشتم، هم تاریخ، هم خاطره، هم جوک، هم قوت قلب!

Developer Programmer
جمعه 03 آبان 1387, 07:59 صبح
ممنون علی جون، مثل همیشه راهنمایی های زیبات به دردم خورد.
حدس من درست بود بازار 500 تومنی ایران -که همه چیز رو مفت به دست میاره- خودش هم نمیدونه چرا دنبال دات نت راه افتاده، فقط اسم زبانی رو شنیده که توش مایکروسافت و C استفاده شده.

anubis_ir
جمعه 03 آبان 1387, 09:04 صبح
دليل اصلي رويكرد سازماني اكثر شركت‌ها و ادارات ايران به برنامه‌هاي تحت وب هست. براي توسعه و مديريت ساده‌تر برنامه‌ها در يك شبكه. از C شارپ هم در سازمان‌ها براي توسعه asp.net بيشتر استفاده ميشه تا هر حالت ديگري كه در مجموعه دات نت مي‌بيني. اين مورد در دنيا هم تقريبا به همين صورت است.
شكل زير نموداري است كه اخيرا منتشر شده و همون‌طور كه مشخص است در دنيا هم بيشتر web form اين تكنولوژي در صدر كاربردها قرار داره (نه برنامه نويسي دسكتاپ):
http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/3cd0a973d675_9B20/image_2.png
ماخذ (http://www.hanselman.com/blog/SurveyRESULTSWhatNETFrameworkFeaturesDoYouUse.aspx )

Mehdi Asgari
جمعه 03 آبان 1387, 11:24 صبح
بورلند به دادگاه شکایت کرد، ولی مایکروسافت در یک توافق محرمانه که هیچ وقت افشاء نشد، نه تنها بورلند را از شکایت منصرف کرد، بلکه پروژه های موجود در لابراتورهای بورلند را نیز خریداری کرد!
آقای کشاورز ، میشه یه منبعی لینکی چیزی در این باره بدید ؟

razavi_university
جمعه 03 آبان 1387, 18:29 عصر
دوستان عزیز شرمنده پابرهنه دویدم وسط بحث. . .
افشین جان من از دوستان دلفی کار شنیدم که لذت برنامه نویسی برای ویندوز رو با دلفی واقعا میتونی بچشی
صحت این حرف در چه حدی است؟ و چرا؟

Salar Ashgi
جمعه 03 آبان 1387, 18:52 عصر
حدس من درست بود بازار 500 تومنی ایران -که همه چیز رو مفت به دست میاره- خودش هم نمیدونه چرا دنبال دات نت راه افتاده، فقط اسم زبانی رو شنیده که توش مایکروسافت و C استفاده شده

البته همه که اینجوری نیستند ، شی گرایی ، LINQ ، WPF و ... فرمول ریاضی نیست که

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

هیچ برنامه کاربردی نمی تونی بنویسی !! و بحث هم سر اسم نیست سر اعتبار است ،

شما مثلا برای تهیه مقالات ، ویرایش آنها و ... میای از Microsoft Word استفاده می کنی

چون میدونی که در نوع خودش بی نظیره و نه اینکه بیای از یه نرم افزار ویرایش متن دیگه

استفاده کنی !!!

بنظر من بر سر در زبانهای C#.NET , VB.NET , F#.NET ,C++.NET و تمام مشتقاتشان

نوشته است : هرکس دات نت نمی داند ، وارد نشود !!!

Developer Programmer
جمعه 03 آبان 1387, 19:08 عصر
صحت این حرف در چه حدی است؟
من تو ویندوز با Delphi, VB6 و خیلی کم با VC و تو لینوکس با Perl کار کردم.
تجربه ای که تو برنامه نویسی با اینها داشتم از دلفی خیلی خوشم اومد. واسه اینکه هم Syntax پاسکال واسه من راحتتره، هم به سبک و سیاق قدیم و هم به طریق شی گرایی و UML می شد برنامه نوشت. برخلاف VB که مدام باید API فراخوانی میکردی خودش خیلی چیزها رو تعریف شده داشت؛ توی برنامه های DB فوق العاده قدرتمند ظاهر میشد؛ مملو از کامپوننت واسه هرنوع کاری بود. کامپایلرش یه Super Compiler بود که کد رو تا حد زیادی Optimize میکرد و با Kylix هم میشد Cross-Platform نوشت.
به نظرم یه جورهایی تو ویندوز فقط VC و Delphi حرف واسه گفتن داشتن.


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

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

Salar Ashgi
جمعه 03 آبان 1387, 21:31 عصر
خواهشا از این جور حرفهای کوچه بازاری تو این تاپیک نزن

این نظر شماست ، بنظر من یک واقعیته !!! چون کسی که دات نت رو نفهمه و ادعا کنه که سی شارپ

می دونم ، این دونستن کاری را جلو نخواهد برد !!!

Alen
جمعه 03 آبان 1387, 23:08 عصر
خوب البته قضیه true object oriented زو آفای کشاورز زحمت کشیدن و توضیح دادن (ممنون) و راجع به منبع من از یه جا این رو نخوندم این چند تا نمونش که با جستجو میشه موارد دیگه هم پیدا کرد
http://www.informit.com/library/content.aspx?b=STY_Csharp_24hours&seqNum=39
http://safari.informit.com/0672326116/ch13
البته مقصود دقیقا همونی هست که آقای کشاورز توضیح دادن این که در #C و جاوا باید شی گرا کد بزنیم و هر متدی صاحب مشخصی داره و خوب انواع مختلفی از شی گرا وجود داره که مثلا تو ++C یا دلفی میشه هم ساختیافته و هم شی گرا کد نوشت که حتی اگه قواعد به درستی رعایت نشه مسلما شی گرایی در #C هم تضمینی برای درست کد زدن نیست ،اما محیط آماده تره اینو قبول ندارید؟
در مورد جای که NET. وجود نداره ؟ خوب مسلما ملزومات یه نرم افزار باید نصب باشه تا اجرا شه و نبودن NET. روی یک سیستم مساله مهمی نیست . من هم قبول دارم برای نوشتن win32 app دلفی و ++C عالی هستن ولی این بهونه ای میشه تا از امکانات زیادی که NET. در اختیارمون قرار میده صرف نظر کنیم (هر چند که مایکروسافت داره برنامه نویسها رو تنبل بار میاره ولی آیا در بازار ایران چاره دیگه ای داریم؟)
و من شخصا #C رو به VB.NET ترجیح میدم به دلیل c syntax یودن و . . .
و گرنه مسلما هم VB.NET و هم #C از امکانات NET. استفاده میکنند و ابزارهای یکسانی در اختیار برنامه نویس قرار میدهند (در تاپیک قبلی هم گفتم این ایده منه که براش دلایلی دارم یکیش پشتیبانی شدید مایکروسافت از #C هستش)

مهران رسا
جمعه 03 آبان 1387, 23:11 عصر
خواهشا از این جور حرفهای کوچه بازاری تو این تاپیک نزن.


حق با دوستمون ، salar_cpp_cs (http://www.barnamenevis.org/forum/member.php?u=70109) هست .
در ضمن من فکر می کنم با توضیحاتی که جناب کشاورز دادند دیگه نباید جای هیچگونه بحثی باقی بمونه .

vcldeveloper
شنبه 04 آبان 1387, 01:13 صبح
آقای کشاورز ، میشه یه منبعی لینکی چیزی در این باره بدید ؟
Borland sues Microsoft over brain drain (http://news.cnet.com/2100-1023-279561.html)

Borland claims that in the past 30 months, Microsoft has hired 34 of the ailing software developer's key employees by offering "large signing bonuses of several millions of dollars and other incentives," according to the suit.


The suit claims that many of those former employees now hold strategic positions at Microsoft that mirror their former roles at Borland. Yocam said Microsoft is targeting key employees who can use their knowledge to improve Microsoft's products.
A prime example is Paul Gross, formerly Borland's vice president of research and development, now vice president of Microsoft's Developer Tools Division. To date, Gross is the highest-ranking Borland defector.


Borland and Microsoft Announce Settlement (http://www.microsoft.com/presspass/press/1997/Sept97/Brlndpr.mspx)

Details of the settlement agreement are confidential, and the parties have agreed to make no comments on the terms of the settlement beyond those contained in this news release.




Borland Brain Drain Continues (http://www.eweek.com/c/a/Web-Services-Web-20-and-SOA/Borland-Brain-Drain-Continues/)
the companys chief technology officer as of Feb. 6. Stone is said to be headed to Microsoft Corp. to pursue "an offer he could not refuse," a source said.
Meanwhile, Chuck Jazdzewski, formerly chief scientist and architect of Borlands Delphi technology, left the company last month and is also said to be headed to Microsoft. Sources said Jazdzewski will be joining Microsofts Avalon team.



این هم ببینید بد نیست؛ با امکانات ارائه شده در هر یک از ورژن های دلفی آشنا میشید:
History of Delphi (http://delphi.about.com/cs/azindex/a/dhistory_3.htm?p=1)

sepehr.net
شنبه 30 آذر 1387, 14:29 عصر
سلام
واقعا" بحث قشنگی شده
به نظر من مزایایی که دات نت و C# نسبت به بورلند و دلفی دارند باعث شده که جامعه فقط به دنبال C# کار بره
1- یکی از مهمترین مزایا اینه که محصولات مایکروسافت همه با هم جور هستند و خیلی راحت در کنار هم کار میکنند و برنامه نویس را کمتر دچار مشکل میکنند.
مثالی که برای این موضوع میتونم بزنم اینه که شما یک برنامه ساختین که کار خاصی رو انجام میده حالا احتیاج به یک نرم افزار دیگری پیدا کردین که باید با این برنامه کار کنه و از امکاناتش استفاده کنه.
حالا به نظر شما اگه خودتون این نرم افزار رو بسازید بهتره یا یک برنامه نویس دیگه این کار رو انجام بده ؟ شاید فرد دیگری بتونه این برنامه رو بسازه و خوب هم کار بده ولی هیچ وقت نمیتونه به خوبیه این نرم افزاری که شما میتونین بسازید بسازه.
2- کسی که با دات نت کار میکنه میتونه برنامه هایی که ترکیب وب و ویندوز هستند را راحت پیاده سازی کنه.
3-مجموعه ی دات نت خیلی سریع رشد میکنه چون وابسطه به جایی نیست !!! نمونه ی بارزش هم همین VS2008 هست که اومده. اگه امکانات این نسخه رو ببنید خیلی از آنها به ویندوز Vista وابسته هستند ولی چون سازنده ی این دو محصول یک شرکت هستند اصلا" دچار مشکل نمیشوند .

اکثر شرکت هایی که در ایران هستند برای ویندوز یا وب برنامه نویسی میکنند و کمتر به سراغ لینوکس یا سایر سیستم عامل ها میروند .
اکثر برنامه هایی هم که برای ویندوز نوشته میشوند برنامه های بانک اطلاعاتی هستند. پس میبینین که C# و دات نت بهترین گزینه برای نوشتن چنین برنامه هایی هست.
حالا به نظر شما C# مناسب تره یا دلفی !!!!

vcldeveloper
شنبه 30 آذر 1387, 15:06 عصر
1- یکی از مهمترین مزایا اینه که محصولات مایکروسافت همه با هم جور هستند و خیلی راحت در کنار هم کار میکنند و برنامه نویس را کمتر دچار مشکل میکنند.
مثالی که برای این موضوع میتونم بزنم اینه که شما یک برنامه ساختین که کار خاصی رو انجام میده حالا احتیاج به یک نرم افزار دیگری پیدا کردین که باید با این برنامه کار کنه و از امکاناتش استفاده کنه.
حالا به نظر شما اگه خودتون این نرم افزار رو بسازید بهتره یا یک برنامه نویس دیگه این کار رو انجام بده ؟ شاید فرد دیگری بتونه این برنامه رو بسازه و خوب هم کار بده ولی هیچ وقت نمیتونه به خوبیه این نرم افزاری که شما میتونین بسازید بسازه.
اینی که شما بهش میگید مزیت، از دید خیلی ها مزیت نیست؛ چون بعضی از ابزارها چنان به هم چفت و بست شدند که اگر کاربر برای کار خاص خودش ابزاری بهتر از ابزار مایکروسافت را پیدا کنه، یا باید کلا از دات نت صرف نظر کنه، یا از اون ابزاری بهتر. در واقع محصولاتی که تا این حد با هم یکپارچه میشند، از یک طرف برای کاربران (بخصوص کاربران مبتدی) راحتی میارند، از یک طرف کاربر را به شدت محدود می کنند، چون عملا قدرت هرگونه انتخاب را از کاربر می گیرند، و کاربر اگر بخواد یکی از حلقه های این زنجیره را با حلقه ایی از شرکت دیگه ایی جایگزین کنه، باید مشکلات زیادی را تحمل کنه.


-مجموعه ی دات نت خیلی سریع رشد میکنه چون وابسطه به جایی نیست !!! نمونه ی بارزش هم همین VS2008 هست که اومده. اگه امکانات این نسخه رو ببنید خیلی از آنها به ویندوز Vista وابسته هستند ولی چون سازنده ی این دو محصول یک شرکت هستند اصلا" دچار مشکل نمیشوند .
این هم نمیتونه دلیل جالبی باشه، چون وقتی یک محصول فقط به یک شرکت وابسته هست، در واقع به هر تغییری در اون شرکت هم وابسته هست، یعنی هر زمان که اون شرکت تغییری در سیاست های خودش بده، یا به هر دلیلی براش مشکلی پیش بیاد، بلافاصله این مشکل یا تغییر سیاست در اون محصول هم مشاهده میشه. از طرف دیگه، چون فقط یک شرکت تمام بار اون محصول را بدوش میکشه، از استانداردهای رایج هم چندان پیروی نخواهد کرد، مثل مشکلی که مایکروسافت با ابداع تگ های HTML غیراستاندارد، ایجاد کرد، و چون در سال های گذشته IE حاکم مطلق بر بازار مرورگرها بود، خودش را نشان نمی داد، ولی با رایج شدن سایر مروگرها روشن شد که استانداردهای من در آوردی مایکروسافت چه مشکلاتی را برای طراحان وب بوجود آورده.

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

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

راستی، این نکته را هم بگم که میزان پشتیبانی که محصولی مثل دلفی 2009 از امکانات ویستا میکنه، بیشتر از پشتیبانی هست که VS 2005 مایکروسافت - که آخرین محصول رسمی VS هست - از ویستا میکنه.


حالا به نظر شما C# مناسب تره یا دلفی !!!!
و نکته آخر هم اینکه، بحث این تاپیک برتری دلفی بر #C نبود، بلکه بررسی علت های محبوب شدن #C بود! فکر کنم مطالب را با دید اشتباهی خواندید.

Mehdi Asgari
شنبه 30 آذر 1387, 16:43 عصر
VS 2005 مایکروسافت - که آخرین محصول رسمی VS هست -
احتمالا منظورتون VS 2008 بوده

vcldeveloper
شنبه 30 آذر 1387, 16:52 عصر
احتمالا منظورتون VS 2008 بوده
بله، شرمنده، یک لحظه فکر کردم اونی که چند وقتی هست CTP اش عرضه شده اسمش 2008 هست، یادم نبود که 2010 هست.
مرسی

Developer Programmer
شنبه 30 آذر 1387, 17:50 عصر
به نظر من مزایایی که دات نت و C# نسبت به بورلند و دلفی دارند باعث شده که جامعه فقط به دنبال C# کار برهمن که تا به حال مزیتی که تو #C باشه و تو Delphi نباشه ندیدم. محبت کن مثال واقعی بزن


مجموعه ی دات نت خیلی سریع رشد میکنه چون وابسطه به جایی نیستاگه منظورت اینه که دلفی cross platform نیست. اتفاقا هست.

اکثر شرکت هایی که در ایران هستند برای ویندوز یا وب برنامه نویسی میکنند و کمتر به سراغ لینوکس یا سایر سیستم عامل ها میروند مادامی که ایرانی جماعت، ویندوز، لینوکس، کتاب و ابزارهای برنامه نویسی رو مفت به دست میاره؛ وضع همینه

پس میبینین که C# و دات نت بهترین گزینه برای نوشتن چنین برنامه هایی هست.حالا به نظر شما C# مناسب تره یا دلفی !!!!به جون عزیزت، هنوزم دلفی زیباتره.

Amir Oveisi
شنبه 30 آذر 1387, 18:01 عصر
سرعت پیشرفت تکنولوژی .NET عالیه
کار باهاش به نسبت ساده تر و سرعت develop بالاتره
اکثر syntax های زبان های قبلی رو support میکنه و برنامه نویش نگران این نیست
وجود LINQ و WPF و Silverlight هم در ویرایش 3.5 باعث دو چندان شدن محبوبیتش شده

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

در مورد ایرانی جماعت... حرفتونو کاملا قبول دارم و خودم هم جزو یکی از اونا محسوب میشم (متاسفانه)

موفق باشید
jooje

sepehr.net
شنبه 30 آذر 1387, 20:56 عصر
چون بعضی از ابزارها چنان به هم چفت و بست شدند که اگر کاربر برای کار خاص خودش ابزاری بهتر از ابزار مایکروسافت را پیدا کنه، یا باید کلا از دات نت صرف نظر کنه، یا از اون ابزاری بهتر. در واقع محصولاتی که تا این حد با هم یکپارچه میشند، از یک طرف برای کاربران (بخصوص کاربران مبتدی) راحتی میارند، از یک طرف کاربر را به شدت محدود می کنند، چون عملا قدرت هرگونه انتخاب را از کاربر می گیرند، و کاربر اگر بخواد یکی از حلقه های این زنجیره را با حلقه ایی از شرکت دیگه ایی جایگزین کنه، باید مشکلات زیادی را تحمل کنه.
من هر چی فکر میکنم نمیتونم چیزی رو پیدا کنم که نشه اونرو در دات نت پیاده کرد
میشه یک مثال برای این موضوع بزنید
اگه منظورتون اینه که فقط کاربران آماتور از این هماهنگی خوششون میاد پس چرا خودتون هم هنوز از دات نت استفاده میکنید !!! (من نمیدونم چه رسمیه که اکثر ایرانی ها با مایکروسافت بد هستند با این که هیچ پولی هم بابت محصولات خوبش نمیدهند !!!)

وقتی یک محصول فقط به یک شرکت وابسته هست، در واقع به هر تغییری در اون شرکت هم وابسته هست،
خب این میتونه خوب باشه
مثلا اگه مایکروسافت بخواد یک تکنولوژی جدیدی رو بیاره میتونه اون رو هم زمان در VS و OS و SQL پیاده کنه این باعث میشه که دست مایکروسافت برای این کار باز باشه و اون ایده ایی که تو ذهنش هست رو راحت پیاده کنه. ولی حالا شما این رو با دلفی مقایسه کنید !!! بورلند اگه بخواد چیز جدیدی رو بیاره وابسه به مایکروسافت و محصولاتش هست برای همین رشد کمتری نسبت به محصولات مایکروسافت داره (فراموش نکنید که بحث فقط سر دلفی و C# هست و برنامه نویسی برای ویندوز و ما با زبانهای دیگر کاری نداریم)

مشکلی که مایکروسافت با ابداع تگ های HTML غیراستاندارد، ایجاد کرد، و چون در سال های گذشته IE حاکم مطلق بر بازار مرورگرها بود، خودش را نشان نمی داد، ولی با رایج شدن سایر مروگرها روشن شد که استانداردهای من در آوردی مایکروسافت چه مشکلاتی را برای طراحان وب بوجود آورده.
این مسئله رو کاملا" قبول دارم . من معتقدم که مایکروسافت در زمینه ی وب حرفی برای گفتن نداره !!!

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

این قضیه برای کاربران ایرانی صدق نمیکنه (موضوع تاپیک رو فراموش نکنید). هزینه ایی که شما برای یک ویندوز ویستا میدی 1000 تومانه !!!

در واقع شما باید همیشه اونجایی برید که مایکروسافت میگه!
به نظر شما آینده ی بورلند بهتره یا مایکروسافت ؟
من که فکر نمیکنم مایکروسافت به این زودی ها میدون رو خالی کنه (این بیلی که من میشناسم باهوش تر از این حرف هاست !!!)

بحث این تاپیک برتری دلفی بر #C نبود، بلکه بررسی علت های محبوب شدن #C بود!
منظور من هم دقیقا" همین بود

من که تا به حال مزیتی که تو #C باشه و تو Delphi نباشه ندیدم. محبت کن مثال واقعی بزن
مواردی که در زیر آن نوشته به انها اشاره کردم

Mehdi Asgari
شنبه 30 آذر 1387, 21:23 عصر
اگه منظورت اینه که دلفی cross platform نیست. اتفاقا هست.
Kylix رو میگی ؟

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


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

Developer Programmer
شنبه 30 آذر 1387, 22:15 عصر
، یه امر سلیقه ای و شخصیه ، پس نمیشه گفت کدوم زبان از همه زیباتره
پستها رو با دقت بخون:

به نظر شما C# مناسب تره یا دلفی


من هر چی فکر میکنم نمیتونم چیزی رو پیدا کنم که نشه اونرو در دات نت پیاده کرد
تفاوتهای Native و Managed بعلاوه: نرم افزار های سیستمی یا real time که نیاز به پرفورمنس بالا دارن ، وب سرور و میکروکنترلر و ورود به سطح اسمبلی

saeed-kh
شنبه 30 آذر 1387, 23:05 عصر
شایدم قبل از سی شارپ بحث دات نت مهمتر باشه . این دات نت هست که سی شارپ رو به جلو هل میده.
اینجوری دیگه برنامه ها خاص یک سیستم عامل نیستن.
شاید تا چند سال دیگه به توابع APIهم نیازی نباشه.
حالا این دلفی بود که مجبور شد نسخه دات نت رو بده تا عقب نمونه ،پس دات نت.مهم نیست چی باشه.
اتفاقا وی بی که خیلی خیلی راحتر از سی شارپ به بانک وصل میشه ، کار با توابع APIتوی وی بی خیلی راحتره،در صورتی که خودم سی شارپ کار میکنم،چون مبتدی هستم.
فکر میکنم اگه یک نفر مبتدی بخواد شروع کنه میره دنبال سی شارپ چون محیطش در نگاه اول براش جذابتره.

Mehdi Asgari
شنبه 30 آذر 1387, 23:18 عصر
پستها رو با دقت بخون
مناسب بودن با زیبایی فرق داره. پرل برای خیلی از کاربرد ها مناسب ترین زبانه ، ولی کسی نمیگه زیباست.
مناسب بودن همراه با یک حوزۀ کاربرد مطرح میشه ، ولی زیبایی یه امر شخصیه (شاید با استناد به بعضی از گزاره های زیبایی شناختی بشه مثلا طراحی ساده و مینیمال رو زیبا دونست مثل Haskell یا پایتون)


این دات نت هست که سی شارپ رو به جلو هل میده.
نه لزوما. تقریبا از همون اوان طراحی در اواخر دهه ی 90 هر دو از هم ایده گرفتن (شاید به خاطر حضور Hejlsberg در تیم طراحی .NET بوده)


شاید تا چند سال دیگه به توابع APIهم نیازی نباشه.
چرا ؟


حالا این دلفی بود که مجبور شد نسخه دات نت رو بده تا عقب نمونه
به نظر من اینطور عقب موند ؛ کاش فقط روی قابلیت native coding مانور می داد. (همون اشتباهی که یه مدتی طراحان VC++ داشتن مرتکب می شدن)

sepehr.net
یک شنبه 01 دی 1387, 00:05 صبح
نرم افزار های سیستمی یا real time که نیاز به پرفورمنس بالا دارن ، وب سرور ، .....من ننوشتم با C# نوشتم با دات نت

من هر چی فکر میکنم نمیتونم چیزی رو پیدا کنم که نشه اونرو در دات نت پیاده کردآیا این نرم افزار ها را با دلفی میتونیم پیاده کنیم ؟
در ضمن منظور من از این حرف هر برنامه ایی نبود که دوستان نوشتند میکرو کنترل و ...
منظورم برنامه هایی که ما برای WinApp مینویسیم بود.
خب معلومه که وقتی کسی میخواد برای میکرو برنامه بنویسه سراغ دات نت نمیاد که حالا امکان این رو داشته باشه یا نه!!!

Mehdi Asgari
یک شنبه 01 دی 1387, 01:01 صبح
من ننوشتم با C# نوشتم با دات نت
فرقشون چیه ؟ سی شارپ بعد از MSIL قدرتمندترین زبان در دات نت هست (قدرتمند ترین زبان از نظر استفادۀ کامل از امکانات دات نت و first class بودن)


آیا این نرم افزار ها را با دلفی میتونیم پیاده کنیم ؟
با دلفی میشه برنامه های native برای پلتفرم ویندوز نوشت که بالطبع از نظر کارایی و قدرت بالاتر از برنامه های دات نت هستن (چون خود دات نت روی پلتفرم ویندوز بنا شده و برنامه های دات نت مستقیما به پلتفرم دسترسی ندارن) (تنها رقیب دلفی در این زمینه ، وی سی هست. وی سی هم خیلی سخت تره نسبت به دلفی)
(نمی دونم این میکروکنترلر و ورود به سطح اسمبلی چه ربطی به بحث داشت که دوستمون آوردن)


پ ن: من تو عمرم شاید 20 خط هم کد دلفی ننوشته باشم و بیشتر از محصولات مایکروسافت استفاده می کنم

vcldeveloper
یک شنبه 01 دی 1387, 01:39 صبح
من هر چی فکر میکنم نمیتونم چیزی رو پیدا کنم که نشه اونرو در دات نت پیاده کرد
میشه یک مثال برای این موضوع بزنید
اگه منظورتون اینه که فقط کاربران آماتور از این هماهنگی خوششون میاد پس چرا خودتون هم هنوز از دات نت استفاده میکنید !!! (من نمیدونم چه رسمیه که اکثر ایرانی ها با مایکروسافت بد هستند با این که هیچ پولی هم بابت محصولات خوبش نمیدهند !!!)
من از دات استفاده خاصی نمی کنم. نمونه یکی از همین هماهنگی های اجباری را می توانید در Team Fundation مایکروسافت ببینید. عملا کاربر راهی جز نصب یک سری از محصولات مایکروسافت نداره. در حالی که همه این محصولات که یک بازه از حوزه ها را در بر می گیرند، در حوزه های خود بهترین نیستند، ولی کاربر نمیتونه به راحتی یک از اینها را کنار بزاره، و خودش نرم افزار مورد علاقه اش را به این حلقه اضافه کنه. مثلا اگر من بخوام از سیستم کنترل سورس مورد علاقه خودم که SVN هست، استفاده کنم، و در کنارش از سایر امکانات Team Fundation بهره ببرم، یا باید یک عذاب بزرگ را تحمل کنم، یا اصلا از خیرش بگذرم!
هر چه کاربری در زمینه خاصی حرفه ایی تر بشه، تمایلش به Customize کردن ابزارهای مورد استفاده اش، و ایجاد یک جعبه ابزار که در آن ابزارهای مورد علاقه اش، به دلخواه خودش Customize شدند، بیشتر میشه. در دنیای مایکروسافت شما در اکثر مواقع فقط می تونید از مایکروسافت خرید کنید، حتی اگر در اون زمینه ابزاری بهتر از ابزار مایکروسافت برای شما وجود داشته باشه، چون در صورت استفاده از آن ابزار، باید پی عدم یکپارچگی کامل آن با سایر ابزارهایتان که مایکروسافتی هست را به تن بمالید.
در هر حال، این چیزی که شما بهش میگید مزیت، برای خیلی ها مزیت محسوب نمیشه.


این قضیه برای کاربران ایرانی صدق نمیکنه (موضوع تاپیک رو فراموش نکنید). هزینه ایی که شما برای یک ویندوز ویستا میدی 1000 تومانه !!!
بحث ایران یا خارج ایران و کپی رایت نیست. بحث اینه که شما باید فقط اون مسیری که مایکروسافت میگه را برید.



مثلا اگه مایکروسافت بخواد یک تکنولوژی جدیدی رو بیاره میتونه اون رو هم زمان در VS و OS و SQL پیاده کنه این باعث میشه که دست مایکروسافت برای این کار باز باشه و اون ایده ایی که تو ذهنش هست رو راحت پیاده کنه. ولی حالا شما این رو با دلفی مقایسه کنید !!! بورلند اگه بخواد چیز جدیدی رو بیاره وابسه به مایکروسافت و محصولاتش هست برای همین رشد کمتری نسبت به محصولات مایکروسافت داره (فراموش نکنید که بحث فقط سر دلفی و C# هست و برنامه نویسی برای ویندوز و ما با زبانهای دیگر کاری نداریم)
وابسته به کدوم محصول مایکروسافت؟ ویندوز؟ ویندوز یک پلت فرم هست. سازندگان VS هم برای استفاده از امکانات ویندوز به همون APIهایی نیاز دارند که سایر شرکت ها نیاز دارند.


آیا این نرم افزار ها را با دلفی میتونیم پیاده کنیم ؟
در ضمن منظور من از این حرف هر برنامه ایی نبود که دوستان نوشتند میکرو کنترل و ...
منظورم برنامه هایی که ما برای WinApp مینویسیم بود.
ببین دوست عزیز، برنامه Windows Application ایی نیست که شما بتونید با دات نت بنویسید، و نشه آن را با دلفی نوشت. اما برنامه های Windows Applicationایی هست که بشه یا دلفی نوشت، ولی با دات نت یا نشه آنها را نوشت، یا Performanceاش آنقدر افتضاح باشد که عملا قابل استفاده نباشد. یکی از علت هایی که باعث ایجاد همچین تفکری مثل این تفکر شما میشه، پیشینه VB یا Visual C++ بعضی از افراد هست، البته شما را نمی دانم. این افراد معمولا چون بسیاری از قابلیت های اولیه دات نت را هرگز در محیط برنامه نویسی خود ندیده بودند، فکر می کردند که این قابلیت ها در هیچ جای دیگه ایی موجود نبود، و ناگهان با عرضه دات نت به ظهور رسیدند! یک نمونه اش همین WebServices هست. قبل از عرضه دات نت هم می شد با دلفی 6 WebService نوشت، ولی وقتی دات نت از WebServices پشتیبانی کرد، خیلی ها فکر کردند که واقعا امکان جدیدی به دنیای برنامه نویسی عرضه شده! حتی قبل از عرضه پشتیبانی رسمی Visual Studio از دات نت هم میشد با دلفی 7 برای دات نت برنامه نوشت!



به نظر شما آینده ی بورلند بهتره یا مایکروسافت ؟
من که فکر نمیکنم مایکروسافت به این زودی ها میدون رو خالی کنه (این بیلی که من میشناسم باهوش تر از این حرف هاست !!!)


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


حالا این دلفی بود که مجبور شد نسخه دات نت رو بده تا عقب نمونه ،پس دات نت.مهم نیست چی باشه.
این حرف شما مثل این میماند که بگیم دلفی مجبور شد از Win32 API برای ارتباط با سکوی ویندوز استفاده کنه! وقتی شرکتی سعی میکنه در دراز مدت رابط برنامه نویسی پلت فرم خودش (ویندوز) را یک مرحله بالاتر بیاره؛ یعنی روی User Mode یک سطح Abstraction دیگه هم اضافه کنه، شرکت هایی که برای اون پلت فرم ابزارهای توسعه نرم افزار می سازند هم باید به نوعی خود را با رابط برنامه نویسی جدید در دراز مدت وفق بدهند.


به نظر من اینطور عقب موند ؛ کاش فقط روی قابلیت native coding مانور می داد. (همون اشتباهی که یه مدتی طراحان VC++ داشتن مرتکب می شدن)

دلفی خواه ناخواه باید وارد عرصه دات نت میشد، غیر از اینکه کلا پلت فرم ویندوز را کنار میگذاشت، اما چگونگی ورود به این عرصه مهم بود، که بورلند در آن زمان درست عمل نکرد. البته تا حدودی هم در تصمیمی که گرفت حق داشت، و اسیر انحصار طلبی شدید مایکروسافت در عرصه دات نت شد. دلفی خواست با ارائه یک زبان بینا بینی (دلفی دات نت) مهاجرت از Win32 به دات نت را برای برنامه نویسان دلفی تسهیل کنه، تا این برنامه نویسان به سرنوشت کاربران VB و ++VC دچار نشند. تا حدودی هم موفق بود، ولی مایکروسافت چنان عنان دات نت را در دست گرفته بود که ورود هیچ شرکت دیگری به عرصه توجیه اقتصادی نداشت. البته یک نکته ایی هم وجود داشت، دات نت برخلاف آنکه در ابتدا تصور می شد، فراگیر نشد؛ یعنی بورلند فکر می کرد در یک بازه زمانی کوتاه مدت برنامه نویسی ویندوز مساوی برنامه نویسی دات نت خواهد شد، و بخاطر همین از هول حلیم افتاد توی دیگ حلیم! در حالی که اینطور نشد. شاید اگر رویکرد جدید به Web Application و حضور ASP.net در این عرصه نبود، دات نت حالا حالا زمینگیر باقی می ماند! اگر دقت کرده باشید، اکثر برنامه نویسان حرفه ایی که به دات نت گرایش پیدا کردند، از مدخل ASP.net و لزوم تولید Web Application وارد شدند. حتی الان هم دات نت فقط در دو حوزه مزیت رقابتی که قابل گفتن باشد، دارد:


Web Application
Enterprise Applications

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

یک نکته را باید درباره دلفی و رویکرد کاربران آن مورد توجه قرار داد؛ نکته ایی که در این تاپیک هم بهش اشاره شد، و تازه با پست های جناب sepehr.net مقداری بحث عوض شد، و رنگ و بوی مقایسه دلفی و #C به خودش گرفت...
مسئله این هست که برای سالها مایکروسافت حرفی برای گفتن در توسعه نرم افزار در پلت فرم خودش نداشت! دلفی حقیقتا یک انقلاب در عرصه توسعه نرم افزار در سکوی ویندوز محسوب میشد. اما همیشه سعی شد پایین تر از آنی که هست، نشان داده شود. به عنوان مثال، VC++ و VB که محصولات اصلی توسعه نرم افزار مایکروسافت بودند، واقعا چیزی برای رقابت با دلفی و BCB++ نداشتند! بخصوص وقتی صحبت از نرم افزارهای Enterprise و پشتیبانی از بانک های اطلاعاتی مطرح می شد، حقیقتا لال می شدند!! اما ماشین تبلیغاتی مایکروسافت همیشه سعی می کرد این برتری ها را کوچک جلوه دهد. رایج ترین این کارها هم مقایسه دلفی با VB بود. بطوری که چنین تلقین کرده بودند که اصلا در شان VC++ نیست که با دلفی مقایسه شود، و باید دلفی را با VB مقایسه کرد!
اما در پشت پرده مایکروسافت متوجه شد که آینده صنعت نرم افزار همانی است که دلفی نشانه گرفته. پس با تغییر رویکرد، و با به خدمت گرفتن مغزهای متفکری که دلفی را به پیش می بردند، ابتدا الگویی مشابه دلفی طراحی کرد، البته از جاوا هم خیلی بهره گرفت. نسخه های اولیه #C در واقع همان قابلیت های دلفی را با Syntax شبیه به C ارائه می کرد. پلت فرم دات نت هم از جاوا کپی برداری می کرد. برای همین هم دات نت در عرصه های غیر مایکروسافتی با تمسخرهای بسیار زیادی مواجه شد. نمونه این گونه نگرش ها را مثلا می توان در همین سایت، در سال های گذشته دید:
http://www.barnamenevis.org/forum/showthread.php?t=119 (تاپیک مربوط به سال 81 هست)

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

آن چیزی که این وسط عجیب بود، رفتار متناقض طرفداران دو آتشه مایکروسافت بود! این افراد تا زمانی که همین ایده را دلفی مطرح می کرد، آن را قابل مقایسه با VB و دون شان VC++ می دانستند، و از هیچ چیزی برای در هم کوبیدن آن پرهیز نمی کردند. اما با تغییر رویکرد مایکروسافت، و پیروی از چیزی که سال ها دلفی آن را مطرح می کرد، ناگهان این افراد هم 180 درجه چرخیدند! همه ناگهان از مزیت های WebServices و داشتن یک Framework مناسب، و نرم افزارهای Enterprise و Web Application می گفتند، و آنها را ابداعات شرکت مایکروسافت می دانستند، و کپی برداری های مایکروسافت فخر می فروختند! در واقع زیبایی #C برای من آن هست که همان طرح هایی که سال ها قبل در دلفی مطرح می شد، و برخی از آنها در دلفی عملا ظاهر نشدند، در #C فرصت ظهور پیدا کردند، و آن بسیاری از چیزهایی که سالها قبل برنامه نویسان متعصب مایکروسافت به آنها می نازدیدند، بر باد فنا رفت! در واقع هلزبرگ ثابت کرد که ایده هایش برای Turbo Pascal و Delphi واقعا ارزش توجه کردن را داشتند.

h.jaza
یک شنبه 01 دی 1387, 02:52 صبح
نمونه یکی از همین هماهنگی های اجباری را می توانید در Team Fundation مایکروسافت ببینید. عملا کاربر ... یا اصلا از خیرش بگذرم! ...
کاملا درسته، چرا که اینها همه در راستای همون انحصار طلبی و آشتهای تمام ناشدنی ماکروسافت در زمینه ی تصاحب همه ی زمینه ی قدرت دنیای نرم افزار هستش.
به هر حال ماکروسافت کاری که می کنه اینکه میاد و در هر زمینه ای یه محصول ارائه می کنه؛ این از جنبه های متفاوت، هم دارای سود و هم دارای زیان هستش: اولا این که کاربر (آماتور یا حرفه ای) خیلی راحت هستش و همه چیز در اختیارش هست و نیاز نیست به هزار جا مراجعه کنه تا به هزار چیز متفاوت دسترسی پیدا بکنه، به یه جا سر می زنه و به همه دسترسی پیدا می کنه. از خود همین مزیت، عیبش در میاد: که صد در صد معلومه که هیچ وقت این یه چیز در همه ی اون هزار تا زمینه بهترین نیست و به تبعش عیب دوم: اگر بخوای یکی از اون هزار تا رو با یکی دیگه طراحی کنه، بابا و مامان و کل فک و فامیل جلو چشت شروع می کنن به رژه رفتن. به هر حال اینم trade-off یه همچین محصولیه که نمیشم گفت که از سود و زیان، کدوم بر دیگری می چربه.

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

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

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

کافی هست یک روز مایکروسافت در یکی از حوزه های فعالیتش تغییر سیاست بده، تا تغذیه ایی که برای کاربران آن حوزه فراهم می کرد، قطع شود!
این حرف راجع به هر محصولی از هر شرکتی صادقه و صرفا منحصر به ماکروسافت نمیشه. به هر حال هر شرکتی بی تردید در بازه هایی تغییر سیاست میده، چه کلی چه جزئی. ولی این باعث نمیشه که من نوعی VB6 کار در زمان اوج وی بی بترسم و دست و پا مو گم کنم و ندونم چی کار باید بکنم. من کاره خودم رو با اون ادامه میدم، اگر زمانی تغییر سیاست داده شده و کلا VB6 و ساختارش مرد، بعد اون موقس که مجبورم یه فکره دیگه ای بکنم نه اون موقعی که زبونم در اوجه خودشه. لذا پر واضحه که الانم من با سی شارپ خودم کارم می کنم و ازش لذت می برم ولی تظمین نمی کنم که حتی 5 ساله دیگه هم با همچنان با سی شارپ کار بکنم، چرا که اولا ممکنه سیاست های ماکروسافت کلهم عوض بشه (هر چند که در مورد سی شارپ تا حداقل 10 ساله دیگه بعیده این حرف) و ثانیا شاید من خودم هدف جوری تغییر کنه یا مجبور به تغییر بشه که در نتیجش switch بکنم روی یه زبون دیگه.

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

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

کلام آخر: حرف های مطرح شده رو به منظور طرفداری از ماکروسافت، دات نت و یا سی شارپ بیان نکردم؛ بلکه صرفا دیدی رو که نسبت به ماجرا داشتم و فکر هم می کنم درسته، به بیانش در اینجا پرداختم.

با تشکر

Amir Oveisi
یک شنبه 01 دی 1387, 09:41 صبح
نقل قول:
ببین دوست عزیز، برنامه Windows Application ایی نیست که شما بتونید با دات نت بنویسید، و نشه آن را با دلفی نوشت. اما برنامه های Windows Applicationایی هست که بشه یا دلفی نوشت، ولی با دات نت یا نشه آنها را نوشت
کاملا درسته، چرا که اساسا ساختار سی شارپ بر این مبنا بنا شد که مثل سی نیاد و دسترسی کاملا مستقیم به API های سیستم بده و اونم به خاطر مشکلات و سختی هایی بود که با اون نوع دسترسی برای برنامه نویسان نه خیلی حرفه ای پیش میومد. سی شارپ و دات نت اومدم و چهار تا تابع نوشتن تا اون مشکلات خیلی عذاب آور رو از بین ببرن ولی خوب بازم واضحه که از نگاهی دیگر همین می تونه به نوعی باعث بشه تا دست برنامه نویس در جاهایی کلا بسته بشه یا اونقدر تنگ بشه که سه نقطه بزنه تو performance و اینا...

1- دست کاربر اصلا بسته نیست چون باز هم میشه از همه API های WIN32 بصورت مستقیم استفاده کرد (مثل دلفی)
2- چهار تا تابع که چه عرض کنم... بنده شخصا هیچ library ندیدم که به اندازه NET. کامل و جامع باشه (البته با همه کاستی هایی که داره)
3- چه Win App هایی هست که میشه با دلفی نوشت ولی با #C نه؟! اگر لطف کنید ممنون میشم.

(حرفام رو جانب دارانه برداشت نکنید، نظزات و کنجکاوی های شخصیه)

موفق باشید
jooje

mehdi.mousavi
یک شنبه 01 دی 1387, 11:01 صبح
دلمون خوش بود چند ساله بی دردسر و راحت با دلفی برنامه می نویسیم... دیدیم خدمت داره تموم میشه، نگاهی به آگهی های روزنامه انداختیم... حاجی! همه شرکتها و موسسات، برنامه نویس #C با حداقل 5-3 سال سابقه کار میخوان:ناراحت: اول یه تشکر بی حد و حساب از کسایی که خودشون رو متولی امور میدونن و شب، تخت میگیرن میخوابن وصبح تو میکروفن داد میزن، میکنم دوم میخوام بپرسم #C واقعا چی داشته که اینطور عزیز شده؟! واقعا ارزش داره یا بازار 500 تومنی ایران همینجوری یه چیزی رو پرچم کرده؟

سلام.
خیلی جالبه. همه خودشون رو مرکز عالم میدونن! چون شما دلفی بلد بودید، به این معنی نیست که اغلب شرکتها هم دنبال برنامه نویس دلفی بودن و دلفی جزء زبونهای پر طرفدار بوده. بازار، یه Scope بزرگ هستش و این شمایید که ViewPort خودتون رو در این بازار تعیین میکنید. هر کسی، نسبت به تخصص خودش، دنیا رو از دریچه ای که دوست داره میبینه و بدنبال توجیهی برای بخشهایی هستش که در ViewPort اش قرار نگرفته.

اینکه C# چرا اینقدر محبوب شده، دلائل زیادی داره. نمیخوام وارد مسائل فنی ماجرا بشم، اما از نظر من مهمترین دلیلش سادگی کار با اونه، تا حدی که، اگر کسی حتی از چگونگی کارکرد سیستم عامل بی اطلاع باشه، بازم میتونه با استفاده از IDE بسیار قوی ای که در اختیارش قرار گرفته، یه Application تولید کنه. اکثر کسایی که از C# استفاده میکنن، متاسفانه، از اطلاعات بنیادی آگاهی کافی ندارن و فقط بدنبال انجام کار هستن (با هر روشی و به هر طریقی). اونها هم دنیا رو از دریچه خودشون میبینن!

یه مساله مهم Memory Management هستش که دیگه بعهده برنامه نویس نیست و همین تک موضوع، به تنهایی میتونه، باعث بشه تا برنامه نویسهای خرده پای CPP و زبونهای دیگه ای که مدیریت حافظه رو در سطح بسیار محدودی انجام میدن، خودشون رو قهرمانهای C# بدونن. اونها (و بسیاری دیگه) C# رو دوست دارن، چون بهشون این فرصت داده شده تا اونها هم بتونن دستی در برنامه نویسی داشته باشن. در کل، به اعتقاد من، ایجاد فرصت برنامه نویس بودن برای افراد، بزرگترین مساله ای هستش که باعث محبوبیت C# شده.

پاورقی: چندی پیش آگهی داده بودم، برای استخدام برنامه نویس. مترجمی زنگ زد و گفت: "من برای استخدام شدن تماس نگرفتم، فقط میخواستم بدونم بازار کار شما چطوریه و آیا ارزش داره که رشته تحصیلیمو عوض کنم و بدنبال برنامه نویسی برم؟" دیدگاه این شخص، Market-Oriented بود، در نتیجه، اگر روزی هم وارد این حرفه بشه، هرگز بدنبال زبونهایی از قبیل C و C++ نمیره و ترجیح میده تا با یکی از زبونهای موجود در .NET Frameowrk کد بنویسه و پول در بیاره.

Developer Programmer
یک شنبه 01 دی 1387, 14:14 عصر
خیلی جالبه. همه خودشون رو مرکز عالم میدونن! چون شما دلفی بلد بودید، به این معنی نیست که اغلب شرکتها هم دنبال برنامه نویس دلفی بودن و دلفی جزء زبونهای پر طرفدار بوده
خدا رو شکر باز دوباره off topic ها شروع شد.

علی جان لطفا تاپیک رو قفل کن

Amir Oveisi
یک شنبه 01 دی 1387, 15:36 عصر
خدا رو شکر باز دوباره off topic ها شروع شد

چرا فقط به این قسمت حرفای دوستمون توجه می کنید؟
به نظر بنده تحلیل ایشون کاملا درست و منطقیه (منظورم کل مطلب و مفهموم اصلیشه نه بازی با جملات و کلمات)

Leon_pro
یک شنبه 01 دی 1387, 15:40 عصر
اگه کل این تاپیک بحث رو یک نفر بدون تعصب از اول تا این جا بخونه به راحتی می فهمه که آینده متعلق به C# و خوانواده زبان های .net و اصولا framework ها ست چرا که بار خر کاری کد نویسی رو کم می کنه و شما رو معطوف به الگوریتم میکنه ، شما مجبور نیستید که دوباره چرخ رو اختراع کنید چرخ با سایز های متفاوت اختراع شده جمع کثیری از انسانها نابغه هم برای اختراع اونها هم فکری کردن و ایده آل ها رو با تکنولوژی موجود به وجود آوردن که میتونه در آینده این محصولات بهینه تر و با تکنولوژی روز خودشون دوباره طراحی بشن ولی چارچوب اساسی هیچ وقت تغییر نمی کنه اگر هم بکنه نوع محصول متفاوت با این محصول خواهد شد.

اگه دقت کنید دیگه زبانهای برنامه نویسی از وابستگی به سیستم عامل ها در می آیند و بر روی Framework ها یا Virtual machine های خودشون فعالیت میکنن مثل Sun که java virtual machine خودش رو داره یا microsoft که framework خودش رو داره و باعث میشه بر نامه شما حتی بر روی linux هم اجرا بشه.

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

مایکرو سافت هم این رو ثابت کرده که هر کاری بکنه سیاست های سابقش رو زیر سوال نمیبره و از اونها پشتیبانی میکنه به طور مثال بعد از 6 - 7 سال از انتشار XP محصول Vista رو بیرون داد که هر کسی که با Xp کار کرده باشه بعد از چند ساعت ور رفتن با Vista با اون کاملا راحت مثل Xp کار میکنه.

و در کلام آخر ، میتونست این اتفاق در Borland بیوفته و اونها قبل از مایکروسافت به ضغف کهر خودشون پی میبوردن و محصول بهتری رو وارد بازار میکردن مثل دات نت و زبان های گوناگونی که از اون پشتیبانی میکنند و ما در اینجا از آینده متعلق به borland حرف میزدیم اما این اتفاق نیوفتاده و حالا ما با آینده که ماکروسافت به اون نور میندازه تا ما بتونیم ببینیمش باید فکر کنیم ، این یه حقیقت که در آینده ای نچندان دور این C# بر پایه net framework که جلو دار خواهد بود و کاربران دلفی هم اگه میخوان بی کار نشن باید تعصب رو کنار بزارن و به فکر یادگیری .net بی افتن، من به چشم شاهدم که شرکتی که در ایران یکی از بزرگترین و معتبر ترین شرکتهای برنامه نویسی است و حدود 5 - 6 شرکت بیمه در ایران قرار داد دارن و ترکنشی مثل بانک دارن ، تا چند سال پیش دلفی از دهنشون نمی افتاد ولی الان یک سال که به این نتیجه رسیدن که باید به .net کوچ کنند(تصورش هم سخته با اون همه کلاینتی که دارن) .

مثل کارمندایی که می خوان سازمانشون رو paperless کنند و در مقابل این فرایند مقاومت می کنند عمل نکنید.

موفق باشید.

Mehdi Asgari
یک شنبه 01 دی 1387, 16:19 عصر
آینده متعلق به C# و خوانواده زبان های .net و اصولا framework ها ست
VCL هم فریم ورک هست

اما نقطه ضعف borland اینه که یه همچین محصولی منحصر به خودش نداره و همیشه باید پیرو ماکروسافت یا دیگران باشه
نقطه ضعف ؟
مگه بقیۀ شرکت ها چیکار می کنن ؟

این یه حقیقت که در آینده ای نچندان دور این C# بر پایه net framework که جلو دار خواهد بود و کاربران دلفی هم اگه میخوان بی کار نشن باید تعصب رو کنار بزارن و به فکر یادگیری .net بی افتن،
چه جالب. امروز پس از سال ها کار با محصولات مایکروسافت و به خصوص دات نت ، Delphi/C++ Builder 2009 رو نصب کردم . فوق العاده است ؛ باید به فکر یاد گرفتنش باشم (برای برنامه نویسی native)

مثل کارمندایی که می خوان سازمانشون رو paperless کنند و در مقابل این فرایند مقاومت می کنند عمل نکنید.
خیلی تمثیل نامربوطی بود

نمی دونم چرا برنامه نویسان کوچک ، زبان رو با هویتشون گره می زنن. این ها فقط ابزاری ان در دست ما برای رسیدن به اهدافمون. (نه خود هدف) اینقدر fanatic نباشید. از هر ابزاری که فکر می کنید بهتر کارتون رو راه میندازه استفاده کنید

Amir Oveisi
یک شنبه 01 دی 1387, 16:37 عصر
فکر کنم اگه تاپیک قفل بشه خیلی بهتره
ظاهرا داره تبدیل میشه به بحث های شخصی و هر کسی سلیقه خودش رو عنوان میکنه و اصل موضوع تاپیک زیر خروارها پست ( که اکثرا به درد نخور بودن ) له شده... !!!

h.jaza
یک شنبه 01 دی 1387, 17:07 عصر
چرا برمودا جان، درسته که یکم مباحث مطرح شده توسط دوستان باعث به انحراف کشیده شدن اصل موضوع تاپیک شده و میشه و هر تاپیک دیگه هم از این جنس، از این قاعده تقریبا مستثنا نیست، ولی غفل کردن تاپیک کاره درستی نیست و باید به عنوان آخرین راه حل در نظر گرفته بشه نه اولین.

بهتره جای اون یکم خودمون بحث رو جم و جور تر و با حاشیه ی امن تری ادامه بدیم.

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

امید وارم این یکی هم به همچین سرنوشتی دچار نشه و دوستان با کمی مراعات تر کردن و کم تر خارج شدن از بحث، کمک به رسیدن یه نتیجه ی درست و حسابی راجع به یه همچین مبحثی بشن.

با تشکر


ویرایش شده


صولا یه همچین مسائلی جواب خاصی ندارند و نداشته اند و نخواهند داشت. از n تا view میشه به این قضیه نگاه کرد و موضوع رو تحلیل کرد بنابراین n تا جواب براش بوجود میاد
مشکل اینجا بوجود میاد که مثلا من که با دید خودم نگاه میکنم و جواب خودم رو قبول دارم ، دید و جواب شما رو نمی پسندم و همین موضوع باعث اصرار از شما و انکار از من میشه و بدتر از همه اینه که مسئله میفته تو یه loop بی نهایت!!! و بالاخره Admin مجبور میشه process ما رو Kill کنه تا سیستم hang نکنه!!!!
خوب، موضوع اصلی شما درسته ولی به نظر من باید به جای اینکه دید فیکسی و به تعبیر دیگه متعصبانه ای راجع به یک مسئله داشت، باید با دیدی محققانه به مسائل مطرح شده نگاه کرد. یعنی دوستان باید نگاه خودشون رو از اون حالتی که برمودا جان گفتن به اینی که من می گم تغییر بدن تا بشه با مسالمت به یه نتیجه رسید.

در غیر اینصورت چاره ای غیر از End Task کردن به قول دوست خوبمون برمودا، نمی مونه.

پس دوستان ...

Amir Oveisi
یک شنبه 01 دی 1387, 17:27 عصر
اصولا یه همچین مسائلی جواب خاصی ندارند و نداشته اند و نخواهند داشت. از n تا view میشه به این قضیه نگاه کرد و موضوع رو تحلیل کرد بنابراین n تا جواب براش بوجود میاد
مشکل اینجا بوجود میاد که مثلا من که با دید خودم نگاه میکنم و جواب خودم رو قبول دارم ، دید و جواب شما رو نمی پسندم و همین موضوع باعث اصرار از شما و انکار از من میشه و بدتر از همه اینه که مسئله میفته تو یه loop بی نهایت!!! و بالاخره Admin مجبور میشه process ما رو Kill کنه تا سیستم hang نکنه!!!!

vcldeveloper
یک شنبه 01 دی 1387, 23:23 عصر
گه دقت کنید دیگه زبانهای برنامه نویسی از وابستگی به سیستم عامل ها در می آیند و بر روی Framework ها یا Virtual machine های خودشون فعالیت میکنن مثل Sun که java virtual machine خودش رو داره یا microsoft که framework خودش رو داره و باعث میشه بر نامه شما حتی بر روی linux هم اجرا بشه.
تا بحال مایکروسافت چه کمک عملی به پروژه هایی مثل MONO کرده؟! واقعا انتظار دارید آتیش بزنه به مالش، و برای شما یک محیط مستقل از سکوی ویندوز (اصلی ترین محصول مایکروسافت) بوجود بیاره؟!!


مایکرو سافت هم این رو ثابت کرده که هر کاری بکنه سیاست های سابقش رو زیر سوال نمیبره و از اونها پشتیبانی میکنه به طور مثال بعد از 6 - 7 سال از انتشار XP محصول Vista رو بیرون داد که هر کسی که با Xp کار کرده باشه بعد از چند ساعت ور رفتن با Vista با اون کاملا راحت مثل Xp کار میکنه.

عجب! این همه تغییر سیاست را فقط ما در همین تاپیک ذکر کردیم، تغییراتی مثل روی آوردن به زبان های Interpretive ، یا توجه ویژه به طراحی یک Framework مناسب برای نرم افزار های Enterprise، یا همین شوک وارد کردن به کاربران VB، و... اینها تغییر سیاست نبود؟! پس اسمش چی بود؟!


کاربران دلفی هم اگه میخوان بی کار نشن باید تعصب رو کنار بزارن و به فکر یادگیری .net بی افتن، من به چشم شاهدم که شرکتی که در ایران یکی از بزرگترین و معتبر ترین شرکتهای برنامه نویسی است و حدود 5 - 6 شرکت بیمه در ایران قرار داد دارن و ترکنشی مثل بانک دارن ، تا چند سال پیش دلفی از دهنشون نمی افتاد ولی الان یک سال که به این نتیجه رسیدن که باید به .net کوچ کنند(تصورش هم سخته با اون همه کلاینتی که دارن) .
کی گفته که با دلفی نمیشه کد دات نت نوشت؟! در پست قبلی گفتم که دلفی 7 قبل از اینکه Visual Studio رسما از دات نت پشتیبانی کنه، از دات نت بصورت آزمایشی پشتیبانی می کرد، الان هم که Delphi Prism نه تنها از تمام قابلیت هایی که #C روی دات نت ارائه میکنه، پشتیبانی میکنه، بلکه حتی در برخی از حوزه ها مثل MONO و Cocoa# که مایکروسافت بخاطر رقابت های تجاری اش، به آنها توجه خاصی نمیکنه، از #C بهتر عمل میکنه!



این حرف به نظر من کاملا می تونه نقطه ی ظعفی برای همچین زبون هایی باشه. چرا که اونها با این محدود بودنشون نسبت به پلت فرم ویندوز اولا مجبورن همیشه سیاست هاشون رو در راستای سیاست ارتقائی ویندوز قرار بدن و ثانیا همیشه عقب خواهد بود چرا که وقتی پلت فرم جدید ارائه میشه، تازه اونا باید به خودشون بجنبن و ببینن چه اتفاقی دور و برشون افتاده، بعد بیان و یه فکری وسش بکنن. با این راهکار به نظر من نمیشه آینده ی موفقی رو برای یه زبون در نظر گرفت.
پس با این احتساب، نتیجه ی موفق منوط به دو ایدئولوژی میشه: یا پلت فرم خاص خودت رو داشته باش و برای اون نرم افزار های مربوطه رو طراحی کن یا Multi Platform باش و حالشو ببر. که با این دید رقابت تقریبا محدود به ماکروسافت و جاوا میشه که داستان خودش رو داره ...
مگه زبان هایی مثل C یا ++C وابسته به پلت فرم هستند؟! یا مثلا در همین عرصه دلفی، Free Pascal که از خیلی از ویژگی های دلفی کپی برداری کرده، و رایگان هم هست، روی چندین پلت فرم مختلف اجرا میشه، یا همین دلفی، هنوز هم بعضی ها از دلفی 7 برای توسعه نرم افزار تحت لینوکس استفاده می کنند، یا همین Delphi Prism که سعی میکنه برنامه نویسی برای Mono و Cocoa# را برای برنامه نویسان دات نت ساده تر کنه.

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

vcldeveloper
یک شنبه 01 دی 1387, 23:28 عصر
فکر کنم اگه تاپیک قفل بشه خیلی بهتره
ظاهرا داره تبدیل میشه به بحث های شخصی و هر کسی سلیقه خودش رو عنوان میکنه و اصل موضوع تاپیک زیر خروارها پست ( که اکثرا به درد نخور بودن ) له شده... !!!
بله، انشاء الله نخواستم زود تاپیک را قفل کنم، تا خدای نکرده کسی نگه؛ چون نظرات ما مخالف نظرات خودش بود، از زور استفاده کرد، و تاپیک را قفل کرد.

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

موفق باشید

محمدامین شریفی
دوشنبه 02 دی 1387, 03:10 صبح
شما میگید: چرا دات نت اینقدر طرفدار پیدا کرده.
منم میگم به این دلیل که جاوا طرفدار پیدا کرده.
یک پرسش دارم با اینکه تو دانشگاه پاسکال و c تدریس میشه و مدیران این سایت هم بشدت طرفدار متن بازها هستن، پس چرا باز دات نت و جاوا طرفدار پیدا کرده؟

vcldeveloper
دوشنبه 02 دی 1387, 03:31 صبح
یک پرسش دارم با اینکه تو دانشگاه پاسکال و c تدریس میشه و مدیران این سایت هم بشدت طرفدار متن بازها هستن، پس چرا باز دات نت و جاوا طرفدار پیدا کرده؟
از کجا به این نتیجه رسیدید که مدیران این سایت بشدت طرفدار متن باز هستند؟!
از کجا به این نتیجه رسیدید که نظر مدیران این سایت لزوما روی گرایش به یک سکوی توسعه نرم افزار تاثیر داره؟
دات و جاوا در چه زمینه طرفدار پیدا کردند؟ تا وقتی زمینه مورد نظر را مشخص نکنید، سوالتان بی معنی هست! مثلا یک نفر میتونه بگه دات نت و جاوا برای ساخت سیستم عامل، یا درایور سخت افزاری به هیچوجه پرطرفدار نیستند، و با یک مثال نقض، کل سوال شما را (به شکل ناقصی که پرسیدید) بی اعتبار کنه.
به این نکته هم توجه داشته باشید که دات نت و جاوا سکوی توسعه نرم افزار هستند، نه زبان برنامه نویسی. البته عبارت جاوا هم برای زبان جاوا استفاده میشه، هم برای سکوی جاوا، ولی دا نت نه.

در ضمن، در دانشگاه ها معمولا از زبان هایی برای تدریس استفاده میشه که بتونند از یک طرف مفاهیم مورد نظر در اون Course را به شکل مناسبی منتقل کنند، و از طرف دیگه، پایه ایی برای حرکت های تجاری آینده دانشجو باشند. پاسکال زمانی در دانشگاه ها تدریس میشد که Structural Programming پارادایم حاکم بر زبان های برنامه نویسی بود، و پاسکال آن را به بهترین شکل ارائه می کرد، پس دانشجو با یادگیری آن، خودبخود با Structural Programming درگیر می شد. C هم به این دلیل تدریس می شد که از یک طرف در درس های سیستمی دانشجو مثل سیستم عامل، بسیار موثر بود، و هم زبان برنامه نویسی رایج در دنیا محسوب می شد (الان هم حجم عظیمی از نرم افزارهای متداول با C\C++ نوشته میشند)، هم Syntax آن در زبان های جدیدتر بارها استفاده شده بود، و یادگیری Syntax آن یادگیری Syntax زبان هایی مثل جاوا یا #C را آسانتر می کرد، و برنامه نویس مجبور نبود با یک Syntax کاملا جدید دست و پنجه نرم کند.
الان در خیلی از دانشگاه های دنیا از جاوا یا #C برای تدریس برخی درس ها استفاده میشه، چون دانشجو را با مفاهیم OOP درگیر می کنند، و بازار کار خوبی هم دارند.

manvaputra
دوشنبه 02 دی 1387, 17:36 عصر
خوب قبل از اینکه تاپیک قفل بشه منم به یه نکته اشاره کنم همه دوستان بحث های علمی خوبی کردند مخصوصا جناب کشاورز که من از جواباشون کلی استفاده کردم ، علاوه بر تمام دلایلی که دوستان از منظر علمی بررسی کردن "مد" هم خیلی مهمه! آره دقیقا مد ، خدا نکنه یه چیزی مد بشه تو محیط برنامه نویسیه ایران ! الانم مد روز ظاهرا C# تا ببینیم مد بعدی چیه!