A missing Node of this Friday TECHsays Essay LinkedList
A personal thought about the increasing need for C/C++ due to IoT
this may likely be my third Friday TECHsays essay or Friday TECHsays III that will be about VS and C/C++. When I say VS, I mean versus even if you could think that it’s Visual Studio this IDE developed by Microsoft that you could be used for programming in C/C++. Versus because I will be writing about a tweet and some of my past articles that were articles comparing things while trying to keep in mind C and C++ as languages that are now becoming more and more important as languages because they are expected to be more used in the future due to the increasing needs in internets of things that is this virtually augmented world filled with devices allowing us to experience virtually mixed thanks the smart interconnection of millions coming smart devices that are about to be designed for this virtually mixed world to become a reality in itself. One example of the versus blog entry I am referring to is this article comparing Computers to smartphones :
The rebooted and growing need for C/C++ programming skills and efficient tools is supported by this proven and promising rise of IoT and the increasing number of systems to be updated for them to work natively on cloud environments and for them to communicate with these coming devices that will enable all these virtual reality experience that tech entrepreneurs and tech company small and big are actually imagining, designing and building.
C/C++ is about that a clear interest and specialization in C/C++ for taking their advantages for implementing all-purpose large-scale distributed secure and fail-safe systems and for developing the firmware for the power-efficient hardware that will make this future internet of things.
The actual role that C/C++ as a couple will gonna play in the next virtually augmented world that we are building is sure and certain and it’s not today that this pair of programming languages started to contribute to this linked list of eras of our world, each node of era holding a pointer to the next one. That’s a pretty software engineering view of the world but that’s how I see it actually when writing this article maybe because my mind is actually set to see software everywhere I turn my face. Then we could say that we are living this actual node of this era while producing the code that will be executed on this next era that is pointed by the next pointer of this same actual node of era in which we are actually living.
Many are imagining and designing this next code for this next era and all of them will need efficient, fast, and reliable C/C++ code. As if the tech industry was a battle between frontend and backend with the frontend battle involving opponents like ReactJs, SvelteJS, Angular, and VueJS but the backend battle as hard it is with NodeJs, Django, Java Springboot, and else you will see deep in this backend field a peaceful, simple, fast and safe and well guarded tech environment controlled by this Joint alliance made of C/C++ using cloud era-defining distributed computing, storage, and network systems almost all built with C/C++. To show you that the relation between C and C++ isn’t a Versus relationship meaning a relationship of competition like React VS Vue, Node VS Django .. but a relationship of cooperation that amplifies the core advantages of each of these two languages and minor their respective flaws and inefficiencies. There is this African adage that says “what one does two do it better”. Here the two are C and C++.
The transportation system that will travel us to this next connected virtually augmented era that is under development will principally use C/C++as you can see all the actual autonomous vehicles, aircraft, and spacecraft whose OS are developed in C/C++ making our world a better more efficient world where people will always be happy to live in and use the virtual and real experiences and the digital and physical goods produced by these smart and efficient social and economic world operating systems, almost all built with C/C++.
I know that I am extrapolating but Extrapolative Programming is actually conceptualizable and “prototypable” with C/C++ and extrapolative programming helps design and code algorithmically self-improving, adaptive, and living programs for autonomously smart systems.
To leave our couple of programming languages for addressing this second topic which is about versus articles, I thought that it could be interesting to see what other software engineers think about C/C++ for comparison with my personal thoughts. Software engineers like Joel Spolki think of C/C++ could help us because they are still or have been blogging like me about topics of software engineers and I may also find with their blog’s entries some examples of versus articles for making this Friday TECHsays essay richer in content is also about this Versus Topic in which I am willing AI to bring itself and make this article richer in insights by the This AI I am willing to bring here can’t go without our dear couple C/C++.
Then let’s look at Joel’s blog and get some of his opinions about C/C++.
I looked at Joel’s blog to read what he published about C/C++. I got the list of articles in which there are occurrences of the term C/C++by using advanced search options of search engines like google or bing, two search engines that have a Versus relationship, unlike C/C++ but one could be almost right if one says that most of the core components of these search engines have been developed using C/C++.
The first article on Joel's blog I have read is The Law of Leaky Abstractions. I should be sincere with you and tell you that I was thinking about abstraction this Friday, June 25, 2022, hours before I thought of writing about this Fridays TECsays Essay about C/C++ and reading this blog article from the blog of Joel Spolski while working on the design of this distributed file storage system that could be the bare bone kernel of Front… this fast, secure, safe and flexible Content Delivery Network whose scale is manually adjustable and managed by its builtin AI infrastructure manager smart at upscaling and downscaling an a could infrastructure when needed and this transparently from the user perspective.
The last paragraph marks the entry into the scene of this protagonist I was warning you about
as if this Friday TECHsays Essay was looking like a Friday TECHfiction show involving Hollywood actors like those in all these blockbuster shows premiered on on-demand video streaming platforms like Netflix, Roku, CuriosityStream, HBOmax, Discovery, Disneys, and others. I was sincerely thinking about the similarities between the tech industry and Hollywood a long time before I get to write this Fridays TECHsays Essay and this could be proved illustrated by these tweets I did on March 2022
you can see if you read the article of Joel Spolsky article I am referring to that it also says something about Hollywood like if Hollywood/Tech is like C/C++ but The Joel’s article that caught my attention is this article with this headline: Back to the basics because this article explain tricky concepts about dealing with string and the urgent need for teaching early to student software engineer fundamentals about strings and how they are processed in memory using (C he said) C/C++ (I say ) instead of privileging garbage collection and object-oriented language like Java what has the effect of producing software engineers like me who don't know the basics tricky situation that could arise working with elements like strings. what’s important is to see that like me Joel Spolski was advocating for putting more weight on languages that help better understand how to deal with programs that really deal with hardware elements like memory, CPU, and others with all the kernel OS interrupts involved while communicating with these hardware drivers. Here with Joel’s article about the basics, we have another example of why our couple C/C++ matter for everyone interested in programming particularly computers in general. I am not disdaining other programming languages like Jave that have builtin Memory management because these languages are important and they can be more productive to use for projects like developing a GUI where speed is not so important but if you need speed and speed is what cloud compute and storage infrastructure operators like Azure are looking for their backend core then the couple C/C++is something to consider. For illustrating what I have said about C/C++ and speed let me give you this quote from Joel’s blog article REALbasic
As an example, I once wrote some code in Visual Basic to convert the contents of a rich edit box to HTML. It took about 10 seconds for a page of rich text. When I converted it to C++, I was able to use much lower level messages to the underlying rich edit control, and the speedup was profound: instead of 10 seconds, it took a few milliseconds.
I don’t know why but thinking about all these jobs requiring C/C++ that you can apply for , I thought about a webcam. That’s mostly because I got asked early by email why I had not still completed an English level assessment test by a hiring company willing to onboard me on their hiring platform. A Question that I answered sincerely with this choice that was already there. This choice is My webcam is not working.
In fact, my webcam works perfectly. It just happens that it is an old integrated webcam of an old but very useful laptop that I am actually using for writing these words about C/C++. I am reluctant to use this webcam because the quality of the video is not High Definition (HD) but I am almost sure that, like this Windows operating system I am using, the driver of this webcam as old as it can be has been developed with C or C++.
writing this third instance of this weekly publication that I call Friday TECHsays Essays, I got the idea of including in it the design of a linked list data structure that could help for text analysis and could also be used as a feature for the ranking algorithm of search engines that will be faster if implemented in C/C++. This LinkedList will be built given a specific keyword, in our example, we will use C/C++ as keyword. The goal is to take a piece of text and get all the occurrences of the set keyword and build a LinkedList whose nodes will hold a pointer to the next node representing an occurrence of the set keyword as well as the number of words or characters between this keyword and the one of the next node, what could be seen as distance between the consecutive occurrences of the keyword.
for example, the last paragraph above starting with writing this third instance contains two occurrences of C/C++ and the distance between them is made of 16 words ( … characters). The LinkedList of this paragraph will look like this if we start from the first occurrence of C/C++.
(C/C++| 16 words) — — ->(C/C++| null pointer)
This conversion of a paragraph into a linked list is something that is useful to Search Engines but it could be richer if we add nodes for paragraph starts
If I had enough time, what I think we never have enough , I would be trying to implement this algorithm that process a text like this Fridays TECHsays Essay and produce this LinkedList that I presented to you using the example of the keyword C/C++, this Both C and C++. I hope that in one of my coming blog post that will not be a part of These series of Essays, I will be showing you the implementation of this program that will deal with string types, search algorithms, and a LinkedList data structure because you may be this software engineer passionate about C/C++code.
PS: if you are a software engineer every kind of language is good to learn, know, and master. I was just trying to highlight that C/C++ is a must in my point of view if you are interested in the core components on which the future of tech solutions will run on and these component can be based on old technologies. Publishing soon and article titled the old new technology that could be seen as the abstract version of Old Technologies Can Become the New Ones