One mistake lots of people getting into programming make is picking a popular language without a roadmap i.e., without direction. They are bound to meet a roadblock sooner or later. It is not common to see a prospective programmer take the initiative to outline the various concepts, languages and tools required to be a successful programmer.
In this article, I would outline the relevant steps that are required of every aspiring or existing developer to make it successful out there. I would be talking about programming concepts, languages and tools used by everyday developers. These steps have been carefully selected based on the author’s experience and his frequent researches in the tech world. This article is only meant to create awareness of relevant topics that would assist developers to become successful in their field.
Know about computer architecture and data basics
One of the wonderful things about a modern programming language is abstraction. here, developers need not worry themselves about the details of the hardware and instead, focus on development. It can simplify the scope of understanding a skill.
Knowing about your computer architecture is equally very important. the integral parts of your computer live on integrated circuits or microchips. These microchips functions with the aid of transistors. There could be millions or billions of transistors embedded in a single microchip.
The brain of the computer is the Central Processing Unit (CPU). It is the part of the computer where logical operations such as fetching, decoding and executing of instructions occur. Each CPU hold a collection of binaries (zeros and ones) referred to as instructions set. These are the commands that the CPU understands. With abstraction, developers need not worry about understanding this set of instructions.
The CPU is the logical part of the computer that can store data both in the long term and short term (temporal). For short term memory, the computer makes use of the Random Access Memory (RAM) while for long term memory, it relies on the hard drive or ROM (Read Only Memory). It’s impossible to talk about memory storage without talking about what it stores (Data). At one point (high-level), data can be seen as documents, multimedia, emails, files, folders etc. from a computer’s chip perspective, data are stored in ones and zeros called bits. Bits are stored in a set of eight known as a byte. It could be something in the form of 00000001 or 01100110
How does programming languages work?
In the previous section, we talked about binaries as commands that the computer understand. We can therefore write codes that tell the CPU what to do in such a form that it understands. This form in which the computer understands is called the machine code. these codes are quite different from the ones we use every day. Those are referred to as high-level programming languages such as Python, JavaScript, and Java.
A higher-level language is one with a set of instructions or syntax that are human-readable, and can easily be learnt. These languages act as a form of a bridge that connects the way human understands the world and the way machine understand the world.
A higher-level programming language can be a compiled or interpreted language. Python and JavaScript are referred to as interpreted language while Java is a compiled language. We would elaborate on this later on.
How does the internet works?
The internet can be seen as a worldwide collection of computers, connected to share resources (data) amongst themselves. Data such as web pages, multimedia, emails and so on- represented as ones and zeros are shared. The computers on a network are communicating with one another. One initiates the conversation and the other response to the communication, provide both are present and available.
The computer initiating the conversation is referred to as the client, while the computer responding to the conversation is the server.
For example, let’s say you launched your web browser to access “www.facebook.com”. In this case, the browser trying to access this website is the client. The individual trying to access this page can also be referred to as the client. Once you are done typing the address in the search bar and clicking enter, you are requesting to start a conversation with the server hosting the Facebook website. The server responds by sending the data that is required to display the Facebook web page. This is called a response. If it is successful, the Facebook webpage is rendered, otherwise, it might send a particular error message. data transfer on the internet utilises this form of client/server relationship.
Familiarise yourself with some command-line basics
In movies, the command line is usually depicted as a cryptic black screen with texts that can be hard to decipher or comprehend. Behind the screen is often an evil hacker trying to take down some government or corporation, other times, it’s a genius techie behind the screen.
The command line is very easy to use and allows us to perform some of the tasks that can be achieved with the point and click system of the mouse. The only difference is that it involves using the keyboard.
With the command line, you can browse through folders, create folders, move a file, copy files, delete files, execute programs and a lot more. The window where you type all the commands to perform operations on the command line is called a terminal.
If you are using a Mac OS (Operating System), open the terminal application, which is a Unix Command Line Terminal. If you use an operating system without a GUI (Graphical User Interface) like a Linux or Unix based OS, you are already at the command line by default. If your Linux or Unix has a GUI, then you should navigate and open the application.
That’s all for volume 1. In the next volume, we would look at how we can execute some basic commands on the terminal. Then we continue with our learning curve on how to become a successful programmer.
Conclusion
Becoming a successful programmer requires time, money and commitment, without these three tools, it is very difficult to create something awesome, good things in life requires a lots of commitment, follow normal principle of learning programming and very soon, you will achieve programming knowledge as expected.