مشاهده دست آورد نظرسنجی: به چه دلیل همچنان از VC6 استفاده می کنید؟

رای دهنده
68. شما نمی توانید در این رای گیری رای بدهید
  • عدم اطلاع از مطالب به دلیل عرضه کامپایلر ++VC با نامی با پسوند دات نت

    11 16.18%
  • اشتباه گرفتن VC++‎6 با حالتی که برای Visual Basic 6 پیش آمد

    2 2.94%
  • اطلاع نداشتن از ادامه پشتیبانی از MFC و win32 در نسخه های جدیدتر کامپایلر

    13 19.12%
  • به دلیل مطالعه کتاب ها و مراجع قدیمی

    26 38.24%
  • به دلیل تغییرات ایجاد شده در ارتباطات با پایگاه داده های جدید

    1 1.47%
  • پشتیبانی و نگهداشت پروژه های بزرگ قدیمی

    8 11.76%
  • هزینه بالای چند صد دلاری خرید نسخه های جدید این کامپایلر !؟

    7 10.29%
نمایش نتایج 1 تا 35 از 35

نام تاپیک: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

  1. #1

    تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    اکنون 10 سال از انتشار کامپایلر VC++‎6 گذشته است، کامپایلری که از مهم ترین قابلیت هایش برنامه نویسی unmanaged یا همان غیر دات نتی بود حال به شیوه MFC یا Win32 API.

    اما نکته ای که باید به آن توجه کرد آن است که در طی این سال ها قابلیت های زیادی به زبان استاندارد ++C/C و به API های سیستم عامل های جدید اضافه شده است، که برخی از این امکانات در قالب SDK جدید و قابل دانلود، هر چند ماه عرضه شده است و این در حالی است که با نصب و استفاده از هر یک از کامپایلرهای ++Visual C نسخه های بعد از VC6، می توان از تمامی این امکانات و SDK جدید بهره مند شد. (که بسیاری از آن ها از جمله کتابخانه های استاندارد و با کیفیت ++C خریداری شده اند)

    اما متاسفانه هر روزه با تعداد زیادی از برنامه نویسان در کشور مواجه می شوم که همچنان این تفکر اشتباه در ذهنشان وجود دارد که نسخه های بعد از VC6 دیگر میبتنی بر .NET شده اند و یا اینکه اشتباها VC6 را یک زبان و آن هم مختص همین نسخه کامپایلر می دانند. (از فارغ التحصیلات کامپیوتر گرفته تا برنامه نویسان تازه کار C++‎ و حتی حرفه ای در سایر زبان های برنامه نویسی) و در بیان برنامه نویسی غیر دات نتی از طریق C++‎ و توصیه هایشان می گویند به سراغ VC6 برو !

    حتی برخی ++VC را فقط MFC می دانند و از مهم ترین بخش آن ( لایه زیرین MFC) یعنی برنامه نویسی win32 API غفلت می کنند.


    لذا برای روشن شدن موضوع نسخه های ارائه شده بعد از Visual C++‎ 6 و برخی از قابلیت های مهم آن ها را بررسی می کنیم:

    1) Visual C++‎ 6.0: (سال 1998 ، دات نت هنوز عرضه نشده است)
    - پشتیبانی از MFC 6.0
    - پشتیبانی از برنامه نویسی win32 و همین طور کنسولی


    2) Visual C++‎ .NET 2002 :
    - پشتیبانی از MFC 7.0 ( بدون .NET)
    - پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
    - پشتیبانی از برنامه نویسی .NET نسخه 1.0 از طریق managed C++‎ extensions


    Visual C++‎ .NET 2003 (3:
    - پشتیبانی از MFC 7.1 ( بدون .NET)
    - پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
    - پشتیبانی از برنامه نویسی .NET نسخه 1.1 از طریق managed C++‎ extensions


    :Visual C++‎ 2005 (4
    - پشتیبانی از MFC 8.0 ( بدون .NET)
    - نیازمند تغییرات اندکی در پروژه های MFC نوشته شده توسط VC++‎6
    - پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
    - پشتیبانی از برنامه نویسی.NET نسخه 2.0 از طریق C++‎/CLI با تغییرات زیادی در syntax برنامه نویسی .NET
    - امکان برنامه نویسی برای دستگاه های موبایل و PDA شامل windows mobile


    :Visual C++‎ 2008 (5
    - پشتیبانی از MFC 9.0 ( بدون .NET)
    - پشتیبانی و ارائه هزاران API برای سازگاری بیشتر با ویندوز Vista و افزودن سبک ویندوز Vista در طراحی Dialog box
    - امکان استفاده محدود از Class Designer در برنامه نویسی native (همانند برنامه نویسی #C)
    - پشتیبانی از برنامه نویسی .NET نسخه 3.5 از طریق C++‎/CLI
    - پشتیبانی از برنامه نویسی win32 با ارائه هزاران API جدید و همین طور کنسولی ( بدون .NET)
    - عدم پشتیبانی از کامپایل و اجرا شدن برنامه در Windows 95, Windows 98, Windows ME و Windows NT


    اما تذکرات:

    نکته 1) از آنجایی که این کامپایلرها با نام NET. عرضه شدند (همین طور خود بسته Visual Studio .NET) اشتباها این تفکر را در برنامه نویسان ایجاد کرده است که برنامه نویسی ++C در این نسخه ها فقط از طریق دات نت می باشد، در حالی که چنین نیست، بلکه این فقط یک نام برای کامپایلرهای جدید ++VC می باشد که با پسوند NET. عرضه شدند و برای رفع این تفکرات غلط در نسخه های 2005 به بعد، این نام به حالت قبل تغییر داده شد و پسوند نام NET. حذف شد و شما همانطور که مشاهده کردید همچنان می توانید از نسخه های جدیدتر برنامه نویسی MFC یا win32 بدون نیاز به NET Framework. استفاده کنید و اصلا نیازی به برگشتن به محیط قدیمی VC++‎6 نیست.


    نکته 2) احتمالا اکثر کاربران اشتباها کامپایلر VC6 را همانند Visual Basic 6 فرض می کنند. در حالی VB یک زبان برنامه نویسی هست.


    نکته 3) از طریق همه این کامپایلرها (به جز VC6)در صورت تمایل می توانید کدهای native کنونی خود را (مانند MFC و win32) با برنامه نویسی .NET از طریق C++‎/CLI ترکیب کنید و از مزایای دات نت نیز بهره مند شوید.


    نکته 4) توجه داشته باشید که کامپایلر VC++‎6 (سال 1998) با نسخه های جدید ویندوز از جمله XP مشکلاتی بسیاری دارد و حداقل نیازمند نصب جدبدترین سرویس پک می باشد (آخرین نسخه SP6) و در ویندوز ویستا نیز پشتیبانی نمی شود، لذا با گذشت 10 سال دیگر این کامپایلر از طرف مایکروسافت پشتیبانی نخواهد شد، همانطور که نسخه های ویندوز زیر 2000 از این پس پشتیبانی نخواهند شد.

    پس راهکار استفاده از نسخه های جدید کامپایلر ++Visual C هست، چیزی که بدون پرداخت هزینه زیادی در کشور قابل یافت می باشد و کدهای شما فقط در برخی موارد جزئی با تفاوت بسیار اندک قابل انتقال به نسخه های بعد می باشد.


    نکته 5) برخی از کاربران نیز به خاطر مطالعه کتاب ها و منابع قدیمی MFC همچنان اصرار بر استفاده از VC6 دارند در حالی که تنها تفاوت قابل لمس آن تغییر مکان Class wizard می باشد که فقط Tab ها آن wizard، به چندین دیالوگ جداگانه با همان نام ها مانند Add variables و غیره تقسیم شده است و فراگیری آن کمتر از نیم ساعت زمان نیاز دارد. (پست بعد را مشاهده کنید)


    نکته 6) برخی از کاربران دیگر نیز به دلیل تغییرات ایجاد شده در ارتباطات با پایگاه داده های جدید (مانند نسخه MSSQL 2008) برای سازگاری به نسخه VC++‎6 روی آوردند که همچنان می توانستند از نسخه های جدید تر مانند 2003 استفاده کنند.


    در پایان اگر این مورد شامل حال شما هم می شود لطفا در نظرسنجی فوق شرکت کنید و نظر یا دلیل خود را نیز در همان مورد مطرح کنید.

    موفق باشید


  2. #2

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    با مطالعه سوالات و پاسخ های زیر برای MFC و کار با کلاس ها، تفاوت اندک کار در محیط نسخه های اخیر کامپایلر ++VC نسبت به محیط VC++‎6 مشخص می شود :


    Q1: Where is ClassWizard in Visual Studio .NET and in Visual Studio 2005?

    A1: In Microsoft Visual Studio version 6.0, ClassWizard allows you to add messages, overrides, and events in addition to classes. Visual Studio .NET and Visual Studio 2005 donot have ClassWizard. Instead, an Add Class dialog box provides some of this functionality. The rest of the Visual Studio 6.0 ClassWizard functionality is provided through the property grid.



    Q2: How do I add a class to a project in Visual Studio .NET and in Visual Studio 2005?

    A2: Right-click the project name in Solution Explorer, click Add on the shortcut menu, and then click Add Class. In the Add Class dialog box, select the type of class that you want to add, and then click Open
    Note In Visual Studio 2005, click Add..



    Q3: How do I add a function to a class in Visual Studio .NET and in Visual Studio 2005?

    A3: In Class View, right-click the class name to which you want to add the function. Point to Add on the shortcut menu, and then click Add Function. The Add Member Function Wizard starts.



    Q4: How do I override a base class method in Visual Studio .NET and in Visual Studio 2005?

    A4: To override a base class method, do the following:
    If the Properties window is displayed, select the class in Class View. In the Properties window toolbar, click Overrides. Select the method that you want to override.

    If the Properties window is not displayed, click Properties Window on the View menu. Or, select and right-click the class, and then click Properties.



    Q5: How do I add a message handler in Visual Studio .NET and in Visual Studio 2005?

    A5: In the Properties window toolbar, click the Messages button and then select the message for which you want to add a handler. From the drop-down list box, select AddMessageHandler to add the message handler selected.



    Q6: How do I add an event handler in Visual Studio .NET and in Visual Studio 2005?

    A6: In the Properties window toolbar, click the Events button. Click the plus sign (+) to expand the object for which you want to add an event handler. Select the desired event, and then from the drop-down list box, select Add event.


  3. #3
    کاربر دائمی آواتار simul8or
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    API::WIN32-64
    پست
    110

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    به نظر من این اشتباهات به دلیل مطالعه نکردن دقیق documents ارائه شده به همراه نرم افزارهاست.
    اکثر برنامه های جدید دارای قسمت ...What's New in میباشد، که با مطالعه دقیق آن میتوان به تغییرات اعمال شده در نسخه های جدیدتر برنامه پی برد. که مطالعه دقیق این اسناد مستلزم یادگیری زبان انگیلسی در حد ترجمه متون میباشد.

  4. #4
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    کمی تامل بیشتر!!!

    سلام

    من هم کاملا با آقا نيما در وجود برخي تفکرات اشتباه در رابطه با نسخه هاي بعد از VC6 موافقم (چون خودم سالها قبل دچار اين اشتباه بوده ام).همچنين بسياري از مطالب و موضوعات مطرح شده بالا را تاييد مي کنم و معتقدم ما مجبوريم به سمت تکنولوژي هاي جديد حرکت کنيم (و بايد حرکت کنيم).ولي غرض از اين نوشتار اين بود که تاکيد کنم که هنوز نمي توان به اين صراحت براي VS6 گواهي فوت صادر کرد (حداقل در کشور ما!!).براي اين مطلب چند دليل مي آورم که اميدوارم بيشتر به آن توجه شود:
    1) توسعه نرم افزار هايي که هنوز به اين زبانها نوشته شده اند .براي نمونه ، اکنون قرار دادي دارم که مجبور به توسعه نرم افزار تحت VB6 هستم و تاکنون نتوانسته ام آن را به نسخه هاي بالا تر ارتقاع دهم (اما در تلاشم!!).
    2) نظر کارفرما : گاهي اوقات کارفرمايان اين گونه مي خواهند (نسخه را مشخص مي کنند) که البته قطعا از کمي اطلاع ايشان است.با اين حال چنانچه موفق نشويم آنها را متقاعد کنيم ، مجبوريم از همان زبانها قديمي استفاده کنيم !!!!
    البته اين دو دليل ،رسالت برنامه نويسان را بيشتر مي کند زيرا ما بايد حتما اين آگاهي و بيش را گسترش دهيم که مي توان از زبانهاي جديد تر يا نسخه هاي جديد تر استفاده کرد.همچنين در ذيل چند دليل ديگر هم دارم (که البته تعداد آن بيشتر بود ولي اهم آنها را ذکر مي کنم) و البته فقط براي VC6 صادق است:
    3) همانطور که مي دانيد VC6 از نسخه MFC42 (در بالا به سهو MFC 6 بيان شده بود) استفاده مي کند.اين نسخه هماهنگ با VC4.2 است.به همين دليل در تمام سيستم عامل ها بعد از 98 آن را مي يابيم (حتي ويستا).البته شايد لازم به ذکر نباشد ولي دو مطلب را همين جا ذکر مي کنم (براي دوستاني که احتمالا فرموش کرده باشند).که اولا گاهي اوقات برنامه نويسي تحت MFC راحتر از Win32 است و برنامه نويس بايد در هنگام برنامه سازي ،نوع آن را مشخص کند.براي همين نمي توان گفت که حتما بايد تحت win32 نوشت بلکه گاهي اوقات (و در اغلب برنامه هايي که ما در حال توسعه ان هستيم و به تعريف من برنامه هاي کوچک و متوسط اند) برنامه نويسي تحت win32 به غير از هدر دادن وقت نيست (توجه کنيد که در خيلي از مواقع هم برنامه نويسي تحت win32 بهترين و شايد تنها گزينه مناسب باشد و من منکر اين موضوع نيستم!).دوم اين مطلب که اين تفکر که در کشور ما (و در برخي جا هاي ديگر دنيا البته تا آنجا که من اطلاع دارم!) با حضور پنتيوم 4 الزاما، همه مردم نبايد کامپيوتر هاي قديم خود را دور بياندازند.براي نمونه من شرکتي را ديدم که براي هدف خاصي از يک پنتيوم 1 با 64 مگا بايت رم استفاده مي کرد و حتما مي دانيد در اين سيستم،نمي توان ويندوز 2000 نصب کرد! و سيستم عامل آن 98 SE بود.البته اين کامپيوتر براي کار کرد مد نظر بسيار مناسب (و حتي شايد خيلي پيشرفته!!!) بود.حال به نظر شما راهي غير از استفاده از VC6 براي برنامه نويسي آن مي ماند؟! از اين دست زياد نيستند ولي قابل تامل هستند.
    4) همانطور که ذکر شد اگر من برنامه را تحت MFC بنويسم ،به شرط استفاده از VC6،روي هر سيستم عامل ويندوز 98 به بعد جواب ميدهد.پس با اطمينان مي توانم آن را به کاربر بدهم بدون نياز به نصب چيزي روي سيستم مقصد (اين نکته در مورد برنامه هاي کوچک و حتي متوسط مهم است).ولي اگر نياز به MFC70 يا MFC 71 يا ...،باشد من برنامه نويس ،بايد حتما redistribution براي ان بگذارم تا برنامه نصب شود و اين مورد براي برخي سيستم ها خوشايند نيست (دليل اين مطلب هم توسعه روز افزون نرم افزار هاي Portable است)
    5) اين دليل شايد يک دليل ضمني باشد ولي قطعا موثر است.ما نيز بايد هماهنگ با تمام دنيا باشم.زماني که هنوز در سايتها برنامه نويسي مطرح (مثل code project) کد VC6 توسعه مي يابد،پس دليل بر استفاده از آن است.(مقالات جديد ،رفع ايراد ،به روز رساني کدها و ...).البته معمولا کد ها علاوه بر VC6 براي ديگر نسخه ها بخصوص VC8 نيز به کار مي روند.
    6) شايد برنامه نويسي براي VC6 سخت تر از VC8 باشد.چون API هاي بيشتر در دومي موجود است ولي در VC6 نيز مي توان توابع را به صورت Dynamic بار کرد.(من چند سال پيش برنامه اين نوشتم که به دليل استفاده از برخي از خصوصيات ويندوز 2000 به بالا فقط در نسخه هاي 2000 به بعد اجرا مي وشد و به خوبي هم کار مي کند و از API هاي آن هم استفاده مي کند).

    در نهايت مي خواهم تکرار کنم که من با کليات پست آقا نيما براي وجوب حرکت به سمت نسخه هاي جديد موافقم و وظيفه خود مي دانم که به تمام دوستاني که داراي عذري مانند بالا نيستند،کلا VS6 را فراموش کنند و به فکر تکنولوژي روز باشند.

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

    موفق باشيد.
    آخرین ویرایش به وسیله SMRAH1 : چهارشنبه 27 شهریور 1387 در 16:54 عصر دلیل: اشتباه تایپی

  5. #5

    نقل قول: کمی تامل بیشتر!!!

    نقل قول نوشته شده توسط SMRAH1 مشاهده تاپیک
    البته يک سئوال هم از آقا نيما داشتم : اشاره اي که در مورد عدم هماهنگي با نسخه هاي جديد تر ويندوز کرده بوديد،بسيار تامل برانگيز است.من تا حالا به اين عدم هماهنگي بر نخورده ام ولي قطعا اين موضوع صحت دارد.با اين حال مي خواستم خواهش کنم اين موضوع را کمي باز کنيد تا حداقل من در پروژه هاي آتي مد نظر قرار دهم .
    بسیاری از این موارد در هنگام برنامه نویسی با ترکیب کدهای مختلف مشخص می شوند (مخصوصا بدون نصب service pack های جدید)، بسیاری از این موارد تحت عنوان bug مثلا برای ویندوز XP در بخش support.microsoft.com اعلام شده اند، بسیاری از آن ها با نصب Service pack حل شده اند و برای سایر موارد نیز راهکار دستی معرفی شده است و در نسخه های بعدی کامپایلر حل شده اند.(به عنوان مثال یک مورد آن)

    ولي غرض از اين نوشتار اين بود که تاکيد کنم که هنوز نمي توان به اين صراحت براي VS6 گواهي فوت صادر کرد (حداقل در کشور ما!!)
    بله، هدف من تنها روشن کردم برخی تفکرات اشتباه بود نه لزوما مهاجرت همگان از VC6 به نسخه بالاتر.
    کسی که هنوز دلیل منطقى برای کار با نسخه های قبلی دارد همچنان می تواند از آن استفاده کند و هدف من نیز آگاه کردن افراد از به کاربردن آن، اما با دلیل منطقى است که شما ذکر کردید.

    کسی که می خواهد برای سیستم عامل های قدیمی تر برنامه بنویسد (یا سایر دلایل ذکر شده شما) چاره ای جز همان ندارد، چرا که در نسخه های جدید، حتی API های قبل از ویندوز 2000 از windows SDK حذف شده است. پس راهکار همان کامپایلرهای قبلی است.

    همانطور که ذکر شد اگر من برنامه را تحت MFC بنويسم ،به شرط استفاده از VC6،روي هر سيستم عامل ويندوز 98 به بعد جواب ميدهد.پس با اطمينان مي توانم آن را به کاربر بدهم بدون نياز به نصب چيزي روي سيستم مقصد (اين نکته در مورد برنامه هاي کوچک و حتي متوسط مهم است).
    اما درست هست که این امکان وجود دارد، اما افراد تازه کار حتما باید به این موارد نیز توجه کنند:

    - بسیاری از افراد که نا آگاهانه از VC6 استفاده می کنند، خبر ندارند که هزاران API جدید همانند نسخه های قبلی اما با قابلیت های جدید برای نسخه های بعد از window 2000 عرضه شده است، لذا آگاهی از آن موارد نیز ضروریست. (و به همین دلیل است که تقریبا از 3 سال پیش برنامه های تجاری برای ویندوز 2000 به بالا عرضه می شوند)

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

    - نباید فراموش کرد که بسیاری از کتابخانه های جانبی، هم اکنون دیگر VC6 را پشتیبانی نمی کنند.(به دلیل استفاده از قابلیت های جدید)

    زماني که هنوز در سايتها برنامه نويسي مطرح (مثل code project) کد VC6 توسعه مي يابد، پس دليل بر استفاده از آن است.(مقالات جديد ،رفع ايراد ،به روز رساني کدها و ...).
    قبلا هم دوستان این موضوع را مطرح کرده بودند که درست است، اما آنان دلایل مختلفی برای این کار دارند:

    1) افرادی که برای سایت های آموزشی سراسر دنیا مقاله ارسال می کنند از آنجایی که شرایط آن ها مانند ما نیست (قانون کپی رایت) لزوما در منزل خود جدیدترین visual studio را ندارند چرا که نیازی به توسعه تجاری در منزل ندارند. همه آن ها قادر نیستند هر چند وقت، چند صد دلار بابت خرید یک نسخه VC جدید برای منزل بپردازند، در حالی که در محل کارشان یک نسخه جدید برایشان خریداری شده است. (به شخصه این موضوع را از افراد زیادی شنیده ام)، نسخه های express رایگان جدید نیز جوابگوی بسیاری از کارها نیست.

    2) دلیل دیگر نیز همان سازگاری با نسخه های بعدی است، به این شکل که اکثر پروژه ها توسط کامپایلرهای قدیمی بدون تغییر می توانند به نسخه های بالاتر convert شوند و در آن ها باز و اجرا شوند. پس به این شکل می توان بازه بیشتری از افراد را با نسخه های مختلف کامپایلر پشتیبانی کرد.


    با تشکر، در هر حال مطالب ذکر شده شما ، همه موارد منطقی هستند که در آن شرایط با آگاهی، لزومی به مهاجرت نیست (و چاره ای جز آن نیست)

    موفق باشید

  6. #6

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    سلام عذر میخوام که بدون اطلاعات کافی وارد بحث میشم ولی مثلاً خود من دوسال سی شارپ کار کردم تا فهمیدم که بدرد من نمیخوره اصلاً زبان مفسر دار را دوست ندارم بعد تصمیم گرفتم برم سی پلاس پلاس یاد بگیرم رفتم انقلاب کتاب بخرم یه net. روی همه کتابها نوشته شده بود انقدر گشتم تا یه کتاب دست دوم C++‎6 در 21 روز مال سال 1380 پیدا کردم توی ویژوال 2005 و 2008 که اصلاً کدهاش اجرا نمیشه (وارد بحث فنی نمیشم) توی 2003 میشه کار کرد که اونم با کتاب هماهنگی نداره ! در به در توی اینترنت گشتم ولی نتونستم یه آموزش سی توی آی دی ای های جدید پیدا کنم که فارسی باشه یه انگلیسی هم رو راپید هست که خودتون میدونید دردسر های خودشو داره تازه انگلیسه و من مشکل دارم!حالا خودتون تصمیم بگیرید که این مایکروسافت داره با ما علاقه مندان به برنامه نویسی چیکار میکنه !تازه همه رو میخواد ببره توی دات نت زیر چتر خودش!!!
    در نهایت آیا شما کتاب الکترونیکی فارسی برای ای دی ای های جدید مثل 2003-5-8 دارید که سی پلاس پلاس آموزش بده ؟

    با تشکر

  7. #7

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

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

    - اما اینکه بگوییم چون کتاب فارسی کم هست، یا بگوییم ایرانی ها کتاب های جدید ++C را کمتر ترجمه می کنند، پس مایکروسافت هم داره بلایی سر تکنولوژی های غیر دات نتی می آورد غیر معقول هست!

    چرا برای نسخه های جدید با IDE های جدید زیاد کتاب جدید نمی نویسند؟
    چون عموما تفاوت IDE ها فقط با خواندن چند صفحه از وجود این تغییرات بر طرف می شود.
    فرق ++C با سایر تکنولوژی های برنامه نویسی در این است که هر سال کدهای شما تغییر نمی کنند، کلاس ها و توابع عموما در طی سال ها ثابت می مانند و کد 10 سال قبل شما الآن هم ظرف چند دقیقه قابل کامپایل شدن توسط نسخه های جدید IDE هست.

    آخرین ویرایش تمامی کتاب هایی که خود زبان ++C/C را آموزش می دهند نیز به همین شکل (مانند deitel)

    کدهای MFC 6 تقریبا همگی توسط MFC 9 (در VC++‎2005 یا VC++‎2008) قابل اجرا هستند. به جز موارد اندکی مانند تکنولوژی های پایگاه داده های قدیمی که دیگر پشتیبانی نمی شوند یا نسخه های قدیمی ATL که باید به جدید تر تغییر دهید

    تذکر: مثلا یکی از مواردی که اکثر افراد در شروع نمی دانند این است که پیش فرض کامپایلر ++visual C در نسخه های 2005 و 2008 برای کامپایل یونیکد هست. لذا کدهایشان خطا می دهد و فکر می کنند که چقدر تغییرات رخ داده است!
    در حالی که فقط کافیست به properties بروید و نوع کامپایل را به غیر یونیکد یا MultiByte تغییر دهید تا همه خطاهای رشته ای به حالت VC++‎6 بر گردد.

    مهم ترین تفاوت ها در نحوه کار با class wizard هست که فقط جای آن در IDE تغییر کرده است نه بیشتر.(این تفاوت ها در پست دوم ذکر شده اند) مایکروسافت در قسمت native آنقدر MSDN را قوی می نویسد که از 100 ها کتاب کامل تر هست با صدها مثال و توضیح که اصلا قابل مقایسه با اسناد کمکی .NET نیست. برای .NET اکثر کلاس های مهم حتی یک خط نمونه مثال هم ندارند.

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

    به همین دلیل کمتر شرکت ها علاقه مند هستند تا مجددا یک کتاب جدید بنویسند.

    1) با تمام این تفاسیر، کتاب فارسی زیر در محیط های VC++‎2003/2005/2008 قابل استفاده است.(فقط پروژه باید در حالت غیر یونیکد کامپایل شود):
    Visual C++‎.NET در 21 روز انتشارات نص

    2) کتاب انگلیسی زیر، نیمی برای MFC هست و نیمی برای C++‎/CLI:
    Beginning Visual C++‎ 2008 - Ivor Horton

    3) کتاب انگلیسی زیر برای محیط های visual C++‎2005 و 2008 و قابلیت های جدید ویستا هست (چاپ 2007):
    Windows via C/C++‎ - Pro - Developer

    4) کتاب انگلیسی زیر (چاپ 2008):
    Microsoft Visual C++‎ Windows Applications by Example: Code and explanation for real-world MFC C++‎ Applications

    5) کتاب انگلیسی زیر که تمرکز آن بر روی native هست با کمی C++‎/CLI ،دقت کنید که آموزش زبان ++C با VC2008 هست نه برنامه نویسی ویندوز، این کتاب نسخه جدیدی از "چگونه با ++C برنامه بنویسیم" از Deitel هست(چاپ 2008):
    Visual C++‎ 2008 How to Program -2nd Edition

    پس می بینید که مشکل غیر فارسی بودن هست نه صرفا کمبود منبع.
    موفق باشید
    آخرین ویرایش به وسیله Nima_NF : جمعه 11 اردیبهشت 1388 در 13:55 عصر

  8. #8
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    البته علاوه بر اینها تغییرات دیگری هم وجود دارد که ممکن است برای کسی که تازه به محیط IDE 2005 یا 2008 وارد میشود وجود داشته و مشکل ایجاد کند :

    برای مثال :

    1-شما در این نسخه ها Optionی برای حذف متغیری که به یک کنترل نسبت می دهید ندارید و باید آنها را دستی از فایل cpp و h حذف کنید.

    2-برای تعریف خواص اکتیوایکس که در نسخه 6 در کلاس ویزارد گزینه هایی مثل Automation و یا ActiveX Events وجود داشت که حداقل من زمانی که قصد داشتم از کتابهای قدیمی برای این بحث استفاده کنم به مشکل برخوردم.

    3-در بعضی از توابع که به نظر من رفتار کامپایلر تغییر کرده (البته این نظر شخصی من است )

    مثلا در متد GetBuffer از کلاس CString

    برای من پیش آمده که زمانی که از این متد در MFC9 استفاده میکنم کامپایلر دچار خطای Run time میشود در صورتی که همان برنامه در vs6 بدون خطا اجرا میشود.
    (هر چند این مورد مربوط به تفاوتهای ظاهری نمیشود)

  9. #9

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    برنامه هایی که با mfc و win32 مینویسیم cross platrom هستند ؟ لطفا در این مورد بیشتر توضیح بدهید
    در اینصورت برای اجرای اینگونه برنامه ها برای توزیع های linux چه چیزی رو باید نصب کنیم ؟

    من یه سوال دیگه هم دارم که به این تاپیک ربط زیادی نداره ولی نمیدونم کجا مطرحش کنم برای برنامه نویسی دستگاههایی مثل joyStick یا smart device از چه زبانهایی میشه استفاده کرد ؟

  10. #10

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    برنامه هایی که با mfc و win32 مینویسیم cross platrom هستند ؟
    خیر. Win32 رابط برنامه نویسی سیستم عامل ویندوز هست. MFC هم یک Wrapper شی گرا به دور برخی از قابلیت های Win32.
    در اینجا، منظور از Wrapper این هست که MFC یک سری از قابلیت های Win32 را به صورت ساده تر و شی گرا در اختیار برنامه نویس قرار میده، تا برنامه نویس کمتر با توابع غیر شی گرا، و گاها پیچیده Win32 مستقیما درگیر بشه.

    با توجه به این تفاسیر، هر دوی این ها وابسته به سیستم عامل ویندوز هستند.

    من یه سوال دیگه هم دارم که به این تاپیک ربط زیادی نداره ولی نمیدونم کجا مطرحش کنم برای برنامه نویسی دستگاههایی مثل joyStick یا smart device از چه زبانهایی میشه استفاده کرد ؟
    در سایت تالاری وجود دارد با عنوان "سیستم های Embedded"؛ باید این سوال را آنجا مطرح کنید.


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

  11. #11

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    ممنونم از جوابتون خواستم ببینم اگر vC++‎ قابلیت کدنویسی به صورت native رو داره این به این معنی است که برنامه های cross platform میشه نوشت ؟ منظور از کد native همون کد ماشینه ؟(تو vC++‎ میشه همون win32 ؟)

  12. #12

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    خواستم ببینم اگر vC++‎ قابلیت کدنویسی به صورت native رو داره این به این معنی است که برنامه های cross platform میشه نوشت ؟ منظور از کد native همون کد ماشینه ؟
    خیر، native code به معنی cross-platform بودن نیست. native code یعنی کد نوشته شده توسط برنامه نویس بوسیله کامپایلر مستقیما به کد ماشین تبدیل میشه؛ یعنی خروجی که شما بدست می آورید، یک سری کدهای ماشین هست. این در مقابل کدهای Managed شده قرار داره که در آن کد شما بعد از کامپایل به یک زبان میانی تبدیل میشه، و سپس این زبان میانی در یک ماشین مجازی بر روی سیستم مقصد، به کد ماشین تبدیل میشه (مثل جاوا یا دات نت).

    با ++VC میشه کدهای cross-platform نوشت، ولی cross-platform مساوی با win32 نیست، چون همانطور که در پست قبلی توضیح دادم، Win32 رابط برنامه نویسی سیستم عامل ویندوز هست، و فقط در سکوی ویندوز کاربرد دارد. منظور از Cross-platform آن است که شما کدی بنویسید که برای سکوهای مختلف قابل کامپایل باشد (مثلا کدی که هم بتوان آن را برای ویندوز کامپایل کرد، هم برای لینوکس،و یا OS X).


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

  13. #13

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک

    با ++VC میشه کدهای cross-platform نوشت،
    لطفا در این مورد بیشتر توضیح بدید چگونه ؟ توسط کدوم قسمت vC++‎

  14. #14

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    لطفا در این مورد بیشتر توضیح بدید چگونه ؟ توسط کدوم قسمت vC++‎
    من با ++VC کار نمی کنم، تا جایی که اطلاع دارم در صورتی که در کدهای خودتان از کتابخانه استاندارد ،C که در همه سیستم عامل های مهم یک نسخه از پیاده سازی آن پیدا می شود، استفاده کنید، یا از کتابخانه های Cross-platformایی مثل QT استفاده کنید، می تونید کدهایی بنویسید که وابسته به سکوی خاصی نیست، و می توان آن را برای سکوهای مختلف کامپایل کرد. البته فکر کنم کامپایلر ++VC به خودی خود امکان کامپایل برای سایر سکوها (به غیر از ویندوز) را نداشته باشه، و احتمالا شما باید کد نوشته شده را بوسیله یک کامپایلر دیگه کامپایل کنید.
    در هر حال، دوستان فعال در این بخش اطلاعات بیشتری نسبت به بنده درباره جزئیات ++VC دارند.


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

  15. #15

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    ممنون فکر کنم در اینصورت درست کرن برنامه ای با رابط گرافیکی خوب و
    cross platform توسط این زبان کار سختی باشه

  16. #16

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط mamad64bit مشاهده تاپیک
    ممنون فکر کنم در اینصورت درست کرن برنامه ای با رابط گرافیکی خوب و
    cross platform توسط این زبان کار سختی باشه
    java و ++C/C بهترین ها و تنها وسیله های کامل و همه فن حریف این کار هستند. از آنجایی که java در بسیاری از موارد جوابگوی اکثر نیاز افراد نیست (و اگر انتخاب شما هم نیست)، تنها راه باقیمانده، تضمین شده و همه پسند C++‎/C هست. برنامه هایی مثل Google Earth و AOL communicator با Qt هستند.

    اگر قصد دارید برنامه cross platform بنویسید، باید از یک کتابخانه cross platform برای رابط گرافیکی کاربری استفاده کنید. یعنی در هر سیستم عامل همان تابع یا کلاس توسط API های Native همان سیستم عامل پیاده سازی شده است. (مثلا تابع CreateWindow در ویندوز با win32 ، در لینوکس با Xlib یا GTK و ...) به این شکل دسترسی مستقیم به API ها را نیز دارید.

    کتابخانه هایی مانند Qt ، Wxwidgets ، FLTK ،Tcl/Tk ، GTK، ...

    همان کدها و برنامه ای را که نوشته اید (تقریبا بدون تغییر) باید به همان سیستم عامل ببرید و توسط کامپایلر مخصوص همان OS کامپایل کنید. در ویندوز می توانید از ++visual C استفاده کنید و در لینوکس از gcc .

    توضیحات بیشتر در بخش فنی:
    https://barnamenevis.org/showthread.php?t=94381
    https://barnamenevis.org/showthread.php?t=104483

  17. #17

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    آنجایی که java در بسیاری از موارد جوابگوی اکثر نیاز افراد نیست (و اگر انتخاب شما هم نیست)، تنها راه باقیمانده، تضمین شده و همه پسند C++‎/C هست. برنامه هایی مثل Google Earth و AOL communicator با Qt هستند.
    من میدونم که جاوا برای نوشتن برنامه های کاربردی مفیده و برای نوشتن برنامه های سیستمی جوابگو نیست
    ولی بصورت عملی تفاوت های جاوا و c/C++‎ نمیدونم
    لطفا مواردی که جاوا جوابگوی نیازهایمان نیست بیان کنید ؟ چرا google eath با جاوا ننوشتند ؟ مرسی

  18. #18

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط mamad64bit مشاهده تاپیک
    من میدونم که جاوا برای نوشتن برنامه های کاربردی مفیده و برای نوشتن برنامه های سیستمی جوابگو نیست
    ولی بصورت عملی تفاوت های جاوا و c/C++‎ نمیدونم
    لطفا مواردی که جاوا جوابگوی نیازهایمان نیست بیان کنید ؟ چرا google eath با جاوا ننوشتند ؟ مرسی
    انتخاب زبان بستگی به کار و اهدافی دارد که شرکت سازنده مد نظر دارد.

    - Google earth یک نرم افزار سه بعدی وسیع هست و بر اساس OpenGL کار می کند (که آن هم کتابخانه نوشته شده توسط C هست). برای نرم افزارهای سه بعدی 99.999% زبان C++‎/C انتخاب اول هست. به خاطر منابع موجود، کتابخانه های موجود که اکثرا با همین زبان هستند.(که اگر کسی پول داشته باشد نسخه های تجاری اکثر کتابخانه ها به همراه سورس کد آن ها را می تواند دریافت کند)

    - جدا از آن، برای لود کردن عکس هایی با رزولوشن ها فوق العاده بزرگ نیازمند زبانی هست که بتواند کنترل کاملی بر روی حافظه، منابع و کل سیستم عامل داشته باشد. این کار با ++C بهتر انجام می شود. و گوگل هم با تمام عظمت خود به برنامه نویسان خبره این زبان دسترسی کافی دارد.

    - نرم افزارهای جاوا نیازمند نصب java-runtime هست که حجم بالای 20MB دارد.

    - و موارد دیگر که همگی به انتخاب شما بستگی دارد.

  19. #19

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    VC6 تا چه سالی پشتیبانی می شد ؟

    اصولآ هر نسخه ویژوال استودیو تا چند سال توسط مایکروسافت پشتیبانی می شود ؟

    تا به امروز چه کامپایلرها و محیط های توسعه ای از رده خارج شده محسوب می شوند ؟ مثلآ VC6 و BCB6 در دنیای تجاری از رده خارج شده اند و تنها ممکنه توسط کاراموزان جوان یا کاربردهای خاص مورد استفاده قرار بگیرند ، ایا گزینه های دیگری نیز در این لیست جای دارند ؟ مثلآ VC 7.1 چه موقعیتی داره ؟

  20. #20

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط pckho0r مشاهده تاپیک
    VC6 تا چه سالی پشتیبانی می شد ؟

    اصولآ هر نسخه ویژوال استودیو تا چند سال توسط مایکروسافت پشتیبانی می شود ؟

    تا به امروز چه کامپایلرها و محیط های توسعه ای از رده خارج شده محسوب می شوند ؟ مثلآ VC6 و BCB6 در دنیای تجاری از رده خارج شده اند و تنها ممکنه توسط کاراموزان جوان یا کاربردهای خاص مورد استفاده قرار بگیرند ، ایا گزینه های دیگری نیز در این لیست جای دارند ؟ مثلآ VC 7.1 چه موقعیتی داره ؟
    معمولا محصولا مایکروسافت بین 7 تا 10 سال پشتیبانی می شوند. دقیق یادم نیست که کی پشتیبانی vc6 متوقف شد، اما سال 2004 آخرین نسخه service pack نسخه 6 برای این کامپایلر عرضه شد (یعنی 5 سال قبل) و با آمدن ویندوز vista دیگر کاملا پشتیبانی متوقف شد و در آن یا نسخه های بعدی ویندوز پشتیبانی نخواهد شد.
    موضوع فقط کامپایلر نیست، مایکروسافت پشتبانی از عرضه SDK برای ویندوز های قبل 2000 را کلا متوقف کرد، پس کامپایلرهای جدید (حتی سایر کامپایلرهایی که توسط مایکروسافت ساخته نمی شوند) اگر بخواهند از API ها استفاده کنند، بالای 2000 را پشتیبانی می کنند.

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


    در مورد VC 7 مشخص نیست، مثلا ممکن هست با آمدن ویندوز seven متوقف شود.
    ضمنا در حال حاضر ویندوز های زیر 2000 توسط نسخه VC 2008 پشتیبانی نمی شود و در آینده نزدیک خود ویندوز 2000.

  21. #21
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    سلام دوستان

    مدتی هست که برای برنامه نویسی بازی و کار با سخت افزار نیاز به فراگیری یک برنامه زبان جدید پیدا کردم در حال حاضر با vb.net کار می کنم. دوستان گفتن C++‎ خوبه اومدم که با ++C اشنا بشم تازه فهمیم ++C تو محیطهای مخلتلفی اجرا می شه و ورژنهای متفاوتی داره. همه مطالب دو صفحه این تاپیک رو هم خوندم.لطفا بفرمایید
    1- آیا منظور از نسخه های بالاتر ++VCهمینه که تو دات نت هست؟
    2- من کدوم یک از این برنامه ها رو نصب کنم که دارای انعطاف پذیری بالاتری باشه ؟
    3-رو چه قسمتهای از این زبان رو تاکید بیشتری برای فراگیری داشته باشم؟

    دوستان توجه فرمایید که من انعطاف پذیری برام مهمتر هست چون الان دارم از vb.net استفاده می کنم و بنظرم برای برنامه های تجاری عمدتا برنامه نویسی دیتابیس کاملا جوابگو هست.
    برای مقاصد بالا یعنی برنامه نویسی بازی و کار با سخت افزار نیاز به فراگیری زبان جدید دارم.
    معذرت می خوام با توجه به تازه کار بودنم پابرهنه اومدم وسط

  22. #22

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    1- آیا منظور از نسخه های بالاتر ++VCهمینه که تو دات نت هست؟
    والا کل این تاپیک فقط برای این ایجاد شد که بگیم نه !

    تکرار مجدد:
    ++VC یک کامپایلر هست، نه زبان یا تکنولوژی برنامه نویسی.
    با نسخه های بعد از 2001، می توانید همه جور برنامه بنویسید: با .Net ، بدون .Net و...

    برای مباحث پیشرفته، زبان ++C به تنهایی چیز خاصی ندارد که بخواهیم بگوییم کجای آن را بخوانید، برای شروع باید تمام خود زبان را فرا بگیرید.
    این کتابخانه مورد نظر هست که باید ابتدا انتخاب کنید (MFC / win32 / DirectX / OpenGL و ...) و سپس تصمیم بگیرید که کدام قسمت آن را مطالعه کنید. در بخش فنی C توضیحاتی داده شده است.

  23. #23
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

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

  24. #24

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    1- از لینک زیر، یک کتاب ++C فارسی تهیه کنید و کامل این زبان را در محیط کنسول (صفحه سیاه command prompt) یاد بگیرید:
    لیست کتاب های فارسی

    2- سعی کنید از کتاب های ویرایش جدید استفاده کنید که در سورس کدها در خطوط اول قطعه کد زیر نوشته شده باشد:

    using namespace std;
    3- جدیدترین نسخه کامپایلر یعنی visual C++‎2008 را تهیه کنید.

    4- وقتی زبان را کامل یادگرفتید، برای ساخت بازی یا برنامه نویسی گرافیک سه بعدی/دوبعدی خودتان بین DirectX یا OpenGL یکی را انتخاب کنید. کتاب و منبع فارسی تقریبا برای این دو وجود ندارد پس باید کتاب انگلیسی تهیه کنید.

    5- در مورد فوق برای طراحی برنامه های GUI نیستند، اگر قصد دارید برنامه ای بنویسید که مثلا پنجره، منو، دکمه و ... غیره داشته باشد بین win32 و MFC خودتان باید یکی را انتخاب کنید (البته بعد از یادگیری خود زبان ++C)،
    برای بازی بیشتر win32 و برای application بیشتر MFC توصیه می شود.

  25. #25
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    سلام دوست عزیز ببخشید که اینقدر سوالات ابتدایی می پرسم.
    visual C++‎2008 تو کدوم محیط ؟ آخه تا ونجای که من می دونم یعنی از نوشته های شما و سایر دوستان متوجه شدم تو محیطهای متفاوتی وجود داره. این چیزی که الان در دسترس من هست ++c ی هست که تو دات نت هست. اون تاپیک رو که شما ادرس دادین رو هم از قبل دیدم و یک pdf با نام "با ++c اشنا شویم" از آنجا دانلود کردم شروع به مطالعه کردم خیلی هم خوب توضیح می ده یعنی ساده و روان. تو این کتاب هم از borland و هم در محیط .net می گه. از محیط کنسول هم می گه. حالا در محیط ویژال استودیو کار کنم یا برم و borland رو تهیه و نصب کنم؟

  26. #26

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    درست مشخص نیست که منظور شما از "در محیط .net می گه." چه هست.
    اگر در آن کتاب، دستورات و توابع همان توابع کلاس های .NET هست، که یعنی کتاب شما برای آموزش C++‎/CLI یا C++‎manged هست که با ++C استاندارد فرق می کند.

    همانطور که شما گفتید هدف شما از مهاجرت VB.NET، ساخت بازی و افزایش کارآیی با ++C هست. پس دنبال برنامه نویسی دات نت در ++C نباشید که چیزی فراتر از VB.NET بدست نخواهید آورد.

    پس پروژه مورد نظر شما یکی از این دو هست: win32 یا MFC.
    در Visual C++‎2008 این دو وجود دارند. هیچ کدام دات نتی نیستند وبه آن native می گویند. فقط کافیست از منوی new project یکی از این پروژه ها بسازید.
    برای حالت کنسولی (غیر دات نتی) گزینه win32 console را انتخاب کنید.

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

  27. #27
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    دوست عزیز معذرت می خوام که هی سوال می پرسم.
    منظورم از محیط دات نت نرم افزار ویژال استودیو است. من برای شروع یک برنامه جدید از مسیر new project /win32/visulC++‎/win32 consol applcaion رو انتخاب می کنم. البته با نرم افزار ویژال استدیو.
    حالا کار به این شکل درسته یا نه؟ تو محیط ویژال استدیو هر دو مورد win32 , mfc وجود داره. منظورم از محیط دات نت اینها هستند. آیا کار با انها منو به نتیجه ای که مدنظرم هست و در بالا گفتم می رسونه یا نه؟

  28. #28
    کاربر دائمی آواتار jeson_park
    تاریخ عضویت
    دی 1387
    محل زندگی
    گچساران
    سن
    33
    پست
    595

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    سلام
    مینا خانوم mfc و win32 جدا از دات نت هستن

  29. #29
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط jeson_park مشاهده تاپیک
    سلام
    مینا خانوم mfc و win32 جدا از دات نت هستن
    دوست عزیز سلام
    دوستان بازم معذرت می خوام . شما فرض کنید با شاگرد اول ابتدایی طرفید. معنی این حرفتون اینه که این روش درسته یا نه؟ یعنی win32 , mfcی که تو ویژوال استودیو هست تحت دات نت نیست ؟ من گیج شدم. چون من فکر می کنم هر چیزی که تو ویژوال استودیو هست دات نت محسوب می شه.
    دوستان فقط بگید من این طور که در پست بالا گفتم دات نت هست یا غیر دات نت؟

  30. #30

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

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

    یعنی win32 , mfcی که تو ویژوال استودیو هست تحت دات نت نیست ؟
    به هرحال برای چندمین مرتبه: خیر !

    همان طور که گفتم:
    این دو هیچ کدام دات نتی نیستند وبه آن native می گویند.
    من برای شروع یک برنامه جدید از مسیر new project /win32/visulC++‎/win32 consol applcaion رو انتخاب می کنم.
    این پروژه در این مسیر، بر اساس .NET نیست و همان طور که گفتم (!) همین پروژه console application پروژه مورد نظر شما هست. پس بله گزینه درست هست.

    در ++visual C دو پروژه windows forms و CLR برای ساخت پروژه های دات نتی هستند.

  31. #31
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    آقا معلم حالا چرا می زنی؟ چشم!
    چوب معلم گل هر کی نخوره خوله ما رفتیم که ++C ی بشیم bye
    آخرین ویرایش به وسیله mina.net : شنبه 06 تیر 1388 در 19:59 عصر

  32. #32
    کاربر جدید
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    ایران
    پست
    15

    Lightbulb نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    اگه هنوز بحث Native را متوجه نشديد تاپيك زير را مطالعه كنيد !

    https://barnamenevis.org/showthread.php?t=94381

  33. #33

    Smile نقل قول: تفکرات اشتباه در مورد VC++‎‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    1) با تمام این تفاسیر، کتاب فارسی زیر در محیط های VC++‎‎2003/2005/2008 قابل استفاده است.(فقط پروژه باید در حالت غیر یونیکد کامپایل شود):
    Visual C++‎‎‎.Net در 21 روز انتشارات نص

    من با استفاده از همین کتاب و درس 10 برنامه نقاشی با سند sdi رو در vC++‎2008نوشتم ولی نمیتونم با موس رو ی پنجره باز شده نقاشی بکشم لطفا کمکم کنید . خطاهای برنامه رو هم گذاشتم.
    1>------ Build started: Project: SDI, Configuration: Debug Win32 ------
    1>Compiling...
    1>SDIDoc.cpp
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdidoc.cpp(85) : error C2065: 'm_crColors' : undeclared identifier
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdidoc.cpp(85) : error C2065: 'm_nColor' : undeclared identifier
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdidoc.cpp(85) : error C2661: 'CLine::CLine' : no overloaded function takes 3 arguments
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdidoc.cpp(91) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
    1> h:\vC++‎\atlmfc\include\afxwin.h(5372): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
    1> h:\vC++‎\atlmfc\include\afxwin.h(5374): or 'int AfxMessageBox(UINT,UINT,UINT)'
    1> while trying to match the argument list '(const char [14], long)'
    1>SDIView.cpp
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdiview.cpp(57) : error C2065: 'icount' : undeclared identifier
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdiview.cpp(64) : error C2065: 'pDC' : undeclared identifier
    1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\sdi\sdi\sdiview.cpp(118) : error C3861: 'setcapture': identifier not found
    1>Generating Code...
    1>Build log was saved at "file://c:\Documents and Settings\elhami\My Documents\Visual Studio 2008\Projects\SDI\SDI\Debug\BuildLog.htm"
    1>SDI - 7 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  34. #34

    نقل قول: تفکرات اشتباه در مورد VC++‎‎‎6 و در نتیجه عدم استفاده از نسخه های بعدی

    نقل قول نوشته شده توسط nelhami1 مشاهده تاپیک
    1) با تمام این تفاسیر، کتاب فارسی زیر در محیط های VC++‎‎‎‎2003/2005/2008 قابل استفاده است.(فقط پروژه باید در حالت غیر یونیکد کامپایل شود):
    Visual C++‎‎‎‎‎‎‎.Net در 21 روز انتشارات نص

    من با استفاده از همین کتاب و درس 10 برنامه نقاشی با سند sdi رو در vC++‎‎‎2008نوشتم ولی نمیتونم با موس رو ی پنجره باز شده نقاشی بکشم لطفا کمکم کنید . خطاهای برنامه رو هم گذاشتم.

    بهتر بود برای این سوال یک تاپیک جداگانه باز می کردید.

    در هر حال، خطاهای شما ربطی به جدید بودن نسخه کامپایلر ندارد، یا متغیر ها و کلاس مورد نظر را تعریف نکرده اید، یا اینکه header فایل .h کلاسهای تعریف شده را بالای فایل cpp که در حال استفاده از متغیر ها هست include نکرده اید.

    فقط در مورد خطای AfxMessageBox باید پروژه را به حالت multi-byte کامپایل کنید،

    در FAQ بخش نحوه کامپایل یونیکد و غیر آن بیان شده است.

  35. #35

    نقل قول: تفکرات اشتباه در مورد VC++‎6 و در نتیجه عدم استفاده از نسخه های بعدی

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

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

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

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