• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 14:19
CET 20:19
KST 04:19
  • 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
RSL Revival - 2025 Season Finals Preview7RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
Weekly Cups (Dec 1-7): Clem doubles, Solar gets over the hump1Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3
StarCraft 2
General
RSL Revival - 2025 Season Finals Preview Weekly Cups (Dec 1-7): Clem doubles, Solar gets over the hump Chinese SC2 server to reopen; live all-star event in Hangzhou Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced
Tourneys
RSL Offline Finals Info - Dec 13 and 14! Tenacious Turtle Tussle 2025 RSL Offline Finals Dates + Ticket Sales! Sparkling Tuna Cup - Weekly Open Tournament StarCraft2.fi 15th Anniversary Cup
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 504 Retribution Mutation # 503 Fowl Play Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ [BSL21] RO8 Bracket & Prediction Contest BW General Discussion FlaSh on: Biggest Problem With SnOw's Playstyle Let's talk about Metropolis
Tourneys
[ASL20] Grand Finals [BSL21] RO8 - Day 2 - Sunday 21:00 CET [BSL21] RO8 - Day 1 - Saturday 21:00 CET Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers Game Theory for Starcraft Fighting Spirit mining rates Current Meta
Other Games
General Games
Dawn of War IV Path of Exile Stormgate/Frost Giant Megathread Awesome Games Done Quick 2026! Nintendo Switch Thread
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
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas Survivor II: The Amazon Sengoku Mafia TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread YouTube Thread European Politico-economics QA Mega-thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
TL+ Announced Where to ask questions and add stream?
Blogs
How Sleep Deprivation Affect…
TrAiDoS
I decided to write a webnov…
DjKniteX
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1773 users

I want to learn to C

Blogs > Arnstein
Post a Reply
1 2 3 4 Next All
Arnstein
Profile Blog Joined May 2010
Norway3381 Posts
April 23 2012 14:09 GMT
#1
OK, now that we're done with that awful play on words(letter?), let me get straight to the point:

I want to learn to code in C! I have downloaded and installed Xcode on mac(it wouldn't complete though, what is that about? It said 2 minutes remaining for 12 hours, so I just turned the computer off, and when I started it again it was installed).

What I'm looking for is to get a better overview over the whole process(why the files and folders are where they are in a project), as well as just learning to code.

It would be awesome if anyone knew a site like http://www.codecademy.com/ but for C!


rsol in response to the dragoon voice being heard in SCII: dragoon ai reaches new lows: wanders into wrong game
TheToast
Profile Blog Joined August 2010
United States4808 Posts
April 23 2012 14:22 GMT
#2
Honestly, you're probably best off learning C#, learning a .Net language actually has some real world applications and can allow you to program software for anyone on an MS Windows platform. Microsoft has made it clear that's the direction they want to go with .Net, and the more complicated aspects of C++ such as writing to specific memory bits has been removed. MSDN has some really good tutorials and has a number of chapters of some good books on learning .Net languages for free.

If you're not interested in .Net, I would say 100% you should look to learn Java (not actually all that different from C++), that would actually be useful for programming apps and cross-platform software.
I like the way the walls go out. Gives you an open feeling. Firefly's a good design. People don't appreciate the substance of things. Objects in space. People miss out on what's solid.
Arnstein
Profile Blog Joined May 2010
Norway3381 Posts
April 23 2012 14:26 GMT
#3
I want to learn C because I will be using it later in my education. What is the difference between C++ and C#?
rsol in response to the dragoon voice being heard in SCII: dragoon ai reaches new lows: wanders into wrong game
emucxg
Profile Blog Joined May 2007
Finland4559 Posts
Last Edited: 2012-04-23 15:18:58
April 23 2012 15:17 GMT
#4
On April 23 2012 23:26 Arnstein wrote:
I want to learn C because I will be using it later in my education. What is the difference between C++ and C#?

C# is easier and for beginners, it has garbage collection just like java, so u dont need worry about memory leaks...

C is for advanced programmers, but C runs much faster than C# though

correct me if im wrong

edit. there are more difference between those, i just mentioned some most important.
Arnstein
Profile Blog Joined May 2010
Norway3381 Posts
April 23 2012 15:52 GMT
#5
Ah, ok. But I'll just start with C anyways
rsol in response to the dragoon voice being heard in SCII: dragoon ai reaches new lows: wanders into wrong game
virpi
Profile Blog Joined August 2009
Germany3599 Posts
April 23 2012 15:52 GMT
#6
Learning C++ is pretty hard, but also very rewarding. You can also easily transfer your knowledge to other languages, once you've mastered the "first levels". If you're entirely inexperienced with programming, I'd suggest that you might try one of the "easier" languages first (such as C#), because the sheer power of C++ is pretty intimidating sometimes.

Don't learn C, though, unless you're planning to study software engineering. C is used to design operating systems and other software that's "close to the hardware". (don't know how to put this in english sry)
first we make expand, then we defense it.
TheToast
Profile Blog Joined August 2010
United States4808 Posts
April 23 2012 16:12 GMT
#7
On April 24 2012 00:52 virpi wrote:
If you're entirely inexperienced with programming, I'd suggest that you might try one of the "easier" languages first (such as C#), because the sheer power of C++ is pretty intimidating sometimes.


Actually Visual Basic is probably one of the easiest languages to learn. I'm no CS major, and despite my short attention span even I was able to learn enough VB to make some simple desktop applications. It has some real world applications too, such as being able to write macros in MS Office. Plus many of the concepts transfer pretty easily to other .Net languages like C#.
I like the way the walls go out. Gives you an open feeling. Firefly's a good design. People don't appreciate the substance of things. Objects in space. People miss out on what's solid.
Arnstein
Profile Blog Joined May 2010
Norway3381 Posts
April 23 2012 16:14 GMT
#8
Well, I will study technical cybernetics, and will do a lot of C, so I just want to start a year early trying to get the hang of it
rsol in response to the dragoon voice being heard in SCII: dragoon ai reaches new lows: wanders into wrong game
JellowLight
Profile Blog Joined October 2011
60 Posts
April 23 2012 16:26 GMT
#9
I started learning c++ a year ago as my first programming language. Everything is going allright and I never found it intimidating or anything. IF you jsut start at the basics and slowly work your way upwards then it is doable.
Spikeke
Profile Joined October 2010
Canada106 Posts
Last Edited: 2012-04-23 16:36:46
April 23 2012 16:34 GMT
#10
I went to that codeacademy site, kinda dumb.
Just grab a programming book for noobs or google cprogramming and start coding. Don't know why you would want to learn old C first, but hey that's your choice. Even if you wanted to learn COBOL I wouldn't stop you. use google and your success is determined by your motivation and self-discipline. Good luck.
infey
Profile Joined August 2010
Canada64 Posts
April 23 2012 16:46 GMT
#11
If you have your heart set on C then my advice would be to grab a solid book on learning C for beginners and work through it from start to finish. C is closer to the metal than many languages and there is a lot of knowledge you'll need that can't be gleaned *easily* from reverse engineering existing programs such as memory management, memory structure layout, pointers, etc A good book will be able to introduce and explain in a way that you'll be able to pick it up more quickly.

Finding someone with a lot of experience in C that you can ask questions of would also be a big help.
palmerdabbelt
Profile Blog Joined October 2010
United States46 Posts
Last Edited: 2012-04-23 16:58:43
April 23 2012 16:58 GMT
#12
You definately want to learn C first (the book I link actually teaches you a simple RISC assembly, which I think is the best way to learn C), especially if you're just doing this as a hobby. While you won't be a productive as you would be learning a high-level language you'll understand a whole lot more.

The intro to programming class at my school used this

http://highered.mcgraw-hill.com/sites/0072467509/

and I highly recommend it. It's particularly useful if you're interested in learning programming just for fun, as it will teach you what's actually going on inside your computer.

Additionally, I would recommend learning to use a proper editor (I use emacs, but vim is fine too), make, gcc, and the command line. When you're learning how to program an IDE (like Xcode) can actually complicate things as it will hide a lot of what's going on. Learning to use a Unix-like operating system (I use Gentoo, a Linux distribution) is also a huge plus, but as your on Mac OS X you'll be alright (there's some Unix in OSX if you look hard enough ).

Good luck!
Snuggles
Profile Blog Joined May 2010
United States1865 Posts
April 23 2012 17:01 GMT
#13
I friggin bought an entire book to learn C. Only to learn that I have no talent whatsoever to do learn it, took me weeks just to learn how compile my simple lines of code.
Deleted User 61629
Profile Blog Joined March 2010
1664 Posts
Last Edited: 2012-04-23 17:47:51
April 23 2012 17:47 GMT
#14
--- Nuked ---
fire_brand
Profile Blog Joined October 2009
Canada1123 Posts
April 23 2012 17:48 GMT
#15
Don't start with C. It'll teach you the wrong stuff. You're better off learning something else that's actually useful. C actually will hinder your learning later on.
Random player, pixel enthusiast, crappy illustrator, offlane/support
Snuggles
Profile Blog Joined May 2010
United States1865 Posts
Last Edited: 2012-04-23 18:07:29
April 23 2012 18:05 GMT
#16
Rather than learning C or C++, how come you guys haven't suggest to just learn Java? I read that it's similar to C++ but better and more convenient. Correct if I'm wrong because I'm trying to learn too.

EDIT: just noticed that someone mentioned Java, can anyone further elaborate on it?
GogoKodo
Profile Blog Joined April 2003
Canada1785 Posts
April 23 2012 18:06 GMT
#17
On April 24 2012 02:47 Inori wrote:
Show nested quote +
On April 24 2012 02:01 Snuggles wrote:
I friggin bought an entire book to learn C. Only to learn that I have no talent whatsoever to do learn it, took me weeks just to learn how compile my simple lines of code.

There's no such thing as "no talent to learn it". You might not have genius skills to hack google at 15, but to learn how to code and eventually get senior dev position - anyone can achieve that. Literally, anyone.

I agree that anyone can do it, but there is definitely talent or a particular way of thinking that makes progress much faster for learning how to code.
twitter: @terrancem
Melchior
Profile Joined January 2011
United States112 Posts
April 23 2012 18:18 GMT
#18
From my experience, Java or C# is probably easier to pick up and is good for teaching abstraction, etc. C requires a little more bookkeeping from the programmer in terms of memory management/pointers, but can be written to run faster than Java. C++ is extremely powerful but quite a bit different than the other languages to learn -- what is properly written code in C will often work on C++, but will almost inevitably be a suboptimal implementation in C++.

Of course, the language you should start with depends on what you want to do with it...
GogoKodo
Profile Blog Joined April 2003
Canada1785 Posts
April 23 2012 18:23 GMT
#19
Nobody has mentioned it yet, but I'll even put in a vote for learning Objective-C if you happen to be on a Mac. Working with Objective-C and Cocoa is actually really nice and you can go from learning to making a real desktop/iOS application pretty quickly. Objective-C still lets you learn about object oriented programming, and you can also make use of C structures (and c++ but I would steer away from that if you're just learning) easily.

It might not be as valuable for employment, unless you're looking into iOS or Mac development. But once you've learned one language it's really not difficult to pick up more in the future.
twitter: @terrancem
GogoKodo
Profile Blog Joined April 2003
Canada1785 Posts
April 23 2012 18:25 GMT
#20
On April 24 2012 02:48 fire_brand wrote:
Don't start with C. It'll teach you the wrong stuff. You're better off learning something else that's actually useful. C actually will hinder your learning later on.

Learning C will not teach you the "wrong stuff", whatever that is, and C is definitely useful.
twitter: @terrancem
1 2 3 4 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 41m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 385
IndyStarCraft 170
JuggernautJason128
StarCraft: Brood War
Britney 19891
Calm 2879
Shuttle 440
Mini 394
EffOrt 229
Dewaltoss 118
ggaemo 87
Oya187 34
Dota 2
Gorgc6177
qojqva2871
LuMiX1
Counter-Strike
fl0m10563
byalli506
chrisJcsgo45
Super Smash Bros
hungrybox224
Heroes of the Storm
Khaldor625
Liquid`Hasu449
Other Games
Beastyqt631
ArmadaUGS126
XaKoH 84
OptimusSC21
Organizations
Other Games
gamesdonequick1110
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• HeavenSC 47
• Adnapsc2 17
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV395
League of Legends
• Nemesis2744
Other Games
• imaqtpie1845
• Shiphtur726
Upcoming Events
IPSL
41m
Sziky vs JDConan
BSL 21
41m
Tech vs Cross
Bonyth vs eOnzErG
Replay Cast
13h 41m
Wardi Open
16h 41m
Monday Night Weeklies
21h 41m
Sparkling Tuna Cup
1d 14h
Replay Cast
3 days
The PondCast
3 days
CranKy Ducklings
5 days
SC Evo League
5 days
[ Show More ]
BSL 21
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

Acropolis #4 - TS3
RSL Revival: Season 3
Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
Slon Tour Season 2
WardiTV 2025
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22

Upcoming

CSL 2025 WINTER (S19)
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Big Gabe Cup #3
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
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...

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.