Software

Olivier Coudert on September 20th, 2014

Writing code is not simply about putting language constructs together. It’s about architecture, complexity analysis, tradeoffs, testing, measuring performances, etc. And it’s about making sure that developers (other people as well as the original author) can later read and understand that code, for bug fixing or enhancement. This is where comments come into play (not […]

Continue reading about How much comment does your code need?

Olivier Coudert on September 26th, 2013

CodeProjectType casting consists of converting an expression of a given type into another type. It can be done by explicitly telling the compiler which type the expression must be converted to, for instance: It can also be done implicitly by letting the compiler decide which type conversion is appropriate to successfully compile the source code. […]

Continue reading about Beware of implicit type casting

Olivier Coudert on July 30th, 2013

CodeProjectLess is often better. In mathematics, physics, and arts, simplifying and shedding every bit of complexity and redundancy have produced remarkable results. It leads to abstraction, elevates expressiveness, and reveals patterns that are otherwise buried in details. Programming is no different. For a developer that looks for correctness (does my program behave as expected?), efficiency […]

Continue reading about The rules of minimalist programming

Olivier Coudert on July 15th, 2013

I was prompted to write that post after days (weeks) of frustration working with a new company. I thought that would capture the essence of what software development should be. A bit of context first. There are people out there whose motto is “we make money selling hardware, not software”. Because of this, they are […]

Continue reading about Software engineering 101

Olivier Coudert on March 31st, 2013

CodeProject In the late 50’s, when people programmed close to metal (read: with assembly languages) on a daily basis, there were only two so-called high-level programming languages: Fortran and Lisp. Both are still in use, even though they are considered passé (yet, I consider Lisp and its Zen-like syntax as one of the best languages […]

Continue reading about Is C++ passé?

Olivier Coudert on October 30th, 2012

Last week I was invited in Cambridge, UK, to participate to a panel at the FMCAD conference (Formal Methods in Computer-Aided Design). The subject: “Model Checking in the Cloud”.  With another four people, we discussed the questions laid out by the panel moderator: How can model checking leverage the advantages of distributed and multi-core systems […]

Continue reading about Model Checking in the Cloud

Olivier Coudert on November 28th, 2011

Recently I had a few discussions with people looking at leveraging the cloud. They were looking at extending their own compute farm by establishing a VPN to a public cloud and borrowing computing resources as needed. With a compute farm, you have a fixed amount of computing resources. You rely on an engine like LSF […]

Continue reading about Cloud computing is not grid computing