یادگیری برنامه نویسی

aabedeni

عضو جدید
باسلام

متشکرم از لطف شما

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

سی دی رو گرفتم باید نصب کنم
 

ugly angel

عضو جدید
دوستان
از اونجایی که سایت جاوا به ایرانی ها اجازه نمیده jdk رو دانلود کنن، یعنی تحریم شدیم، لطفا هرکس دارش بذاره ما هم دانلود کنیم! البته از 5 به بالا باشه
 

ali_vb

اخراجی موقت
کاربر ممتاز
پست بی جا

پست بی جا

دوستان
از اونجایی که سایت جاوا به ایرانی ها اجازه نمیده jdk رو دانلود کنن، یعنی تحریم شدیم، لطفا هرکس دارش بذاره ما هم دانلود کنیم! البته از 5 به بالا باشه
ان جا vb و delphi کار می کنن نه جاوا
هر سخن جایی و هر نکته مکانی دارد--
حالا چی میخای اینjdk چیه ??? کتابه؟؟ برنامه هست؟؟
مشخصاته کامل بده شاید کمکت کر:)دیم-
 

ali_vb

اخراجی موقت
کاربر ممتاز
کتاب آموزش vb.net

کتاب آموزش vb.net

باسلام

متشکرم از لطف شما

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

سی دی رو گرفتم باید نصب کنم
:gol:خوبه
یه کتاب بهتر پیدا کردم حتما" دانلودش کن - حجمش 12 مگابایت بیشتر نیست-کیفیت نوشته هاش هم خیلی خوبه
سطح علمیش هم عالیه کامل و آسون توضیح داده
مولف : سید محمد هاشمیان عنوان کتاب : آموزش vb.nrt2005
vb 2005با vb 2008 زیاد فرقی نداره مثل همن
این هم لینک دانلود
http://homepage.usask.ca/~smh002/resources/VB05Complete.pdf
:)دانلود کردین تشکر یادتون نره دکمه اش اون پایینه:)
 

ali_vb

اخراجی موقت
کاربر ممتاز
:gol:خوبه
یه کتاب بهتر پیدا کردم حتما" دانلودش کن - حجمش 12 مگابایت بیشتر نیست-کیفیت نوشته هاش هم خیلی خوبه
سطح علمیش هم عالیه کامل و آسون توضیح داده
مولف : سید محمد هاشمیان عنوان کتاب : آموزش vb.nrt2005
vb 2005با vb 2008 زیاد فرقی نداره مثل همن
این هم لینک دانلود
http://homepage.usask.ca/~smh002/resources/VB05Complete.pdf
:)دانلود کردین تشکر یادتون نره دکمه اش اون پایینه:)
aabedeniکتابی که دارید رو ول کنید با این کتاب شروع به خواندن کنید
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با اينکه کتاب آقای هاشميان خوب هست اما توصيه ميکنم کتب انگليسی رو مطالعه کنيد :gol:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
اگه انگلیسی قوی باشه بله ولی کووووووو:biggrin:
شما انگلیسیتون چطوره؟؟/

زبانم بد نیست :smile: اما دوست من یادت باشه کتب مربوط به programming زبان خیلی قوی نیاز نداره :gol:
 

ali_vb

اخراجی موقت
کاربر ممتاز
زبانم بد نیست :smile: اما دوست من یادت باشه کتب مربوط به programming زبان خیلی قوی نیاز نداره :gol:
:)یعنی با دونستن انگلیسی متوسط هم میشه این کتاب ها رو خوند ؟؟؟
من چندتایی دانلود کردم ولی فکر کردم خوندنشون سخته بهشون نگاه هم ننداختم
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
:)یعنی با دونستن انگلیسی متوسط هم میشه این کتاب ها رو خوند ؟؟؟
من چندتایی دانلود کردم ولی فکر کردم خوندنشون سخته بهشون نگاه هم ننداختم

کتاب های مایکروسافت، wrox و تا حدودی Apress مطالعش خیلی سخت نیست. بعد از یه مدت عادت میکنی. من که عادت کردم.
بعدم مهندس کتاب نمی خونی، توی search ها چه می کنی؟ :surprised: باید یاد بگیری :smile:
 

ستاره سهیل

عضو جدید
با سلام
اگه کس دیگری هست که بخاد vb یا #C رو با هم یاد بگیریم بیاد اعلام کنه
امیدوارم آموزش و دوره ی خوبی بشه

سلام به همگی:gol:منم هستم.

با برنامه نویسی ++C آشنایی دارم ولی فکر میکنم که قدیمی شده به خاطر همین تصمیم گرفتم #C رو شروع کنم
 

aabedeni

عضو جدید
باسلام m.javvi

با دانلود کردن این کتاب جدید من روی سیستم خودم همون vb 2008 را نصب کنم یا نه 2005 رو لطفا بمن بگویید
با کمال تشکر .ان شا ء ا.. مستدام باشید .
 

A.S.Roma

عضو جدید
کاربر ممتاز
سلام به همگی:gol:منم هستم.

با برنامه نویسی ++C آشنایی دارم ولی فکر میکنم که قدیمی شده به خاطر همین تصمیم گرفتم #C رو شروع کنم
نه پدر جان ! کجا قدیمی شده !؟:surprised::surprised::surprised::surprised::surprised::surprised:
نمی دونم چقدر C++ می دونی اما اگه باهاش مشکلی نداری ادامه بده که یکی از قدرتمند ترین زبانهای برنامه نویسی هست ( هم Native هم Managed).
اما اگه میخوای تحت وب کار کنی اون بحث دیگه است.
--------------------------------------------------------------
من از اون دسته آدمایی بودم که عاشقانه (!) زبان C++ رو می خوندم و هیچوقت هم ازش خسته نمی شدم. نمی دونم کدوم از خدا بی خبری بهم گفت برو C# بخون :mad: از وقتی که وارد محیط VS شدم مجذوب امکانات وحشتناک زیاد این IDE قدرتمند شدم + کامپایلر عجیب با شعور C# که همه چیز به عهده خودشه ( Memory Management , Casting , ... ) + هزاران کلاس حاضر !!!
الان دیگه خیلی برام سخته بخوام دوباره جدی C++ بخونم :cry: ... بازی با Pointer ها و ... .
»» البته ناراضی نیستم که دارم C# می خونم ( کما اینکه بیشتر به سمت Web گرایش دارم تا ویندوز ) اما C++ چیز دیگه است !!
اگر به C++ علاقه داری و هنوز چشمت به کدهای C# وIDE ویژوال استودیو نیوفتاده همون Visual C++ رو ادامه بده :gol:
 
آخرین ویرایش:

ali_vb

اخراجی موقت
کاربر ممتاز
نصب visual studio 2008

نصب visual studio 2008

باسلام m.javvi

با دانلود کردن این کتاب جدید من روی سیستم خودم همون vb 2008 را نصب کنم یا نه 2005 رو لطفا بمن بگویید
با کمال تشکر .ان شا ء ا.. مستدام باشید .
با سلام
کتاب آقای هاشمیان مربوط به 2005 که با 2008 فرق زیادی نمی کنه- ولی برای نصب نرم افزار همون 2008 نصب کن
:)فکر کردم کتاب رو تموم کردی نگو هنوز حتی vb رو نصب نکردی:smile::gol:
 

ali_vb

اخراجی موقت
کاربر ممتاز
#C یا ++C

#C یا ++C

نه پدر جان ! کجا قدیمی شده !؟:surprised::surprised::surprised::surprised::surprised::surprised:
نمی دونم چقدر C++ می دونی اما اگه باهاش مشکلی نداری ادامه بده که یکی از قدرتمند ترین زبانهای برنامه نویسی هست ( هم Native هم Win32 ).
اما اگه میخوای تحت وب کار کنی اون بحث دیگه است.
--------------------------------------------------------------
من از اون دسته آدمایی بودم که عاشقانه (!) زبان C++ رو می خوندم و هیچوقت هم ازش خسته نمی شدم. نمی دونم کدوم از خدا بی خبری بهم گفت برو C# بخون :mad: از وقتی که وارد محیط VS شدم مجذوب امکانات وحشتناک زیاد این IDE قدرتمند شدم + کامپایلر عجیب با شعور C# که همه چیز به عهده خودشه ( Memory Management , Casting , ... ) + هزاران کلاس حاضر !!!
الان دیگه خیلی برام سخته بخوام دوباره جدی C++ بخونم :cry: ... بازی با Pointer ها و ... .
»» البته ناراضی نیستم که دارم C# می خونم ( کما اینکه بیشتر به سمت Web گرایش دارم تا ویندوز ) اما C++ چیز دیگه است !!
اگر به C++ علاقه داری و هنوز چشمت به کدهای C# وIDE ویژوال استودیو نیوفتاده همون Visual C++ رو ادامه بده :gol:
با سلام به همگی
میخاستم نظر negin رو در این مورد بدونم؟؟؟
نگین خانم کدوم نظر درسته اولی یا دومی یا دوتاش؟؟؟
ستاره سهیل کارش درسته یا A.S.roma حرفش درسته یا 2تاشون درستن؟؟
 

A.S.Roma

عضو جدید
کاربر ممتاز
با سلام به همگی
میخاستم نظر negin رو در این مورد بدونم؟؟؟
نگین خانم کدوم نظر درسته اولی یا دومی یا دوتاش؟؟؟
ستاره سهیل کارش درسته یا A.S.roma حرفش درسته یا 2تاشون درستن؟؟
تا قبل از اینکه سرکار خانم نگین بیان و اظهار نظر کنن ابهامات پست قبلیمو برطرف کنم ...
اکیدا" توضیه می کنم این مطلب را که به صورت پرسش و پاسخ است را تا پایان مطالعه کنید تا شناخت به نسبت کاملی از ++C بدست آورید.
به نقل از استاد نیما :
اهداف:

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

سوال 1 - چه نوع شیوه های برنامه نویسی برای ++C/C توسط کامپایلری مثل ++Visual C وجود دارد؟

دو نوع : 1- بومی (Native) و 2- مدیریت شده (Managed)

1) در نوع native که قدرتمند ترین نوع برنامه نویسی می باشد (مدیریت نشده) ، برنامه شما به طور مستقیم توسط پردازنده مرکزی (CPU) اجرا می شود و می تواند بر روی نسخه های مختلف سیستم عامل ویندوز اجرا شود (این مورد شامل ویندوز CE و ویندوز mobile برای تلفن های همراه نیز می شود ).
لذا برنامه های native دسترسی مستقیم به سیستم عامل و سخت افزار دارند و این به شما قدرت و کارآیی (Performance) بسیار بالایی می دهد. اما نکته ای که باید توجه کنید این است که قدرت بالا ، به دقت ، مسئولیت پذیری و تمرین بیشتری نیاز دارد تا موارد به درستی انجام شود.
که البته این شیوه محدود به ++Visual C نیست و می توان از سایر کامپایلر ها که SDK ویندوز را داشته باشند نیز همچون DevC++‎/minGW استفاده کرد.

تذکر مهم : ضمنا حتی یادگیری این شیوه برای افرادی که با سایر زبان ها ، چه دات نت و چه غیر دات نت مثل #Delphi ، C و... کار می کنند ، شدیدا توصیه می شود و در برخی موارد یک ضرورت می باشد. به عنوان نمونه در اکثر شرکت های برنامه نویسی سراسر دنیا افرادی که از دانش برنامه نویسی Native در کنار زبان های مبتنی بر دات نت بهره می برند ، از اولویت و ارجحیت بالاتری برخوردارند.

2) در نوع managed که یک محیط runtime به نام CLR برای شما فراهم می کند ، شما را از این پیچیدگی کار و قرار دادن تحت سیستم عامل و سخت افزار جدا می کند و برنامه نویسی را بسیار سریع تر و آسان تر می کند. اما در هر حال این جدایی ، انعطاف پذیری (flexibility) و به احتمال غریب به یقین کارآیی (Performance) کمتری دارد ، که البته این موارد بستگی به پروژه مورد نظر دارد که آیا کارآیی ، مورد اهمیت می باشد یا خیر.
ضمنا این مورد نیاز به نصب .Net در سیستم مورد نظر دارد.

به عنوان نمونه در بسیاری از سیستم های پایگاه داده ای که تنها نیاز به یک طراحی ساده می باشد و اکثر کارها توسط دیتابیس ها انجام می شود و همین طور نیاز به کارایی اهمین چندانی ندارد ، برنامه نویسی managed از طریق دات نت توصیه می شود ، به خصوص توسط زبان C#‎ به جای نسخه C++‎/CLI (دات نت ++C ) پیشنهاد می شود.

(در مورد دلایل این موضوع به سوالات 8 و 9 مراجعه کنید)

**********************************************

سوال 2 - پس به طور خلاصه ، طبق تعریف مایکروسافت مزایا و اشکالات آن ها چه می باشد ؟

Native :

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

تذکر: برای اطاعات بیشتر در مورد نقد ، برای نقص آخر به "سوال 4 " مراجعه کنید.

Managed :

مزیت – قابلیت حمل (قابل استفاده در هر سیستم دارای CLR)
مزیت – سهولت در این نوع برنامه نویسی
نقص – احتمال اجرای کند تر
نقص – امکان نیاز بیشتر به منابع سیستمی ، حافظه و فضای دیسک و ...

تذکر: که البته نمونه بارز مورد آخر ویندوز Vista می باشد و این موضوع که در دنیا امری شناخته شده است ، مورد مخالفت بسیاری از دوستداران دات نت است و این در حالی است که این جملات هر ساله توسط مایکروسافت ارائه می شود !

برای اطاعات بیشتر در مورد ضعف های مهم شیوه Managed توسط ++C به "سوال 5 " مراجعه کنید.

**********************************************

سوال 3 - طبق تعریف مایکروسافت کجا باید از C/C++‎استفاده کنیم ؟ (بحث بسیار مهم)

++C زبان مورد انتخاب برای ساخت نرم افزارهایی با کارآیی بالا است که به طور "مستقیم" به منابع یا تجهیزات و ابزار های ویندوز دسترسی دارند. پس شما با آن می توانید به قابلیت های سطح پایین سیستم دسترسی داشته باشید و البته به خاطر اینکه این زبان به شما قدرت بسیار بالایی می دهد ، لذا در مقایسه با سایر زبان ها مثل visual Basic یا C#‎ شما بایستی از جزییات بیشتری اطلاع داشته باشید.

و به قول نویسندگان مطرح: "C++‎ Is Not For Children"

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

نکته ای که بسیاری از اساتید بزرگ دانشگاه های کشورمان در هنگام تدریس خود ،به آن توجهی نکرده و حتی آن را با نام "C مرحوم" یاد می کنند !

طبق همین قابلیت ها است که مایکروسافت برای توسعه API های جدید صوت خود برای وبندوز Vista می نویسد:
نقل قول:
Because some aspects of audio streaming depend on low latency and precise synchronization, the implementations of the MMDevice, WASAPI, DeviceTopology, and EndpointVolume APIs do not use the Microsoft .NET Framework or managed-execution environment
بنابراین از جمله کاربرد های بدون شک این زبان برنامه هایی می باشد که نیاز به دقت بالا ، تاخیر زمانی کوتاه (Low-latency) و استفاده مستقیم از سخت افزار دارند ، نرم افزار هایی همچون:
نرم افزارهای گرافیگی و طراحی 2 بعدی و 3 بعدی ، محیط ها و موتورهای توسعه بازی های کامپیوتری ، نرم افزارهای صوتی / تصویری ، پیشرفته سیستمی و غیره ... که چیزی فراتر از طراحی واسط کاربر باشد .


**********************************************

سوال 4 – آیا راهی وجود دارد که برنامه ای با ++C نوشت که قابل اجرا شدن بر روی سایر سیستم عامل ها به صورت Native باشد؟

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

این مورد در سال های اخیر با محبوبیت یافتن ابزارهایی مثل Qt ، Wxwidgets و سایر ابزار های برنامه نویسی ++C به طور کاملا تغییر کرده و از سختی و پیچیدگی آن کاسته شده است و به این شکل که این ابزار ، حال به صورت open source و یا تجاری ، این امکان را در قالب یک Framework و چیزی شبیه .Net به شما می دهد تا برنامه های شئی گرایی به صورت native بنویسید که تنها با نوشتن یک کد واحد، برنامه شما توسط سایر کامپایلرها ، قابل کامپایل و اجرا شدن برای سیستم عامل های دیگر همچون Linux و یا Mac OS نیز باشند و به این امکان Cross-platform می گویند.

این ابزار نه تنها توسعه را مانند نمونه های دات نت بسیار ساده تر و سریع تر می کنند ، بلکه دارای Performance بالا نیز هستند ، و این به دلیل آن است که در پیاده سازی آن ها از کدها و API های Native هر سیستم عامل استفاده شده است (یعنی win32 در ویندوز ، Xlib در لینوکس ، Carbon در Mac OS و ...) و شما با داشتن سورس کدهای آن ها می توانید نهایت کنترل را روی پروژه خود داشته باشید.

از نمونه های چشمگیر این موارد ، نرم افزار های پیشرفته 3 بعدی :
Google earth ، Mudbox3D ، RealFlow و ...

*********

و به همین خاطر است که Autodesk در بخش FAQ سال قبل خود می نویسد:
آیا Mudbox3D در آینده سایر سیستم عامل ها را پشتیبانی خواهد کرد؟

و در جواب) بله ، از آنجایی که از ابتدا به صورت Cross-platform طراحی شده است ، این امکان در آینده وجود خواهد داشت
(و البته که این قابلیت چقدر مورد توجه شرکت های غیر ویندوزی خواهد بود.)


تذکر مهم: البته اکثر شرکت هایی متوسط و بزرگ که برنامه نویسان حرفه ای در اختیار دارند ، با وجود حضور چنین ابزارهایی ، ترجیح می دهند که خودشان framework مخصوص خود و در نتیجه نرم افزارشان را با همین کدهای Native هر سیستم عامل به طور جداگانه ، به صورت Cross-platform طراحی کنند .

بله ؛ امکانی که به ظاهر توسط دات نت امکان پذیر است ولی در عمل تا کنون به صورت رسمی تحقق نیافته است.

**********************************************

سوال 5 - پس برنامه نویسی ++C می تواند Cross-platform باشد ، آیا زبان های مبتنی بر .Net نمی توانند؟

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

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

و متاسفانه تا کنون تنها سیستم های مایکروسافتی از آن بهره برده اند:
مانند windows mobile/CE و Xbox360

به همین منظور شرکت هایی همچون Novell با راه اندازی پروژه های open source و البته بدون مجوز از مایکروسافت مانند Mono ، اقدام به پیاده سازی و به قولی شبیه سازی دات نت کنند تا بتوان طبق استاندار های زبان C#‎ ، آن برنامه ها را در سیستم عامل های دیگر نیز کامپایل و اجرا کرد.

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

خوب اگر شما برنامه نویس به روزی نیستید ، پروژه هایی مانند mono گزینه آسان و شاید خوبی برای شما باشد !

**********************************************
 
آخرین ویرایش:

A.S.Roma

عضو جدید
کاربر ممتاز
ادامه از پست قبل :
سوال 6 – شیوه Native چه انواعی دارد ؟ کدام مورد پیشنهاد می شود؟

MFC و win32 ، که هر دو مختص پلتفرم ویندوز هستند.

در Win32 که قلب ویندوز شناخته می شود و شیوه برنامه نویسی سطح پایین می باشد (پشتیبانی از 16 بیت تا 64 بیت) ، سرعت توسعه نسبت به سایر زبان ها مانند VB و C#‎ کاهش خواهد شد و زمان و انرژی بیشتری صرف خواهد شد، اما در عوض همه چیز در اختیار شما قرار دارد ، از کنترل دقیق حافظه تا کنترل تمامی منابع سیستم و البته با نهایت کارآیی.

اکثر نرم افزار های تجاری شرکت های بزرگ و متوسط سراسر دنیا که در منازل از آن ها استفاده می کنید (و نیازی به نام بردن آن ها نیست )و تقریبا هسته اصلی تمامی بازی ها در نسخه ویندوز آن ها از این API ها به طور مستقیم استفاده می کنند.

ضمنا افرادی که می خواهند Software Development Kit یا همان SDK برای نرم افزار خود ارائه کنند تا افراد بتوانند به وسیله آن افزونه ها و plug-in هایی برای توسعه همان نرم افزار بنویسند، بیشتر از این شیوه استفاده می کنند.

***********

MFC یا همان Microsoft Foundation Class ، یکframework می باشد که API های win32 را در قالب کلاس هایی برای برنامه نویسان C++‎ ارائه می کند ، تا زمان توسعه را کاهش دهد ، کار با پایگاه داده را آسان تر می کند و با وجودی که تقریبا تمامی قابلیت های سایر زبان ها را در اختیار شما قرار می دهد ، و جدا از اینکه کارآیی در مقایسه با شیوه قبل کمی کاهش می یابد ، تمامی ناحیه های win32 را نیز در بر نخواهد گرفت و لذا نیاز به آشنایی با خود API های ویندوز نیز می باشد .
ضمنا MFC در کشورمان کاربران بیشتری دارد !

نکته: این شیوه برای افرادی که قصد دارند تا خودشان framework جدیدی با قابلیت Cross-platform بسازند ، گزینه مناسبی نیست و به همین منظور، انتخاب درست در این زمینه ، win32 در ویندوز و سپس ترکیب آن با API های native سایر سیستم عامل ها (مثل carbon و Xlib و GTK+ و ...) می باشد تا ایجاد این framework با تلاش هر چند طاقت فرسا ، امکان پذیر شود. کاری که تا کنون توسط تمامی toolkit های Cross-platform و بسیاری از شرکت ها انجام شده است.

این شیوه در سال های اخیر کاربرانش کمتر شده است و در مقابل سایر رقبای شئی گرای خود همچون Qt به آن عنوان برنامه نویسی آشفته یا کثیف (mess) را داده اند.

از جمله محصولات شرکت Nero و همین طور ابزار های همراه آن که در سال های اخیر عرضه شده اند ، همچون کپی CD/DVD ، پخش فیلم ، ویرایش موسیقی و غیره ... از MFC استفاده می کنند.

ذکر یک نکته : ضمنا در کامپایلر های دیگری همچون C++‎Builder شیوه دیگر برنامه نویسی از طریق ++C وجود دارد که توسط VCL انجام می شود ، کاربرانی که با Delphi آشنایی دارند ، حتما با این component ها نیز آشنا هستند.
این شیوه برنامه نویسی که مبتنی بر component ها است، با ایجاد فرم ها و ساده کردن برنامه نویسی ، توسعه را بسیار سرعت می بخشد و امکانات مختلف مانند تحت وب نیز ارائه می کند و حتی کاربران در برخی از موارد به سرعت کامپایل سریع ترC++‎Builder نسبت به ++Visual C نیز اشاده کرده اند و اما به نسبت دو شیوه Native فوق منابع کمتر ، ضعف های بیشتر و همین طور کاربران کمتری نسبت به ++Visual C در سراسر دنیا دارد (بنابر آمار های ارائه شده یک سوم برابر) ، اما در هر حال همچون زبان Delphi در کشورمان محبوبیت بسیار بالایی دارد !

اگر در حال حاضر با توجه به شرایط جدید در دنیای برنامه نویسی از من نظر بپرسید ، به شما پیشنهاد می کنم که اگر هدفتان سرعت در توسعه و قدرت است ، به جای VCL بهتر است به دنبال C#‎ بروید.

برای آشنایی با این شیوه بهترین مکان سایت زیر می باشد:
http://www.functionx.com/bcb/index.htm

**********************************************

سوال 7 – تفاوت بین VC++‎ 6 و VC++‎ .Net در چیست ؟

پس از ارائه دات نت در سال 2001 نسخه های بعدی ++visual C با نام .Net همراه شدند ، که این فقط یک نام برای این کامپایلر می باشد و از آن سری به بعد شما می توانید به هر دو شیوه native و managed برنامه بنویسید.

**********************************************

سوال 8 - در نوع managed کدام پیشنهاد می شود : برنامه نویسی .Net توسط ++C و یا C#‎ ؟

سوال 9 - آیا توسعه Native برای
++C/C ادامه دارد یا باید به سمت .Net کوچ کرد؟

در برنامه نویسی C++‎/CLI که به برنامه نویسی دات نت و Managed معروف است ، با توجه به اینکه این زبان ذاتا قادر به بر طرف کردن همه نیاز های دات نت نیست ، با اضافه کردن امکاناتی غیر استاندارد به زبان ++C و به نوعی دگرگون کردن آن ، این امکان فراهم شده است تا بتوان از .Net توسط این زبان استفاده کرد ولی باعث سخت تر شده کار نسبت به سایر زبان ها مانند C#‎ در حوزه دات نت شده است.

لذا طبق گفته های مکرر تیم طراحی ++Visual C ، طبق سیاست جدید مایکروسافت ، تصمیم بر آن گرفته شده که برای راضی نگه داشتن مشتریان ، توسعه بخش Native توسط ++C/C ، به سرعت و همراه با پیشرفت تکنولوژی انجام شود (و با ارائه بیش از 7000 API جدید برای ویندوز vista تمامی شک های احتمالی بر طرف شد و امید پشتیبانی بخش native برای سال های آینده به واقعیت قطعی تبدیل شد و دیگر اجباری در کوچ کردن به دات نت نمی باشد)، که این کار باعث ایجاد تاخیر در توسعه بخش دات نت برای C++‎/CLI می شود و بیان شده است که:
کاربران انتظار نداشته باشند کاری که قبلا توسط سایر زبان ها انجام پذیرفته است (VB و C#‎) ، حتما و فورا برای C++‎/CLI نیز انجام شود .

لذا بیان شده است که طبق این سیاست ، علت اصلی این توسعه بخش دات نت ، فراهم کردن امکان ترکیب کدهای Native با کد های managed توسط CLI می باشد تا به شما امکان و قدرت استفاده از هر دو حوزه داده شود.
http://blogs.msdn.com/somasegar/arch...28/681224.aspx

برخی از نمونه های این ضعف ها در پایین آورده شده است:

1) عدم امکان برنامه نویسی C++‎/CLI توسط دات نت برای windows mobile/CE می باشد که برای دات نت VB و C#‎ و برای غیر دات نت نیز شیوه قدرتمند Native توسط C/C++‎ پشتیبانی می شود.

2) تاخیر در ارائه برخی تکنولوژی ها برای آن نسبت به دو زبان VB و C#‎، از آن جمله عدم پشتیبانی "مستقیم" XAML برای کار با WPF توسط نسخه دات نت ++C در حال حاضر و در عوض حمایت در نسخهNative آن و همین طور تاخیر در تکمیل اسناد و مثال های MSDN برای
C++‎/CLI .

3) عدم حمایت از LinQ برای C++‎

4) عدم حمایت از WPF designer برای ++C
و بسیاری موارد دیگر

لذا بهترین انتخاب به پیشنهاد مایکروسافت برای افرادی که می خواهند برنامه های جدید مبتنی بر دات نت بنویسند ، استفاده ازC#‎ ویا VB به جای C++‎/CLI می باشد.

نکته ای در مورد کاربرد C++‎/CLI : همین طور برای کاربران C++‎/CLI، از آنجایی که برنامه های Native می توانند با برنامه نویسی دات نت از طریق CLI ترکیب شوند ، طبق توصیه آنان این افراد بیشترین مزیت را خواهند برد تا در صورتی که امکانی به صورت Native ارائه نشد (از آن جمله نیز WPF یا همان Windows Presentation Foundation) ، بتوانند کد های native خود را با کدهای managed ترکیب کنند و نهایت سود را ببرند .

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

 

A.S.Roma

عضو جدید
کاربر ممتاز
لیست برخی از برنامه های نوشته شده با ++C در تایید قدرتمند بودنت این زبان
http://www2.research.att.com/~bs/applications.html

تو این لیست موارد عجیب غریب پیدا میشه مثل : :surprised::surprised:

کد:
[LEFT]
[LIST]
[*] [B]Microsoft[/B]: Literally everything at Microsoft is built using recent flavors of Visual C++ (using older versions would automatically cause an application to fail the security review). The list would include major products like:
[LIST]
[*]Windows XP, Vista, System 7
[*]Windows NT (NT4 and 2000)
[*]Windows 9x (95, 98, Me)
[*]Microsoft Office (Word, Excel, Access, PowerPoint, Outlook)
[*]Internet Explorer (including Outlook Express)
[*][COLOR=Red]Visual Studio (Visual C++, Visual Basic, Visual FoxPro) (Some parts of Visual Studio like the Base Class Libraries that ship with the .NET Framework were written using C# [/COLOR][COLOR=Red]but the C# compiler itself is written in C++[/COLOR].)
[*] Exchange
[*] SQL
[/LIST]
 There are also "minor" products like: 
[LIST]
[*]FrontPage
[*]Money
[*]Picture It
[*]Project
[*]and all the games.
[/LIST]
  
[/LIST]
[/LEFT]
 
  • Like
واکنش ها: Sarp

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با سلام به همگی
میخاستم نظر negin رو در این مورد بدونم؟؟؟
نگین خانم کدوم نظر درسته اولی یا دومی یا دوتاش؟؟؟
ستاره سهیل کارش درسته یا A.S.roma حرفش درسته یا 2تاشون درستن؟؟

مرسی دوست عزیز. شما لطف دارید :gol: دوست عزیزم A.S.Roma هم صحیح فرمودند.
در اينکه C++ بسیار قدرتمند هست شکی نیست. حتی یکسری جاها با c++ یا همون vc++ راحت تر میشه کار انجام داد (مثل OpenCV که الان منو بيچاره کرده :D) اما خب من با محيط اون زياد راحت نیستم. هوشمندی پايين تر و پيچيدگی بیشترش نسبت به بقيه زبان های دات نت اذيت می کنه. من وی بی، سی شارپ، J# و F# رو هم میشناسم اما به نظرم سی شارپ انعطاف پذيری c و c++ رو به ارث برده با یه کمی بهبود که در کار کردن با اون خودش رو نشون میده و همينطور کد مديريت شده ی اون و .... اما باید در نظر داشته باشیم که اگر کسی VC++ کار خوبی هست خوبه که سی شارپ کار کنه اما اینکه VC++ رو کنار بذاره به نظر من اشتباهه :gol: در کل برای کسی که از اول شروع میکنه دلیل نداره وارد پيچيدگی بشه که در برخی موارد واقعاً نیاز نیست مگر اینکه هدفی داشته باشه که فقط با c++ محقق بشه که در این مورد هم من تا حالا با سی شارپ همه کاری انجام دادم.
یه موضوع دیگر رو هم در نظر بگیرید که VC++ از سی شارپ قديمی تر هست یعنی عمر بیشتری داره. سی شارپ بعد از اون آمده پس قاعدتاً در بهبود اون تلاش شده برای همین شاهد این موضوع هستیم که کاربران سی شارپ افزایش پیدا می کنه :smile:
 
آخرین ویرایش:

A.S.Roma

عضو جدید
کاربر ممتاز
درسته با C# خیلی کارا میشه کرد اما نه هر کاری .
مثلا" برنامه ای بنویسی که تو لینوکس ران بشه .
یا مثلا" برنامه ای بنویسی که native باشه و نیاز به .NEt Framework نداشته باشه.
یا باز هم برنامه بنو یسید که مستقیما" با رجیسترهای CPU کار کنه.
یا در موارد خیلی خیلی سطح بالاتر طراحی هسته ی سیستم عامل و هر چیزی که نیاز به Memory Mangament داشته باشه.

اما منم موافقم که کسی که تازه می خواد شروع کنه با C# شروع کنه خیلی بهتره چون پیشرفتش خیلی سرع به چشم میاد.
اما خودتونم اذعان کردید کسی که دات نت کار کنه براش خیلی سخته کوچ به زبان دیگه ;) من جمله خودم !

خلاصه کلام ::»»
برنامه نویسی در سطوح ما ( 95% نیاز بازار ایران رو عرض می کنم ) و نوشتن برنامه های تجاری و دیتابیس C# زبان فوق العاده منطعف و ساده ای است اما اگر هدفهای بزرگتر دارید و به قول یه بابایی می خواهید برنامه های خیلی خفن تر بنویسید دنبال C# نرید.
 
آخرین ویرایش:

ali_vb

اخراجی موقت
کاربر ممتاز
یادگیری برنامه نویسی

باسلام

یه بار دیگه بگم بهتره من شاغل هم هستم ؟؟؟!!
:smile:فکر نکنم شاغل بودن مشکلی داشته باشه-
کارت دولتیه یا خصوصی؟؟ توی کدوم سازمان؟؟
من هم شاغل هستم و دارم برنامه نویسی میخونم:)
مهم علاقه هست یه کم استعداد و وقت گذاشتن
 

aabedeni

عضو جدید
باسلام

من شاغل صدا وسیما هستم .

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

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


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

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

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

ولی مطمئن باشید وقتی تصمیم گرفتم دیگه رد خور ندارد .!!!؟؟ :smile:
 

ali_vb

اخراجی موقت
کاربر ممتاز
باسلام

من شاغل صدا وسیما هستم .

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

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


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

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

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

ولی مطمئن باشید وقتی تصمیم گرفتم دیگه رد خور ندارد .!!!؟؟ :smile:
;)مهمترین قسمت هر کاری شروعش هست
شروعی که از پایه باشه ، با شناخت کامل، با علاقه کامل و با انرژی کافی صورت بگیره حتما" موفقیت رو به همراه خواهد داشت.
 

ali_vb

اخراجی موقت
کاربر ممتاز
یادگیری برنامه نویسی

سلام
منم 1 ماهی هست که شروع کردم vb.net رو یاد بگیرم;)
:gol:بهت تبریک میگم -امیدوارم موفق باشی:)
چه رشته ای رو تو دانشگاه خوندی؟؟
از چه کتابی استفاده می کنی؟؟؟ حتما" به کامپیوتر و برنامه نویسی علاقه داری؟؟
اگه کتابی میخای یا سوالو مشکل داشتی همین جا مطرح کن
چند سالته؟؟
:smile:
 
آخرین ویرایش:

ستاره سهیل

عضو جدید
نه پدر جان ! کجا قدیمی شده !؟:surprised::surprised::surprised::surprised::surprised::surprised:
نمی دونم چقدر C++ می دونی اما اگه باهاش مشکلی نداری ادامه بده که یکی از قدرتمند ترین زبانهای برنامه نویسی هست ( هم Native هم Managed).
اما اگه میخوای تحت وب کار کنی اون بحث دیگه است.
--------------------------------------------------------------
من از اون دسته آدمایی بودم که عاشقانه (!) زبان C++ رو می خوندم و هیچوقت هم ازش خسته نمی شدم. نمی دونم کدوم از خدا بی خبری بهم گفت برو C# بخون :mad: از وقتی که وارد محیط VS شدم مجذوب امکانات وحشتناک زیاد این IDE قدرتمند شدم + کامپایلر عجیب با شعور C# که همه چیز به عهده خودشه ( Memory Management , Casting , ... ) + هزاران کلاس حاضر !!!
الان دیگه خیلی برام سخته بخوام دوباره جدی C++ بخونم :cry: ... بازی با Pointer ها و ... .
»» البته ناراضی نیستم که دارم C# می خونم ( کما اینکه بیشتر به سمت Web گرایش دارم تا ویندوز ) اما C++ چیز دیگه است !!
اگر به C++ علاقه داری و هنوز چشمت به کدهای C# وIDE ویژوال استودیو نیوفتاده همون Visual C++ رو ادامه بده :gol:

از اطلاعات خوبی که دادی خیلی خیلی ممنون،عجیبه خیلیها به من میگفتن C++ قدیمی شده! وقتی هم وارد محیط کار شدم دیدم اکثر برنامه ها با دات نت نوشته شده احساس کردم اطلاعاتم قدیمی شده:(

خودم به C++خیلی علاقه دارم وقتی متنهایی که نوشتی رو خوندم واقعا خوشحال شدم.:smile:

اما هنوز سردر گمم که دات نت بخونم یا ویژوال؟:confused:
 

ali_vb

اخراجی موقت
کاربر ممتاز
از اطلاعات خوبی که دادی خیلی خیلی ممنون،عجیبه خیلیها به من میگفتن C++ قدیمی شده! وقتی هم وارد محیط کار شدم دیدم اکثر برنامه ها با دات نت نوشته شده احساس کردم اطلاعاتم قدیمی شده:(

خودم به C++خیلی علاقه دارم وقتی متنهایی که نوشتی رو خوندم واقعا خوشحال شدم.:smile:

اما هنوز سردر گمم که دات نت بخونم یا ویژوال؟:confused:
:confused:مگه نمی شه هم ویژوال باشه هم دات نت:surprised:
برنامه بیسیک و #C هم ویژوال هست هم دات نت
بسته ی VISUAL STUDIO .NET 2008 شامل 3تا برنامه هست
visual basic .net
visual #C .net
c++ (این رو هم فکر کنم ویژوال هست و دات نت )
 
آخرین ویرایش:

Similar threads

بالا