Abstracting technical layer details in C++ to mitigate the language’s learning curve.

Recently, I came across a LinkedIn post showing a C++ developer’s reaction to seeingfor the first time how array sorting is done in Python. Unsurprisingly, the simplicity of Python’s approach was shocking.

arr=[64,12,22,55,44]
bubble_sort(arr)
print("Sorted Array:",arr)
Continue reading “Abstracting technical layer details in C++ to mitigate the language’s learning curve.”

In C++, the Macchina.io Edge SDK is your best choice for IoT applications.

The Internet of Things (IoT) refers to the network of physical objects—devices, vehicles, buildings, and other items—embedded with sensors, software, and other technologies to connect and exchange data with other devices and systems over the internet. IoT encompasses a wide range of applications, from consumer gadgets to industrial systems, transforming how we interact with the physical world.

Continue reading “In C++, the Macchina.io Edge SDK is your best choice for IoT applications.”

Boosting C++ Performance with Folly

The Folly library, developed by Facebook, is a collection of reusable C++ library components designed to complement the C++ standard library and boost the performance of C++ applications. Folly focuses on efficiency, providing highly optimized components that are particularly useful in performance-critical applications. Here are some key aspects of performance in the Folly library:

Continue reading “Boosting C++ Performance with Folly”

Another big tech company join the move away from C++ initiative, How we can stop this migration process?

Background

2011 marked the renaissance of C++, driven by the release of C++11 which introduced numerous features to modernize the language, such as lambda expressions, smart pointers, and a more efficient standard library. However, a decade later, major tech giants like Google, Microsoft, Amazon, Apple, and Meta are initiating processes to migrate away from C++. This shift highlights growing concerns about memory safety and the evolving landscape of systems programming.

Just recently there’s another big company joining the Moving away from C++ initiative. it concern Apple that recommend to replace C++ with Swift.

One could argue that the issue lies not with C++ itself, but with the developers using it. However, the reality is that big companies are shifting away from C++.

Continue reading “Another big tech company join the move away from C++ initiative, How we can stop this migration process?”

According to Tiobe C++ surpasses C for the first time in history, The Streisand Effect works :)

In the world of programming languages, C++ has long been a staple, valued for its power and performance. However, it’s also been the subject of significant criticism over the years. Interestingly, these criticisms often have an unintended consequence, making C++ even more popular—a phenomenon known as the Streisand Effect.

Recently, C++ faced widespread criticism, with even the White House advising against its use. Ironically, this led to an increase in its popularity. According to TIOBE, C++ has surpassed C in popularity for the first time in history.

Continue reading “According to Tiobe C++ surpasses C for the first time in history, The Streisand Effect works :)”

The majority of code executed on a Windows PC is developed in C++, so it’s expected to encounter more issues in C++ code.

Recently, numerous articles have highlighted issues in C++ code, and even the White House has discouraged the use of C++ in favor of promoting Rust. However, does this perspective consider the extensive use of C++ compared to other programming languages? In this post, we will explore the fact that the majority of code executed on a Windows PC is developed in C++. What if most of this code were developed in Rust, C#, or Java? Would we still have the same incredible user experience we enjoy today? Let’s delve into this question and examine the potential implications.

The usage patterns of Windows users vary widely, but several key activities dominate their screen time. We can enumerate:

Continue reading “The majority of code executed on a Windows PC is developed in C++, so it’s expected to encounter more issues in C++ code.”

OpenCV: The art of using the KISS and YAGNI principles.

As programmers, we’re often tempted to leverage design patterns, language idioms, advanced language features, and well-known libraries, which is certainly advisable. However, it’s essential to put on the KISS/YAGNI glasses before diving into these techniques 🙂

Continue reading “OpenCV: The art of using the KISS and YAGNI principles.”

Why should you consider using the C++ POCO library?

The POCO C++ Libraries (POCO stands for “Portable Components”) is a collection of open-source C++ class libraries that simplify and accelerate the development of network-centric, portable applications in C++. These libraries provide a wealth of features, ranging from HTTP and HTTPS clients and servers, to XML parsing, to data encryption, to threading support, and much more.

We’ve relied on the POCO library for over 15 years to verify whether CppDepend accurately evaluates well-implemented projects. Therefore, this assessment is not drawn from a fleeting encounter with the library but from a thorough analysis of its many versions over the past 15 years.

Continue reading “Why should you consider using the C++ POCO library?”

C++ always comes to the rescue for challenging problems: the llamafile case study is a prime example.

C++ has been instrumental in resolving numerous challenging problems across various domains due to its efficiency, performance, and versatility. Some of the challenging problems resolved by C++ include:

  1. System Software Development: C++ has been extensively used in developing system software such as operating systems (e.g., Windows, Linux), device drivers, and embedded systems due to its low-level capabilities and ability to interact closely with hardware.
  2. Game Development: C++ is widely employed in the game development industry to create high-performance and resource-efficient games. Its ability to manage memory and provide low-level access to hardware makes it suitable for developing game engines and graphics-intensive applications.
  3. High-Performance Computing: C++ is a preferred choice for developing high-performance computing applications, including simulations, scientific computing, and numerical analysis. Its ability to optimize code for speed and efficiency allows for faster execution of complex algorithms.
  4. Financial Systems: C++ is commonly used in developing financial systems and trading platforms due to its speed and reliability. It is crucial in building algorithmic trading systems, risk management software, and market analysis tools.
  5. Networking and Telecommunications: C++ is utilized in networking and telecommunications for building efficient network protocols, routers, and communication software. Its ability to handle low-level network operations and optimize network performance makes it invaluable in this domain.
Continue reading “C++ always comes to the rescue for challenging problems: the llamafile case study is a prime example.”

C++ creator rebuts White House warning, but there’s no smoke without fire :)

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 :)”