نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
من هر چی فکر میکنم نمیتونم چیزی رو پیدا کنم که نشه اونرو در دات نت پیاده کرد
میشه یک مثال برای این موضوع بزنید
اگه منظورتون اینه که فقط کاربران آماتور از این هماهنگی خوششون میاد پس چرا خودتون هم هنوز از دات نت استفاده میکنید !!! (من نمیدونم چه رسمیه که اکثر ایرانی ها با مایکروسافت بد هستند با این که هیچ پولی هم بابت محصولات خوبش نمیدهند !!!)
من از دات استفاده خاصی نمی کنم. نمونه یکی از همین هماهنگی های اجباری را می توانید در 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/showthread.php?t=119 (تاپیک مربوط به سال 81 هست)
اما مایکروسافت با توجه به نخبگانی که برای توسعه دات نت جذب کرده بود، و بخاطر تسلطش بر پلت فرم مقصد، و سیاست های تجاری قویی که داشت، توانست آن را از یک محصول کپی برداری شده، به محصولی ارتقاء دهد که حداقل فعلا در دو حوزه ایی که قبلا اشاره کردم، مزیت های رقابتی بسیاری دارد.
بورلند برعکس مایکروسافت با سیاست های غلط باعث فراری شدن نغلگان خودش شد! در واقع ایده هایی مثل دات نت برای افرادی مثل هلزبرگ نوعی رویا محسوب میشدند، رویایی که با سیاست مدیران وقت بورلند سازگار نبود، و از طرفی برای شرکتی در حد بورلند بیش از حد بزرگ و جاه طلبانه به نظر می رسید. پس این افراد به ناچار از بورلند جدا شدند، و به مایکروسافت که فرصت بیشتری برای تحقق ایده های آنها ارائه می کرد، پیوستند.
آن چیزی که این وسط عجیب بود، رفتار متناقض طرفداران دو آتشه مایکروسافت بود! این افراد تا زمانی که همین ایده را دلفی مطرح می کرد، آن را قابل مقایسه با VB و دون شان VC++ می دانستند، و از هیچ چیزی برای در هم کوبیدن آن پرهیز نمی کردند. اما با تغییر رویکرد مایکروسافت، و پیروی از چیزی که سال ها دلفی آن را مطرح می کرد، ناگهان این افراد هم 180 درجه چرخیدند! همه ناگهان از مزیت های WebServices و داشتن یک Framework مناسب، و نرم افزارهای Enterprise و Web Application می گفتند، و آنها را ابداعات شرکت مایکروسافت می دانستند، و کپی برداری های مایکروسافت فخر می فروختند! در واقع زیبایی #C برای من آن هست که همان طرح هایی که سال ها قبل در دلفی مطرح می شد، و برخی از آنها در دلفی عملا ظاهر نشدند، در #C فرصت ظهور پیدا کردند، و آن بسیاری از چیزهایی که سالها قبل برنامه نویسان متعصب مایکروسافت به آنها می نازدیدند، بر باد فنا رفت! در واقع هلزبرگ ثابت کرد که ایده هایش برای Turbo Pascal و Delphi واقعا ارزش توجه کردن را داشتند.
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
نمونه یکی از همین هماهنگی های اجباری را می توانید در 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 ارائه می کرد. پلت فرم دات نت هم از جاوا کپی برداری می کرد. برای همین هم دات نت در عرصه های غیر مایکروسافتی با تمسخرهای بسیار زیادی مواجه شد
اولا همونجوری که دوست خوبمون مجید جان هم قبلا در تاپیک های دیگه ای به نقل از اندرس گفته بودن: بزرگان با پا گذاشتن روی شونه ی بزرگان دیگس که بالا میرن. و اما اصل مطلب: این درسته که هر تکه از نسخه ی ابتدایی سی شارپ از جایی کنده شده ولی باید توجه کرد که اولا از هر جا بهتری انتخاب شده و کنار هم گذاشته شده و ثانیا اگر یه نگاهی به گذشته ی همون زبون ها و پلت فرم ها بندازیم، می بینیم که اونام اون اول از جای دیگری ارث بری کردن مثلا جاوا از سی کلی چیز میز بلند کرد و حالا سی شارپ از جاوا. یعنی همون حرف اندرس.
کلام آخر: حرف های مطرح شده رو به منظور طرفداری از ماکروسافت، دات نت و یا سی شارپ بیان نکردم؛ بلکه صرفا دیدی رو که نسبت به ماجرا داشتم و فکر هم می کنم درسته، به بیانش در اینجا پرداختم.
با تشکر
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
نقل قول:
ببین دوست عزیز، برنامه Windows Application ایی نیست که شما بتونید با دات نت بنویسید، و نشه آن را با دلفی نوشت. اما برنامه های Windows Applicationایی هست که بشه یا دلفی نوشت، ولی با دات نت یا نشه آنها را نوشت
کاملا درسته، چرا که اساسا ساختار سی شارپ بر این مبنا بنا شد که مثل سی نیاد و دسترسی کاملا مستقیم به API های سیستم بده و اونم به خاطر مشکلات و سختی هایی بود که با اون نوع دسترسی برای برنامه نویسان نه خیلی حرفه ای پیش میومد. سی شارپ و دات نت اومدم و چهار تا تابع نوشتن تا اون مشکلات خیلی عذاب آور رو از بین ببرن ولی خوب بازم واضحه که از نگاهی دیگر همین می تونه به نوعی باعث بشه تا دست برنامه نویس در جاهایی کلا بسته بشه یا اونقدر تنگ بشه که سه نقطه بزنه تو performance و اینا...
1- دست کاربر اصلا بسته نیست چون باز هم میشه از همه API های WIN32 بصورت مستقیم استفاده کرد (مثل دلفی)
2- چهار تا تابع که چه عرض کنم... بنده شخصا هیچ library ندیدم که به اندازه NET. کامل و جامع باشه (البته با همه کاستی هایی که داره)
3- چه Win App هایی هست که میشه با دلفی نوشت ولی با #C نه؟! اگر لطف کنید ممنون میشم.
(حرفام رو جانب دارانه برداشت نکنید، نظزات و کنجکاوی های شخصیه)
موفق باشید
jooje
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
نوشته شده توسط
Afshin_Zavar
دلمون خوش بود چند ساله بی دردسر و راحت با دلفی برنامه می نویسیم... دیدیم خدمت داره تموم میشه، نگاهی به آگهی های روزنامه انداختیم... حاجی! همه شرکتها و موسسات، برنامه نویس #C با حداقل 5-3 سال سابقه کار میخوان:ناراحت: اول یه تشکر بی حد و حساب از کسایی که خودشون رو متولی امور میدونن و شب، تخت میگیرن میخوابن وصبح تو میکروفن داد میزن، میکنم دوم میخوام بپرسم #C واقعا چی داشته که اینطور عزیز شده؟! واقعا ارزش داره یا بازار 500 تومنی ایران همینجوری یه چیزی رو پرچم کرده؟
سلام.
خیلی جالبه. همه خودشون رو مرکز عالم میدونن! چون شما دلفی بلد بودید، به این معنی نیست که اغلب شرکتها هم دنبال برنامه نویس دلفی بودن و دلفی جزء زبونهای پر طرفدار بوده. بازار، یه Scope بزرگ هستش و این شمایید که ViewPort خودتون رو در این بازار تعیین میکنید. هر کسی، نسبت به تخصص خودش، دنیا رو از دریچه ای که دوست داره میبینه و بدنبال توجیهی برای بخشهایی هستش که در ViewPort اش قرار نگرفته.
اینکه C# چرا اینقدر محبوب شده، دلائل زیادی داره. نمیخوام وارد مسائل فنی ماجرا بشم، اما از نظر من مهمترین دلیلش سادگی کار با اونه، تا حدی که، اگر کسی حتی از چگونگی کارکرد سیستم عامل بی اطلاع باشه، بازم میتونه با استفاده از IDE بسیار قوی ای که در اختیارش قرار گرفته، یه Application تولید کنه. اکثر کسایی که از C# استفاده میکنن، متاسفانه، از اطلاعات بنیادی آگاهی کافی ندارن و فقط بدنبال انجام کار هستن (با هر روشی و به هر طریقی). اونها هم دنیا رو از دریچه خودشون میبینن!
یه مساله مهم Memory Management هستش که دیگه بعهده برنامه نویس نیست و همین تک موضوع، به تنهایی میتونه، باعث بشه تا برنامه نویسهای خرده پای CPP و زبونهای دیگه ای که مدیریت حافظه رو در سطح بسیار محدودی انجام میدن، خودشون رو قهرمانهای C# بدونن. اونها (و بسیاری دیگه) C# رو دوست دارن، چون بهشون این فرصت داده شده تا اونها هم بتونن دستی در برنامه نویسی داشته باشن. در کل، به اعتقاد من، ایجاد فرصت برنامه نویس بودن برای افراد، بزرگترین مساله ای هستش که باعث محبوبیت C# شده.
پاورقی: چندی پیش آگهی داده بودم، برای استخدام برنامه نویس. مترجمی زنگ زد و گفت: "من برای استخدام شدن تماس نگرفتم، فقط میخواستم بدونم بازار کار شما چطوریه و آیا ارزش داره که رشته تحصیلیمو عوض کنم و بدنبال برنامه نویسی برم؟" دیدگاه این شخص، Market-Oriented بود، در نتیجه، اگر روزی هم وارد این حرفه بشه، هرگز بدنبال زبونهایی از قبیل C و C++ نمیره و ترجیح میده تا با یکی از زبونهای موجود در .NET Frameowrk کد بنویسه و پول در بیاره.
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
خیلی جالبه. همه خودشون رو مرکز عالم میدونن! چون شما دلفی بلد بودید، به این معنی نیست که اغلب شرکتها هم دنبال برنامه نویس دلفی بودن و دلفی جزء زبونهای پر طرفدار بوده
خدا رو شکر باز دوباره off topic ها شروع شد.
علی جان لطفا تاپیک رو قفل کن
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
خدا رو شکر باز دوباره off topic ها شروع شد
چرا فقط به این قسمت حرفای دوستمون توجه می کنید؟
به نظر بنده تحلیل ایشون کاملا درست و منطقیه (منظورم کل مطلب و مفهموم اصلیشه نه بازی با جملات و کلمات)
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
اگه کل این تاپیک بحث رو یک نفر بدون تعصب از اول تا این جا بخونه به راحتی می فهمه که آینده متعلق به 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 کنند و در مقابل این فرایند مقاومت می کنند عمل نکنید.
موفق باشید.
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
آینده متعلق به C# و خوانواده زبان های .net و اصولا framework ها ست
VCL هم فریم ورک هست
نقل قول:
اما نقطه ضعف borland اینه که یه همچین محصولی منحصر به خودش نداره و همیشه باید پیرو ماکروسافت یا دیگران باشه
نقطه ضعف ؟
مگه بقیۀ شرکت ها چیکار می کنن ؟
نقل قول:
این یه حقیقت که در آینده ای نچندان دور این C# بر پایه net framework که جلو دار خواهد بود و کاربران دلفی هم اگه میخوان بی کار نشن باید تعصب رو کنار بزارن و به فکر یادگیری .net بی افتن،
چه جالب. امروز پس از سال ها کار با محصولات مایکروسافت و به خصوص دات نت ، Delphi/C++ Builder 2009 رو نصب کردم . فوق العاده است ؛ باید به فکر یاد گرفتنش باشم (برای برنامه نویسی native)
نقل قول:
مثل کارمندایی که می خوان سازمانشون رو paperless کنند و در مقابل این فرایند مقاومت می کنند عمل نکنید.
خیلی تمثیل نامربوطی بود
نمی دونم چرا برنامه نویسان کوچک ، زبان رو با هویتشون گره می زنن. این ها فقط ابزاری ان در دست ما برای رسیدن به اهدافمون. (نه خود هدف) اینقدر fanatic نباشید. از هر ابزاری که فکر می کنید بهتر کارتون رو راه میندازه استفاده کنید
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
فکر کنم اگه تاپیک قفل بشه خیلی بهتره
ظاهرا داره تبدیل میشه به بحث های شخصی و هر کسی سلیقه خودش رو عنوان میکنه و اصل موضوع تاپیک زیر خروارها پست ( که اکثرا به درد نخور بودن ) له شده... !!!
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
چرا برمودا جان، درسته که یکم مباحث مطرح شده توسط دوستان باعث به انحراف کشیده شدن اصل موضوع تاپیک شده و میشه و هر تاپیک دیگه هم از این جنس، از این قاعده تقریبا مستثنا نیست، ولی غفل کردن تاپیک کاره درستی نیست و باید به عنوان آخرین راه حل در نظر گرفته بشه نه اولین.
بهتره جای اون یکم خودمون بحث رو جم و جور تر و با حاشیه ی امن تری ادامه بدیم.
به این خاطر میگم که تقریبا هر تاپیکی با همچیین موضوعاتی همیشه کارش نصفه کاره مونده و هیچ وقت به جواب نرسیده.
امید وارم این یکی هم به همچین سرنوشتی دچار نشه و دوستان با کمی مراعات تر کردن و کم تر خارج شدن از بحث، کمک به رسیدن یه نتیجه ی درست و حسابی راجع به یه همچین مبحثی بشن.
با تشکر
ویرایش شده
نقل قول:
صولا یه همچین مسائلی جواب خاصی ندارند و نداشته اند و نخواهند داشت. از n تا view میشه به این قضیه نگاه کرد و موضوع رو تحلیل کرد بنابراین n تا جواب براش بوجود میاد
مشکل اینجا بوجود میاد که مثلا من که با دید خودم نگاه میکنم و جواب خودم رو قبول دارم ، دید و جواب شما رو نمی پسندم و همین موضوع باعث اصرار از شما و انکار از من میشه و بدتر از همه اینه که مسئله میفته تو یه loop بی نهایت!!! و بالاخره Admin مجبور میشه process ما رو Kill کنه تا سیستم hang نکنه!!!!
خوب، موضوع اصلی شما درسته ولی به نظر من باید به جای اینکه دید فیکسی و به تعبیر دیگه متعصبانه ای راجع به یک مسئله داشت، باید با دیدی محققانه به مسائل مطرح شده نگاه کرد. یعنی دوستان باید نگاه خودشون رو از اون حالتی که برمودا جان گفتن به اینی که من می گم تغییر بدن تا بشه با مسالمت به یه نتیجه رسید.
در غیر اینصورت چاره ای غیر از End Task کردن به قول دوست خوبمون برمودا، نمی مونه.
پس دوستان ...
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
اصولا یه همچین مسائلی جواب خاصی ندارند و نداشته اند و نخواهند داشت. از n تا view میشه به این قضیه نگاه کرد و موضوع رو تحلیل کرد بنابراین n تا جواب براش بوجود میاد
مشکل اینجا بوجود میاد که مثلا من که با دید خودم نگاه میکنم و جواب خودم رو قبول دارم ، دید و جواب شما رو نمی پسندم و همین موضوع باعث اصرار از شما و انکار از من میشه و بدتر از همه اینه که مسئله میفته تو یه loop بی نهایت!!! و بالاخره Admin مجبور میشه process ما رو Kill کنه تا سیستم hang نکنه!!!!
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
گه دقت کنید دیگه زبانهای برنامه نویسی از وابستگی به سیستم عامل ها در می آیند و بر روی 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 انجام دادند، یا یک طرح کاملا جدید هست، هنوز مشخص نیست، چون فعلا اعلام رسمی نکردند.
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
فکر کنم اگه تاپیک قفل بشه خیلی بهتره
ظاهرا داره تبدیل میشه به بحث های شخصی و هر کسی سلیقه خودش رو عنوان میکنه و اصل موضوع تاپیک زیر خروارها پست ( که اکثرا به درد نخور بودن ) له شده... !!!
بله، انشاء الله نخواستم زود تاپیک را قفل کنم، تا خدای نکرده کسی نگه؛ چون نظرات ما مخالف نظرات خودش بود، از زور استفاده کرد، و تاپیک را قفل کرد.
اگر خدا خواست، فردا تاپیک را قفل می کنم، تا اون موقع هم اگر کسی از دوستان نظر تازه ایی داشت، فرصت خواهد داشت که در تاپیک بیان کنه.
موفق باشید
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
شما میگید: چرا دات نت اینقدر طرفدار پیدا کرده.
منم میگم به این دلیل که جاوا طرفدار پیدا کرده.
یک پرسش دارم با اینکه تو دانشگاه پاسکال و c تدریس میشه و مدیران این سایت هم بشدت طرفدار متن بازها هستن، پس چرا باز دات نت و جاوا طرفدار پیدا کرده؟
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
نقل قول:
یک پرسش دارم با اینکه تو دانشگاه پاسکال و c تدریس میشه و مدیران این سایت هم بشدت طرفدار متن بازها هستن، پس چرا باز دات نت و جاوا طرفدار پیدا کرده؟
از کجا به این نتیجه رسیدید که مدیران این سایت بشدت طرفدار متن باز هستند؟!
از کجا به این نتیجه رسیدید که نظر مدیران این سایت لزوما روی گرایش به یک سکوی توسعه نرم افزار تاثیر داره؟
دات و جاوا در چه زمینه طرفدار پیدا کردند؟ تا وقتی زمینه مورد نظر را مشخص نکنید، سوالتان بی معنی هست! مثلا یک نفر میتونه بگه دات نت و جاوا برای ساخت سیستم عامل، یا درایور سخت افزاری به هیچوجه پرطرفدار نیستند، و با یک مثال نقض، کل سوال شما را (به شکل ناقصی که پرسیدید) بی اعتبار کنه.
به این نکته هم توجه داشته باشید که دات نت و جاوا سکوی توسعه نرم افزار هستند، نه زبان برنامه نویسی. البته عبارت جاوا هم برای زبان جاوا استفاده میشه، هم برای سکوی جاوا، ولی دا نت نه.
در ضمن، در دانشگاه ها معمولا از زبان هایی برای تدریس استفاده میشه که بتونند از یک طرف مفاهیم مورد نظر در اون Course را به شکل مناسبی منتقل کنند، و از طرف دیگه، پایه ایی برای حرکت های تجاری آینده دانشجو باشند. پاسکال زمانی در دانشگاه ها تدریس میشد که Structural Programming پارادایم حاکم بر زبان های برنامه نویسی بود، و پاسکال آن را به بهترین شکل ارائه می کرد، پس دانشجو با یادگیری آن، خودبخود با Structural Programming درگیر می شد. C هم به این دلیل تدریس می شد که از یک طرف در درس های سیستمی دانشجو مثل سیستم عامل، بسیار موثر بود، و هم زبان برنامه نویسی رایج در دنیا محسوب می شد (الان هم حجم عظیمی از نرم افزارهای متداول با C\C++ نوشته میشند)، هم Syntax آن در زبان های جدیدتر بارها استفاده شده بود، و یادگیری Syntax آن یادگیری Syntax زبان هایی مثل جاوا یا #C را آسانتر می کرد، و برنامه نویس مجبور نبود با یک Syntax کاملا جدید دست و پنجه نرم کند.
الان در خیلی از دانشگاه های دنیا از جاوا یا #C برای تدریس برخی درس ها استفاده میشه، چون دانشجو را با مفاهیم OOP درگیر می کنند، و بازار کار خوبی هم دارند.
نقل قول: چرا #C اینقدر خاطر خواه پیدا کرده؟
خوب قبل از اینکه تاپیک قفل بشه منم به یه نکته اشاره کنم همه دوستان بحث های علمی خوبی کردند مخصوصا جناب کشاورز که من از جواباشون کلی استفاده کردم ، علاوه بر تمام دلایلی که دوستان از منظر علمی بررسی کردن "مد" هم خیلی مهمه! آره دقیقا مد ، خدا نکنه یه چیزی مد بشه تو محیط برنامه نویسیه ایران ! الانم مد روز ظاهرا C# تا ببینیم مد بعدی چیه!