• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:12
CEST 07:12
KST 14:12
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL19] Finals Recap: Standing Tall9HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Flash Announces Hiatus From ASL54Weekly Cups (June 23-29): Reynor in world title form?12FEL Cracov 2025 (July 27) - $8000 live event16Esports World Cup 2025 - Final Player Roster16Weekly Cups (June 16-22): Clem strikes back1
StarCraft 2
General
The SCII GOAT: A statistical Evaluation The GOAT ranking of GOAT rankings Statistics for vetoed/disliked maps How does the number of casters affect your enjoyment of esports? Esports World Cup 2025 - Final Player Roster
Tourneys
Korean Starcraft League Week 77 Master Swan Open (Global Bronze-Master 2) RSL: Revival, a new crowdfunded tournament series [GSL 2025] Code S: Season 2 - Semi Finals & Finals $5,100+ SEL Season 2 Championship (SC: Evo)
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma Mutation # 477 Slow and Steady
Brood War
General
Player “Jedi” cheat on CSL Flash Announces Hiatus From ASL BGH Auto Balance -> http://bghmmr.eu/ Unit and Spell Similarities Help: rep cant save
Tourneys
[Megathread] Daily Proleagues [BSL20] Grand Finals - Sunday 20:00 CET Small VOD Thread 2.0 [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile What do you want from future RTS games? Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Trading/Investing Thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The Games Industry And ATVI
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
Formula 1 Discussion 2024 - 2025 Football Thread NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Blogs
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
Blog #2
tankgirl
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 715 users

Learning C/C++ from beginning?

Blogs > stalife
Post a Reply
Normal
stalife
Profile Blog Joined June 2006
Canada1222 Posts
January 21 2010 09:19 GMT
#1
which books would you guys recommend for picking up C/C++ from the beginning? I started with Java, and I'm not really good at it, but I can write some codes.. I'd like to pick up C/C++ as well to start some basic projects of my own.

Any recommendations?? Thanks!

****
www.memoryexpress.com
keV.
Profile Blog Joined February 2009
United States3214 Posts
January 21 2010 09:28 GMT
#2
A billion good C and C++ books. IMO, start with C and practice with data structures; linked lists, binary trees, memory managers etc... After that knowing some Java and C you will pick up C++ very fast.
"brevity is the soul of wit" - William Shakesman
haduken
Profile Blog Joined April 2003
Australia8267 Posts
January 21 2010 09:28 GMT
#3
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++.
Rillanon.au
imDerek
Profile Blog Joined August 2007
United States1944 Posts
January 21 2010 09:41 GMT
#4
c++: the book by bjarne stroustrup the author himself.

go with c first though
Least favorite progamers: Leta, Zero, Mind, Shine, free, really <-- newly added
Marradron
Profile Blog Joined January 2009
Netherlands1586 Posts
January 21 2010 10:02 GMT
#5
For what purpose ?

You might as well learn c# or something like that. seems a bit more advanced than c++
Aim Here
Profile Blog Joined December 2009
Scotland672 Posts
Last Edited: 2010-01-21 10:08:35
January 21 2010 10:05 GMT
#6
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
Profile Blog Joined October 2009
United States328 Posts
January 21 2010 10:16 GMT
#7
C++ and C and C# are easy TBA. i would suggest you learn java first, then Python. Then see if you still want to learn C++ and what not. if so, it will be easy. Java is already easy, Python is amazing. all the C stuff looks like total uselessness compared to Python cause Python is so efficient. That's why NASA uses it. C is nice though, but i suggest dont learn it for the first time. get some experience first. it will make it much easier.
XtremeOneZ 4 Life Bliss[x.1]
Amnesty
Profile Joined April 2003
United States2054 Posts
January 21 2010 10:56 GMT
#8
Accelerated C++

Pretty good book. Actually uses C++
The sky just is, and goes on and on; and we play all our BW games beneath it.
Aim Here
Profile Blog Joined December 2009
Scotland672 Posts
January 21 2010 11:08 GMT
#9
I forgot to recommend a book for the OP, and so I suppose somebody had better recommend K&R as the definitive book on straight C, and unrecommend anything by Herbert Schildt, whose books are both very popular and yet so egregiously wrong that they spawned a jargon file entry.
iaretehnoob
Profile Joined June 2004
Sweden741 Posts
January 21 2010 11:08 GMT
#10
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
Profile Blog Joined June 2009
United States485 Posts
January 21 2010 11:31 GMT
#11
I recommend C for the absolute beginner i'm reading it and it comes with the software and its very interactive. It's kind of old, but it works with vista, while you're running a linux shell.
"Only the Good Die Young"
FirstBorn
Profile Blog Joined March 2007
Romania3955 Posts
January 21 2010 11:33 GMT
#12
On January 21 2010 18:28 haduken wrote:
www.cplusplus.com

Better than any book.


I'm going to second this, VERY usefull site. Helped me a ton with getting the hang of C/C++.
SonuvBob: Yes, the majority of TL is college-aged, and thus clearly stupid.
agorist
Profile Joined July 2009
United States115 Posts
Last Edited: 2010-01-21 11:46:01
January 21 2010 11:42 GMT
#13
C first.
C++ second.



What is your current skillset? Know the difference between the heap and stack? Can you wield pointers?
CTStalker
Profile Blog Joined November 2004
Canada9720 Posts
January 21 2010 11:47 GMT
#14
as has been said, learn C first (and then never learn C++: learn Lisp instead)

this is the book you'll use to learn C
By the way, my name is Funk. I am not of your world
araav
Profile Blog Joined September 2004
Armenia1590 Posts
January 21 2010 11:59 GMT
#15
don't go for C first, don't go for C at all if you are not planning to be a system programmer.

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
The flower that blooms in adversity is the most rare and beautiful of all.
Neshapotamus
Profile Blog Joined May 2006
United States163 Posts
January 21 2010 13:18 GMT
#16
http://www.learncpp.com/
Amnesty
Profile Joined April 2003
United States2054 Posts
January 21 2010 13:19 GMT
#17
Disagree with the C first approach. Strongly strongly disagree.
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.
The sky just is, and goes on and on; and we play all our BW games beneath it.
Marradron
Profile Blog Joined January 2009
Netherlands1586 Posts
January 21 2010 14:04 GMT
#18
for online c instructions http://www.iu.hio.no/~mark/CTutorial/CTutorial.html#
Flaccid
Profile Blog Joined August 2006
8835 Posts
January 21 2010 14:12 GMT
#19
I don't understand the 'learn C first' idea. Sounds like a waste of time.

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
I'd rather have a bottle in front of me than a frontal lobotomy
ProoM
Profile Blog Joined May 2009
Lithuania1741 Posts
January 21 2010 14:19 GMT
#20
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.
IMBA - International Mountain Bicycling Association.
Cloud
Profile Blog Joined November 2004
Sexico5880 Posts
Last Edited: 2010-01-21 14:36:10
January 21 2010 14:19 GMT
#21
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.
BlueLaguna on West, msg for game.
EsX_Raptor
Profile Blog Joined February 2008
United States2801 Posts
January 21 2010 14:25 GMT
#22
"A Book on C : Programming in C", 4/e, A. Kelley & I. Pohl, 1998

There's no better book than that one to learn C.
SilverSkyLark
Profile Blog Joined April 2008
Philippines8437 Posts
January 21 2010 14:26 GMT
#23
Go start with C++ - that's depending on your skill of course.

You can do a whole lot more stuff with C++ as compared to C.

"If i lost an arm, I would play w3." -IntoTheWow || "Member of Hyuk Hyuk Hyuk cafe. He's the next Jaedong, baby!"
CTStalker
Profile Blog Joined November 2004
Canada9720 Posts
January 21 2010 14:56 GMT
#24
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
By the way, my name is Funk. I am not of your world
spitball
Profile Blog Joined August 2008
Australia81 Posts
January 21 2010 15:08 GMT
#25
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
Profile Blog Joined June 2004
United States16368 Posts
January 21 2010 15:53 GMT
#26
Thinking in C++
Effective C++

Hands down.
When you want something, all the universe conspires in helping you to achieve it.
Adeny
Profile Blog Joined January 2009
Norway1233 Posts
January 21 2010 16:11 GMT
#27
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-
Profile Joined October 2006
Croatia9497 Posts
January 21 2010 16:26 GMT
#28
These C bashers reminds me so much of this article.

Moderator"We're a community of geniuses because we've found how to extract 95% of the feeling of doing something amazing without actually doing anything." - Chill
CTStalker
Profile Blog Joined November 2004
Canada9720 Posts
Last Edited: 2010-01-21 16:38:12
January 21 2010 16:32 GMT
#29
the guy already knows java. learning C will solidify his knowledge of C-like languages. he already (presumably) has a grasp on OOP -- he certainly doesn't need the cluster-fuck that is C++ to teach him that. C is simple, C is straight-forward. and it will help you wherever you program imperatively

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
By the way, my name is Funk. I am not of your world
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
January 21 2010 17:08 GMT
#30
I am currently reading the C++ Programming language by Stroustrup. I have been using C++ for years now, with my most important source being the internet (cplusplus is a good reference site indeed, but I doubt it'll help you with learning how to write good code).

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.
If you have a good reason to disagree with the above, please tell me. Thank you.
celeste
Profile Joined January 2010
England45 Posts
January 21 2010 17:18 GMT
#31
I completely back cpluscplus.com and the Accelerated C++ book

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
Profile Blog Joined January 2008
Malaysia2246 Posts
January 21 2010 17:19 GMT
#32
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
Profile Joined August 2006
United States6 Posts
January 21 2010 18:08 GMT
#33
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++.
o.0?
JiYan
Profile Blog Joined February 2009
United States3668 Posts
January 21 2010 18:15 GMT
#34
xD i thought this was about starcraft
QuickSandSlowly
Profile Blog Joined January 2008
China95 Posts
January 21 2010 18:25 GMT
#35
Google Karel, also C++ for everyone.
jijibulei ggplay
gumbum8
Profile Blog Joined December 2008
United States721 Posts
January 21 2010 19:12 GMT
#36
I have a question while we're on the subject...
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?
but really, has anyone REALLY been far even as decided to use even go want to do look more like?
Slithe
Profile Blog Joined February 2007
United States985 Posts
January 21 2010 19:20 GMT
#37
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.

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
Profile Blog Joined December 2009
Scotland672 Posts
January 21 2010 19:23 GMT
#38
Python is actually a good choice for a general programming language. It's a very nice language
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
Profile Joined May 2004
Canada659 Posts
January 21 2010 19:23 GMT
#39
k&r for c
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
January 21 2010 19:39 GMT
#40
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.
If you have a good reason to disagree with the above, please tell me. Thank you.
gumbum8
Profile Blog Joined December 2008
United States721 Posts
January 21 2010 19:44 GMT
#41
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.
but really, has anyone REALLY been far even as decided to use even go want to do look more like?
Mastermind
Profile Blog Joined April 2008
Canada7096 Posts
January 21 2010 20:10 GMT
#42
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
Profile Blog Joined February 2009
United States1029 Posts
January 21 2010 20:29 GMT
#43
start with c++ and if you feel the need to go to a lower level language go to c. As for books you don't really need one if you understand the fundamentals of programming, like that other guy said www.cplusplus.com or whatever it was; that site is an amazing tool.
yes.
Slithe
Profile Blog Joined February 2007
United States985 Posts
Last Edited: 2010-01-21 20:50:08
January 21 2010 20:38 GMT
#44
Yea as Mastermind said, python's a very good starting choice for a simple, easy to understand language.

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
Profile Blog Joined September 2008
Netherlands512 Posts
January 21 2010 20:49 GMT
#45
CTStalker is right. C++ has been amazingly useful since it's conception but, as time goes on, it's becoming more and more outdated.

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
Caution! Future approaching rapidly at a rate of about 60 seconds per minute.
nemomike
Profile Joined March 2005
61 Posts
January 21 2010 20:57 GMT
#46
Well I personally would recommend starting with C, not the other way around.
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
Profile Blog Joined November 2004
Australia3091 Posts
January 21 2010 22:48 GMT
#47
I would recommend you try C#.... it is just such a delight to use...
Oh no
coltrane
Profile Blog Joined June 2008
Chile988 Posts
January 21 2010 23:00 GMT
#48
Dont waste your time with c or c#

One is too old, and the other is platform dependant.


learn C++, just because after that almost anything should be easy.
Jävla skit
ygor
Profile Blog Joined April 2004
Slovakia246 Posts
January 21 2010 23:12 GMT
#49
I am in the software development for 5,5years now. My advice is to learn C# or Java.
fabiano
Profile Blog Joined August 2009
Brazil4644 Posts
January 21 2010 23:35 GMT
#50
i do recommend C++, C# and Java. I once wrote a tetris clone in C# that was runnable on PC and XBOX, too bad i didnt have a xbox to test it with the controllers. I used xna game studio 2.0 if i recall correctly, but lost it when my notebook went down.

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.
"When the geyser died, a probe came out" - SirJolt
kli6891
Profile Blog Joined October 2008
United States143 Posts
January 22 2010 00:08 GMT
#51
Would recommend going straight for C++, since it's a superset of C anyway.
Pawsom
Profile Blog Joined February 2009
United States928 Posts
January 22 2010 00:39 GMT
#52
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
Profile Blog Joined January 2008
Australia142 Posts
January 22 2010 00:51 GMT
#53
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
Profile Blog Joined June 2008
Chile988 Posts
January 22 2010 02:00 GMT
#54
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.
Jävla skit
iaretehnoob
Profile Joined June 2004
Sweden741 Posts
January 22 2010 11:03 GMT
#55
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".

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
Profile Blog Joined November 2004
Canada9720 Posts
January 22 2010 12:38 GMT
#56
iaretehnoob is right. but once you do learn Lisp, you'll never go back
By the way, my name is Funk. I am not of your world
raylu
Profile Joined August 2006
United States6 Posts
January 24 2010 23:30 GMT
#57
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.
o.0?
Normal
Please log in or register to reply.
Live Events Refresh
Korean StarCraft League
03:00
Week 77
EnkiAlexander 99
davetesta73
HKG_Chickenman71
IntoTheiNu 59
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 252
PiLiPiLi 20
Dota 2
monkeys_forever747
NeuroSwarm143
febbydoto20
League of Legends
JimRising 852
Heroes of the Storm
Khaldor70
Other Games
summit1g7736
WinterStarcraft568
Organizations
Other Games
BasetradeTV58
StarCraft: Brood War
UltimateBattle 35
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 17 non-featured ]
StarCraft 2
• Berry_CruncH308
• Hupsaiya 103
• Adnapsc2 2
• LaughNgamezSOOP
• AfreecaTV YouTube
• sooper7s
• intothetv
• Migwel
• Kozan
• IndyKCrew
StarCraft: Brood War
• Diggity9
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
League of Legends
• Lourlo1439
• masondota2489
• Stunt396
Upcoming Events
CranKy Ducklings
4h 48m
RSL Revival
4h 48m
ByuN vs Cham
herO vs Reynor
FEL
10h 48m
RSL Revival
1d 4h
Clem vs Classic
SHIN vs Cure
FEL
1d 6h
BSL: ProLeague
1d 12h
Dewalt vs Bonyth
Replay Cast
2 days
Sparkling Tuna Cup
3 days
The PondCast
4 days
Replay Cast
4 days
[ Show More ]
RSL Revival
5 days
Replay Cast
5 days
RSL Revival
6 days
Liquipedia Results

Completed

BSL 2v2 Season 3
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Disclosure: This page contains affiliate marketing links that support TLnet.

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.