The first time I have introduced to programming is a book of Java language that is given from a friend who was studying Computer Science. The book is thick as an urban dictionary and it is packed with terminology and ideas of Object Oriented Programming. I heard Java is easy to learn and you can run the program anywhere you want. In the past 3 years, I have learned programming languages, such as C, HTML/CSS, and Javascript, and I figured that Java isn’t easiest language and “run anywhere” isn’t as portable as it seems. Let me explain why.
Java is strictly typed language. what I mean by “strictly typed”, it means you have to specify the type of the entity, object, that you want to create. For instance, if you want to create an entity called Sean, you have to specify its type which could be a human. So how do you specify human type? you have to define the type of human that contains entities like age, height, or gender. It seems pretty straight forward and nothing complicated. Here is a question I want you to ask yourself.
what is the type of entities named age, height, and gender?
it’s probably some types that are defined somewhere in the code, right? and that types probably contain a bunch of entities inside too. Did you get the problem? Yes, the problem is that whole concept of type could go infinitely deeper and you are the one who needs to define as you need it to be. The benefit of strictly typed language like Java is that the data, variables, are safer to use and get solid as it gets deeper and deeper. once you understand and adopt this rule, you would most likely have lesser errors and bugs in your code because you will spend most of your time building the structure, not the actual coding. The biggest problem of mine when I was studying Java was sitting in the chair and trying to understand the purpose and mechanism of the concept. It takes time and efforts to understand the concept and you won’t have fun thinking about it, which it makes harder for beginners to jump into programming.
One of the benefits that Oracle put up on people is “write once, run anywhere”. It is true that you can reuse codes and run it on TV, phone, or even toilet if it’s programmable. What is the problem? you have to have Java Virtual Machine on your device to run your code. We have advanced technology and people who could run the code on any device. Maybe it was the “Thing” in 1970, but there are a better choice for beginner to easily run their code anywhere.
If I could go back to 3 years before I started to learn Java, I would advise myself to learn Javascript first before I get to learn other languages because, in my opinion, Javascript is the easiest and fastest way to introduce to programming. to be honest, Java is fairly easy to start programming for a beginner compared to C or C++. However, In order to code properly, you have to know rules because Java is very strict about it.
If you are a beginner who wants to learn a programming language, I highly suggest you learn Javascript first before you get into other languages because it’s easy to jump in and you will have fun learning programming.
Javascript is script language you can run on any browser. The concept of Javascript is fairly obvious that you could understand very quickly by looking at the code. Defining a type of variable, entity, is not necessary and it’s pretty loose language what we call, ‘You can get away with anything’ language. the keywords for creating variable are ‘let’ or ‘var’ and the name that you want to give follows after. you can just start coding and play around pretty quickly. However, if you have an error in your code, you might not able to find where the error occurred. You might take hours or even days to figure it out and you are going to make lots of errors during coding which makes you think why errors occur and how to fix it. It very essential and critical when you are learning. Plus, you will learn how to do programming by programming, not the thinking. Plus, you can just start coding anywhere that has a computer because most of the computers have default browser and they support Javascript. For beginners, it is very convenient and important that you can just start coding when you are free or bored in the school. This is where learning Javascript comes in handy for athletic software engineering because the frequent practice of programming would help you learn faster and remember longer. most likely you would have more chance to study programming anywhere when you want or need to. It would be efficient to learn to program if you do it with WOD practice. it could be stressful if you have a lot of stuff to do but if you have something to do and stuck in the WOD, do what you have to do first because of most of the time, solution for the problem comes in when you are not coding. When think you know how to solve the problem where you stuck, you can just find any computer and start fixing and learning.
Javascript is easy to jump in but hard to master. As I said previously, Javascript is very loose in a way where you want to build a big program. Unlike the concept of Object Oriented Programming is deeply built in the Java, Javascript is required developers to organize and construct the code since it’s not perfectly built in. I highly encourage you to practice a good way to code Javascript once you get used to it.
Javascript is a good step stone where you can start learning about programming. However, I recommend beginners to study other languages like Java after you feel familiar with Javascript because the concept of proper programming is very abstract, yet implementable. So you could learn a different style of coding from another language and implies to Javascript programming style.