Skip to main content

How to geek: Learn to code like a pro


Warning! Philosophical text ahead. Skip to the next section to avoid it.

A lot of people come up with a lot of brilliant ideas. But not all of them are able to execute their ideas due to lack of programming knowledge. Lack of programming knowledge is something that can only be solved by sitting your ass down and doing a course patiently without giving any excuses. It is important to assess yourself thoroughly. If you don’t know something, you need to accept it. You can’t call yourself a web developer after editing a few HTML templates. If you want to be a web developer, stop editing templates and start building one from scratch. Speed is not more important than fundamentals. If you go after speed, you will end up becoming like season one flash.
Another thing I’ve noticed in people is, they are not able to stay motivated for more than a day. They start a course online, binge watch a few videos and then forget about it the next day. An online course is not the same as a TV show. You cannot watch it continuously and expect to not get bored. Every small concept you learn needs to be practically implemented. Implementing small concepts will play a vital role in boosting your confidence. And that in turn will allow you to stay motivated till the next day. A small exercise you can do to carry over the motivation the next day is: Take up a small concept and implement only half of it. And implement the rest the next day. That way you will be curious to see the output on the next day, and after you see the output you will feel like doing more.

In the world of programming, curiosity to explore is very important. I started to learn to code at the age of 13 like a stereotypical geek. I had the language “visual basic” as a part of my school curriculum. If you are getting into programming now, you probably haven’t even heard of visual basic because your mind is only mobile responsive. We were introduced to making window based applications. This involved creating a few text fields, fetching data from the user and giving a relevant response. We did this for the entire year. But I was not satisfied with this. I wanted to know how to make applications that involved going from one window to another based on user response. My teacher refused to teach me this because it was not in the curriculum. Also, she probably didn’t know it herself. But by the end of the year, I finally figured it out by myself. I didn’t explore anymore into window based applications after that. But when 13-year-old figures out a way to solve a problem on his own, the motivation stays for a pretty long time. That’s why starting early is important in this field.

Enough philosophical talk for today.


Two important keywords from the above section: Motivation, curiosity.
If you are learning to code from scratch, I suggest you take up a modern programming language like python, ruby etc. Don’t you dare start with C++ or JAVA (if you are a victim of the Indian education system, you have no choice. I am truly sorry).

The advantage of learning languages like python is that it has a wide verity of capabilities right out of the box. For example, python can be used for making web apps, desktop apps, crawlers, automation scripts and what not. So, it lets you explore a lot of domains at a very early stage. Based on that you can pick a domain of your choice and build you skills based on it.

And once you know one programming language, learning another is not a big deal. It can be done over a weekend.

If you want to learn your first language fast, then for god sake don’t buy a book (or an eBook). Leverage the power of the internet. signup for a course on websites like edx, coursera, or udacity. And complete the course. Don’t watch all the videos at once, save some curiosity for the next day. You cannot go from noob to pro in one day.

When you complete the course, do some competitive programming on hackerrank (not hackerearth, their code editor sucks). This will help you think computationally. Thinking computationally is another topic for another day.

Also, do a project of your own. It doesn’t matter how small it is. (For Indians: If you are thinking about doing projects like library management system or restaurant billing system, you need to come out of the shitty zone that your school/college has put you in and think more realistically). Make something creative and interesting, it need not change the world, it just needs to change you.

I hope this gets you started. All the very best for the beautiful journey you have chosen. May the compiler be with you.

Comments

Popular posts from this blog

HOW TO USE THE DELAY FUNCTION IN C++

Hello programmers!!

Have you ever wondered how people use that effect, in C++ console applications, in which they make characters appear after a certain time. Like they say "loading..." and the cots appear one by one at a particular time interval. This effect looks very cool and makes the applications look very professional.Also see : Basic Algorithms 101 : Checking the validity of an email address (simple beginner approach)

Also see :Basic Algorithms 101 : Checking the validity of an email address (simple beginner approach) 
This 'effect' is called delay. Delay is a more professional term used for some thing that happens a little later than it is expected to happen. This is used in c++ intentionally to either create an 'effect' or to easy the procedures of the application for the user.  Like there are manyuses of the delay function.

Usually in C++ the output appears in the console as soon as it is executed. This might make it look like the application is mad…

HOW TO COPY ANY TEXT TO TURBO C++

Hello!!

Are you one of those people who is in the middle of a C++ program and you know what to do, but you don't know the syntax? So you google and find out the syntax. But in turbo c++ you cannot use ctrl+v. That might be a little pissing off. So the easiest solution would be to get rid of Turbo C++ and get a modern day compiler. But anyway, here is a post on how one can copy text from an external source into the turbo C++ environment.



Also see:Basic algorithms 101 : Checking for the validity of an email address (simple beginner approch) 
C++ is a very powerful language, but the Turbo C++ compiler is bloody ancient and very conservative. The Unix environment it has can be a pain in the neck sometimes. With the modern day compilers like C++ builder, eclipse, and stuff, programming in C++ has become so much easier. Unix environment is not really necessary to build an application. And these new compilers also have a lot of predefined functions for graphics, user interface etc.

Somet…