Deprecation of C, Future of Fortnite and Learning to Program as a Beginner
There are trillions of dollars worth economic activity directly depends on programming. Software is increasingly becoming a part of daily lives. If you think we are depending on technology too much, wait for a few years for AI to be used as often as smartphones. Along with this development I have notices two important trends.
- Front ends and UX keep getting oversimplified hiding implementation details while taking control away from the user.
- The old technologies are becoming an obstacle creating a need for new paradigms to become the mainstream.
I would say both of these are good reasons to avoid what is popular today (such as JavaScript) if you want to plan for the long term. I have been constantly sharing news on AI developments and I have been personally using many of these tools for my personal learning. We must keep our focus on the future.
Even C Will Become Deprecated
There are toasters that are more powerful than the computer behind Apollo 11. This is a screenshot from the Wikipedia page for Apollo Guidance Computer and pay attention to the weight of this once state of the art piece of technology.
We have to be very happy regarding how far some old programming languages have come. C is still at the heart of most crucial parts of modern technology. It is not without its faults. That is why there are very smart individuals trying to move towards Rust (for safety) and Zig (for performance).
Bad Syntax is Mostly Unfamiliar Syntax
People have a habit of calling unfamiliar things bad or inferior without giving much effort from their side. I have seen this time and time again among programmers. I have been looking into programming out of curiosity and as a hobby. Since technology was going to all around me all the time, I wanted to have a basic idea of how things work under the hood. The goal was to be able to make better decisions and take care of the smaller matters that are the similar to changing a tire or doing a minor maintenance on a vehicle.
Due to this reason I explored many different programming languages with many of them being labeled too difficult or has a bad syntax. Although Python turned out to be very easy as a beginner, other languages like Haskell didn't look much harder. I tried many languages that I found to be interesting. JavaScript Frameworks were among some of the most difficult I had seen.
After few hours of testing, I was at a stage where I would rather code in Rust than Node.js or React.js and I am very much convinced now that even the senior programmers are simply viewing what they are familiar as the "better" way. It is their existing habits that have become the biggest obstacle in their learning experience.
Start With Functional Programming
You may not end up programming Haskell or other purely functional language. What matters is the learning that comes through using a language that is concerned with safety and correctness of a program. Haskell and others like it force the programmer to adopt good practices and not pick up bad habits.
In the future what you know is going to be less and less important. How you use knowledge is going to make a bigger difference when a vast amount of knowledge and expertise is easily accessible for general use via LLMs + extensions built for coding (I will get to these later).
Learn About Domain Driven Design (DDD)
Compare Programming Solutions
Since the programming langues come in many different forms, there should be nothing surprising about having wildly different pros and cons with each of them. Taking a look at how each programming languages (and paradigm) solve a need is one of the best things you can do before you settle on a path to specialize on.
LLMs Are One of The Best Learning Tools
They will only be a help if you think about the code and reason about it. The "AI" does not know what the best solution is. What it is doing is trying its best to provide the most suitable answer to the given prompt. If it has too much sub-optimal solution, the results are going to be worse code. Think of AI as a partner to argue about coding. Keep asking about different ways to do the same thing. Suggest changes to the code and and ask it to rewrite.
If you start with a language such as Haskell or Rust, the compiler will refuse to compile bad/unsafe code. Copy the code and ask ChatGPT, Leo AI (from Brave) or any other LLM of your choice and ask the LLM to fix the bug. Treat it as a learning opportunity. Take one step further and propose your alternative version of fixing the bug or rewrite the code with a different approach. This back and forth engagement will help you understand programming better.
Use Continue.dev in You IDE
You can take a look at the GitHub Page and take a look at what they are offering. I expect there to be other extensions like it for IDEs. I recommend using this tool with VSCodium which has the open source binaries of VSCode without closed sourced interventions of Microsoft that involve telemetry + whatever Microsoft wants to add to your IDE. Most of the VSCode extensions and all of the tutorials made for VSCode work for VSCodium.
Learn X in Y Minutes
You can treat the above linked website as a summary on the features of a language. Programming languages are not the only thing you can learn on the website. There are multiple languages available. You do not have to be forced to learn in English if you don't have to. Learn X in Y Minutes is an easy way to refresh memory on the basics of a languages.
100 Seconds of Code
If I end up adding too many resources than I already have, this article is going to be too bloated. I may have to write another article with more resources. Until then, You can view the above playlist by Fireship. You will learn a great deal in a very short time.
Tim Sweeney and Verse for Unreal Engine Fortnite
Consider this a small prize for reading this far. Functional Logic Programming is a tiny niche at the moment. One of the latest languages of this paradigms is backed by the multibillion dollar giant Epic Games and it is going to be a part of Fortnite game which has 236 million Monthly Active Users. It is smart to focus on where the innovations are going rather than what is popular at the moment.
Posted Using InLeo Alpha
Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!
Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).
You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.