# Native Code > برنامه نویسی با C > بحث و گفتگوی فنی - خانواده C > مبتدی: C++‎ or C#‎ or vC#‎or vC++‎ or C#‎.net

## ali208

سلام
تو همین قسمت فرق سی و سی پلاس گفته شده اما من هنوز نفهمیدم که فرقشون چیه. من تا حدودی سی بلدم اما میخواهم بصورت حرفه ای رو برنامه نویسی سخت افزار با کمک از توابع ای پی ای و همچنین برنامه نویسی سوکت را شروع کنم .میشه لطفا بگین از کدام استفاده کنم؟
C++‎   or   C#‎ or  vC#‎  or  vC++‎   or   C#‎.net

----------


## حامد مصافی

تمام C#‎ هايي كه ذكر فرموديد در واقع يكي هستند.
C++‎ و VC++‎ هم تفاوت چنداني ندارند، جز اينكه C++‎ يك زبان استاندارد است و VC++‎ علاوه بر آن شامل اضافات غير استاندارد به همراه بنيان پيشنهادي مايكروسافت (MFC) است.
پس بر سر دو موضوع مهم بايد تصميم گيري كنيد، دات نت يا native، در مورد هر كدام از اين نباحث در انجمن گفتگو هاي زيادي صورت گرفته است.

----------


## ahmad-hagh

همون طور که از اسمشون مشخصه همه از خانوادی ی c هستن . پس دستورات پایشون یکیه
فقط C#‎.net عزیزم از دریای عظیم .net بهره منده

----------


## kahrizak

سلام
c یک زبان برنامه نویسی : موارد استفاده بیشتر برای برنامه نویسی سخت افزار ها مانند تلفن های سانترال . ربات نویسی و برنامه های دیگر ...
C++‎ :پیشرفته c  می باشد با کلاس های بیشتر و هم چنین خاصیت شی گرایی دارد
C#‎.net : بحث دیگری دارد    بیشتر برای ساخت برنامه های کاربردی تری مثل وبسایت ها  .   برنامه های ویژوالی مانند شبیه فوتوشاپ و .... که بر روی ویندوز نصب میشه


مهم نیست با چه زبانی کار می کنید مهم اصول و مفهوم برنامه نویسی به ویژه  مفهوم شیگرایی می باشد
بعلاوه مهندسی نرم افزار و از همه مهم تر معماری نرم افزار که پایه اصلی نرم افزار های موفق و رایج در بازار می باشد

از توضیحاتم نترس پله به پله باید این مراحل طی کنی تا یک مهندس واقعی بشی (نه فقط یه لیسانس) :چشمک:

----------


## emadfa

> همون طور که از اسمشون مشخصه همه از خانوادی ی c هستن . پس دستورات پایشون یکیه
> فقط C#‎‎‎‎‎‎‎‎.net عزیزم از دریای عظیم .net بهره منده


از دوستان خواهش می کنم که پاسخ های احساسی و غیر منطفی ندند. هر چند Syntax دو زبان #C و ++C تقریبا یکی هست اما این دو زبان به هیچ وجه مشابه هم نیستند و دو دنیای کاملا متفاوت هستند...

هر کدوم از این ها مزایا و معایب خاص خودشون رو دارند. ++ Visual C یک زبان Native هست که سال های ساله برای برنامه نویسی روی ویندوز با استفاده از توابع API استفاده می شه... در صورتی که از این API ها به صورت مستقیم استفاده کنید با win32 API برنامه نویسی می کنید. هم چنین می تونید از کلاس پایه مایکروسافت (MFC) که همون API ها رو در قالب کلاس بسته بندی کرده استفاده کنید... هر چند الان چندین سال هست که به دلیل عدم پشتیبانی مناسب مایکروسافت از MFC، برنامه نویسان یا مستقیما از win32 استفاده می کنند یا از چارچوب های cross-platform مثل QT (یا wxWidget ) استفاده می کنند.

#C یا همون C#‎‎‎‎‎‎‎.Net اصلی ترین زبان پلتفرم .Net در سال 2001 توسط مایکروسافت برای توسعه نرم افزار به شیوه RAD (توسعه سریع نرم افزار) به وجود اومد. برخلاف زبان های بومی ، زبان های .Net زبان های میانی هستند و برای اجرا باید توسط JIT در سیستم مقصد به زبان سخت افزار مورد نظر تبدیل بشن..

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

C#‎‎‎‎‎‎‎.Net :
1) سادگی یادگیری: .Net Framework شامل چندین هزار کلاس هست که باعث می شه شما الگوریتم هاتون رو در کوتاه ترین زمان ممکن بنویسید.
2) Garbage Collection: مدیریت حافظه خودکار
3) performance پایین تر نسبت به زبان های Native : پلتفرم .Net برای نرم افزارهایی که نیاز به سرعت و کارایی بسیار بالا دارند به هیچ وجه مناسب نیست مثل بازی ها ، نرم افزارهای هوش مصنوعی و پردازش تصویر
4) عدم دسترسی (مناسب) به توابع سیستمی: بنابراین .Net برای Driver نویسی یا توسعه نرم افزارهای امنیتی یا سیستمی به هیچ وجه مناسب نیست.
5) افزایش سرعت توسعه و صرفه جویی در هزینه و زمان (البته برای دسته خاصی از نرم افزار)


++Native C: 
1) شیب یادگیری کندتر
2) مدیریت حافظه دستی
3) performance بالا، دسترسی به API، سخت افزار و برنامه نویسی سطح پایین (مناسب برای نرم افزارهای بازی ، سیستمی ، گرافیکی و ... )
4) سرعت توسعه پایین تر
5) سرعت اجرا بالاتر


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

----------


## mr AHR

دنیا داره به طرف چند سکوییها میره پس به نظر من واقعا C++‎ عاقلانه تره

----------


## IamOverlord

البته فکر می کنم C#‎.net هم یه جورایی می تونه چند سکویی باشه... باید اون Platform روش net framework. نصب شده باشه...
گرچه Qt هم در ++C این امکان چندسکویی رو به خوبی فراهم می کنه...

----------


## remamifar

سلام
بعد از سالها دوری میخوام برنامه نویسی رو شروع کنم
ابتدا از زبان ++C و سپس net.  
نیاز هست به زبان C مسلط باشم یا موردی نداره ?
دوستان اگه لطف کنن راهنمایی کنن تا من هم شروع به برنامه نویسی کنم ممنون میشم
با تشکر

----------


## BORHAN TEC

سلام
بعد از چندین سال برنامه نویسی اگر قرار بود که به عقب برگردم بدون هیچ شکی باز هم Delphi و C++‎‎‎/Qt رو انتخاب می کردم. به نظر من در دنیای Native Code این دو ابزار برنامه نویسی هنوز بی رقیب هستند.  :چشمک: 



> نیاز هست به زبان C مسلط باشم یا موردی نداره ?


برای یادگیری C++‎ یا C#‎ اصلاً نیازی نیست که از قبل C بلد باشید و کلاً الزامی به یادگیری C نیست.
موفق باشید...

----------


## TrIcKeRx13

آغا به نظر تون تو این خانواده C کدو مشون بیشتر تجاری میشن .......
یعنی میشه  با هاشون کار کرد......

----------


## SEZAR.CO

فکر کنم C#‎
:)

----------


## behnam404

ابتدا زبان برنامه نویسی C به وجود آمد و بعد C++‎ . همونطور که از اسم ++C پیداست یک سری قابلیت ها مثل شی گرایی به این زبان اضافه شده . برای  ارتباط با سخت افزار و درایور نویسی بهترین زبان  ++C هست.

----------


## parsaahvaz

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

----------


## Ali_vej

سلام من در سی شارپ #c اطلاعات از اکسل به دیتاگریدویو منتقل کردم حالا میخوام بدونم :
1. چطوری میتونم این اطلاعت به دیتا بیس منتقل کنم.
2. چطوری میشه از اطلاعات یک جدول دیتاگرید خروجی اکسل گرفت 
3. چطوری میشه موقعی که مرحله 1 اجرا میکنم یعنی انتقال از دیتاگرید به دیتا بیس موارد تکراری وارد نشود فقط غیر تکرار ها وارد شوند ?
ملاک تشخیص تکراری بودن نام شرکت است و جدول هم 15 تا ستون دارد.

----------

