• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 07:13
CET 13:13
KST 21:13
  • 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 Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13
Community News
[TLMC] Fall/Winter 2025 Ladder Map Rotation12Weekly Cups (Nov 3-9): Clem Conquers in Canada4SC: Evo Complete - Ranked Ladder OPEN ALPHA8StarCraft, SC2, HotS, WC3, Returning to Blizzcon!45$5,000+ WardiTV 2025 Championship7
StarCraft 2
General
Mech is the composition that needs teleportation t RotterdaM "Serral is the GOAT, and it's not close" RSL Season 3 - RO16 Groups C & D Preview [TLMC] Fall/Winter 2025 Ladder Map Rotation TL.net Map Contest #21: Winners
Tourneys
RSL Revival: Season 3 Sparkling Tuna Cup - Weekly Open Tournament Constellation Cup - Main Event - Stellar Fest Tenacious Turtle Tussle Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 499 Chilling Adaptation Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection
Brood War
General
FlaSh on: Biggest Problem With SnOw's Playstyle BW General Discussion What happened to TvZ on Retro? Brood War web app to calculate unit interactions [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL21] RO32 Group D - Sunday 21:00 CET [BSL21] RO32 Group C - Saturday 21:00 CET
Strategy
PvZ map balance Current Meta Simple Questions, Simple Answers How to stay on top of macro?
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread Nintendo Switch Thread Clair Obscur - Expedition 33 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
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread Russo-Ukrainian War Thread Artificial Intelligence Thread Canadian Politics Mega-thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Dyadica Gospel – a Pulp No…
Hildegard
Coffee x Performance in Espo…
TrAiDoS
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Reality "theory" prov…
perfectspheres
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2234 users

I want to learn to C - Page 4

Blogs > Arnstein
Post a Reply
Prev 1 2 3 4 All
Anacletus
Profile Blog Joined April 2012
United States733 Posts
May 14 2012 00:12 GMT
#61
On May 14 2012 06:29 MaGariShun wrote:
Show nested quote +
On May 14 2012 06:17 Anacletus wrote:
On May 14 2012 06:15 og8456 wrote:
You really should go for C++ and not C, C is really outdated! ^_^

/Just my opinion!


This could not be farther from the truth.

It's from 1970. That alone should probably tell you that it's outdated

Is it still widely used and has its own niches where it is best? Absolutely!
Does that make it a good modern programming language? Nope!


C has been updated since then. And saying C is outdated means it's obsolete - it most definitely is not obsolete as it is still widely used today. I feel like I'm just arguing semantics, but dammit C is NOT outdated no matter how old it is!
http://talk-to-stimey-please.1324083.n2.nabble.com/
MaGariShun
Profile Joined May 2010
Austria305 Posts
May 14 2012 01:36 GMT
#62
On May 14 2012 09:12 Anacletus wrote:
And saying C is outdated means it's obsolete

I never said it's obsolete, because it isn't. Its concepts and design are outdated. Sure, you can do most of the stuff you do in modern languages, but basically everything is a hack (error codes instead of exceptions, class-like structs with function pointers etc.)

I mean, if you are not programming on low level (be it hardware or the OS) stuff or desperately need that last bit of performance, there really is no need (or incentive) to use C. You could, no question there, but why would you go through all that extra hassle?

I understand you are a fanboy, but cmon!
Anacletus
Profile Blog Joined April 2012
United States733 Posts
May 14 2012 01:40 GMT
#63
On May 14 2012 10:36 MaGariShun wrote:
Show nested quote +
On May 14 2012 09:12 Anacletus wrote:
And saying C is outdated means it's obsolete

I never said it's obsolete, because it isn't. Its concepts and design are outdated. Sure, you can do most of the stuff you do in modern languages, but basically everything is a hack (error codes instead of exceptions, class-like structs with function pointers etc.)

I mean, if you are not programming on low level (be it hardware or the OS) stuff or desperately need that last bit of performance, there really is no need (or incentive) to use C. You could, no question there, but why would you go through all that extra hassle?

I understand you are a fanboy, but cmon!


I'm more of a C++ fanboy (mmmm dat performance, am I right?). I'm just not going to let you guys get away with spreading misconceptions about C!
http://talk-to-stimey-please.1324083.n2.nabble.com/
tarpman
Profile Joined February 2009
Canada719 Posts
Last Edited: 2012-05-14 01:57:09
May 14 2012 01:53 GMT
#64
This thread makes me sad. The OP comes out knowing what he wants to learn and asking for help learning it, and what does everyone tell him? Their own opinions on what he should learn instead? Come on... there are other perfectly good threads for that.

OP, I see CecilSunkure linked his series of intro-to-C-programming tutorials above, and they're decent.

The original book on C, Kernighan and Ritchie's The C Programming Language is still considered one of the best references on the subject, although I'm not sure of its suitability for a beginner. It's a little expensive but you could probably find it, or parts of it, online if you looked. Of course you do want the second edition, the original is a bit dated but the 2nd ed covers ANSI C which is basically the lowest-common-denominator of what all compilers support these days.

The folks who frequent Freenode's ##c can be a bit off-putting for someone who just wants a simple question answered (and rightly so; they're busy people) but if you have a specific, carefully-worded question to ask they will always have the correct answer (and a citation from the standard to back it up). Their wiki also has some good links to useful resources.

Finally a bit of my opinion to leave a sour taste in your mouth. C is a lot of fun to program in once you've done it for a while and have stopped making the common mistakes. It's unforgiving: you have to be both precise and accurate in what you're telling it to do; if you just sort of fake it (which you can get away with in some languages) you'll find that it actually causes the most frustrating problems.

BTW, you may or may not (I don't know what's installed on Macs by default) already have a great reference for the C standard library installed, in the form of manual pages. When you're not sure what a command or function does, instead of going straight to Google, try opening a terminal and typing 'man command' (without the quotes). As an example, check out the web-based version of the manual page for printf(3).
Saving the world, one kilobyte at a time.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
May 14 2012 02:12 GMT
#65
For beginners, the objective is to learn HOW TO CODE, not how to use whatever language is the favourite this month.

Personally I would start with something that has strong string parsing like PERL or Python as trying to battle compilers while designing algorithm is not fun at all.

With that being said, C is still very influential, Java, C#, Objective C all derived their syntax from C, but seriously though, Syntax and Keywords should be the least of your concern as a programmer.



Rillanon.au
olabaz
Profile Blog Joined April 2009
United States298 Posts
May 14 2012 08:11 GMT
#66
On May 05 2012 20:02 adwodon wrote:
Show nested quote +
On May 05 2012 06:40 olabaz wrote:
On April 26 2012 06:11 adwodon wrote:
On April 24 2012 06:11 olabaz wrote:
So I also recently decided to learn C and have been learning for a couple of days now. The book recommended by MIT as well as a bunch of other legitimate sources seems to be C Programming Language. I looked into this book and did not really like that they didn't give the main function a return value. I then found out about another book that is widely accepted called C Programming: A Modern Approach and I really like the way it is written and laid out so far, and it is what I'll be using. A larger list of books can be found here.

I was told by a lot of people not to learn C but I feel like it'll be a fun exciting language that will help me in the my future studies of physics. Haters gonna hate!


I was one of the better programmers when I did my MSc in particle physics, not that I could have a valid opinion...

C will not help you in physics, it will probably just hinder you, but you've obviously been told this and think you know better. Most physicists stuck with FORTRAN for the most part, they're switching over to C++ with a lot of the larger collaborations (event generators etc) because OO is too useful.

If you're serious about physics over programming you'll not need to go in depth with anything, just learn Java then C++ and some scripting languages, as well as how to use Unix and you'll be fine, you'll learn what you need when you need. As people have said, C is for low level things, learning it will serve no purpose in the physics world and you'll simply have to erase bad habits when you learn a more appropriate language.

C is not useless for physics...


Care to elaborate?

If you want to learn physics, learn physics, don't add complex programming languages on top of that. You'll have a much easier time, and find it easier to apply something like Java to a physics undergrad course.

I'm sure you can find some use for C, but I've never come across a physicist in academia that uses C, it's not the ideal language and most physicists want to do physics, not programme, but if you think you can somehow squeeze 8 extra hours out of each day to double up your discipline then go ahead.

Why not just do a Computer Science degree?

Don't say I didn't warn you.

I agree that C isn't required to learn physics and neither is programming but, isn't that obvious? They're different fields but that doesn't mean they're mutually exclusive. Many of today's popular programs used for numerical computations were written in C like MATLAB, Mathematica, and Maple. Now sure you can learn to "program" in those but that code doesn't carry over to other languages and of course they're not as powerful until they're combined with C or another similar language.
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
May 14 2012 09:32 GMT
#67
I think it's a good idea to learn C. C is the rolemodel for most programming and C++, C#, objective-C and even Python are all derived from C since it's such a common language, if you know C, you should feel at home in most languages since constructs, key words etc were often taken from C.

Problem though, C is not all that useful anymore. If you want to code something very heavy, you'll probably use C++ instead since C++ is a superset of C, it does everything C does and a TON more (which is why C++ is a shitty language, it's just a big mix bag of poop and candy, to eat the candy, you'll still need to put poop in your mouth). If you want to code modern applications, you'll use C# or java instead because the control and speed you get from C/C++ is not all that relevant on desktops/laptops today, not even on cellphones. Atm, I don't think pure C is used much outside of operating systems, both for PCs and machines.

I definitely think you should go ahead and get a good C book though. Learning C is a good investment since it teaches a lot of the concepts of programming without added abstraction. You can learn proper object oriented programming etc later on, when you know how loops, variables and such work.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
Last Edited: 2012-05-14 11:14:09
May 14 2012 11:11 GMT
#68
On May 14 2012 18:32 Tobberoth wrote:
I definitely think you should go ahead and get a good C book though. Learning C is a good investment since it teaches a lot of the concepts of programming without added abstraction. You can learn proper object oriented programming etc later on, when you know how loops, variables and such work.


You can learn the basics in just about any language, it makes absolutely no difference at rudimentary level. A loop is a loop in C or ruby.

Coding is about problem solving. Solve the problem first then start coding.

With that being said, it isn't immediately clear what OP's goal is, if application programming is the goal then C is perhaps not the most efficient starting point however C is a very influential language both in design and usage.

If OP only need a basic level of programming knowledge to compliment his degree then he should invest time into what ever tool his field uses e.g. Python is used for a lot of science projects, lisp in AI research...

Rillanon.au
]343[
Profile Blog Joined May 2008
United States10328 Posts
Last Edited: 2012-05-14 12:28:30
May 14 2012 12:20 GMT
#69
If OP has no experience programming, I think Python is a pretty gentle introduction to "thinking like a programmer." It does provide lots of really nice (though a bit slow) high-level stuff that a lower-level language like C won't; list comprehensions and dynamic typing come into mind immediately. But Python is intuitive enough that we have an annual "Python spelling bee" at our school each winter, where contestants have to dictate (easy-ish) Python code without looking at a screen...

N.B. "low level" means "more control over the fine workings of the computer," whereas "high level" means "more large-scale, abstract tools." Both have their uses, and often higher-level languages [e.g. Python] are built over low-level languages [e.g. C]. C will help you learn a bit more about the workings of the computer--pointers, memory allocation, etc. Supposedly learning C helps you learn the huge plethora of C-like languages rather quickly. But again, if you've never done any coding, I think a higher level of abstraction will benefit you a lot.

Also, I feel like Java is a very... overburdened (???) language, in that it forces huge amounts of verbosity everywhere, since Java code is often meant to be enterprise code (or just shared development in general.) It's sort of a compromise between C and Python in terms of how much nice stuff it does for you automatically (garbage collection, object-oriented stuff, etc.)

Edit:
On May 05 2012 18:35 Abductedonut wrote:huge post on C

Oops, if OP really just wants to learn C, this post on page 3 seemed pretty decent.

Edit2: Wow I suck at reading threads, woo!

Anyway, to practice (and if you like math/algorithms), you can consider doing things like USACO training, TopCoder, and Project Euler. (Don't have to compete in the contests; just do the practice problems for fun!)
Writer
Prev 1 2 3 4 All
Please log in or register to reply.
Live Events Refresh
Kung Fu Cup
12:00
2025 Monthly #3: Day 4
Cure vs Reynor
Classic vs herO
RotterdaM385
IntoTheiNu 46
SteadfastSC18
Liquipedia
RSL Revival
10:00
Group C
SHIN vs ByuN
Crank 1212
Tasteless862
ComeBackTV 797
IndyStarCraft 179
Rex125
3DClanTV 66
Liquipedia
CranKy Ducklings
10:00
Master Swan Open #98
CranKy Ducklings41
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Crank 1212
Tasteless 862
RotterdaM 385
IndyStarCraft 179
Rex 125
Reynor 117
Railgan 37
SteadfastSC 18
StarCraft: Brood War
Britney 35036
Rain 3915
Horang2 1416
Hyuk 1361
firebathero 1294
Jaedong 836
Shuttle 589
Mini 431
Stork 338
BeSt 328
[ Show more ]
Last 223
PianO 177
Hm[arnc] 161
Leta 160
EffOrt 149
Shine 123
Pusan 120
Mong 92
Hyun 83
sorry 70
Shinee 67
Barracks 64
ggaemo 54
JYJ43
JulyZerg 32
soO 27
Movie 17
Bale 16
Noble 15
HiyA 12
ajuk12(nOOB) 8
Dota 2
Gorgc4605
singsing2226
XaKoH 424
XcaliburYe240
Dendi126
Counter-Strike
fl0m3292
zeus359
Other Games
FrodaN4576
B2W.Neo1686
KnowMe209
Fuzer 174
Lowko100
Mew2King57
MindelVK9
Organizations
Dota 2
PGL Dota 2 - Main Stream7428
PGL Dota 2 - Secondary Stream1548
Other Games
gamesdonequick592
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• Berry_CruncH141
• Adnapsc2 6
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 957
League of Legends
• Stunt1261
Upcoming Events
IPSL
4h 47m
ZZZero vs rasowy
Napoleon vs KameZerg
OSC
6h 47m
BSL 21
7h 47m
Tarson vs Julia
Doodle vs OldBoy
eOnzErG vs WolFix
StRyKeR vs Aeternum
Sparkling Tuna Cup
21h 47m
RSL Revival
21h 47m
Reynor vs sOs
Maru vs Ryung
Kung Fu Cup
23h 47m
WardiTV Korean Royale
23h 47m
BSL 21
1d 7h
JDConan vs Semih
Dragon vs Dienmax
Tech vs NewOcean
TerrOr vs Artosis
IPSL
1d 7h
Dewalt vs WolFix
eOnzErG vs Bonyth
Replay Cast
1d 10h
[ Show More ]
Wardi Open
1d 23h
Monday Night Weeklies
2 days
WardiTV Korean Royale
2 days
BSL: GosuLeague
3 days
The PondCast
3 days
Replay Cast
4 days
RSL Revival
4 days
BSL: GosuLeague
5 days
RSL Revival
5 days
WardiTV Korean Royale
5 days
RSL Revival
6 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

Proleague 2025-11-07
Stellar Fest: Constellation Cup
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
BSL Season 21
CSCL: Masked Kings S3
SLON Tour Season 2
RSL Revival: Season 3
META Madness #9
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 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...

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.