من خودم اکثرا در Unix کار می کنم و سابقه زیادی با Visual Studio ندارم ولی برای شما باید خوب و کافی باشه. اینکه از چه کتابی استفاده کنید رو نمیشه گفت من کتاب خود Bjarne Stroustrup رو در صفحات قبل پیشنهاد کردم ولی اون بیشتر برای افرادیه که قصدشون یادگیری کامل و اصولی ++C است نه شما که برای یه رشته دیگه لازم دارید.
پیشنهاد من اینه که از افرادی که توی این زمینه شما کار می کنند بپرسید چه ریسورس هایی لازمه، ولی به عنوان کتاب مرجع همون کتاب استراستروپ رو توصیه می کنم اصولی ترین و بهترین نحوه برنامه نویسی به ++C رو یاد می ده.
درود
در کنار پاسخ دوست عزیزم S03 خدمت شما عرض کنم فتوایی دارم در زمینه دکتر مهندس حاج عین الله جعفرنژاد قمی!
من الیوم الی الایوم الانتها، استفاده از جمیع الکتب المکتوب و المنصوب بالجعفرنژاد قمی ( خداوند از دنیای کامپیوتر دورش داروه ) به ای نحو کان مساوی با محاربه با علم، دانش، آگاهی و .... میباشد!
13 رجب 14و خوردهای
امید
آقا نخونید کتابهای این آفت دنیای کامپیوتر ایران رو!کتابهای ایشون جمع آوری/ترجمه هایی هستند بسیار بسیار ضعیف!سرشار از اشکالات کوچک و بزرگ و گاها فاحش و داراری روند غیر اصولی!مثلا من نمیدونم ایشون چی پیش خودشون فکر میکنن برداشته کتاب الگوریتم CLRS رو که چاپ MITه فصلاشو جابجا کرده، به اصطلاح ترجمه کرده، خلاصه کرده، نظرات شخصیشو آورده توش به عنوان ترجمه CLRS بد یه سری اساتید محترم هم کتاب ایشون رو به یه سری دانشجوی بیگناه به عنوان رفرنس درس میدن!خو چرا آخه؟!!تحت هیچ شرایطی مطالعه کتابهای ایشون رو در هر زمینه ای توصیه نمیکنم!
صرفن برای آشنایی با محیط Visual Studio البته یکم باهاش کار کنید میاد دستتون منتها میتونید Wrox Ivor Hortons Beginning Visual C++ 2005 رو بگیرید یه بخش داره درباره کار کردن با IDE که میشه همون Visual Studio البته این کتابی که من دارم اندکی قدیمیه!اگر بتونید2010 یا 2008شو پیدا کنید که عالیه!
پیروز باشید
به دلیل مشغله زیاد از پاسخ به پیامهای خصوصیِ غیرخصوصی اکیدا معذورم....
ضمن پوزش تاخیر تاپیک Verbal@Advantage کامل شد.
پروژه آپلود پادکستهای انگلیش پاد شروع شد. به همگان توصیه میشود گوش کنند.
امضا کنید اینجا رو لطفا
جالب بود!!!همچنن دقت های محاسباتی توی این سیستمها انقد زیاده که قابل مقایسه با C نیست
Hope is a good thing, maybe the best of things, and no good thing ever dies
البته این نکته رو اضافه کنم دقت بالا در C قابل پیاده سازی هست منتها خوب توی .net مثلا یه نوع داده به اسم Decimal اضافه کردن که فوق العاده دقتش بالاست و بیسش روی floating point نیستش که این خودش خیلی دقت رو بالا میبره. و استفاده از این نوع داده ها بسیار راحتتر هست از درگیری برای پیدا کردن یا پیاده سازی ساختارهای با دقت بالا.
به دلیل مشغله زیاد از پاسخ به پیامهای خصوصیِ غیرخصوصی اکیدا معذورم....
ضمن پوزش تاخیر تاپیک Verbal@Advantage کامل شد.
پروژه آپلود پادکستهای انگلیش پاد شروع شد. به همگان توصیه میشود گوش کنند.
امضا کنید اینجا رو لطفا
با سلام خدمت همگی. اول از همه می خواستم از دوستی که این تاپیک رو باز کرده تشکر کنم که باعث شد من یه سوالی که اخیرن برام پیش اومده رو بتونم مطرح کنم. خدا ایشا... پیرت کنه!!
من یه مدتیه که دارم با C برای کارهای با محاسبات سنگین(scientific computing) کار می کنم و برنامه های نسبتا طولانی ای هم نوشتم (حدود 5000 خط) ولی مشکلم اینه که با object oriented programming آشنایی ندارم و برنامه هام رو procedural مینویسم و از من بپذیرید که debug کردن برنامه های procedural در این اندازه بعضی وقتها واقعا گریه آدمو در میاره یعنی اینجوری:
حالا مشکل من اینه که چون تا حالا oop کار نکردم یادگیریش برام یه کم سخت شده و اکثر کتاب هایی هم که میبینم فقط syntax برنامه نویسی oop رو یاد میدن (مثلا کلاس در c++ با چه دستوری تعریف می شود و ...)
و در مورد خود ساختارهای object ها و نحوه تفکر برای پیاده سازی یک الگوریتم در قالب یک برنامه object oriented و استفاده از قابلیت های oop توضیحی نمی دهند....
و از اون طرف کتابهایی که در مورد آموزش OOP وجود دارند معمولا از زبان هایی غیر از c++ (معمولا java) استفاده می کنند.
می خواستم در این مورد از دوستان مطلع کمک بگیرم که کتاب یا مرجعی برای آموزش پایه ای نحوه تفکر و پیاده سازی یک برنامه با ساختار object oriented (البته با تاکید بر c++) به من معرفی کنند.
امیدوارم که تونسته باشم منظورمو به طور واضح برسونم.
با تشکر از همه
درود
کتاب thinking in c++ یا thinking in java یا thinking in patterns رو پیشنهاد میکنم منتها دنبال oop توی C نباشید(اگر برداشتم از صحبتتون درست باشه البته!) و اگر تارگتتون محاسبات پیچیده هست پیشنهاد میکنم برنامه نویسی همروند رو هم بررسی بفرمایید زندگانی براتون خیلی زیباتر خواهد شد. البته یه سری نکته داره منتها یاد بگیرید باشون کار کنید حله!+ میتونید از زبانهایی که امکان threading رو داشته باشند (در C هست منتها خیلی سختهههههه) استفاده کنید که باز میتونه انتحاب خوبی باشه برای زیباتر کردن زندگانیتون.
پیروز باشید
به دلیل مشغله زیاد از پاسخ به پیامهای خصوصیِ غیرخصوصی اکیدا معذورم....
ضمن پوزش تاخیر تاپیک Verbal@Advantage کامل شد.
پروژه آپلود پادکستهای انگلیش پاد شروع شد. به همگان توصیه میشود گوش کنند.
امضا کنید اینجا رو لطفا
سوال جالبی بود از طرف کسی که نرم افزار نخونده و به شی گرا فکر میکنه.
قبل از اینکه شما رو به صفحات قطور یا سریالهای طولانی آموزشی ارجاع بدم ، چند نکته رو میخوام گوشزد کنم.
تفکر شی گرایی بیش از اینکه ربطی به زبان برنامه نویسی داشته ، ربط به مفهمو کلی و فلسفه وجودی اون داره. شما باید سعی کنید چیزی رو که میخواین پیاده کنید رو بصورت شی گرا ببینید در کنارش مهندسی بکنید شی رو و بعد پیاده کنید و برای اینکار فقط نیاز به سه چیز هست : دانش شی گرایی ، قلم و کاغذ!
مفهموم شی گرایی و طراحی نرم افزار براساس شی گرایی چیزی نیست که یک شبه شما بتونید اون رو یاد بگیرید البته تو کارهای کوچیک شما خیلی راحتتر میتونید جلو برید و سریع به نتیجه برسید ولی اگر واقعاً میخواین چیزی که به معنای واقعی شی گرا مطرح میشه رو یاد بگیرید و برنامه هاتون کامل براساس اون مفهوم بره جلو حداقل 2سال باید به این صورت کد زده باشید تا بتونید یک درخواست بزرگ رو به اجزا atomic تبدیل کنید.
تو پروژه های خیلی بزرگ این تمرین شی گرایی زمان بیشتری رو میطلبه شاید 5 سال و البته در کنار شی گرایی شما باید design patternها رو هم یاد بگیرید در حال حاضر 23 الگوی طراحی برای مهندسی نرم افزار پیشنهاد شده که همه روزه داره سرتاسر دنیا ازش استفاده میشه و باهاش نرم افزار مینویسن.
اما یکی مهمترین نکات مهندسی نرم افزار که همیشه باید مد نظر داشته باشید separation of concerns هست یعنی دسته بندی نیازها / نیازها تو دنیای کامپیوتر عموماً به سه دسته : نمایش ، کنترل ، مدل تقسیم میشه.
نمایش : رابط کاربری و تمامی functionهای مربطو به رابط کاربری باید در یک پکیج باشند
مدل : مغز فعالیتهای شما معمولاً توی مدل جا میگیره ، مدل همون جایی هست که توابع محسباتی باید باشند
کنترل : میشه گفت به عنوان ستون فقرات برنامه عمل میکنه جایی درخواست های رابط کاربری رو به مدل وصل میکنه و بالعکس
این فلسفه بالا به انواع مختلف تو الگوهای طراحی پیاده شده از جمله MVC / MVP /MVVM
شما هرچی بیشتر بتونی به شی و کوچک کردن یک شی بزرگ به اجزا خیلی کوچیک جدایی ناپذیر(atom) فکر کنی در این راه موفق تری
کتاب مبتدی برای شروع طراحی شی گرا به نظرم این کتاب بد نیست
http://www.amazon.com/Head-First-Obj...1427601&sr=1-1
نوشتارش ساده و pratctical هست منتها زبانی که استفاده میکنه جاوا هست
برای سی پلاس پلاس : کتاب دیتل ها یه مثال کامل از پیاده سازی یک دستگاه atm بصورت شی داره که البته خوندن و پیشرفتن با کتاب فکر کنم چندماهی وقتتون رو بگیره ولی اگر واقعاً ایده ایی از شی ندارین ولی دوست دارین که ایده بگیرین تنها راه تمرینه و اون کتاب تمرین خوبیه برای تمرین.
http://www.amazon.com/C-Programmers-...1428512&sr=1-2
این کتاب هم بد نیست ولی فرض بر اینه که شما سی پلاس پلاس بلد هستید و با مفاهیم پایه آشنایی دارین(ولی بعید میدونم نسخه الکترونیکی داشته باشه!)
http://www.amazon.com/Effective-Obje.../dp/0130867691
برای الگو طراحی این کتاب
http://www.amazon.com/Design-Pattern...1428644&sr=1-2
Hope is a good thing, maybe the best of things, and no good thing ever dies
دوستانی که برنامه نویسی ++C کار می کنند، این سایت بسیار خوب هست برای اصول اولیه.
آقا من رشتم برقه ! واسه ميكرو بايد C بلد باشيم ، اما چون C++ بهتره من اينومي خوام ! بايد چي بخونم واسش؟
پ.ن:قبلا از همكاري بعدي شما متشكرم
علاقه مندی ها (Bookmarks)