Any recommendations?? Thanks!





Blogs > stalife |
stalife
Canada1222 Posts
Any recommendations?? Thanks! ![]() ![]() ![]() ![]() ![]() | ||
keV.
United States3214 Posts
| ||
haduken
Australia8267 Posts
Better than any book. To make it useful Pick up a book that teaches you frameworks once you are done. Qt, Visual C++, etc.. and learn libraries such as boost... Understand the strength of C/C++ versus say Java. Understand the application of such strength where it fits. Understand the downfall and weakness of C/C++. | ||
imDerek
United States1944 Posts
go with c first though | ||
Marradron
Netherlands1586 Posts
You might as well learn c# or something like that. seems a bit more advanced than c++ | ||
Aim Here
Scotland672 Posts
On January 21 2010 18:41 imDerek wrote: c++: the book by bjarne stroustrup the author himself. go with c first though I disagree. If you're planning on writing C++, then learn it straight off. C++ is superficially a superset of C, but the philosophy and the mindset of writing C++ code is very different from that needed for C code. Plus, old C hands are likely to get into the bad habit of using C-isms, like malloc/free or pointer manipulation, rather than use the C++ variants. Not that I'm opposed to learning C - C is a much nicer, cleaner language than C++ and is worth learning as the only low-level language you really need. C++ on the other hand, unless you have a specific need for it, I'd recommend saving all that memory space you'd use for C++ and using Java or Python or C# or something instead... | ||
BlissX1
United States328 Posts
| ||
Amnesty
United States2054 Posts
Pretty good book. Actually uses C++ | ||
Aim Here
Scotland672 Posts
| ||
iaretehnoob
Sweden741 Posts
On January 21 2010 19:16 Bl1ss wrote: Fortran is amazing. all the C stuff looks like total uselessness compared to Fortran cause Fortran is so efficient. That's why NASA uses it. | ||
mptj
United States485 Posts
| ||
FirstBorn
Romania3955 Posts
I'm going to second this, VERY usefull site. Helped me a ton with getting the hang of C/C++. | ||
agorist
United States115 Posts
C++ second. What is your current skillset? Know the difference between the heap and stack? Can you wield pointers? | ||
![]()
CTStalker
Canada9720 Posts
this is the book you'll use to learn C | ||
araav
Armenia1590 Posts
C++ is a moderate OO language and I would recommend doing it this way - first pick an easy book, not a fancy one, like any book for dummies, get the grasp of pointers, templates, classes, encapsulation, polymorphism, etc then go for more master series, like take Effective/More Effective C++ books. then go for expert series, like Alexandresku then take up the C++ standard and make it your bible this is your true path of a C++ guru | ||
Neshapotamus
United States163 Posts
| ||
Amnesty
United States2054 Posts
The problem is you don't end up learning C++ next. You learn a bastard child mish mash of both next. Its like you are learning C but with some cool classes thrown in. And its just bad. It's not that the C language is horrible, its not. The problem is coding C++ in a C POV that is horrific. The main problem with that is you won't even realize you are writing bad C++ code so you wont even try and fix it. It takes a lot more effort to unlearn C to learn C++ God have mercy if you read a whole chapter on macros in C and then crack open a different C++ book. And a lot of C++ books are really C books in disguise beware. Start with the book I recomended. I really wished that book came out a lot earlier. You didnt say why you wanted to learn C++. There might be a better option for you. Right now, im using C#/WPF for my project. It would be a nightmare to do using other options. | ||
Marradron
Netherlands1586 Posts
| ||
Flaccid
8835 Posts
What type of projects are you looking to do? I ask because you might want to consider spending that time learning C# (as others have said) instead. The thing about C++ is that it can be tough to jump into because it can be so convoluted. It's just been built upon and built upon until there are 100 different ways to do any one thing and you end up agonizing over which is the 'best' way. C#, on the other hand is much more intuitive (C++ is only intuitive to those that have coded C++ for the majority of their lives) and you will climb the learning curve much more quickly. Microsoft is pushing it hard too so each update to the framework brings more and more useful goodies. I coded C++ and C for years and have switched almost entirely to C#. Another nice thing about C# is that you can jump right into coding web-applications and ASP for web junk, if that's an ambition of yours. Anywho, if you do decide to go that route, these guys have a nice series of books for each step of the learning curve: link | ||
ProoM
Lithuania1741 Posts
On January 21 2010 18:28 haduken wrote: www.cplusplus.com Better than any book. To make it useful Pick up a book that teaches you frameworks once you are done. Qt, Visual C++, etc.. and learn libraries such as boost... Understand the strength of C/C++ versus say Java. Understand the application of such strength where it fits. Understand the downfall and weakness of C/C++. Knock knock. Whos there? -After very long pause- Java. | ||
Cloud
Sexico5880 Posts
Imo. Don't waste your time in C Just like, if you were starting with engineering and wanted some background. Don't start with html, learn c++ or java or algorithms at least. Leave html for the tools. | ||
EsX_Raptor
United States2801 Posts
There's no better book than that one to learn C. | ||
SilverSkyLark
Philippines8437 Posts
You can do a whole lot more stuff with C++ as compared to C. | ||
![]()
CTStalker
Canada9720 Posts
learning C++ is a waste, because it's such a terribly designed language. the feature set is massive, and having to manually allocate memory in a language that deals with high-level concepts like polymorphism is really stupid. that's my incredible bias, anyway. i know google uses c++ a lot, and if you want to work with directx or opengl, you'll need it. but if you want to program for the web: it's a waste of time. and proom, jokes like that stopped being funny like 8 years ago. gc and the jvm have come a long way | ||
spitball
Australia81 Posts
On January 21 2010 23:56 CTStalker wrote: how is learning C first a waste of time? lol. if you learn C you'll have no problem picking up java, python, javascript, actionscript, ruby, etc etc. and if you learn lisp, you'll actually be able to take advantage of the functional features of those languages, like closures and other first-class jazz. I think what they mean is if you plan on learning C++ then you shouldn't think of C as some kind of stepping stone. Anyway, if you don't end up going with C++ then I would recommend either Python or Ruby. I think both are good languages to start with. | ||
Cambium
United States16368 Posts
Effective C++ Hands down. | ||
Adeny
Norway1233 Posts
On January 21 2010 23:56 CTStalker wrote: how is learning C first a waste of time? lol. if you learn C you'll have no problem picking up java, python, javascript, actionscript, ruby, etc etc. and if you learn lisp, you'll actually be able to take advantage of the functional features of those languages, like closures and other first-class jazz. learning C++ is a waste, because it's such a terribly designed language. the feature set is massive, and having to manually allocate memory in a language that deals with high-level concepts like polymorphism is really stupid. that's my incredible bias, anyway. i know google uses c++ a lot, and if you want to work with directx or opengl, you'll need it. but if you want to program for the web: it's a waste of time. and proom, jokes like that stopped being funny like 8 years ago. gc and the jvm have come a long way C will teach you java better than C++? What are you drinking son, first of all the syntaxes are relatively similar and won't give you any problems. Second of all, OOP. Nowadays I see no reason to learn C unless you're dead set on building OSes, in which case, learn C++ first anyways then downgrade to C. Until you get to learning OOP in C++, you're pretty much learning the exact same thing as you would be learning in C anyways. Just learn the basics of C++ and then take it from there. | ||
![]()
2Pacalypse-
Croatia9497 Posts
| ||
![]()
CTStalker
Canada9720 Posts
edit: actually i re-read the OP, and it sounds like he's just interested in learning programming as a hobby? if that's the case, object-oriented programming won't mean a dang to him anyway | ||
spinesheath
Germany8679 Posts
The book by Stroustrup probably is a bit hard if you are just starting, but depending on how much Java you actually know it could be enough. I strongly advise against learning C before C++. At least don't spend more than a month on it. You WILL pick up bad habits and it'll be hard to get rid of the C mentality and into object orientation. You will write bad C++ code if you start with C. I'm talking out of my own experience and know several people who had/have that problem. Because the languages are so similar syntactically you will have a hard time switching your progamming mentality. C++ is not harder to learn than C. Any decent C++ book/tutorial will still teach you how to do imperative programming (like C) but it won't go into detail as much as a C book would. There is not too much to gain from purely imperative programming anyways (large imperative projects are almost unmanageable). After some time I found the c++-faq-lite which imo is a really great source if you got a decent understanding of the syntax and want to get a proper C++ mentality. All the reference sites are nice and all, but after reading this faq my C++ immediately became MUCH more clean and efficient. Read it. C++ isn't very useful if you don't have to worry about performance. Pick any of the garbage collected and well portable languages if you don't need performance. | ||
celeste
England45 Posts
learncpp.com is also a really nice site for learning, the author answers virtually every question made in the comments ![]() I really hope this thread doesn't degenerate into an argument over which language to learn | ||
dinmsab
Malaysia2246 Posts
On January 21 2010 23:19 Cloud wrote: c/c++ how to program by deitel&deitel. Imo. Don't waste your time in C Just like, if you were starting with engineering and wanted some background. Don't start with html, learn c++ or java or algorithms at least. Leave html for the tools. I've learned c++, java and c with Deitel books. Would totally recommend those. | ||
raylu
United States6 Posts
On January 21 2010 19:02 Marradron wrote: For what purpose ? You might as well learn c# or something like that. seems a bit more advanced than c++ What are you talking about? C# is certainly newer, but not more advanced. I second the recommendation for K&R for C. That said, if you're only interested in programming as a hobby and are only interested in developing on Windows, C# is probably a better choice than either C or C++. | ||
JiYan
United States3668 Posts
| ||
QuickSandSlowly
China95 Posts
| ||
gumbum8
United States721 Posts
Say I'm a programming n00b. The best I've ever done is making a guessing game with numbers 1-20 in python. My goal is to make fun or useful programs with programming, not necessarily full fledged games, but just useful programs that could serve some general purpose on my computer. Anyone have a language recommendation? | ||
Slithe
United States985 Posts
C++ is far too bulky and cluttered for a beginner in my opinion. I don't think you'll gain much by learning C++ unless you have a specific purpose or reason for using it. If learning through books isn't your cup of tea, the lectures for the introductory CS courses at UC Berkeley are available via youtube. The first few lectures of CS61C go over basic C concepts. Also, as a Berkeley grad I'm obligated to recommend learning Lisp/Scheme first, in which case you should go through the CS61a series of lectures. | ||
Aim Here
Scotland672 Posts
with clean syntax, and because it's popular among developers, there are now plenty of libraries that allow you to do almost anything you like in python, including some fairly popular programs - most bittorrent clients I've ever used have been written in it, for example, and civ4 used it as the main scripting language. It doesn't hurt to learn a few other languages, anyways, to see how the rest of the world lives, but you've started off well! | ||
uberMatt
Canada659 Posts
| ||
spinesheath
Germany8679 Posts
On January 22 2010 04:20 Slithe wrote: I think learning C is much better for gaining good fundamentals and understanding basic principles of programming. C++ is far too bulky and cluttered for a beginner in my opinion. I don't think you'll gain much by learning C++ unless you have a specific purpose or reason for using it. I would suggest a hgher-level language than C if all you want is a good understanding of basic principles. Java, Python and the likes probably would be good choices. With C, you'll most likely just end up doing tons of low level stuff, which doesn't teach you a lot of important concepts. Getting good at pointer arithmetics and typecasting is all nice, but it's no basic principle of progamming. If you start C++ properly and make extensive use of the Standard Library, it isn't bulky/cluttered imo. If you mix imperative and OO programming it indeed is messy. | ||
gumbum8
United States721 Posts
| ||
Mastermind
Canada7096 Posts
On January 22 2010 04:44 gumbum8 wrote: Well, I don't know if these last few responses were directed towards me or the OP, but to clarify a little bit, I just want to start learning a simple language. I Would then consider branching outwards, learning how to adjust syntax and perform different actions in languages. So basically what I'm saying is, I'm looking for the best language to begin my quest, that would be simple and user-friendly enough for me to understand with a "for dummies" book. if you want something simple and user friendly then dont learn C or C++. I would recommend Python. Python is really easy for beginners. | ||
DeathSpank
United States1029 Posts
| ||
Slithe
United States985 Posts
On January 22 2010 04:39 spinesheath wrote: Show nested quote + On January 22 2010 04:20 Slithe wrote: I think learning C is much better for gaining good fundamentals and understanding basic principles of programming. C++ is far too bulky and cluttered for a beginner in my opinion. I don't think you'll gain much by learning C++ unless you have a specific purpose or reason for using it. I would suggest a hgher-level language than C if all you want is a good understanding of basic principles. Java, Python and the likes probably would be good choices. With C, you'll most likely just end up doing tons of low level stuff, which doesn't teach you a lot of important concepts. Getting good at pointer arithmetics and typecasting is all nice, but it's no basic principle of progamming. If you start C++ properly and make extensive use of the Standard Library, it isn't bulky/cluttered imo. If you mix imperative and OO programming it indeed is messy. Yea I do agree actually that C shouldn't be the first language. To clarify, I was talking about other concepts that are more relevant from a low level perspective, like memory management and data representation. The big picture just makes more sense when you understand what's going on under the hood, and it'll make you a better programmer to be mindful of such things. Edit: Also, my personal opinion is that c++ is a heinous language for beginners to use, because there's just so much potential for writing terribly flawed code. Also, I hate reading c++ code. | ||
Phrujbaz
Netherlands512 Posts
If you start learning how to program now, I wouldn't learn C++. I would learn D. http://www.digitalmars.com/d/ D is C++ modernized. It's both easier to learn and more powerful, while remaining extremely similar to C++. Here's a beginner guide http://compsci.ca/v3/viewtopic.php?t=9518 | ||
nemomike
61 Posts
Best book for beginners imo: http://www.amazon.com/Primer-Plus-5th-Stephen-Prata/dp/0672326965/ref=sr_1_8?ie=UTF8&s=books&qid=1264107017&sr=1-8 And besides K&R: http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/013089592X/ref=sr_1_13?ie=UTF8&s=books&qid=1264107047&sr=1-13 Also, if you want to test yourself and learn something about algorithms and such, try http://www.spoj.pl/ (you can solve problems with many languages). | ||
prOxi.swAMi
Australia3091 Posts
| ||
coltrane
Chile988 Posts
One is too old, and the other is platform dependant. learn C++, just because after that almost anything should be easy. | ||
ygor
Slovakia246 Posts
| ||
fabiano
Brazil4644 Posts
after learning the language, i strongly recommend you to search for Design Patterns. They are wonderful and will help you to think how to code your systems correctly. Im reading 'head first design patterns' rightnow and it is awesome, very light weight read and fun. + Show Spoiler + LEARN DESIGN PATTERNS!!!! this is fucking awesome. | ||
kli6891
United States143 Posts
| ||
Pawsom
United States928 Posts
On January 21 2010 23:26 SilverSkyLark wrote: You can do a whole lot more stuff with C++ as compared to C. I've never come across a task that could be done in C++ but not C. | ||
swat
Australia142 Posts
On January 22 2010 08:12 ygor wrote: I am in the software development for 5,5years now. My advice is to learn C# or Java. Listen to this man. I just graduated and most jobs I am going for want me to have experience mostly in Java, then either c# or .NET then c++. If you are looking at a job in programming then I seriously suggest you also get a feel for a relational database system (oracle, DB2, sybase etc) and SQL. | ||
coltrane
Chile988 Posts
On January 22 2010 09:39 Pawsom wrote: Show nested quote + On January 21 2010 23:26 SilverSkyLark wrote: You can do a whole lot more stuff with C++ as compared to C. I've never come across a task that could be done in C++ but not C. there is always a c way to do it. Usually it is way more tricky, long and hard. Seriously, dont lear c#, learn c++. C# is platform dependant and that is a huge fail. | ||
iaretehnoob
Sweden741 Posts
Writing and maintaining a multiplatform program in C++ is not easy. C# works on Windows, Linux, Mac OS, the Xbox 360 and even some phones and stuff (even if java is probably the better choice there), so yes it's "platform dependant" as it needs a CLR, but it's still not Microsoft-only as most people think when they say "platform dependant". Once you've used C# you don't want to go back to C++. Sadly there are still situations where using C++ is necessary, but it takes sooo much more work to get anything done. Java is not a bad choice, even if it has a few things that annoy me and make me prefer C#. Python really is another great choice, I think you could be even more productive with Python. Both C# and Python also allow a slow introduction of functional concepts later, which is great since Lisp and friends have a rather steep early learning curve imo, especially if you're learning on your own. | ||
![]()
CTStalker
Canada9720 Posts
| ||
raylu
United States6 Posts
On January 22 2010 20:03 iaretehnoob wrote: Multiplatform (most likely) does not matter to somebody just learning to program. Writing and maintaining a multiplatform program in C++ is not easy. C# works on Windows, Linux, Mac OS, the Xbox 360 and even some phones and stuff (even if java is probably the better choice there), so yes it's "platform dependant" as it needs a CLR, but it's still not Microsoft-only as most people think when they say "platform dependant". Mono only supports 2.0 and some of 3.0. The .NET framework is at 3.5. | ||
| ||
![]() StarCraft 2 Dota 2 League of Legends Heroes of the Storm Other Games Organizations Other Games StarCraft: Brood War StarCraft 2 StarCraft: Brood War
StarCraft 2 • Berry_CruncH308 StarCraft: Brood War• Hupsaiya ![]() • Adnapsc2 ![]() • LaughNgamezSOOP • AfreecaTV YouTube • sooper7s • intothetv ![]() • Migwel ![]() • Kozan • IndyKCrew ![]() League of Legends |
CranKy Ducklings
RSL Revival
ByuN vs Cham
herO vs Reynor
FEL
RSL Revival
Clem vs Classic
SHIN vs Cure
FEL
BSL: ProLeague
Dewalt vs Bonyth
Replay Cast
Sparkling Tuna Cup
The PondCast
Replay Cast
[ Show More ] RSL Revival
Replay Cast
RSL Revival
|
|