C++ generic programming, initially popularized for creating reusable libraries like the Standard Template Library (STL), has recently seen widespread adoption in many C++ projects. The power of templates allows developers to write code that is flexible, reusable, and type-safe, reducing redundancy while ensuring performance. With modern C++ standards (C++11, C++17, and C++20), template programming has evolved, featuring advanced concepts like variadic templates, constexpr, and SFINAE, which help manage complexity. This trend has made generic programming an integral part of contemporary C++ development.
Continue reading “C++ Generic Programming: From Libraries to Core Projects”Tag: c++
A Look Inside the Macchina SDK Source Code: Clean Design and Implementation.
In C++, many libraries can aid in implementing an IoT application, but most are low-level. For a high-level SDK, Macchina.io is an excellent choice, especially if you seek a robust framework that simplifies IoT application creation.
Macchina is not only a perfect solution for IoT applications but it’s also a well designed and implemented project, so the SDK users could easily understand and customize its behavior.
Let’s take a look inside the Macchina source code using CppDepend and discover some facts about its design and implementation.
Continue reading “A Look Inside the Macchina SDK Source Code: Clean Design and Implementation.”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 🙂
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?”