The current state of programming doesn't look good
Tags: programming
Published: 2020-11-22 11:13:30

**Disclaimer:** This post is not targeting individuals. We all make mistakes no one is perfect. And I know sometimes we have to make compromises. Sometimes the choice is between having food on the table and sleeping hungry. In those cases, by all means use your wisdom. These are just *my opinions*.

# My problems so far:
(in no particular order)

## 1. Its not for fun anymore!!!

> I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.
> Alan Peris from SICP

I find too many people programming for money. And it doesn't feel good. I am not against the idea of programming for money. Its just that there are too few people who do it for fun! And its too the point where I have to think twice before sharing my personal ideas cause I know the likelihood of the person appreciating me is pretty much zero. 

## 2. Why the fuck is everything web-y?
The web was designed to share documents. Not software. And it sucks to use it as software. It really does. If you think otherwise, try creating a website without javascript. Heck, try opening dev.to on Firefox! Firefox is faster (for both browsing in general and startup) on all my low end systems (yes! I run i3s and r3s). But most websites don't care to support it. Its the default browser on all linux distros people!

And to make matters worse, why are normal apps on smartphone embedding an entire browser! Just use the dang API the OS provides. Make the app feel native! No I don't want discord to open links. I have a web browser when I need to browse web. Why do I need 100 apps that embed a browser, take forever to start and use my battery like anything!

I love the idea of my phone lasting me through the day

And why the heck does everything need javascript? Why can't we have static websites? Why do we need PWAs? Why do we need SPAs? Heck why do we need javascript? We had "the web" for years before javascript became a thing. 

## 3. I am done with websites and apps
Computers were supposed to compute! Not render websites and apps. It was a professional device. Just like every engineer had a scientific calculator. Now a days everyone has this so called "billion dollar idea". Everyone thinks they are going to make billions. And their idea? Just take a random activity that we already do an make an app to do it for us. I don't need my floor to open the door of my washroom. God blessed me with two hands you piece of shit.

We have lost the fun. We have come up with problems instead of solutions. 

## 4. Stop notifying me about shit! I don't care
No seriously. The first thing I do after installing an app is to disable notifications. Notifications were supposed to be only for urgent things. No buying the paid features of your app is not urgent.

I even turn off notifications in messaging apps. And so far, no one in my circle ran into trouble not being able to contact me. And if there is an emergency, all my close friends have my contact numbers. 

## 5. Software is now about buzzwords.
Why does every single software need AI/ML/Deep learning. I don't even know the difference between them. The only legit use of AI so far in my perspective has been DLSS. I love the idea of getting higher fidelity graphics on slightly lower end machines. 

## 6. There are a 1000 competing software to do the same thing
We have open source. We have learnt to distribute efforts. Competition is good. 3 or 4 competitors meas that I have choice. A 1000 companies trying to achieve one goal means there is no standard way of doing anything! 

## 7. Learn to program computers. Not languages or frameworks
We are all programmers. Its in our job titles to program the computer. And we do that using languages and frameworks to help ourselves. I don't remember the last time I typed in machine code to make the computer do stuff. But don't obsess with languages. I love C++. But when I set out to write my first real world app, I chose to write the front end in flutter and back end in python (for fun. I hadnt't touched dynamic languages yet). And it took me 2 days to get started with python cause my fundamentals were clear. The problem with software is not that the syntax of C++ is hard (though it is). The problem in software is to express our intent in a readable manner. 

> Software is for humans to read and only incidentally for machines to execute

Every now and then, in various *framework forums*, you get questions like why can't I put an if in here and why does this not compile. And its like ugh. Understand the underlying language before jumping into the framework. (I know some of you need that job really urgent. But sit down when you have time and learn the basics if nothing else.)