Here’s an interview of NDepend Team Lead Patrick Smacchia at WebSitePlanet, enjoy 🙂

AI has become prevalent in various domains, including software development. Many developers leverage generative AI to aid them in coding. Let’s explore the newcomer Llama3 and assess its suitability for C++ developers.
Related to Meta here’s a brief description of Llama3:
Our new 8B and 70B parameter Llama 3 models are a major leap over Llama 2 and establish a new state-of-the-art for LLM models at those scales. Thanks to improvements in pretraining and post-training, our pretrained and instruction-fine-tuned models are the best models existing today at the 8B and 70B parameter scale. Improvements in our post-training procedures substantially reduced false refusal rates, improved alignment, and increased diversity in model responses. We also saw greatly improved capabilities like reasoning, code generation, and instruction following making Llama 3 more steerable.
Certain developers may lack interest in AI generative tools due to their perception that the results are not yet mature. This sentiment is particularly pronounced among expert developers who swiftly identify areas for improvement in generated code. Nonetheless, I believe that for the majority of developers, generated code could serve as a valuable starting point for implementation, refactoring, or explanation purposes.
Continue reading “Testing if the newcomer Llama3 is beneficial for c++ developers”Many developers has already heard about the Ariane5 bug , it was one of the most infamous software failures in the history of aerospace engineering. It occurred on June 4, 1996, during the maiden flight of the Ariane 5 rocket, which was intended to launch four Cluster satellites into orbit to study Earth’s magnetosphere.
The bug itself was a software issue related to the guidance system of the rocket. The software component responsible for converting a 64-bit floating-point value to a 16-bit signed integer for use in the guidance system caused an unhandled exception due to an overflow error. So finally one line of code costs millions of dollars and make the Ariane 5 launch is widely acknowledged as one of the most expensive software failures in history.
But in the other side do you know which line of code worth million of dollars?
Continue reading “The single C++ line that is worth millions of dollars.”Perhaps within two years or even sooner, developers could find themselves having a conversation like this:
“Which C++ agent are you utilizing?”
“I’m using the X agent.”
“And does it contribute to cleaner code with fewer bugs?”
“Yes, it’s fantastic! My C++ code has been modernized.”
“What about the application design?”
“My agent has been trained to implement design patterns. Additionally, I’ve provided it with training data to incorporate the best C++ idioms.”
So why are we quickly approaching a future where humans collaborate with agents to accomplish our tasks? Because major players in AI are pushing for the rapid release of AI agents.
AI agents, also known as intelligent agents, are software entities that perceive their environment and take actions to achieve specific goals. These agents are a fundamental concept in artificial intelligence and are widely used in various applications, ranging from simple automation tasks to complex decision-making systems. Here are some key points about AI agents:
Continue reading “Be prepared to work soon with a C++ agent.”The significant and rapid transformation driven by advancements in artificial intelligence (AI) technology promise a very big AI tsunami that will change our life as developers. While the exact nature of these changes can vary depending on context and perspective, there are several broad trends and potential impacts that might be expected following such a transformative event:
Continue reading “The new C++ standards must anticipate the coming AI tsunami.”In a March 15 response to an inquiry from InfoWorld, Stroustrup pointed out strengths of C++. “I find it surprising that the writers of those government documents seem oblivious of the strengths of contemporary C++ and the efforts to provide strong safety guarantees,” Stroustrup said.
And Stroustrup cited a fact about the origin of the issue :
There are two problems related to safety. Of the billions of lines of C++, few completely follow modern guidelines, and peoples’ notions of which aspects of safety are important differ.
This highlights a significant problem with C++. When any programming language permits the execution of potentially harmful actions, it shouldn’t come as a surprise that a considerable portion of developers may misuse it.
And when confronted about writing bad code, developers may offer various arguments to justify their actions, though these are often excuses rather than valid reasons:
Continue reading “C++ creator rebuts White House warning, but there’s no smoke without fire :)”C++ is a powerful and widely used programming language known for its flexibility and performance. However, one of its historical drawbacks has been the lack of built-in memory safety features, which can lead to various types of memory-related bugs such as buffer overflows, dangling pointers, and memory leaks.
This is a known issue that has persisted for decades, and numerous attempts have been made to find a solution. Unfortunately, none have succeeded.
What has been done in the past to enhance memory safety within the language?
Continue reading “What attempts have been made to bring memory safety to C++?”Runtime checks in C++ refer to mechanisms or tools used to detect errors, vulnerabilities, or unexpected behavior in a program while it is executing. These checks are performed dynamically during runtime rather than at compile-time and can help identify issues that may not be apparent during static analysis or code review.
Continue reading “Make your C++ code more safer by enabling the native compiler Runtime Checks.”The emotional relationship between a developer and a programming language can be quite profound and personal, like to the relationship between a musician and his instrument. This relationship is shaped by various factors and experiences, leading to a complex mix of feelings and attachments.
Developers often feel a sense of comfort and familiarity with a programming language they have been using for a long time. They develop an intimate understanding of its syntax, semantics, and quirks, which can create a feeling of being “at home” when writing code. Emotional attachment to a programming language can fuel passion and motivation in developers. However, it can introduce some risks, like :
Continue reading “What about our emotional relationship with a specific programming language? C++ as example.”The C and C++ languages are no longer favored by the highest American authorities. Indeed, the White House wishes for developers to use memory-safe languages. In this report published on Monday, the Office of the National Cyber Director (ONCD) of the White House invites developers to reduce the risk of cyberattacks by using languages without memory vulnerabilities. IT companies “can prevent the introduction of multiple vulnerabilities into the digital ecosystem by adopting secure languages,” the presidency said in a statement. It refers to those that are protected against buffer overflow, out-of-bounds reads, and memory leaks.
Continue reading “Even the White House wants you to abandon C and C++, It’s time to focus on C++ safety and join the Bjarne initiative.”