“This website will provide you with lessons and quality material to learn basics of C language programming in just a few days. All you have to do read trough my lessons. You will notice I’m putting new lessons up every day or two. It would be practical if you had Visual Studio installed on your computer and used it parallel to these lessons, but it isn’t neccessary.”
I found it pretty easy to understand these lessons, but I already know C++. I guess that would give me an unfair advantage to those without prior programming knowledge.
Why not another programming environment that is portable to other platforms? Visual C++ will forever be stuck on Windows.
Did you even follow the link? The code is platform independent.
I’m sure there is some cross-platform code for C but when you program in C++, Visual C++ has a line of #include <stdafx.h> that makes no sense on any other compiler besides Visual C++.
Um.. that isn’t required. stdafx.h is only included if you have VC++ generate code for you.
Um.. that isn’t required. stdafx.h is only included if you have VC++ generate code for you.
Well that’s not quite right either. stdafx.h/cpp is only required if you are using precompiled headers. You may have made this mistake because the wizard generated code from an MFC or ATL project will default to using precomplied headers (for good reason).
Precompiled headers are very useful for reducing compilation times (the standard windows headers contain tens of thousands of lines of code) by keeping an already compiled version of the goo included in stdafx.h around so that it doesn’t need to be recompiled for each module in a project.
Precompiled headers dont require stdafx.h
It’s amazing, after over 30 years in existence, how C has remained so popular. It still remains a great tool for much systems level programming, and close to the hardware stuff, like operating systems, device drivers, embedded programming, compilers, games programming, and even GUI stuff (C based GTK+ is execellent).
Dennis Ritchie and the gang at Bell labs really knew what they were doing.
I didn’t much care for the tutorial website, though. I can’t stand dark backgrounds with light lettering – it hurts my eyes. Oh well, there are tons of great C tutorials on the web.
” I can’t stand dark backgrounds with light lettering – it hurts my eyes. ”
Same here – I really wanted to read through the tutorials but my vision began to swim too quickly each time I tried.
If the author reads this, could an alternative style be provided: dark letters on white or grey? Thanks.
The content looks well organised, it would be a pity if it were dismissed by those of use with dodgy eyesight because of the site design.
firefox / edit / preferences / content :
fonts & colors / colors
=> pick whatever you want.
I should know, I can’t stand black text on white background, and that’s what 99% of websites use. Oh, and BTW, most of those do not provide an alternative style I find suitable either.
You can also use:
View -> Page Style -> No Style
To strip a page down to just basic HTML. Which also has the benefit of removing any CSS applied colour schemes.
“You can also use:
View -> Page Style -> No Style “
Yep, that works. I just wanted to whine about poor page design, however 😉
Really, I think a lot of web designers shoot themselves in the foot by putting in too many graphics, too many animations, flash crap, etc, and using dark backgrounds and white letters. IMHO, most users strongly prefer simple, clean, uncluttered, fast designs with simple white background and dark letters. This is proven by the overwhelming success of Google, Yahoo, Ebay, Amazon, and others, all of which utilize the above qualities.
Anyway, after doing the “No Style” setting, the site becomes more usable, and I parused it more. It looks like a good tutorial. However, with C being part of my programming toolbox for 8 years, I don’t particularily need a C tutorial. But it’s great that there is one more good one for the newbies.
And I have to re-iterate how great C is (messy pointers, manual memory management, sometimes confusing syntax, and all). It accomplishes so much with so little, gives the programmer complete control, and typically produces the most efficient programs of any higher or midlevel language.
And C continues to be one of the most popular languages.
The Tiobe rankings – not that they are the final say in the manner, or the ultimate metric, but their ranking methods are sound and reasonable – has C second only to Java, and ahead of C++, VB, C#, PHP, Python, Perl, etc.
Pretty impressive for a language that has been around for over 30 years, receives zero promotion/marketing (like Java and .Net do from their respective corporate care-takers, Sun and Microsoft) and is not the easiest language to understand for newbies.
I think it behooves any programmer to a least know come C, and be able to write basic programs with it. If nothing else, it will make you understand how the computer works, and it will make you a better programmer.
For learning c/c++ quickly?
For C you might check out:
http://www.its.strath.ac.uk/courses/c/
I don’t think you will find anything that help you learn C++ quickly. C++ is a much larger and more complex language than C, and has a lot of hidden subtleties and gotchas that just take time to learn.
Nice one, thanks. Not sure I’d recommend printf(“This is a C program
“) rather than puts(“This is a C program”) when trying to start people off on the right foot but otherwise I found it extremely readable, coherent and complete opposite of the original article; “lessons and quality material to learn basics of C language programming”
What’s wrong with printf()? That’s what you’ll use most of the time, so why bother with puts()?
From emule. Find ‘c in 21 days’.
I hope that’s a sick joke. Most ‘Learn X in Y days’ are better off for heating.
http://www.norvig.com/21-days.html
Excellent link, thank you.
Available here : http://publications.gbdirect.co.uk/c_book/
(a good reference, too).
Another very good reference is the Dinkumware C99 Library Reference : http://www.dinkumware.com/manuals/reader.aspx?lib=c99
If you are beginning, you should read “C Traps and Pitfalls” by Andrew Koenig, too : http://www.literateprogramming.com/ctraps.pdf
(there is much larger version available in print, too).
And, of course, there is the very good C FAQ : http://c-faq.com/
It’s amazing how Ruby can look so similar to so many languages. It’s no wonder it was based on a number of languages, and C was one of them, of course.
thnks for adding my webpage to OsNews. I really like to contribute knowledge to people and really appreciate all your feedback. Im looking forward getting new readers since It pushes me to wotrk harder on providing new Lessons. If you think my webpage could help someone please provide him with my lessons. If you know of any other tutorial submitters or places that would find my stuff usefull feel free to submit.
Any comments and pointing to mistakes i do is more than welcome, I consider all your advices and will implement changes! Thank you once again OS News and readers who made comment!
Vurdlak
I really don’t want to provide any harsh criticism of free efforts to educate people on C. However, I do have a few suggestions for the author of the web page.
1) I would not provide a lesson on conversions between numeric bases as the first lesson. This is a topic that has much less impact on a beginner than flow control, functions, and pointers.
2) I read through the first several lessons, and didn’t see int main() { … } anywhere. People who are new to a topic need to feel like they are making some sort of progress right away, or they will give up. Try incorporating compilable sample code for each topic presented in a lesson. People learn by doing much easier than they learn by reading.
3) Here is a suggested topic order for introducing C to a beginner (this touches on issue 1):
Lesson 0 Introduction to using a compiler. Command line usage and tools used in these lessons.
Lesson 1 A first program in C. Example with main and printf.
Lesson 2 The If…else flow control statement.
Lesson 3 Simple integer arithmetic.
Lesson 4 Loops (for, while, do while) break and continue.
Lesson 5 Functions.
Lesson 6 The case statement.
Lesson 7 String input and output
Lesson 9 Introduction to pointers
Lesson 10 Introduction to pointers cause you didn’t get it the first time.
Lesson … and so on…
All of this is, of course, my opinion. However it is an opinion formed from my experiences teaching C in a college setting.
I hope he has like 10 lessons on “Pointers.”
When people talk about C they are just talking
about “Pointers.” Master Pointers and you’ve
conquered C.
You mentioned Visual Studio. You have already lost. I thought you were trying to teach “C”, rather than “Some Microsoft Bastardisation Of Something That Vaguely Resembles C”.
i mentioned visual studio as most common editor. you can use whichever compiler you prefeer.