Learning C/C++ from beginning? - Page 3
Blogs > stalife |
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: 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: 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. | ||
| ||