Beginners’ guide to “Learn/Start Programming”

Notice: All the pictures and videos linked in this article are not a promotion. The owners are mentioned in the videos. And the picture is from https://www.efinancialcareers.co.uk/news/2019/04/developer-jobs-terrible-career

For many people, programming is like the language of gods and Unless you learn it in a University/College course you’re not gonna be good at it. Well I’m here to reassure you my friend that this was the case maybe a decade ago but now we’re in a new era where only you can limit yourself, if you’re reading this right now that means that you have access to a phone/computer/tablet and internet access too. If you have both these two requirements let me show you the way to start your programming journey. And this applies to all of you people reading this article whether you’re a little boy/girl, a teenager, a mid aged or even an elder person.

!! Just a quick tip !!

If you’re ever stuck just ask your friend Google.com he has answers for all your questions.

If you want me to point you to the right direction I need you to help me with something which is quite important If you wanna have a good start. Programming is a vast field that contains many pathways to achieve different outcomes and in order for you to reach what you want you have to choose your own path.

Each programming language have it’s own purpose, for instance there is JAVA which is a well known programming language used to make games, android applications and a lot of other cool things which am not going to talk about right now. With most programming languages in order to write their “syntax” we need to have two things:

  • A “text editor” or an “IDE (Integrated Development Environment)” where you can write your ‘syntax’.
  • And the second thing depends on what you’re making. If it’s a something that works on the browser then basically you just need a browser, if not you need to have the programming language you want to use installed on your operating system and a code editor that can execute it’s scripts.

For a text editor I recommend VScode since it’s an awesome one that can be customized to suit your programming needs, this is of course a personal preference so please feel free to use any code editor that you prefer (Sublime Text, Brackets, Android Studio, Pycharm, Intellij IDEA, NetBeans, Eclipse…)

Here is a video that helps you go through the installation.

So let me introduce to you the main fields, of course you’re free to choose whatever you want.

  1. Web Development : This field is quite obvious from it’s name. You basically need to gear up with the necessary knowledge in order to build beautiful websites like this one you’re browsing right now.

If you wanna go with this field you should go with front-end Web Dev first and then go for the back-end.

Here is a link to a free video course that goes in detail on how to make you good at front-end Web Dev.

VScode Installation & User Guide

This is a long video course that goes in depth helping you grasp the basics and learn the main concepts of front-end Web Dev.

2. Mobile Development: I think you might know what is this about just by it’s name. This field is about making apps that work on Android or IOS which are the main Operation Systems for mobile out there by market share.

Full Java Course

If you wanna make apps for Android you have to learn JAVA which is the default language used to develop Android apps that work smoothly. And there is also another language called KOTLIN which can also be used for the same purpose since it became the android standard.

Full Swift Course

If you wanna make apps for IOS you have to learn SWIFT which is the default language used to develop IOS apps that work smoothly. And there is also another language called OBJECTIVE-C which can also be used for the same purpose but this is a bit old.

Flutter course

But if you wanna make an app that works on both platforms with the same look without having to do the work twice,

I think you should consider trying a cross platform Framework like Flutter which uses Dart as a programming language and does a great job making good apps that work seamlessly on both ANDROID & IOS.

3. Desktop Development: Well the name explains it all, yes you’re right this is about making apps for computers and laptops. And that requires special technologies as well.

Full C# Course

For this specific field you’re gonna have to learn C# which is a programming language used to make awesome desktop applications for Windows.

Full Swift Course

And If you wanna make desktop apps for Mac OS you’re gonna use the same languages that we talked about before which are OBJECTIVE-C & SWIFT.

And of course you can make desktop apps for both platforms using the previously mentioned framework “Flutter”.

4. Game Development: This specific field is so much exciting and complex at the same time since you have to have a great sense of visualization to create something from scratch.

To make games we use special software called Game Engines and for that we have Three main choices for that.

Full Unity3D Course

First comes Unity 3D which uses C# as it’s programming language and can export games to different platforms such as Windows, Android …

Godot Beginner’s Course

Second Comes Godot Game Engine which is an open source game engine which is easy to use.

Godot officially supports programming via a language called GDscript which comes with is by default. But there is a C# version as well.

Last comes Unreal Engine which a game engine known for it’s amazing graphics quality.

Unreal Engine uses C++ as a programming language which is a very robust language.

This was a quick guide on how to start programming quickly without having to do a lot of research yourself.

I hope you like this article.

More are coming on the way soon!!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
DAKIR ALLAH Abderrahman

DAKIR ALLAH Abderrahman

Computer Science Student who loves sharing his experiences with others.