C Programming Tutorials and advice
CProgrammingTrends News Archives About Us Feedback


Recent Articles

Microsoft Provides Coders With Robotics Studio
The company recently announced its community technology preview of its Robotics Studio development platform, which may be freely obtained from Microsoft.

Source Code Needs A Place To Stay
This isn't a chapter in the CVS versus Subversion debate, but a look at places online to view useful pieces of code.

Search Engines C Demand For Programmers
The need for C/C++ programmers varies among the major search engine companies; Horace Greeley's advice to go West definitely applies here.

Two Routes To C On Supercomputers
Both routes to programming in C on supercomputers will move through Silicon Graphics, as SGI works with a couple of firms to promote its blade hardware.

Google Contest May Jam Up Coders
Google's Code Jam Europe wants to find the best and brightest among European Java and C programmers, but its scheduling leaves something to be desired.

Barnett Embedded C Book Arrives In June
Professor & Associate Electrical and Computer Engineering Technology department head Richard Barnett's "Embedded C Programming And The Atmel AVR" should be...

XNA Hones C# For Game Programmers
Although it still isn't ready for prime time, Microsoft did give game developers and C# programmers...

C Programming References – A Quick List
Whether it is C or C# or C++, somewhere there is a website that can help the vaunted programmer find some useful bit for his or her work.

A New Book On C
The C programming language has been around for quite a while now. A new book by Peter Prinz and Tony Crawford called "C in a Nutshell" makes some interesting...

Developers, Welcome To Fight Club
Programming for long hours under deadlines with an entire company's future sometimes hanging on every line of code leads to the kind of stress that can only be relieved by beating the stuffing out of someone else.

3G Scenarios For C++ Interface
European tech firm Rohde & Schwarz produced a new package of 3G test scenarios for the MLAPI C++ programming interface, with plans of providing...

07.13.06


Computer Programming As Art


By David A. Utter

This isn't about programming the visuals for the next great Pixar release, or even creating ASCII art for signature files, but whether the craft of programming itself can be artistic.

West Coast types, like Google's co-founders Larry Page and Sergey Brin, and many other programmers will recognize the name Donald Knuth. When it comes to The Art of Computer Programming, he not only wrote the book, he penned several of them.

If you're curious where they stack up historically, Knuth noted on his site that The Art of Computer Programming stood in good company:

At the end of 1999, these books were named among the best twelve physical-science monographs of the century by American Scientist, along with: Dirac on quantum mechanics, Einstein on relativity, Mandelbrot on fractals, Pauling on the chemical bond, Russell and Whitehead on foundations of mathematics, von Neumann and Morgenstern on game theory, Wiener on cybernetics, Woodward and Hoffmann on orbital symmetry, Feynman on quantum electrodynamics, Smith on the search for structure, and Einstein's collected papers. Wow!

Pat yourself on the back if you've read them all. Maybe you are an artist, whose oeuvre is expressed with includes and logic statements.

Pragmatic Programming authors Andrew Hunt and David Thomas have considered the art in computer programming, speaking about the topic in Denmark in 2001. "We think that it is all of these things, and none of them," they said of programming in comparison to art, craft, and engineering discipline.

Low Rate eCommerce & Retail Plans
Click Here for all the details

They noted how the genius of Michaelangelo can help programmers with their tasks. In painting the ceiling of the Sistine Chapel, Michaelangelo did so in a way Hunt and Thomas believe indicated a careful approach, represented in three steps: high cohesion, low coupling, and conceptual integrity.

Cohesion gets compared to Unix command-line utilities - they do one thing and do that one thing well. Each panel of the Sistine Chapel tells a story, without extraneous elements. Code should do the same.

Coupling happens when some elements extend into others. As the authors explain, if a panel of the Sistine Chapel, or a section of your code, needs to be replaced, doing so should not result in the dismantling of several surrounding panels. Encapsulation helps, but it isn't a cure-all, so be careful.

C, Ruby, and Smalltalk all have conceptual integrity in common. "C++ doesn't," say the authors. "It tries to be too many things at once, so you get an awkward marriage of concepts that don't really fit together well."

This means constructing a project as a collection of applications that interact can help maintain the integrity of the concept behind the code. This is more than dressed-up words; think about projects that started as one thing before spiraling into much broader projects that never address the initial reason for beginning it in the first place.

There may not be room at the Guggenheim for "Hello, World." But there should always be a place for effective code. Some would call the approach 'artsy'; we think 'sensible' is a better description.

About the Author:
David Utter is a staff writer for WebProNews covering technology and business.

About CProgrammingTrends
A collection of articles and tutorials designed to help C and C variant programmers in their programming work. C Programming Tutorials and advice

CProgrammingTrends is brought to you by:

SecurityConfig.com NetworkingFiles.com
NetworkNewz.com WebProASP.com
DatabaseProNews.com SQLProNews.com
ITcertificationNews.com SysAdminNews.com
LinuxProNews.com WirelessProNews.com
CProgrammingTrends.com ITmanagmentNews.com


-- CProgrammingTrends is an iEntry, Inc. publication --
iEntry, Inc. 2549 Richmond Rd. Lexington KY, 40509
2006 iEntry, Inc.  All Rights Reserved  Privacy Policy  Legal


archives | advertising info | news headlines | free newsletters | comments/feedback | submit article


">Unsubscribe from CProgrammingTrends.
To unsubscribe from CProgrammingTrends or any other iEntry publication, simply send an email request to: support@ientry.com
CProgrammingTrends Home Page About Article Archive News Downloads WebProWorld Forums Jayde iEntry Advertise Contact