Skip navigation
Help

C++

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

"Most day-to-day programmers have only a general idea of how compilers transform human-readable code into the machine language that actually powers computers. In an attempt to streamline applications, many compilers actually remove code that it perceives to be undefined or unstable — and, as a research group at MIT has found, in doing so can make applications less secure. The good news is the researchers have developed a model and a static checker for identifying unstable code. Their checker is called STACK, and it currently works for checking C/C++ code. The idea is that it will warn programmers about unstable code in their applications, so they can fix it, rather than have the compiler simply leave it out. They also hope it will encourage compiler writers to rethink how they can optimize code in more secure ways. STACK was run against a number of systems written in C/C++ and it found 160 new bugs in the systems tested, including the Linux kernel (32 bugs found), Mozilla (3), Postgres (9) and Python (5). They also found that, of the 8,575 packages in the Debian Wheezy archive that contained C/C++ code, STACK detected at least one instance of unstable code in 3,471 of them, which, as the researchers write (PDF), 'suggests that unstable code is a widespread problem.'"

0
Your rating: None

At BUILD in Redmond today, Microsoft announced its plans to improve C++ standards conformance in its Visual Studio development environment, and talked about ways in which C++ would become a better, regularly updated, modern programming language. Microsoft developer and C++ standard committee chair Herb Sutter introduced work being done by the C++ community to make the language better, and also discussed the work being done by Microsoft to make its own compiler better.

C++, the systems programming language, is one of the most important programming languages in the world. It's used to build important system infrastructure (operating system kernels tend still to be C, but the systems built on those kernels are often C++), and one of the first choices for development of fast, efficient software.

It's also emerging from a dark period in its history. The first version of the standard was delivered in 1998. The next didn't get finished until early 2011, after a painful and drawn-out process that saw the committee going down blind alleys and suffering political infighting. C++ has also suffered from being more than a little uncool; safe environments like Java, .NET, Python, Ruby, Node.js and more have all won considerable mindshare, and have become the go-to tools for a large class of applications, taking advantage of C++'s 13-year failure to add necessary, modern features in a timely manner.

Read 4 remaining paragraphs | Comments

0
Your rating: None