ATF In-Depth: How to Learn Coding

how to learn to code

Popularity of Coding increased in past few years. With the increased number of smartphone users all over the world,running on different OS(Operating System), the demand of coding / programming gradually increased along with that. More and more companies are recruiting coders/programmers to keep up with the flow. Even with overlooking the fact of smartphone development,there are still many other fields there that requires coding. From Software development,Game designing,website development to small programs for different purposes-you name it,almost all digital devices and machines requires coding.

What is Coding? The simple answer to that would be “to create code / write code ” using any particular computer language like C,C++ etc for desired output. From creating a simple submission program for two values to software used in banks and companies. Every Program is made of code and writing that code is coding.

Countless people of all ages are learning to code. You can divide them into two categories. First category would be for financial purpose. Adults learns coding for better work employment and students for their future job or business. The other category are for curious people. They learn coding for just fun and knowledge. Some choose coding as hobby. But in any category, learning becomes fun if people choose right coding language according to their need and interest. So what do I mean by “right coding language”?? You are about to find out.

What To Choose?

If you heard or read about how popular coding is, but not sure what to choose, there are few options you can try. [But if you already decided your coding goal,then just skip this and go to to next ,otherwise read along!] One is of course, Google about coding and read different articles, but that will just confuse you more. The better option would be to go for code.org . There are lot of projects to choose from. It shows tutorial from beginning , so you won’t have trouble even if you do not know about any coding language. The reason to go for code.org is simple.
You will find different possibilities with coding. By trying out different projects , you can find what is best suitable for you.Even if you don’t, it’s ok. Below is popular coding fields that can change your mind.

Android Development

android development

Android is one of the popular operating system on smartphones. Android is open-source means it is free. Android developing is done via Java. Java was popular even before Android because computer software can also be created and developed using Java-coding.

With Java, you can create Android apps and can also contribute in developing Android. It requires Java platform installed on computer.Learning Java is not that hard. There are plenty of websites found online teaching Java from basics. Also you can find Java Tutorials on YouTube which covers almost everything from basics to advanced stuff. You can also find Java articles just for android development,where you don’t have to learn all about Java coding,just enough for Android.

Android apps can be developed by tools from Android Developers. Android apps can be tested on Windows and even on Mac. Bluestacks is Android emulator available free for both Windows and Mac OS. To simply say, Bluestacks is android OS itself for Windows/Mac. More better option for testing your android app would be to get a Android smartphone.

The big problem with Android is there are lot of smartphones running on Android  with different hardware specifications then each other. This makes developing app little painful,since it can run on one device and crash on any other device. There are lot of Android forums that can help with that. Xda-developers and Androidcentral forums have largest community that can help with app developing and testing.

Android is very popular due to open-source and there are lot of job opportunities for android developers. It is also good for freelancer developers,since android app can be put on Google Play for a price per download.

iOS Development

ios development
Unlike Android, iOS is not open-source and is property of Apple. iOS is also one of the popular operating system for smartphones. iOS app developing mostly done by Objective-C. It is Apple version of C language. So if you know ‘C’ language already,you are halfway there!
For iOS developing it requires Mac OS, it is not supported for Windows which is a huge drawback for developers who owns Windows system. The developing info is provided on apple’s official Developing Site.   It suggests tools required for developing other than Objective-C. It includes a mac computer running OS X version 10.8 or later,a free tool named Xcode and iOS sdk. So you must own system running on MAC OS and apple device IPhone, IPod Touch & IPad , any of it for app developing and testing.

The advantage in iOS developing is there are few device running on it : IPhone, IPod Touch and IPad, that’s it. Which makes developing iOS app process easy. But due to that, there are no big forum community like Android. Also hard to find  tutorials for learning. Checkout this Article for Basics.

Job opportunities for iOS developers is mostly in Apple and by selling apps on Apple’s App Store. But choosing iOS developing over anything other is still not bad option.

Create your own website:

For better view,I divided it into three stage.So here they are –

web development

Stage – 1:

Many people want to learn coding to create their own website. It could be for commercial use or for just entertainment only. Before we dig in,let’s discuss about types of website. Yep,that’s right,website also have different types. But not to worry, you can divide it into two types : Static and Dynamic. Well as name suggests, Static site is basically just bunch of stuff. It gives only few interaction option. Like viewers can comment on site and share it through social sites. Static site is also limited in designing option. On other end , Dynamic website is for more advanced experience. For a simple example, people can sign-in to website and read articles,can message other member etc. More simple example would be any Online Banking Website. Hope you get the idea now.

The basics to create website is HTML and CSS language. HTML stands for (Hyper Text Markup Language). For static website,it is sufficient but for dynamic website, read along.

HTML provides backbone for website structure. All the text,images,links,tables,headings and anything else included in any website is done via HTML. But limitation with HTML is lack of control over website. Yes,you can add stuff to website,but what about design?So now here comes the CSS into play.
CSS stands for (Cascading Style Sheets). With CSS coding,the design and layout of website can be changed. You can add background image to site ,change the color and fonts of text and can also give some cool effects to content. With some basic knowledge of these languages,anyone can create website with some effort.
An easier option would be to go for Blogger . Blogger is a free blogging  platform available by Google. Blogger provides two mode for work:Compose and HTML. Compose mode is the easier one,since it do not require any knowledge on any coding language. All the work can be done by some tools,same as notepad or wordpad. Remember,with blogger you can only create static website(blog). But more importantly, you can cover all the basics in less amount of time while working on blogger and don’t forget about the valuable experience you will get.

Stage – 2:

So you grasped all the basics,now what else? You can go for HTML5 and CSS3. Now now,no need to worry,You can think HTML5 and CSS3 as newer version of HTML & CSS, a new update that allows to create things which were not possible with old version or required more effort before accomplishing that. Now there are plenty of things you want to add into site,but they are still not possible with just HTML and CSS.

The next would be JavaScript. It is advanced coding language and also require more attention than html and css. Why do I need JavaScript?It is used for programming services. More specifically,it allows to add event programs to website. If the given condition takes place,some changes made to website. I still don’t understand.. Here are some examples that can help you understand what JavaScript is capable of like, log-in box pops up if clicked on download button or scrolling through page triggers different styles for content. For example,content appears when scrolling down the page. You may have also seen websites that shows advertisements or annoying pop-ups at some time-intervals,even if you don’t click anything.

JavaScript gives plenty of different opportunities. It also enhances user experience on website. JavaScript also have different frameworks that makes works easier.Ember, Angular, Backbone
and jQuery are popular ones. jQuery is next step after JavaScript. jQuery is part of JavaScript and it makes implementation of JavaScript easier on website.

Final stage:

Yeah,you are not done learning yet. You can try XML, ASP.NET, SQL and PHP. It is on you if you want to go for these languages. But I recommend to learn PHP because it is used for creating Dynamic websites. Learning one more language wouldn’t be bad since it is easy to learn. Again if you are looking for easier option,you can try WordPress. It is also blogging platform and dynamic website can be created by it.

Now why should not directly go for WordPress instead of Blogger? The reason is blogger is for static website and wordpress is for dynamic website. Now you can create dynamic website with blogger,but it will require lot of effort. But more importantly,Blogger do not require heavy coding knowledge. With just html and css you can make decent website and if in any case error occurs , you can solve some coding related issue by yourself. But in wordpress,It will require more than those two language. It is better to go from easy platform to hard then directly jump to hard platform.

Now these will clear almost all questions you have in your mind about creating website(hopefully). I put the basics but there are still plenty of things to say,but you will get it along the way.

Computer Software Development:

software development

Software is as important as hardware in any computer. Software development is one of the popular job available for any age group. Software developing includes creating and developing of software for computer or any other devices.Software comes first before anything else. So you want to create website or app for phones or anything else, it will all require some tools for the job. Those tools are the software and frameworks needed for any work. No matter how much technology developed, it will be depended on computer.

There are many ways to build software/frameworks or simply say application,since software is nothing but organized bunch of lot of applications. “C” language and “C++” languages are one of the basic popular languages for the task. “C++” is modern version of “C” language, so you can directly jump to C++ if you like.It only requires a compiler to run, which is available online for download. Tutorials can be easily found online and can also check video tutorial on YouTube. You can check here to see full extent of C language capabilities.
Ruby and Python are another popular candidates for this task. Both are object oriented languages much like C & C++ . You can choose any of them for starters ,since they all are easy to learn and holds lot of job/business opportunities. You can check this Article for more info about Ruby. According to article, Ruby on Rails is popular framework of Ruby for web app development, Which opens more doors as Ruby Developer. You can also check python.org to get more info on Python. Again,you won’t have to worry about learning any of it , since all information and help can be found online easily and also it is cost free.
Java is also one of the good object oriented language for software developing and with Java, you can also opt for Android development. Each coding language have their advantages and disadvantages,but they are still developing even now,so disadvantages will decrease gradually. Which simply mean you can learn any of the following languages, they all are good.

Game Developing:

game development

Now wait a minute.Games are nothing but one kind of software so then why different section for game development? The reason is games are on a different level than any software. Games include both designing and coding. Even if you know how to code,without good characters and environment design, you can not build a good game. Of course,game designing also require coding, but also many other additional things like audio,video,effects,animations etc etc. But I will only stick to coding.

Like I said before, Games are just another type of Software.So with object oriented languages like C++,Ruby & Python,you can create and design a game. But better option would be to go for popular Game Engines. Yes,that’s right,Game engine will eases the game developing. There are some popular game engines like Unreal Engine, Source Engine and Cryengine. Many modern award winning games are built on them. Visit their official site for more information about them and for also for tools needed for game developing. These are few examples but you can find many more interesting engines on web. Here is little Article about more engines.
These Game engines are used to make games for PC, PS3, PS4, Xbox 360, Xbox One,Android, iOS and any other consoles. But remember,game engine makes it easy to build games but still require knowledge on associated object oriented language with it.
For Game developers , there are so many opportunities.Games are for entertainment and everyone loves entertainment.So no matter what happens, game developing would be popular even in future as now.

In The End:

At last I will only say that each area is equally important and at the same time, unique in their own way. Fun thing about coding is you can learn basics very easily,and even if you don’t feel comfortable with any language , you can start again with any other language very easily. Remember one thing, little info about all coding language won’t hurt. Hope you find what you looking for. Leave a comment if have any doubt or query.
  
 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.