473,322 Members | 1,493 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

Best practices books

Hi,

There are dozen very good books out there teaching C language, C
standard library, UNIX, Win32 programming of all flavors. Nice... But,
I haven't yet found a book that in fact teaches you HOW to use all that
knowledge, how to organize your program, show you different styles of
coding, and KEEP you on the right track.

I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.

Any advice?
Thanks.

DG

Jan 24 '06 #1
9 2011
dg*****@gmail.com writes:
There are dozen very good books out there teaching C language, C
standard library, UNIX, Win32 programming of all flavors. Nice... But,
I haven't yet found a book that in fact teaches you HOW to use all that
knowledge, how to organize your program, show you different styles of
coding, and KEEP you on the right track. I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.

These are questions more about software engineering,
than about the standard C language in particular.

<OT>
Although not specifically on standard C, I enjoy the books:

C Interfaces and Implementations,
The Art of Unix Programming, and
The Practice of Programming

which do convey many of their best practices using examples of C projects.
</OT>

(However, if someone does know of specific books about development of
projects explicitly in ISO-C99, please speak up....)
--
Chris,
Jan 24 '06 #2
Ico
dg*****@gmail.com wrote:

There are dozen very good books out there teaching C language, C
standard library, UNIX, Win32 programming of all flavors. Nice... But,
I haven't yet found a book that in fact teaches you HOW to use all that
knowledge, how to organize your program, show you different styles of
coding, and KEEP you on the right track.

I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.


These are all issues that are in no way unique to the C language, but
apply to software development in general. Altough offtopic on this
newsgroup, I'd still like to mention a few of my favorite books about
these topics: `The practice of programming' by Kernighan and Pike and
`Code complete, 2nd edition' by Steve McConnell's. Both discuss good
programming practices in general, from design to implementation,
debugging, testing and style. After you've read them cover to cover, a
good place to keep those is on the toilet, so you can never make up
excuses why you didn't have the time to study them :)

--
:wq
^X^Cy^K^X^C^C^C^C
Jan 24 '06 #3

<dg*****@gmail.com> wrote
There are dozen very good books out there teaching C language, C
standard library, UNIX, Win32 programming of all flavors. Nice... But,
I haven't yet found a book that in fact teaches you HOW to use all that
knowledge, how to organize your program, show you different styles of
coding, and KEEP you on the right track.

I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.

There are a few books, like "Code Complete" that deal with style issues.
There are also any number of purveyors of formal methods, all claiming to
have found a solution to the problem of delivering bug-free, maintainable
software on time.

But you are right, most projects that fail don't fail because code dosen't
adhere to the C standard, but because of poor management and control.
Jan 24 '06 #4
Best practice depends on who you are dealing with...

There are two great principles to learn from the history of C

1. evolution - C evolved from B and BCPL

2. simplicity - the limited straight-forward solution is best, at first, and
perhaps forever.

Write something simple that works, even if its functionality is limited -
concentrate first on the functions your client wants most.

Develop a relationship with your clients - be clear about your objectives -
do not aim too high at first - evolutionary design is better than big idea
up front - listen to your clients - show them what you've done so far - get
feedback from them early.

That is essentially an agile programming manifesto.

BUT
there is also merit in formalism - in small idea up front projects -
mathematical specification and formal proof of correctness (a la David Gries
Science of Programming), with clients who can understand what you mean.

<dg*****@gmail.com> wrote in message
news:11*********************@o13g2000cwo.googlegro ups.com...
Hi,

There are dozen very good books out there teaching C language, C
standard library, UNIX, Win32 programming of all flavors. Nice... But,
I haven't yet found a book that in fact teaches you HOW to use all that
knowledge, how to organize your program, show you different styles of
coding, and KEEP you on the right track.

I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.

Any advice?
Thanks.

DG

Jan 24 '06 #5
There is a book by O'Reilly called Practical C Programming that
discusses organization, ways to use your knowledge, etc... I would
recommend it.

Jan 25 '06 #6
"Brandon Perry" <te***********@gmail.com> writes:
There is a book by O'Reilly called Practical C Programming that
discusses organization, ways to use your knowledge, etc... I would
recommend it.


See <http://www.accu.org/bookreviews/public/reviews/p/p001735.htm> for
a differing opinion.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Jan 25 '06 #7
Brandon Perry wrote:
There is a book by O'Reilly called Practical C Programming that
discusses organization, ways to use your knowledge, etc... I would
recommend it.


Really? I wouldn't. As I have stated before I think this is one of
O'Reilly's few bad apples. This book is filled with bad examples, poor
coding style, outright errors, and an obviously incomplete
understanding of the language as a whole. I can't provide any specific
examples as I threw out my copy long ago (I considered giving it away
but decided that would be a disservice) but I would strongly recommend
"The C Programming Language", "Learning C: A Modern Approach", or "The
C Book" instead. Although the reviews on amazon.com are mostly
favourable, it appears that most of the positive reviews there are from
less experienced programmers who probably wouldn't know any better if
they had not been previously exposed to better works. Indeed many of
the apparently more experienced programmers gave this book negative
reviews. This book has also received a "Not Recommended" rating from
accu.org, a very reputable source of book reviews for programming
related materials.

Robert Gamble

Jan 25 '06 #8
On 24 Jan 2006 16:02:02 -0800, "Brandon Perry"
<te***********@gmail.com> wrote:
There is a book by O'Reilly called Practical C Programming that
discusses organization, ways to use your knowledge, etc... I would
recommend it.


I deliberately avoided that book, because I bought a copy of the
companion volume "Practical C++ Programming" and threw it in the trash
where it belonged after reading only a few pages.

In the past, I've been known to opine that you couldn't go far wrong
with an O'Reilly book. My opinion has changed.

--
Al Balmer
Sun City, AZ
Jan 25 '06 #9
> I think that knowing the entire standard is nothing if you don't know
how to use that knowledge the right way. I mean for "right way" the
elegant and maintanable way of doing things, the way to make you be
recognized as a good programmer.


For general how-to-be-a-good-developer info you can't go wrong with
The Pragmatic Programmer: From Journeyman to Master
(available at http://www.pragmaticprogrammer.com/ppbook/index.shtml)

The PragProgs have lots of other useful texts there as well.

I also second the recommendation for McConnell's Code Complete.

Cheers

Jan 25 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
1
by: T.S.Negi | last post by:
Dear All, Please suggest some of the best practices for writing SQL server stored procedures? I'm writing a business function (stored procedure), which calls many-stored procedure one after...
2
by: byrocat | last post by:
I'm chasing after a documetn that was available on one of the Microsoft websites that was titled somethign like "MS SQL Server Best Practices" and detailed a nyumber of best practices about...
136
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their...
1
by: | last post by:
Hi can someone send or point me to Any nice Material on .NET Best Practices -regards
4
by: Luis Esteban Valencia | last post by:
Hello. Can somebody recomend me books of design patterns in c# and best practices too.
1
by: John | last post by:
I took an hour or two to browse for articles, sites, and books that discuss practical patterns and best practices for XML Web Services in .NET. Essentially, I've gone through the Quick Starts <a...
26
by: puzzlecracker | last post by:
It'd be interesting to compare the learning practices of c++ practitioners. I'll start with mine The C++ Programming Language C++ Primer Effective C++ More Effective C++ Effective STL The...
3
by: John Dalberg | last post by:
I am looking for an ASP.NET application on CodePlex which exemplifies best practices for the following: - Use of interfaces - Seperation of the UI, business and data tiers - Data Tier that uses...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.