Which programming language can I choose as a beginner?

May 27, 2022 ~ Minutes Read
Blog Image

Overview

Programming is one field that is very fascinating and can be a difficult topic especially when just starting out. It’s not all bad though because there is a dozen of programmers out there who are always willing to help fellow programmers grow.

The only problem arises when you just heard about programming, and you are interested in learning more about it, most of us had thoughts like “Well now that I’ve read about programming, and I understand what it is, then now where do I even start?”. The type of programmer you are going to become is important to your career goals and the languages you choose to work with can really draw the path for you. But which one do I choose?

What is programming

Before deciding on which language(s), you are going to work with, you need to understand and answer a few questions. These questions will help you make the best decision for you, a decision that will sustain and keep you motivated in the long run. This is because in reality, coding can be hard, more especially if you are a self-taught developer as you must draw your own roadmap and make your own curriculum, that can be daunting, so I am here to help you in your journey, and help you in making the right choices, and decisions no matter where you are or who you are.

In this article we are going to discuss and go in depth with different prospects that will be necessary in answering the one burning question, “Which language can I choose as a programmer who is just starting out?”?

Table Of Contents

  1. What is programming?

  2. What are the different types of programmers?

  3. What is a programming language?

  4. What are the types of programming languages?

  5. Advantages and Disadvantages of programming languages?

  6. What is the best language and why?

  7. Which language should you pick?

  8. Conclusion.

There are a lot of things to cover when it comes to programming, namely the process of choosing a language to work with and or a language to add to your arsenal of tools. In this article we will cover Choosing A Language, in future articles we will discuss more about programming and other concepts but for now.

I am here to clarify these for you and by the end of this article you will have a clear undestanding of what are programming languages, and which language should you choose?. As that is why we are here, but we cannot know which language to pick if we don’t know the basics.

1. What is programming?

Programming is the process or activity of writing programs, unlike a programming language, which is what you use to write computer programs, programming is the act of writing computer programs. In other words it is to give a machine rules and instructions to follow. That is how computers or machines know what to do and how to do it.

Programming can be done using multiple languages such as, Java, Javascript, C++, C, and more.

Blog Image

2. What are the different types of programmers?

There are a number of programmers out there and the type of programmer you want to become is very important in choosing your preferred languages. You noticed I didn’t say language, instead I said languages because there is nothing wrong with knowing multiple languages and specializing in multiple fields as a developer. Keep in mind, here we are not discussing the careers you can choose but the type of programmer you want to be and the language you want to use.

Although these can double as careers, for now let’s refer to them as niches, because you have all the freedom to make it a hobby or a career, whether as self-employed or as an employee it’s up to you to decide.

The type of developers you can become are.

  1. Web Developer

One development category that has became popular is web development as a developer here you specialize in building websites. This is a fun job, because you spend your time building things that are visually appealing and the possibilities of learning new things are limitless.

There are many parts to this kind of programming or development, although I will discuss only two parts which is,

  • Front-end development

    This type of web developer specializes in the visual part of web development this is refered to in programming as UI / UX, User Interface and User Experience. The Front end developer is mostly responsible for dealing with the part of a website users are directly in contact with, that includes but not limited to User Input Forms, Accessibility, Appeal, mainly how users interact with a website, and this is by bringing content to users from what we call the Back end of a website.

  • Back-end development

    The back-end developer is responsible for what happens behind the scenes in development. Dealing with processing the data that comes from users in the Front-end and storing it into Databases and also making sure these operations are running smoothly and there are no bugs.

These two approaches are the basics and necessities of a Full-Stack website.

  1. Sofware Developer

Just like a web developer a software developer designs, builds, deploys and maintain software. As a software developer you need to have a set of skills that are required for every programmer. That includes, An eye for detail, Complex Problem Solving Skills, Critical thinking etc. These will help you in the long run, although people may convince you that you need to be a Math genius to master programming, that is not all true, You do need to understand basic Math and that can take you a long way.

As a Software Developer you will be responsible for most of the things that are software related.

  1. Mobile App Developer

A Mobile App Developer is responsible for developing mobile apps whether it’s for IOS or Android by implementing the source code for the development of these apps. There is variety of languages for mobile development, languages that are considered good for mobile development e.g Java and Swift. There are also frameworks that are derived from famous programming languages like, JavaScript and Dart. You just have to decide on what language you want to learn because any language can be evolved to do whatever task you want.

The skills you need to become a Mobile App Developer can include.

  • Critical Problem Solving Skills

  • Software Development Skills

  • Innovative Mindset

Mobile Development Skills can be attained from whether going to Varsity, a Coding Bootcamp for Mobile Development or by using the many resources available online and be Self Taught.

  1. Computer Programmer

A computer programmer is responsible for writing, modifying and maintaining code that runs in the computer making sure applications are running perfectly and as intended. S(he) transforms the code written by Software Engineers and transforms it into instructions that a computer can understand. To learn this type of programming you first really need to understand how computers work and how they interpret information, then you can learn the languages that are specifically for this purpose.

  1. Game Developer

Game Developers take ideas and turn them into playable realities. This can be a fun field of development and can also be very hard and time consuming as it requires a lot of developers to build one big game, so if you are just on your own trying to make a AAA game you are bound for failure as it’s not a one man job to build a large game. Though it can be daunting, it is not all doom and gloom, you can as an individual developer come up with an idea for a game and team up with your friends and make something as a start. Do not aim for GTA V for your first few games or first many games. Just focus on developing your skills.

3. What is a programming language?

A programming language is any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output. Programming languages are one kind of computer language, and are used in computer programming to implement algorithms. This is the main definition.

In simple terms, a programming language is a form of communication used to give instructions to a machine in a way that is visual, meaning you can see what causes changes in a computer without scratching your head about it. It simplifies this process.

How many programming languages are there?

There are approximately 9,000 programming languages but there is only about 50 mostly used in today’s world. Whuuu that’s a bit of a relief imagine having to choose between nine thousand languages, that decision would never be made. Though 50 is still a big number, it is not as complex and intimidating, yes it would take you forever to learn them all but the decision has been dialed down to 1 in 50 which the human brain can make easily.

So how do you decide on the language you want to use? A popular opinion is you need to know at least more than 3 languages to be hirable or relavant, but I call BS on that, one language can be enough to get you a Job and make you relevent depending on how good you are at using it. In some cases you don’t need to be good, you just need great curiosity and a desire to learn then you are on your way.

4. Types of programming languages.

There are 5 types of programming languages which includes;

  • Object Orientated Programming Language

  • Functional Programming Language

  • Scripting Programming Language

  • Procedural Programming Language

Object-Orientated Programming Languages

Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects rather than functions and logic.

OOP focuses on the objects that developers want to manipulate, rather than the logic required to manipulate them. This approach to programming is well-suited for programs that are large, complex and actively updated or maintained, as it makes it easy to spot what needs to be changed rather than disrupting the entire codebase only to just make a minor change.

OOP languages includes but not limited to Ruby, C++, Java and Python.

Structure of an OOP language

The structure of an object orientated programming has the folllowing aspects:

  • Classes
  • Objects
  • Methods

A Class is the container that wraps around objects and functions. Functions that are defined inside a Class are called Methods and methods are used to describe either the behaviour of the class or to create an Object of the class. To use the class you just need to estanciate the Object somewhere in your code.

// class example defined in C++
    class MyClass {
        char NAME = "Sizo"
        int AGE = 20;
        void newAge(int age){
            AGE = age;
        }
    }
    int main() {
        MyClass ObjectOfClass; // This instantiates the object of the class (MyClass)
        std::cout<<ObjectOfClass.AGE<<; // 20
        return 0;
    }

An Object holds it’s state in data fields and exposes it to it’s methods this state can be dynamically manipulated and changed. An Object also helps with the storing of data as it makes it easy to access individual attributes in your data. They are mostly used in OOP languages, like C, Java, Javascript etc. You have probably seen objects mostly used in JavaScript Object Notation (JSON) and when working with APIs.

// Object in JSON
    "Song": {
        "id": _ID,
        "title": "While We Were Young",
        "album": "21",
        "artist": "Adele",
        "year": 2015,
    }

These are not all the concepts associated with OOP there are more concepts but we will not be discussing all of them in this article.

You can read about the Object Orientated Programming Concepts Here

Functional Programming Languages

Functional Programming is the process of creating software by using or creating Pure Functions. Unlike OOP Functional Programming Avoids Objects, Classes and Mutable Data.

Functional Programming is based on functions which means it focuses on Expressions instead of Statements and it’s based on mathematical functions.

Languages that uses FP include: Python, Lisp, Closure and more.

# Function in python
    def myFunction(name)
        return name
    print(myFunction("Sizo")) # Sizo

Scripting Languages

A Scripting Language is a language that is interpreted and is translated to machine code at runtime. Scripting languages are preferred for short scripts rather than full computer programs, but times have changed Scripting languages can now build full programs for multiple systems with the help of Frameworks and other methods.

Examples of scripting languages include JavaScript, Ruby, Python, Bash and more.

Procedural Languages

A Procedural Language is a programming language that follows a set of commands, thus Procedural language. They follow a set procedures instead of just winging it. Other languages are both Proceduaral and Object Orientated e.g C++

Examples of procedural languages are C, Basic, Java etc.

Procedural Languages are mostly used by Software Developers.

5. Advantages and Disadvantage of Programming Languages

All programming languages have their own pros and cons, so I won’t say to you this language is better than the other because that would be an unfair bias just to influence your decisions on choosing your preferred language. Although the Pros can out weigh the Cons, I believe it is unwise to give this kind of thinking to beginners every language was builed to serve a purpose and that purpose can be unique to each language. Letting beginners choose what they truly love. Likes about a language can differ from programmer to programmer.

Though I may raise some suggestions, these are meant to be nothing but guidelines as this whole article is a guideline to help you make the difficult choice of a language you wish to work with.

6. What is the best language and why.

When I started programming I started learning with Python and I learned that the best language is the one that is beneficial to you. Python for example I was interested in it because I heard from many senior developers saying it’s easier than most languages and it seemed cool to me as I could use it to Hack, Machine Learning, Data Science and many other things. As I was getting good in Python I realise I did not love it I would constantly burnout and was on the verge of hating programming as a whole, not because anything was difficult but because there wasn’t that connection between me and the language.

What I did then was spend time and learned what it meant to be a developer. What I found was to be a good or even a great developer you don’t need to be great at a language, and don’t get me wrong you do need to understand it very well to be able to manipulate it and make it work for you. The most important skill for a developer though is Researching being able to read Documentation is very important because you can code in any language you want as long as you are able to read and understand the Docs

Why is the language you choose the best.

Any language you choose to start with as a beginner is the best because that is your teacher. The time you spend learning and reading about that language is never wasted you will never have to go through that process again. Your first language will teach you about the fundamentals of programming, how to read documentation, it will show you how languages work, and how to do all the basics. That knowledge carries over to all the other languages the only thing that changes is the syntax and a few principles but everything else the concepts and uses are almost the same if not completely identical.

So I say you should choose a language not because it’s popular or easy but choose it as a gateway to learning and you will learn and eventually grow and learn other languages and then you will find the one you truly love.

7. Which language should you pick?

These are the steps I follow to pick a new language to learn and every beginner should follow these.

  1. Research the language.

    • What does the language do?

    • What can you do with the language?

    • What are the cool features of the language?

  2. Read the Documentation.

    • Do not read the documentation only when you run into bugs.

    • Reference the documentation, don’t learn the language after you’ve started working with it.

  3. Watch a video or follow a tutorial.

    • Watch Youtube Videos.

    • Read online Tutorials.

    • Ask friends about the language.

  4. Prepare to fail many times.

    • Remember programming requires determination and you get that by knowing that you are gonna fail while learning and pick yourself up many times.

    • Enjoy every success you get when programming every bug fixed is a triumph.

  5. Do not be too ambitious too early.

    • Do not try to build GTA V.

    • You cannot start with NETFLIX as a beginner, Yeah when you get to intermediate you can build a clone but the reality is this is gonna take time but with practice and patience you are gonna get there.

    • Build to get there, you will get there and stay consistant no matter how hard it gets, thats how you test your love for programming.

  6. Don’t learn complex concepts too quickly.

    • Slow and Steady wins the race.

    • Take your time.

  7. Love the language you are using.

    • In my many years of school I have learned that learners tend to perform better in subjects they enjoy and love.

    • Use the same principles with coding love and make sure you enjoy the language you are working with.

    • Do not only enjoy a language when things are going your way. Love it unconditionally.

  8. Don’t jump from language to language.

    • Most developers jump ship when they can’t fix a bug in a certain langage or things don’t seem to work.

    • But that is the best part about coding it tests and trains your problem solving skills.

    • So make it hard make it almost impossible and then solve it and that will be your proudest moment I promise you.

If you feel like you’ve checked all the steps above and even twicked them and made them your own then you have your ideal language, take the time to learn about it before you learn it and you will find yourself in love and soon you will be the greatest programmer out there.

8. Conclusion.

Your take aways from this article should be, a bit of understand for programming and the different types, and I hope I sparked your curiosity of learning about programming languages and what kind are they, and also what makes them special. If you’ve read this far then that means you really are interested in finding the language that suits you best, and I believe you already have it, you just need to do some research on it make it your own and soon you will learn to love it.

Remember you don’t have to know more than one language to become a programmer and a good one at that, and you are also not required to learn only one language you can learn as many as you want, just stay consistant and make sure you are not jumping from language to language but learn one and work with it finish projects and then learn a new one.

Programming is a process and you need to enjoy it for you to cope and don’t forget there are a lot of communities out there to help you in your journey reach out if you need help.

Happy Coding.

Share On Socials