Home > Articles > Programming > C/C++

C/C++

362 Items

Sort by Date | Title

What Makes a Good Programming Language?
Oct 20, 2006
There are plenty of programming languages around. David Chisnall points out the various factors that determine what makes a "good" language. But note his caveat: These principles don't always apply in any given set of circumstances!
Hello, ATL Server: A Modern C++ Web Platform
Sep 29, 2006
ATL Server is an extension of ATL that enables you to write ISAPI applications and bring your C++ skills to the World Wide Web. Learn how ATL Server works in this sample chapter.
Programming C++ GUIs with the wxWidgets Library
Sep 15, 2006
The open source wxWidgets library makes programming GUIs incredibly easy, far easier than with most platform APIs. Jeff Cogswell shows how this handy C++ library can shorten your programming time with powerful classes that are simple to use.
Searching and Matching with Regular Expressions in C++
Jul 28, 2006
Jeff Cogswell explains how to use regular expressions to simplify and enhance the power of your programmatic string searching, matching, and replacing.
Leveraging Key Development Principles to Achieve Software Engineering Best Practices
Jun 16, 2006
This chapter provides a summary of the Unified Process lifecycle, OpenUP/Basic, and RUP and explains how they fit together in the family of Unified Process methods built on EPF and RMC. This chapter also summarizes Scrum and XP, because we have chosen to focus on these methods as part of the "comparison with other methods" section in each practice.
Predicates and Function Objects in C++
Jun 2, 2006
Reusable code saves time and effort in testing and documentation. The C++ algorithms, containers, function objects, and predicates work together to provide the developer with the tools necessary to create such generic programming. In this article, Tracey and Cameron Hughes show some of the specific uses for predicates and function objects in C++.
The Accidental Architecture
Jun 2, 2006
Every interesting software-intensive system has an architecture. While some of these architectures are intentional, most appear to be accidental. Grady Booch explains.
An Introduction to Catastrophe Disentanglement for Software Projects
May 4, 2006
Just as the smart thing to do when a ball of twine seems hopelessly entangled is to stop whatever we are doing with it (otherwise, the tangle gets worse), so it is with a disastrous project; the longer we keep at it, the worse it gets. At some point, we need to halt all activity and reassess what we are doing. This chapter introduces you to the concept of catastrophe disentanglement.
Creating Finite State Machines in C++
Apr 21, 2006
Before tackling a seemingly complex code problem with lots of functions and complex logic, Jeff Cogswell recommends trying a finite state machine - a set of states and appropriate rules and actions that go with those states - to greatly simplify your coding.
Generic C++ for Networks
Apr 21, 2006
Service oriented architectures sound complicated and daunting, but they're not so hard to implement. The concepts involved are actually fairly simple, and this article describes them by using examples drawn from the networking domain. Software consultant Stephen B. Morris describes some of the principles of service orientation in the down-to-earth contexts of C++ and networking.
Exception Handling and Fault Tolerance in C++: Defect Removal vs. Defect Survival
Apr 14, 2006
Defect removal is preferred over defect survival. If some defect slips through the cracks, however, the C++ exception handling mechanism helps to fortify your software's fault tolerance, as Cameron and Tracey Hughes explain.
The Bad Code Spotter's Guide
Apr 14, 2006
Old maps were marked with the phrase "Here be Dragons" to help seafarers steer away from dangerous places; in programming the best way to avoid dealing with bad code is to avoid writing it. Diomidis Spinellis points out 10 giveaways to spot bad code that you (or others) may have written.
C++ Inheritance and Polymorphism
Apr 7, 2006
Good news! Inheritance and polymorphism can facilitate more concise code, which reduces waste throughout the lifecycle of a C++ product. By pushing more generic code into base classes, you can help reduce application code clutter as well as cutting down on code duplication. In this article, software consultant Stephen Morris insists that less code means less testing, lower maintenance costs, and easier upgrades.
Simplifying Cluster (PVM and MPI) Application Programming Using Interface Classes, Part 3: The Pthreads Connection
Mar 24, 2006
Cameron and Tracey Hughes conclude their exploration of cluster programming with an example of a cluster-based text-file analysis utility that processes and analyzes multiple files in parallel.
Thinking Recursively with C++
Mar 24, 2006
Algorithms can often be implemented recursively or nonrecursively; the decision rests with the programmer, who might shy away from a recursive solution because the algorithm might not terminate or that performance might be poor. In reality, recursion can allow for very elegant code as well as facilitating an interesting and economical type of code reuse. Software consultant Stephen B. Morris explores this interesting topic with a data-centric application drawn from the field of networking.
C++ Modularity with Namespaces and Exception Handling
Mar 3, 2006
Did you know that there are three different C++ namespace types? Namespaces, which are simple to learn and apply, offer a clever means of packaging your code and can assist when symbol conflicts occur. And how well does your code handle exceptions? Inserting exception-handling code can make your code more ready for packaging as external functions. Stephen Morris contends that just as namespaces offer an efficient way to package code, the skillful use of exception handling can quickly simplify that code.
C++ Chain of Responsibility Pattern: Network Events
Feb 10, 2006
Should you make your C++ classes more intelligent or centralize the intelligence and use dumbed-down surrounding classes? The natural world tends to prefer a pass-the-parcel style of distributed intelligence, which reduces single points of failure and potentially leads to more stable systems. In this article, Stephen Morris shows you how to raise the IQ of your classes while simultaneously allowing other (possibly) more-qualified classes to handle specific problems. The chain of responsibility pattern provides an elegant model for facilitating this behavior.
How to Achieve Sustainable Software Development
Jan 27, 2006
Very little software is written once, installed, and then never changed over the course of its lifetime. And yet, the most prevalent development practices used in the industry treat change as an afterthought. This chapter will teach you to not only anticipate change in your software but develop specifically with change in mind.
Grady Booch on Developing the Handbook of Software Architecture
Jan 13, 2006
Grady Booch discusses his current project: creating a handbook of software architecture patterns and their context.
Secure Coding in C and C++: Strings
Dec 1, 2005
Strings—such as command-line arguments, environment variables, and console input—are of special concern in secure programming because they comprise most of the data exchanged between an end user and a software system. This chapter covers the security issues with strings and how you can sidestep them.

<< < Prev Page 11 12 13 14 15 Next >