Which programming language you should learn?

This forum is about programming for languages that do not have own forums and anything about programming in a broad spectrum.
Post Reply
User avatar
Eli
Senior Expert Member
Reactions: 183
Posts: 5224
Joined: 9 years ago
Location: Tanzania
Has thanked: 75 times
Been thanked: 88 times
Contact:

#1

There are too many programming languages out there than you can imagine. Trying to choose a few and even say that they are the best would be misguiding. Every language serves different purposes at different times. Some languages are more suited for data science, high performance computing, game development, others for mobile applications, desktop applications, databases, front-end (client-side) developments, back-end (server-side) programming, and so on.

Remember also, most languages upgrade from time to time, adding new cool features and replacing or changing old ones to make them behave more or less differently compared to the previous versions. This makes it difficult to determine what is the next big thing or disadvantage a certain programming language may offer. Comparisons, such as between a front-end language and a back-end language may make no clear sense and may completely be misleading. When more than one language can be used to accomplish similar task(s), a choice can be made depending on ones own preferences and other criteria, such as simplicity, performance, how fast to use it and get things done, and more importantly, what is the language suited for.

In general, languages such as C/C++ (mostly used to program system software, e.g., Linux kernel is written in C) seem to be tough to learn for most of the beginners. However, knowing C/C++ will definitely help you as a programmer, making it far easier for you to easily pick up most of the modern popular languages. C is a very low-level language that takes a lot of coding to program a simple task, which would otherwise be accomplished by few lines of code if you use high-level programming languages such as Python. In high level programming languages, most of the programming details are taken care off by the language itself!

C is a machine level language and suitable to learn if you are interested in programs that interface with hardware and operating systems, enabling you to get most out of the fundamentals of the programming art at the core. Coding in C is more stricter and has a steeper learning curve than in high-level languages. Knowledge of C/C+ trains you to write efficient codes, making you a disciplined and a seasoned programmer!

Technological changes enforce the way we do business, and this may from time to time influence various language needs depending on which tasks need to be solved at different times. For example, Swift is steadily gaining popularity right now due to the rise in the mobile programming market, this is in contrast to what we witnessed a few years ago when Objective-C was popular for iOS and mobile.

That means, as a programmer, you must change with time and be able to adjust yourself to suit circumstances and demands if you want to stay on top. Programming is a lifelong learning commitment. This doesn’t mean you will have to learn every language, although having a good working knowledge of several languages will serve you a great deal.

Each language is best in its own use. Programming for any language is best learnt when it is applied to do real things. You will find programming appealing if you find a path in programming that you enjoy and apply to solve a range of problems. In that way, you will learn how to code but with a problem-solving orientation in mind, which will definitely make you succeed!

As technology evolves, new programming languages and frameworks will constantly emerge. There is no point spending your time chasing what is so called better or most valuable programming languages, instead, you should spend your time learning new programming paradigms with an aim of becoming a self-contained programmer, who can quickly figure out, learn new things, apply them to solve problems and capture new trends as they arise.


In summary:

- Stricter, disciplined programming, machine level language, OS and hardware interaction: C/C++

- 3D games/game engines, OS/system software, robust/powerful, fast: C/C++

- Desktop apps, mobile apps, web apps: C++

- Provides easy integration and interfacing with other languages modules/routines, libraries and packages: Python

- High performance computing: C/C++, Java

- Microsoft platform apps, web developments, game developments (mostly 2D), iOS and Android apps developments: C#

- Easy to learn, clean syntax, fun, great capabilities: Python, Ruby

Which of the following code do you prefer/like?

Python

Image

Ruby

Image

JavaScript
Image

Java

Image

C#

Image

- Exists in several forms, eg., Jython, Cython: Python

- Powerful web frameworks (Django), Desktop apps (especially, Linux-based), general purpose language, great compatibility with Linux-based distributions: Python

- Numerics, scientific computing, data analysis, big data, mathematics and statistical computations: Python, R, MATLAB, Sage

- Data scientist: Python, R

- Back-end programming/developments: PHP (language of the web), Ruby, Python, Java

- Desktop apps, mobile/web apps, Android apps, web back-end developments, solid fundamentals of Object-Oriented Programming (OOP), big data processing (e.g., Hadoop): Java

- Mobiles apps, iOS, Mac OS apps, 2D games: Objective-C, Swift


- All browsers compatibility, built into the web, client-side developments, cool interactive web features, loosely/less strict syntax: JavaScript

- Front-end interactive web apps: JavaScript, HTML5

- Back-end development through Node.js: JavaScript

- Job market: Java, JavaScript

- Great future: Python, Java, JavaScript, Ruby, C/C++, C#, Objective_C/Swift

- If you have no preferences, learn: Python, Ruby, Java

- Job Opportunities: Swift, Java, Python, Ruby, C++/C

- Often appear in Job postings and trends: C, Java, JavaScript, Python, C#

- Good for Startups: Python, Ruby (on Rails), JavaScript

- Most demanded skill: JavaScript

- Windows platform compatible: C#

- Mac OS compatibility: Swift

- Linux-based distros compatibility: Python

- Cross platform compatibility - Mac, Windows, Linux-based distros: C++, Java

- Its syntax has inspired lots of popular languages, such as Perl, Python and Java: C++

- Supports many front-end web frameworks: JavaScript

- eCommerce websites: PHP

- Platform as a service: Java

- Data analysis and easy web integration of outputs: Python, R

- Quick prototyping: Ruby (on Rails)

- Build something fun, mobile apps, browser-based apps/games: HTML5 (HTML5, CSS3, and JavaScript)

- Simple desktop games: Python, C#

- Design/polish/stylish/decorate looks for webs, web apps and emails: HTML5

- General task automation: Python, Ruby

- Google Drive services/scripts: JavaScript

- Build something fun in a logical manner: Python, Ruby, PHP

- AI prototypes: Python

- Expensive/difficult to hire programmers: Ruby, Python, Why?

Which languages have great community support?


Find out more detailed information regarding some few popular programming languages:

What Programming Language Should a Beginner Learn? - Codementor Insights

Which Programming Language Should I Learn First? - LifeHacker

Here is a further clue that will help you to decide which programming language you should learn.

If you are interested in some specific language that you would like to learn, see what it offers:

1. What do people say about Python? See also Quora and physics codes

2. What do people say about Java?

3. What do people say about PHP?

4. What do people say about JavaScripT? (Also check how to execute JavaScripT through the Terminal) and Installing Node.js via package manager (nodejs) or Rhino, Install

5. What do people say about HTML5?

6. What do people say about C#?

7. What do people say about C++?

8. What do people say about Swift?

9. What do people say about R?

10. What do people say about Ruby?


Also read:

13 Best Programming Languages to Learn in 2017

SitePoint

https://www.sitepoint.com/whats-best-pr ... earn-2016/.

Check language rankings by Job Opportunities:thumbsup:

Image

Further readings: https://www.devsaran.com/blog/10-best-p ... hould-know

Popularity by usage: http://www.tiobe.com/tiobe_index

For big data analysis http://www.kdnuggets.com/2015/05/r-vs-p ... ience.html
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
User avatar
Eli
Senior Expert Member
Reactions: 183
Posts: 5224
Joined: 9 years ago
Location: Tanzania
Has thanked: 75 times
Been thanked: 88 times
Contact:

#2

0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
Post Reply

Return to “Programming (General)”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 0 guests