NO

Author Topic: Software development in c  (Read 14588 times)

boral

  • Guest
Software development in c
« on: June 03, 2012, 07:32:32 PM »
Can anyone suggest a book on how to develop sofware using c programming language?
If ebook is available, please give links.

dancho

  • Guest
Re: Software development in c
« Reply #1 on: June 03, 2012, 08:29:18 PM »
for basic windows programming mr.Charles Petzold :
http://www.charlespetzold.com/pw5/index.html

for advanced windows programming mr.Jeffrey Richter :
http://www.amazon.com/Programming-Applications-Microsoft-Windows-Series/dp/1572319968

starting with C classic one by K&R :
http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628

CommonTater

  • Guest
Re: Software development in c
« Reply #2 on: June 03, 2012, 08:33:06 PM »
Also do some Google searches for "Teach yourself C in 21 days"... You can view the entire book online in several places.  Or you can order from Amazon... It's a bit more basic than K&R and might serve as a good build up to the more advanced texts.

Also, you should note that ALL these various tomes are intended to be used in a course of deliberate study.  You can't just read them and count on the (average) 50% retention to get you through it. You really do need to study each page, try all the examples, play with the code -- change it, break it, fix it-- and make sure you understand each section before you move on to the next...
 
As the old joke goes... C is easy, Programming is hard.

Good luck on the journey... :D
 
 
« Last Edit: June 03, 2012, 08:37:56 PM by CommonTater »

Offline Vortex

  • Member
  • *
  • Posts: 802
    • http://www.vortex.masmcode.com
Re: Software development in c
« Reply #3 on: June 03, 2012, 11:29:49 PM »
Code it... That's all...

CommonTater

  • Guest

boral

  • Guest
Re: Software development in c
« Reply #5 on: June 04, 2012, 09:26:51 AM »
Thanks to all of you for these suggestions.

migf1

  • Guest
Re: Software development in c
« Reply #6 on: June 06, 2012, 04:33:55 PM »
For learning C, have a look at "C Programming, a Modern Approach, 2nd Edition" by King.
IMHO, one of the best introductory texts ever written for C.

For Windows Programming, the already suggested "Forger's Win32 API Tutorial" is an excellent start.
« Last Edit: June 06, 2012, 04:42:48 PM by migf1 »

collectiva

  • Guest
Re: Software development in c
« Reply #7 on: June 15, 2012, 03:05:11 PM »
Pls visit the Site Collectiva To learn Fundamentals of C Programming online Video Training in Tamil. It is very useful for the Beginners. Very soon the Video Training in English will be uploaded.
« Last Edit: June 15, 2012, 08:46:19 PM by Stefan Pendl »

CommonTater

  • Guest
Re: Software development in c
« Reply #8 on: June 15, 2012, 04:25:13 PM »
Pls visit the Site Collectiva To learn Fundamentals of C Programming online Video Training in Tamil. It is very useful for the Beginners. Very soon the Video Training in English will be uploaded.

Well, I went to your website and after it opened about 20 tabs, I finally found your video training page and you're probably going to get real upset at me because of this, but I am going to raise some issues here...
 
1) It's been my experience that nobody learns anything from videos. The average for retained information when passively reading is about 50% and when passively watching a video that falls to something like 20%. 

2) Given the oft reported abysimal state of education in India and the use of an IDE and compiler that haven't been updated since 2005 (Quincy IDE) I'm not going to say much more but I will point you at this Wallstreet Journal Article in which it becomes abundently clear that India has real problems dealing with today's latest engineering and technologies. From other Forums I know this problem is real as we saw it every semester as students came online begging for answers to problems they did not understand and a lot of it was pretty basic stuff like making change or figuring out how much paint you need...

3) The correct form of a console program is:
Code: [Select]
int main (void)
  {  int errorlevel = 0;
 
     // your code here
 
     return errorlevel; 
  }
 
// OR
 
int main (int argc, char* argv[])
  {  int errorlevel = 0;
 
     // your code here
 
     return errorlevel;
  }
The returned errorlevel is required by just about every OS as a means of determining if the program worked correctly or not.  (errorlevel is a user variable who's value is calculated by run time error handling code.)
 
 
The only way to learn programming, no matter what language, is to sit down with the book (or e-book) and work through it page by page, typing up and working with every example and quiz as you go; retention rises to almost 80% this way.  You need to work with the code to see what does and doesn't work (both are equally important). You need to understand each section before moving on to the next page... Anything short of this allows faulty recall to limit your absorbtion of necessary skills.

Moreover; there's no point learning on outdated setups with half-functional rad tools included as this just creates a second --far more difficult-- learning curve as the programmer has to un-learn bad habits at the same time as learning about more modern procedures and standards.  I wish I had a dollar for every student I've had to tell why Turbo C won't work on 64 bit OSs.
 
I'm sorry, but I just can't recommend your site to anyone.
 
 
« Last Edit: June 15, 2012, 04:27:44 PM by CommonTater »

migf1

  • Guest
Re: Software development in c
« Reply #9 on: June 15, 2012, 06:24:27 PM »
Where is this video located? I was unable to spot it during the first 1-2 minutes of my visit, so I left the site.

PS. I'd like to mention another rather common parameter  (but not exactly standard) for the main function: char **envp (holding a list of the environment variables)... it comes 3rd in the parameters list.

CommonTater

  • Guest
Re: Software development in c
« Reply #10 on: June 15, 2012, 07:55:29 PM »
Where is this video located? I was unable to spot it during the first 1-2 minutes of my visit, so I left the site.

Click the More link in the Programming Contest then look for the Training Videos... you will need to take out a password to see anything but the samples.

If you do enter the contest, you should expect your code to be plagerized.  India's copyright laws are pretty loose.

Quote
PS. I'd like to mention another rather common parameter  (but not exactly standard) for the main function: char **envp (holding a list of the environment variables)... it comes 3rd in the parameters list.

Thanks... forgot about that one.  (I use GetEnvironmentString() mostly)

czerny

  • Guest
Re: Software development in c
« Reply #11 on: June 16, 2012, 10:57:54 AM »
PS. I'd like to mention another rather common parameter  (but not exactly standard) for the main function: char **envp (holding a list of the environment variables)... it comes 3rd in the parameters list.
This is not working in Pelles C, see this.

migf1

  • Guest
Re: Software development in c
« Reply #12 on: June 16, 2012, 12:20:27 PM »
PS. I'd like to mention another rather common parameter  (but not exactly standard) for the main function: char **envp (holding a list of the environment variables)... it comes 3rd in the parameters list.
This is not working in Pelles C, see this.

Yeap, as I mentioned it is not standard C. However, modern posix, ms and macos-x all support it.

PS1. Not a bad idea for Pelle to also support it in future versions, too ;)
PS2. Thanks for the video pointer, tater.
« Last Edit: June 16, 2012, 12:22:09 PM by migf1 »

CommonTater

  • Guest
Re: Software development in c
« Reply #13 on: June 16, 2012, 04:10:39 PM »
Yeap, as I mentioned it is not standard C. However, modern posix, ms and macos-x all support it.
PS1. Not a bad idea for Pelle to also support it in future versions, too ;)

Maybe maybe not... In all my time here you're the first to mention it, so it wouldn't seem to be in demand.  The windows API provides very nice tools for enumerating and parsing environment variables and since Pelles C is, for the most part Windows API based, I'm guessing that's the way to go.

Quote
PS2. Thanks for the video pointer, tater.
You're welcome ....
« Last Edit: June 16, 2012, 04:13:25 PM by CommonTater »

migf1

  • Guest
Re: Software development in c
« Reply #14 on: June 16, 2012, 04:29:58 PM »

Maybe maybe not... In all my time here you're the first to mention it, so it wouldn't seem to be in demand.  The windows API provides very nice tools for enumerating and parsing environment variables and since Pelles C is, for the most part Windows API based, I'm guessing that's the way to go.

Judging from czerny's link, he was the 1st one mentioning it ;)

Anyway, the only reason for suggesting its addition was in the case Pelle wanted Pelles C to be more compatible with MS c-runtime. Its not a big deal, since getenv() can be used for getting a known environment variable and it is part of the standard C (already supported by Pelles C)... but it cannot enumerate the environment.

Actually, I don't even know if and how many people are aware about this 3rd parameter of the main() function. But Google returns a bloated load of links mentioning it, when searching for "environment variables enumeration in c". In that sense, it certainly won't hurt if Pelles C would support it too ;)
« Last Edit: June 16, 2012, 04:33:07 PM by migf1 »