LEARN TO CODE
How to Get Started With Coding?
Why should you code and how to learn coding?
This article will help you choose and get started with a computer language right away. Along the way, I have provided links to get started with a specific language and a few resources as well.
First, we’ll go through the importance and need for coding. Then we’ll talk about the available options.
So let’s get started right away!
Why should you code?
Now, you may be a student, professional or hobbyist, you have chosen to code for a reason. For some of us, it may be just a job, but many are passionate and completely into this. If you are still in doubt or just want to be sure before starting, let me tell you coding is fun, especially for people who love problem-solving, thinking out of the box and mainly because you can create and customize whatever you want. Well, if you are already sure about your decision but want help to get started, you are in the right place!
The best part - there aren’t words like pneumonoultramicroscopicsilicovolcanoconiosis in any computer language 😀.
What are the available options?
As this is a beginner’s guide, we’ll go through the most popular yet comparatively simple frontend options. Even then there are too many options, so we’ll go through the main ones.
Let’s explore each of these in detail:
The web is the fastest growing platform. In just a few years browsers have drastically evolved and many new features have been added. Many companies and organisations are constantly working on adding new features as well as tools for developers. The web is now able to easily interact with the user’s operating system. Now let’s see the pros and cons:
- Multi-platform — It means that the web works on all platforms i.e, different operating systems. So, what does this mean to you? This means your website will work on Android, iOS, Windows, Mac, Linux. So you write code only for the web and you will have users from all these platforms.
- Easy to work with — The languages used for web designing are quite easy as compared to other languages. Since a website runs in a web browser, you only have to set a design and the properties….the browser will take care of the rest.
- Amazing integrations — The web, which is now at its peak performance, handles running on different operating systems and devices. Browsers offer many options which can be used to ask permission and use the user’s location, send notifications, keep the device awake, etc. The web has almost as many features as the OS can offer.
- Open source for learning — Why do you think I have mentioned open source for learning only? That is because web browsers have amazing tools which you can use to learn how other websites have been created. Though you can get started and develop a website for free, you will have to host it for the world to check out your creation.
- Easy distribution — Websites can be easily made available to your users by hosting them. Hosting is uploading your code to servers (about which we will talk later). for the users to able to access your website they need a name, a domain(example — amazon.com, google.com) completes the purpose.
- Too many platforms — In the last section, we saw how multi-platform support can be useful and now we’ll see how they can cause problems. As web developers have to keep in mind the different operating systems, they may have to spend more time writing some code to support each OS.
- Too many device sizes — Different operating systems also means different devices with varying screen sizes. So, developers have to make sure that the content looks beautiful on laptops, mobiles, tablets and many other devices.
- Too many browsers — Websites run in browsers, which means that your code will run in the browser. There are so many browsers! Google Chrome, Edge, Mozilla Firefox, Safari, Opera to name a few. But there are many OEM owned browsers too, like Samsung Internet, MI browser. Now, what difference does make to you? Some browsers don’t support features with other browsers do, so it means even if you work hard and add all the available features, your user may or may not get them depending on their browser. The version of their browser also makes a lot of difference. However, that’s not the most frustrating part….so what is? Web developers have to write extra few lines of code for each browser just to support some of the features.
Android, from the developers perspective, is great as it is open-source. This is the reason that there are Android TVs, android wearable devices (smartwatches, etc.) And what does this mean to you? You can develop apps for Android for free and tune the OS itself to fit your own needs! Android is backed by Google which is also a major reason why many developers choose Android.
- Backed by Google — Google maintains and manages Android, this is a big factor in choosing Android for development. Google constantly updates and adds new features to Android. For developers, Google provides almost everything you may want.
- Can be developed on many platforms — Don’t get confused, development on many platforms means you can write code and test it. This doesn’t mean your Android code will work on other operating systems.
- Open source — Android can be tweaked and twisted to your needs. As discussed above, this is the reason Android is also used in TVs and some wearables. If you have ideas and imagination, then it’s time to use Android!
- Easy distribution — Google play store, Amazon app store provide an easy method of distribution of apps. For people to access your app, you have to publish it which is quite easy and cheap.
- Quite hard to learn — Android development is quite difficult. The language(s) used for Android take time to learn and need more practice.
- Lengthy code (usually) — Android as well as other operating systems require some patience as the development process will take time mainly due to the length of the code. Lots of code also means many chances to make errors which results in spending more time.
- Slow development process — Languages used to develop Android take quite some time to run. So every time you want to test your app, you’ll have to wait for a while. Other than that, these languages are also a little error-prone (there are higher chances that you will make an error due to the code complexity).
- Cheap startup but development is pricey — Getting started with Android is not costly at all. Since Android is open-source, you can set up and code on any operating system (Windows, Mac, Linux, etc.). However, if you want to publish your apps to the Google Play Store, then you will have to pay a small amount of $25.
iOS stands for ‘iPhone Operating System’. Unlike Android, iOS is not open source but it is found on various apple devices. iOS is built and backed by Apple which is a major factor for some in choosing iOS as their platform. Wanna write code for apps to run on iPhones, iPads? This is your go-to platform!
- Easy to learn — Languages used for iOS are easier to learn as they are more recent. This also means developers can write shorter code and make fewer errors. Newer language = better features (well, usually).
- Speed — Yes, iOS development is fast, way faster than Android. As these languages have shorter code, the time to write code is reduced. Also, the code for iOS compiles faster than Android during development.
- Great Support — Apple provides great support and tools to develop for iOS. This means they keep adding new features and improve the software and the language. This helps developers to access new features, to write code more easily, to prevent and remove errors.
- Development is cheap — As the language is easy, the code is short, the time is less, you can develop fast and cheap.
- Pricey startup — To start, development for iOS needs a MacOS and we all know how costly are Macs, apart from that if you want to test on real devices, you will have to buy an iPhone. But, that’s not all, if you want your users to install your app (which you would definitely want), you will have to publish it on App Store for which you’ll need an Apple developer account which costs $99 per year.
Note: Apart from the above, desktop frontend and embedded devices are popular options as well which are not covered here.
There are many options, choose your path. Once you get started, it’s not all that difficult. Happy learning/coding!
To learn more about web development, check out my other article —