Thursday, October 22, 2020

Why do we code?

This learn to code movement has been picked up by everybody, and it seems to be getting popular lately. However, I do wonder why people want to learn to code. If the answer is to make money, I think that there are other career paths that are just as rewarding. It is commonly ignored that some programmers are perpetually overworked to death. Witness the EA Spouse incident. That was certainly a very wrong way to work as computer programmer. Unfortunately, it isn't that uncommon. Problem lies when you learn to code, but not learn about Project management. Things go bad very, very fast.

So why do people code? In order to answer the question, I kind of go the indirect way to do it. Why do people code in certain languages? And what do they produce? With C language, that seems to be a minority these days. That's because in the old days, peole use C programming language to code high performance programs. In other words, games. Nowadays, they use Unity or something like that. They don't code fast program anymore.

How about BASIC? It's still used to teach computer programming. It is in the form of Scratch, which is icon based successor of BASIC. But that's all it's good for. Not much out of it.

How about Python or Java? Python is very popular, isn't it? Yet, when I ask around as to why people use python, the answer invariably came to as that it is a "professional" language and that it has an extensive collection of libraries. As to the professionalism of the language, certainly Python has been used to write programs at professional caliber. Then again, so is Java, C++, JavaScript, and even, in the old days, Visual Basic. How about extensive library? Python acts like a glue language in that case. Then again, so is Perl and Java. Come to think of it, as long as a particular language have an extensive enough of a library, then it can be used to code a prfessional caliber program, right?

So, what do they use it to code for? Demos, and toys, and the likes. Sometimes, I see an application done, but those are rare. So what happened? In short: code libraries and game engines. Nowadays we have specialized programs that basically lets us do whatever we want, just fill in the blank of the template, or chain some libraries to "code" your program. 

Suddenly, computer programming is no longer the activity of "Coding" but of "Cobbling". The end result is good, in that you get good looking product at the end, but there is a hidden cost in that if you no longer have access to the game engine or library, you'd be stuck and can no longer function. Hence, you cannot code.

Is that the definition of coding? To just glue different routines together, even if you didn't write them? It seems to the be trend lately. Kind of make me wonder why we bother to learn to code.

As for me, that's easy. I code because the things that I do, has no existence in the world. There is no library I can import, nor a game engine I can use. So, I'm stuck with coding things from scratch just about every single time. How about you?

Speaking of cool things, The Raspberry Foundation, the non profit organization that has the mission of teaching everybody to code, regularly features cool projects on their blog. Security Cam, Bird Cam, HD Photography, and even Space Cam, where the program runs on ISS, the International Space Station. But what does that have anything to do with me? Or anybody else for that matter? If I read things right, then very little. The blog has single digit engagement most of the time. About the only time it has popular engagement is when there's new product or technology featured. I think that needs to be better. They should still feature cool products, to be sure, but balance it with some weekender projects that anybody can do. Something like the Geek Gurl Diaries. 

No comments: