پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
نقل قول:
خوندن مطالب تاپیک های قدیمی و دیدن افرادی که پست گذاشتن و الان توی انجمن نیستن مثل سوار شدن توی ماشین زمان میمونه :lol:
مخصوصا اون جایی که یکی از دوستان گفتن حجم این نرم افزارها به 3 گیگ میرسه و نمیشه دانلود کرد باید بری dvd شو بخری
من سوالی مثل سوال استارتر توی ذهنم بود که تاپیک زدم ولی متاسفانه توی سال 2017 مثل سال 2008 از تاپیکم استقبال نشد و کسی بهم جواب نداد
بااینکه توی این سالها افراد متخصص و کاربلد خیلی بیشتر از اون موقعه ها هستن اما ظاهرن مسائل و مشکلات زندگی به نحوی شده که دیگه مثل اون زمان فرصت رفتن به انجمن های مختلف و انتقال دانششون به افراد دیگه رو ندارند
علی ایحال نظرات دوستان تا حدودی روشنم کرد و تا حدودی گیج و مبهوت
مخصوصا اینکه فهمیدم زبانی به اسم F# هست که تا حالا اسمشم نشنیده بودم :whistle:
سلام
تاپیکی که زدید ، توش کاراکتر # داشت و باعث میشد تاپیک بالا نیاد تا جوابی داده شه
البته آقا آرمین و بقیه ی اساتیدها جواب کامل دادن . من هم چندان ++C کار نکردم (فقط اطلاعات اولیه ازش دارم) بنابراین اغلب سئوالات پست اول رو بهش اشراف ندارم ولی تا بچه های دیگه جواب بدن ، تا جایی که بدونم ، میگم (فرض رو بر این میگیرم که دقیقت سئوالات پست اول رو دارین) :
تا جایی که میدونم :
1) فرقی ندارن جز توی قابلیت ساپورت کردن شی گرایی در ++C
2) سخت نیست (البته سختی اش ، به انتخاب زبان هم بستگی داره) ولی برنامه ریزی بلند مدت میخواد (حداقل یکساله و برای حرفه ای شدن ، هر چی وقت گذاشته بشه ، بازم کمه حتی 15 سال زمان)
3) نمیدونم منظورشون از آینده نگری ، چیه . ولی هدف برنامه نویسی ، رابطه ی مستقیمی با انتخاب زبان داره .
معمولا اونایی که هدف شون دروس دانشگاهی هست یا اونایی که در سطح درایور و بسیار پیشرفته میخوان برنامه نویسی کنن ، انتخاب شون زبان ++C هه . البته بعضی از اساتید دانشگاه ها هم #C و بعضی ها هم جاوا درس میدن ولی تا جایی که میدونم ، اغلب شون ++C درس میدن . دیگه اینکه ، ++C ، دو نوع هست . یکی تحت دات نت و یکی دیگه غیر دات نت . تحت دات نت اش، یه کم آسون تر از غیر دات نت اش هست ولی محدودیت هایی توی برنامه نویسی حرفه ای و وابسته نبودن به سیستم عامل ایجاد میکنه . البته مایکروسافت توصیه کرده بجای استفاده از ++C تحت دات نت ، از #C استفاده بشه . ولی ++C غیر دات نت ، سخت تره . مثلا اینکه حتی بصورت مستقیم ، قابلیت تعریف رشته نداره و کلا به نظرم منعطف نیست
معمولا اونایی که هدف شون پول درآوردن از برنامه نویسی هست یا اینکه برنامه نویسی ساده تر از ++C میخوان ، زبان #C رو انتخاب میکنن . ولی علاوه بر این هدفی که گفتم ، اگه برنامه نویسی تون به سیستم عامل وابسته هست (مثلا اینکه برای موشک ها و ... نمیخواین برنامه نویسی کنین) یا برنامه نویسی در سطح درایور انجام نمیدین (معمولا برنامه نویسی سطح درایور رو نرم افزارهای بسیار حرفه ای و گروهی انجام میدن مثل آنتی ویروس ها و یا ویروس های بسیار پیشرفته . هر چند با سی شارپ هم میشه حدودا برنامه نویسی سطح درایور انجام داد) یا اینکه اگه هدف تون ، درس دانشگاه نیست (البته بازم بستگی به استادش داره) ، #C انتخاب هوشمندانه تری هست
4) بستگی به انتخاب زبان تون داره . اگه #C باشه ، آموزشش از صفر ، توی انجمن هست . برای سی پلاس پلاس هم باید بگردید توی اینترنت . ولی بجز هر دوی این قضایا ، من اگه بودم ، کلاس های آموزشی رو هم (در صورت مشکل مالی نداشتن) پیگیری میکردم چون رقابت میشه و آدم انگیزه ی بسیار بیشتری پیدا میکنه تا اینکه صرفا تنهایی توی خونه یاد بگیره (البته آموزش های اینترنت رو توی خونه پیگیری کردن ، خیلی کمک میکنه ولی ...)
5) اگه از دات نت ++C استفاده میکنین که بهتره (یا باید) از ویژال استودیو استفاده کنین که آخرین نسخه اش visual studio 2017 v15.3 هست وگرنه نمیدونم
6) حجم آفلاین visual studio 2017 v15.3 ، حدودا 24 گیگ هه
بقیه که مشخص هه
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
نقل قول:
سلام
تاپیکی که زدید ، توش کاراکتر # داشت و باعث میشد تاپیک بالا نیاد تا جوابی داده شه
البته آقا آرمین و بقیه ی اساتیدها جواب کامل دادن . من هم چندان ++C کار نکردم (فقط اطلاعات اولیه ازش دارم) بنابراین اغلب سئوالات پست اول رو بهش اشراف ندارم ولی تا بچه های دیگه جواب بدن ، تا جایی که بدونم ، میگم (فرض رو بر این میگیرم که دقیقت سئوالات پست اول رو دارین) :
تا جایی که میدونم :
1) فرقی ندارن جز توی قابلیت ساپورت کردن شی گرایی در ++C
2) سخت نیست (البته سختی اش ، به انتخاب زبان هم بستگی داره) ولی برنامه ریزی بلند مدت میخواد (حداقل یکساله و برای حرفه ای شدن ، هر چی وقت گذاشته بشه ، بازم کمه حتی 15 سال زمان)
3) نمیدونم منظورشون از آینده نگری ، چیه . ولی هدف برنامه نویسی ، رابطه ی مستقیمی با انتخاب زبان داره .
معمولا اونایی که هدف شون دروس دانشگاهی هست یا اونایی که در سطح درایور و بسیار پیشرفته میخوان برنامه نویسی کنن ، انتخاب شون زبان ++C هه . البته بعضی از اساتید دانشگاه ها هم #C و بعضی ها هم جاوا درس میدن ولی تا جایی که میدونم ، اغلب شون ++C درس میدن . دیگه اینکه ، ++C ، دو نوع هست . یکی تحت دات نت و یکی دیگه غیر دات نت . تحت دات نت اش، یه کم آسون تر از غیر دات نت اش هست ولی محدودیت هایی توی برنامه نویسی حرفه ای و وابسته نبودن به سیستم عامل ایجاد میکنه . البته مایکروسافت توصیه کرده بجای استفاده از ++C تحت دات نت ، از #C استفاده بشه . ولی ++C غیر دات نت ، سخت تره . مثلا اینکه حتی بصورت مستقیم ، قابلیت تعریف رشته نداره و کلا به نظرم منعطف نیست
معمولا اونایی که هدف شون پول درآوردن از برنامه نویسی هست یا اینکه برنامه نویسی ساده تر از ++C میخوان ، زبان #C رو انتخاب میکنن . ولی علاوه بر این هدفی که گفتم ، اگه برنامه نویسی تون به سیستم عامل وابسته هست (مثلا اینکه برای موشک ها و ... نمیخواین برنامه نویسی کنین) یا برنامه نویسی در سطح درایور انجام نمیدین (معمولا برنامه نویسی سطح درایور رو نرم افزارهای بسیار حرفه ای و گروهی انجام میدن مثل آنتی ویروس ها و یا ویروس های بسیار پیشرفته . هر چند با سی شارپ هم میشه حدودا برنامه نویسی سطح درایور انجام داد) یا اینکه اگه هدف تون ، درس دانشگاه نیست (البته بازم بستگی به استادش داره) ، #C انتخاب هوشمندانه تری هست
4) بستگی به انتخاب زبان تون داره . اگه #C باشه ، آموزشش از صفر ، توی انجمن هست . برای سی پلاس پلاس هم باید بگردید توی اینترنت . ولی بجز هر دوی این قضایا ، من اگه بودم ، کلاس های آموزشی رو هم (در صورت مشکل مالی نداشتن) پیگیری میکردم چون رقابت میشه و آدم انگیزه ی بسیار بیشتری پیدا میکنه تا اینکه صرفا تنهایی توی خونه یاد بگیره (البته آموزش های اینترنت رو توی خونه پیگیری کردن ، خیلی کمک میکنه ولی ...)
5) اگه از دات نت ++C استفاده میکنین که بهتره (یا باید) از ویژال استودیو استفاده کنین که آخرین نسخه اش visual studio 2017 v15.3 هست وگرنه نمیدونم
6) حجم آفلاین visual studio 2017 v15.3 ، حدودا 24 گیگ هه
بقیه که مشخص هه
ممنونم از پاسختون
اینکه گفتین سی شارپ به سیستم عامل وابسته است برای برنامه نویسی اندروید هم میشه ازش استفاده کرد ؟
یا اینکه فقط برای ویندوز کاربرد داره ؟
و اینکه اطلاعاتی در مورد F شارپ دارین ؟
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
نقل قول:
ممنونم از پاسختون
اینکه گفتین سی شارپ به سیستم عامل وابسته است برای برنامه نویسی اندروید هم میشه ازش استفاده کرد ؟
یا اینکه فقط برای ویندوز کاربرد داره ؟
و اینکه اطلاعاتی در مورد F شارپ دارین ؟
بله میشه
از سی شارپ میشه برای سیستم عامل های ویندوز ، آندروید ، ios برنامه نوشت . برای بقیه ی سیستم عامل ها مثل لینوکس و مکینتاش و ... ، دقیق یادم نیست . شاید بشه . هر چند بعضی ها میگن که قدرت کدنویسی با آندروید استودیو (زبان جاوا) ، برای آندروید بیشتره (ولی من نمیدونم) . برای وب و بازی هم میشه با سی شارپ برنامه نوشت . کلا زبان چند سکویی هست (یعنی از چندین سیستم عامل ساپورت میکنه)
#F هم هیچ چی . چیز دندون گیری نیست تا جایی که میدونم . #F هم توسط مایکروسافت طراحی شد ولی تا جایی که میدونم ، در حد سی شارپ نیست
کلا 3 زبان بزرگ و مطرح ، ++C و جاوا و سی شارپ هستن
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
با عرض سلام،
در مقدمه عرض کنم مواردی که مطرح میشه از یک زاویه ی خاص به قضیه نگاه می کنه و حکم کلی نیستش.
ما برای این که یک سیستم رو برنامه ریزی کنیم باید قوانین حاکم بر اون رو بدونیم. به همین دلیل در دوره ی کارشناسی، غالب دروس ما رو با سیستم های کامپیوتری آشنا می کنن و توجه کم تری به نحوه ی برنامه ریزی اون ها دارن. در دانشگاه ها ابتدا ما رو با زبان های سطح پایین آشنا می کنن. بدین ترتیب ما از نزدیک با تعامل برنامه ی خودمون با سیستم آشنا میشیم. این الگو یکی از بهترین راه ها برای ورود به صنعت تولید نرم افزار هستش.
زبان های برنامه نویسی در مواردی رقیب هم دیگه هستند و در مواردی مکمل هم. یک توسعه دهنده باید توانایی تحلیل مناسبی داشته باشه تا زبان مناسب رو برای کارش انتخاب کنه. ما زمانی می تونیم زبان مناسب رو انتخاب کنیم که هم زبان های سطح پایین و هم زبان های سطح بالا رو بشناسیم.
اگر بنده برای ورود به این حوزه مستقیما یک زبان سطح بالا نظیر سی شارپ رو انتخاب کنم، در آینده دچار مشکلاتی خواهم شد. وقتی یادگیری زبان سی شارپ به اتمام رسید، بنده برای ورود به بازار کار داخلی با دو جریان رو به رو میشم:
جریان اول توسعه ی نرم افزار های خرد هستش؛ مثل یک نرم افزار مشاور املاک. بنده در طور زندگی حرفه ای خودم نیاز های روزمره و نه چندان پیچیده ی مردم رو به شکل یک اتوماسیون در میارم. پس از گذشت مدتی توانایی فنی بنده در حد مشخصی باقی می مونه چون در کار من چالشی وجود نداره.
جریان دوم توسعه ی نرم افزار های کلان هستش؛ مثل یک ERP. این دسته نرم افزار ها چالش های فراوان دارن. چون بنده با سطوح پایین سیستم آشنا نیستم، مجبورم به ابزار و کتابخانه های آماده ای روی بیارم که دنیا برای حل این چالش ها ارایه کرده. چون این ابزار ها با دید کلی طراحی شدن، معمولا برای حل چالش های پیش رو بنده بهینه نیستن. در نتیجه نرم افزاری که با به کارگیری چنین رویکردی نوشته بشه، تنها در سطح بازار داخلی حرف برای گفتن داره.
متاسفانه در کشور ما اکثر دهان پر کن ترین نرم افزار های داخلی، در باطن فاجعه ترین اون ها هستن. اگر ما قدمت سی شارپ را نزدیک به 17 سال تا زمان نگارش این نوشتار بدونیم، برنامه نویس هایی داریم که در همین مدت زمان به این زبان برنامه نوشتن. اما تنها به دلیل عدم شناخت درست سیستم های رایانه ای، بنیادی ترین خطا ها در برنامه ها ی تولیدی این افراد هویدا است. شاید به همین دلیل هستش که کشور ما نتوسنته هیچ فناوری برجسته ای رو به دنیا صادر کنه. کشوری که نتونه نقشی در پیشرفت یک صنعت داشته باشه، چگونه میخواد درصدی از سهم بازار اون رو در اختیار بگیره؟! اگر کسی در ایران می تونه یک نرم افزار انبار داری طراحی کنه، آیا کسی در هند نمی تونه این کار رو انجام بده؟! احتمالا به همین خاطر هست که در ایران شرکت ها بیش تر رو بحث بازاریابی تمرکز دارن تا بحث توسعه ی فنی!
از درد دل که بگذریم، زبان های سطح پایین همواره راه حل مناسبی برای توسعه نیستن. اما در دسته ی زبان های نسل چهارم برای تسلط بر زبان های سطح بالا، تسلط نسبی بر زبان های سطح پایین نظیر سی پلاس پلاس بسیار مفیده. شاید به همین خاطر هم هست که تا کنون در اکثر دوره های آکادمیک چنین زبان هایی تدریس میشه. برای شروع یادگیری زبان های سطح پایین، بهترین منابع می تونه همون دروس پایه ی مهندسی نرم افزار (نظیر سیستم عامل، کامپایلر و طراحی الگوریتم) باشه.
شاد و موفق باشید
آرمین برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
ممنون از پاسخ هردوی شما دوستان :11():
سوال بعد اینکه آیا منابع فارسی حال حاضر اونقد خوب و قوی هستن که بشه برای یاد گیری C پلاس پلاس از صفر بهشون تکیه کرد ؟
و اگه امکان داره چندتا رفرنس خوب برای C پلاس پلاس و C شارپ معرفی کنید .
دوم اینکه تمرکز روی C پلاس پلاس و جاوا برای برنامه سازی حرفه ای در اندروید کافی هست ؟
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
دوستان محیط توسعه برای سی از ویژال استدیو میشه استفاده کرد؟
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
نقل قول:
دوستان محیط توسعه برای سی از ویژال استدیو میشه استفاده کرد؟
سلام
برای نسخه ی دات نتِ سی پلاس یا همون C++ Cli بله
ولی برای غیر دات نت اش یا همون C++ Native نه
پاسخ: برای یادگیری C++ or C باید از کجا شروع کنم؟؟
نقل قول:
دوستان محیط توسعه برای سی از ویژال استدیو میشه استفاده کرد؟
برای توسعه سی میشه از ویژوال استادیو استفاده کرد.
نقل قول:
سلام
برای نسخه ی دات نتِ سی پلاس یا همون C++ Cli بله
ولی برای غیر دات نت اش یا همون C++ Native نه
سلام،
سجاد جان اگر دیباگر و کامپیلرش رو نصب کنی (با ویژوال استادیو عرضه میشه)، برای Native C++ هم میشه از ویژوال استادیو استفاده کرد.