/learn-to-code

my personal journey of how I learned to code

How To Learn To Code

updated 21 April 2022

Hits

I just want to share my journey of how I learned to code. Others did the same thing, but every story is unique.

Interest In Video Games

Although I was not really exposed to computers when I was young, I was exposed and became addicted to PlayStation games and Mortal Kombat, just to name a few. I even cut classes just to play video games when I was in high school.

And since I did not have any idea that these things were just being developed by a programmer, I just said to myself, computers are really great for they (the computers alone) can create a bunch of great games. And to my surprise, that was false.

My First Computer Exposure

I was only exposed to computers when I was in college! Imagine! And it was actually required for our courses. At first I was so afraid, because that was a new thing to be learned and my Facebook account was even created by my friend. Just imagine a totally noob.

Then, I was provided by my mother a new laptop, an HP Pavilion netbook. I explored everything. And the first time I was able to connect to the Internet and load a page, I was so amazed! But, it did not stay that way. My mother could not continue paying the installment and I ended up in computer shops. So, I was exposed to several versions of the Windows OS.

Yet, during this time, I still had not learned anything about computer programming.

My Course Was Not Even Related To Computer

My college course was not IT-related or even Com Scie! But, during those times, there were several others who were really interested in computers, like cracking an installation, hardware setup and aspiring software developers who wanted to take that course in another university. And all I was doing was just listening to them! And by that, I learned things.

Coding Exposure

There was this general course in computer and one lesson was about MS Excel, how to use the IF function. When I saw the demonstration of the instructor, my mind wandered to things a computer can do! And I promised to myself, I would create one someday.

And that was really accomplished years later when I was working as a teacher.

How I Taught Myself To Code

Even for the other skills, like playing a guitar, I taught myself just by watching online tutorials. So, that's not really teaching yourself a new skill from scratch, it's teaching yourself how to learn.

In the case of computer programming, I started learning PureBasic. Prior to this, I successfully created an MS Excel program, a flat file database. It was really a good project to solve a particular problem that no one attempted or even realized.

If you are really determined to learn new things, then you will definitely learn that. That's the most important one.

But it was a rough start. I could not even understand the things in the PureBasic tutorial! Even if I already had some knowledge about formulas in MS Excel, that was really tough! As if you read things without comprehension! Imagine the frustration!

But remember, if you are really that determined you should never give up!

And during those times, when I was working in a big company, my companion was just this computer. So, I had the chance to focus and explore everything. And that was pretty much it.

Also, I recommend understanding these things:

https://github.com/jdevstatic/prerequisites-of-computer-programming

these topics will further solidify your understanding about computer and software development.


To sum it up:

  1. Determination (no surrender)
  2. Focus
  3. Explore (yeah, that's the way to learn computer programming)
  4. Fundamental Understanding About Computers (link provided)

The Truth About Programming

The reason why we do computer programming is to instruct the computer to do something for us. But it comes with a price. The computer can only understand the machine language but using pure machine language for the programmer is a very cumbersome task.

Hence, the computer and the programmer must meet halfway, that is where a computer programming language comes in. An assembly language was next to Machine Language, it is really good and even today, there are certain programs that should be written in assembly. But, just like the Machine Language, it's very cumbersome even for simple commands. So, you as the programmer is quite limited by this.

Next to that, we have several programming languages that are expressed not as symbols but much like a human language and one of the most significant is the C language. During this time, the things humans wanted to achieve were ambitious, so they (the programmers) never stopped finding ways and C was even upgraded to be used as the tool for creating Desktop apps and games, it became known as the C++.

Yet, we did not stay that way. We wanted more. The birth of the Web demanded another tool that would be good in computer networking and creating web pages. Java simply had that opportunity. It became the current programming language during that time and scripting languages like PHP (for backend) and JavaScript (for frontend) were emerging. It was because of the need to output a web page that is something dynamic, not simply a static web page.

Then, we could simply stay this way, yet we wanted more. Nowadays, creating web pages, even dynamic ones were simplified by several frameworks and ready-made projects that sometimes a programmer does not even need to write a single line of code! Software development is becoming more and more automated!

But, in reality, the current trend is towards machine learning, where a certain program learns by itself, without directly coding it to behave that way. This will have another significant impact in the history of humankind.

Programming Languages in 2020

It's actually not appropriate to say one programming language is better than the other. But, we just want to mention this, at least you have an idea. Nowadays, the demand is actually high for web development, either front-end, back-end of full-stack. So, I recommend you learn these things,

  1. PHP (for server side)
  2. JavaScript (for client side)
  3. Java

Java is actually very comprehensive unlike PHP or JavaScript, it can even be used for a complete network programming. You may want to check out my Java projects also: https://github.com/jdevstatic/java

Now, after learning these core languages, your company will always ask whether you can use a framework. Frameworks will enable you to develop a web app instantly, you don't need to code everything.

For a good startup, Laravel framework is very easy to learn, provided you know PHP.

For Java, it's the Spring and Spring Boot frameworks. Spring Boot further simplifies everything from the Spring Framework.

For a native app which does not require much web connection, I highly recommend PureBasic. It's very simple and basic. Check out my PureBasic projects: https://github.com/jdevstatic/PureBasic

For system programming, of course, still nothing can beat the C language. Check out my C language tutorial: https://github.com/jdevstatic/C-Language-Tutorial