The primary goal of these efforts is to control communication and the flow of ideas. Information is a control mechanism, since we act on what we believe.
In history we had four media revolutions (printing press, radio, television, Internet), each greatly disrupting and reshaping society. This is the fifth (social media and maybe AI).
All these revolutions had the same theme: increased reach of information, increased speed of transmission, increased density (information amount per unit of time), and centralization of information sources. Now we seem to reach the limits of change. No more reach, since our information networks span the entire globe. No more speed, since transmission times are close to how fast we can perceive things. The only things left to change are even more centralization and tighter feedback loops (changing the information based on how the recipient reacts).
Given all that, this media revolution might be the last one, so there is a gold rush among the elites to come out on top.
1. Ask questions, and write down the answers in a way that you will find them again. Anki and spaced repetition is useful to learn the terminology or any info that isn't intuitive.
2. https://github.com/ohenley/awesome-ada has links to pretty much every Ada topic and resource; if you want to try Ada using open source tools, the best starting point is https://alire.ada.dev/docs/
3. Compared to C/C++ I can't really think of any pitfalls. It requires more discipline and formal reasoning, but you will get used to it (and appreciate the lack of footguns, at least I did).
Congrats and good luck.
> In literate programming you do not write the code then present it to a human reader. You describe your goal, assess various ideas and justify the chosen plan (and oftentimes change your mind in the process), and only after, once the plan is clear, you start to write any code.
This is not literate programming. The main idea behind literate programming is to explain to a human what you want a computer to do. Code and literate explanations are developed side by side. You certainly don't change your mind in the process (lol).
> Working with LLMs is quicker though
Yes, because you neither invest time into understanding the problem nor conveying your understanding to other humans, which is the whole point of literate programming.
But don't take my word, just read the original.[1]
[1] https://www.cs.tufts.edu/~nr/cs257/archive/literate-programm...