If you plan to build for the web, JavaScript is a good choice. You're going to need it for your UI no matter what, and thanks to Node it's an extremely viable server-side language these days as well.
As an added bonus, JavaScript has a "C-like" syntax. What that means is that after learning JS, a bunch of very popular other languages will feel familiar (to greater or lesser degrees) if you ever decide to learn them. That includes Go, PHP, Java, Swift, and Rust among others.
I second this. As a professional backend engineer myself for the past 15 years or so, working with various platforms and languages (js, nodejs, c#, java), you will find nodejs is pretty widespread. If you plan to dabble in a bit of frontend too then js is the obvious choice. It's true that js is not without its problems but I would say that its not quite as bleak as some people would make it out to be.
I don't know much about ML, for that you may prefer a language that has mature libraries for ML, not sure what that would be.
Ruby & Python for me. Ruby for the sheer productivity (you can make MVP very past), Python because it's integrated into everything (machine learning, scraping, etc.)
Ruby on Rails is my absolute favorite. I've been coding for 20+ years.
You name it: ASP, PHP, Python, Javascript, C#, etc. etc.
It's ridiculously productive and super easy to maintain.
It has everything you need to make a great app without the noise of the technology completely changing every 6 to 12 months or having to learn the latest fad.
You will ship product with Ruby on Rails.
Check out https://gorails.com/ and learn RoR :) (no affiliation)
Indeed I have read JS is fairly odd for beginners, I don't have a problem with the challenge but whatever I can get through and tie with a full stack method in the most efficient time for sure!
It's not a fun answer, but I always recommend looking at the communities around the language (local and online) and pick the people who make you the most comfortable.
If you're trying to get out of a job that you don't like, for example, the absolute best programming language you can learn is...the one your company's programmers (or IT department) use. That gives you people you probably already know (and have an excuse to talk to) who you can now ask for help. And, because you presumably know some aspects of the company, you can potentially grab a job opening on the basis that it's harder to get someone up to speed on the business (where you already have experience) than it is to get someone up to speed on programming.
The situation is similar if you're just poking around online for your own projects, in that the people you're going to be asking for help and potentially working with in the future.
Every other problem, you'll get used to soon enough. But if you can't decide between two communities, pick the language that has more chatter about the most prominent application framework that fits what you're planning to work on. And if all else fails, I just recommend Ruby (and Rails), since having a web application running in a few minutes is motivating for most people. You can always change your mind later and most of what you learn (how to make choices, how to repeat things, how to organize code) will carry over quickly.
Not sure on specific but I do know I want to get into Machine learning, crypto for sure as I have interest in digital currency and how it all works; as to where the world is heading with these things!
It's interesting that neither beginners, nor the experts are fully equip to answer the questions. Beginners did not have enough exposure to different languages, and experts just don't remember what it's like to be in the beggining of the journey.
That said, I strongly recommend Python. The reasons are simple:
It is very human like and makes sense when you are looking at simple code
Huge and helpful community
Very versatile (can do Data Science , Websites and everything in beetween)
As a community of coders that works as freelancers this question should have more context.
Do you want to became a Indie Hacker?
You just want to make scripts and automate some stuff?
Do you want to became a programmer working for a company?
You want to have a solid theoric backgroud in programming?
What type of programms do you want to build, web apps, desktop app, mobile apps, games, services?
All the anwers could result in diferent aproach to a programming language
If you want to became a Indie hacker, that means that you want codding apps by yourself, there are al lot sfuff to learn, not just programming itself. For example if you want to build a web app it is mandatory learn HTML, CSS and Javascript, plus a backend language, that could be Javascript itseflf, but there are a lot of options. You will need understand databases, design patters, etc.
After decide what kind of Job and app do you want, there is other considarations, I don't want overwelming you, but everything this is important.
After this long introduction a will share my opinion with you. I think that more than a language there are some abstract concepts that you should learn, and are language-independent:
Bases: Variables, loops, basic data structures.
Object Oriented Programming.
Packages and/or modules: Good part of codding is work with packages or modules made by others.
You could learn almost every subject with the most populars programming languages: Python, Javascript, C#, Java, PHP, Go, Ruby, C++.
The order that I mention above is what I think is the most recommended language to learn as a first Language, I have had some contact or work with 6 of the 8 languages.
At the end I think you shoul Learn:
Python: Good syntax, readable, great community and a lot of aplications
Javascript: This languages has eat the world, I don't like it, but there is no option, it is mandatory.
C#: You could write web apps, mobile apps, desktop apps, games and services with C#, has a great IDE, very and solid good syntax, tons of documantation, etc.
The order of the three does'nt matters, and I bet it will be one of the options that almost every programmer tell you. So pick one, forget about everything and learning well. Not sure until now?, pick Python.
Indeed I want to land a programming job sooner than later, but I have interest in machine learning and crypto currency and the full understanding and where ever that knowledge may take me!
Depending on what you want to achieve I'd suggest two approaches:
If you really want to dig into programming I'd start with a low-level language like C or C++. This will give you solid basics and lets you understand what's going on under the hood of high level languages (and appreciate them more :) )
If you just want to learn how to develop something I'd start with Java (again, switching to Kotlin will be easy after learning Java but you'll appreciate what Kotlin gives you). Dart is also a good choice in my opinion. After reading a short document: https://dart.dev/guides/language/language-tour you should be able to start developing simple console apps
I would recommend Golang for backend and TypeScript for frontend development.
Go is backed by Google and has a great documentation. Beside that, it also bring a good concurrency model. It's coming with a rich standard library and a good toolbox to support your SDLC.
TypeScript is supported by Microsoft and is very popular to develop Angular SPA. It's not limited to Angular usage, but can be apply to any JS type of projects. One of its strong suit is the fact that it's enforcing strong typing -- missing in JS -- and help you to identify error in your code early on.
That's true, but it also adds a lot of extra effort to learn and understand for new developers. It helps if you already know basic JS. So I'd say learn JS first.
Indeed web is a piece of my interest, but I have a liking towards machine learning and the digital world of crypto as I know this is a long journey that maybe proceeds my mortality! What do you think would be the most beneficial to me as that is the route I have chosen to take!
If you plan to build for the web, JavaScript is a good choice. You're going to need it for your UI no matter what, and thanks to Node it's an extremely viable server-side language these days as well.
As an added bonus, JavaScript has a "C-like" syntax. What that means is that after learning JS, a bunch of very popular other languages will feel familiar (to greater or lesser degrees) if you ever decide to learn them. That includes Go, PHP, Java, Swift, and Rust among others.
I second this. As a professional backend engineer myself for the past 15 years or so, working with various platforms and languages (js, nodejs, c#, java), you will find nodejs is pretty widespread. If you plan to dabble in a bit of frontend too then js is the obvious choice. It's true that js is not without its problems but I would say that its not quite as bleak as some people would make it out to be.
I don't know much about ML, for that you may prefer a language that has mature libraries for ML, not sure what that would be.
Ruby & Python for me. Ruby for the sheer productivity (you can make MVP very past), Python because it's integrated into everything (machine learning, scraping, etc.)
+1
In your opinion which one was easier?
Ruby
Ruby on Rails is my absolute favorite. I've been coding for 20+ years.
You name it: ASP, PHP, Python, Javascript, C#, etc. etc.
It's ridiculously productive and super easy to maintain.
It has everything you need to make a great app without the noise of the technology completely changing every 6 to 12 months or having to learn the latest fad.
You will ship product with Ruby on Rails.
Check out https://gorails.com/ and learn RoR :) (no affiliation)
This comment was deleted 3 years ago.
It doesn't really matter. You can take anything high level like Ruby, Python, Golang... learn one and it will be easier to learn the others.
I wouldn't choose JavaScript at first because it's full of traps, except if you want to focus on the frontend.
Indeed I have read JS is fairly odd for beginners, I don't have a problem with the challenge but whatever I can get through and tie with a full stack method in the most efficient time for sure!
Java, C# or Python. These have great resources to learn the language and OOP paradigm.
Learn whichever one your friends know so you can easily get help
Kotlin. Love Kotlin.
It's not a fun answer, but I always recommend looking at the communities around the language (local and online) and pick the people who make you the most comfortable.
If you're trying to get out of a job that you don't like, for example, the absolute best programming language you can learn is...the one your company's programmers (or IT department) use. That gives you people you probably already know (and have an excuse to talk to) who you can now ask for help. And, because you presumably know some aspects of the company, you can potentially grab a job opening on the basis that it's harder to get someone up to speed on the business (where you already have experience) than it is to get someone up to speed on programming.
The situation is similar if you're just poking around online for your own projects, in that the people you're going to be asking for help and potentially working with in the future.
Every other problem, you'll get used to soon enough. But if you can't decide between two communities, pick the language that has more chatter about the most prominent application framework that fits what you're planning to work on. And if all else fails, I just recommend Ruby (and Rails), since having a web application running in a few minutes is motivating for most people. You can always change your mind later and most of what you learn (how to make choices, how to repeat things, how to organize code) will carry over quickly.
What do you want to build?
Not sure on specific but I do know I want to get into Machine learning, crypto for sure as I have interest in digital currency and how it all works; as to where the world is heading with these things!
What kind of math background do you have?
It's interesting that neither beginners, nor the experts are fully equip to answer the questions. Beginners did not have enough exposure to different languages, and experts just don't remember what it's like to be in the beggining of the journey.
That said, I strongly recommend Python. The reasons are simple:
Python. It's growing like wildfire and is easy to learn.
I am a frontend developer and have been learning Javascript for the past 3 years.
As a community of coders that works as freelancers this question should have more context.
Do you want to became a Indie Hacker?
You just want to make scripts and automate some stuff?
Do you want to became a programmer working for a company?
You want to have a solid theoric backgroud in programming?
What type of programms do you want to build, web apps, desktop app, mobile apps, games, services?
All the anwers could result in diferent aproach to a programming language
If you want to became a Indie hacker, that means that you want codding apps by yourself, there are al lot sfuff to learn, not just programming itself. For example if you want to build a web app it is mandatory learn HTML, CSS and Javascript, plus a backend language, that could be Javascript itseflf, but there are a lot of options. You will need understand databases, design patters, etc.
After decide what kind of Job and app do you want, there is other considarations, I don't want overwelming you, but everything this is important.
After this long introduction a will share my opinion with you. I think that more than a language there are some abstract concepts that you should learn, and are language-independent:
You could learn almost every subject with the most populars programming languages: Python, Javascript, C#, Java, PHP, Go, Ruby, C++.
The order that I mention above is what I think is the most recommended language to learn as a first Language, I have had some contact or work with 6 of the 8 languages.
At the end I think you shoul Learn:
Python: Good syntax, readable, great community and a lot of aplications
Javascript: This languages has eat the world, I don't like it, but there is no option, it is mandatory.
C#: You could write web apps, mobile apps, desktop apps, games and services with C#, has a great IDE, very and solid good syntax, tons of documantation, etc.
The order of the three does'nt matters, and I bet it will be one of the options that almost every programmer tell you. So pick one, forget about everything and learning well. Not sure until now?, pick Python.
Indeed I want to land a programming job sooner than later, but I have interest in machine learning and crypto currency and the full understanding and where ever that knowledge may take me!
Web app/Mobile apps for sure!
So, there is no doubt about it, Python is the best option.
TL;DR: It doesn't matter. They're all highly similar. Once you learn one, you can pick another very quickly. Same with frameworks.
I started with JavaScript, then moved to PHP. I eventually gave Python a try a month ago, I picked it up within hours.
And I've been programming for only a year.
Now I use javascript for front end, PHP for back end and I use python for workers and automation.
If you want to be a senior programmer, don't do what I do.
But if you want to just crank out ideas quick & dirty to see if there's a demand, anything goes.
Depending on what you want to achieve I'd suggest two approaches:
I would recommend Golang for backend and TypeScript for frontend development.
Go is backed by Google and has a great documentation. Beside that, it also bring a good concurrency model. It's coming with a rich standard library and a good toolbox to support your SDLC.
TypeScript is supported by Microsoft and is very popular to develop Angular SPA. It's not limited to Angular usage, but can be apply to any JS type of projects. One of its strong suit is the fact that it's enforcing strong typing -- missing in JS -- and help you to identify error in your code early on.
Let me guess... you spend a lot of time working in Go and TypeScript.
A little more on Golang. But I have more experiences with Scala and Java.
JavaScript, php, python.
Pick whatever has the largest communities to get help and use open source code.
Source: am dev
This comment was deleted a year ago.
Ahaha, this is still indeed accurate!
This comment was deleted 3 years ago.
TypeScript is JavaScript. It just has some extra features, that you can use before your code is converted to JavaScript.
This comment was deleted 3 years ago.
That's true, but it also adds a lot of extra effort to learn and understand for new developers. It helps if you already know basic JS. So I'd say learn JS first.
This comment was deleted 3 years ago.
Indeed web is a piece of my interest, but I have a liking towards machine learning and the digital world of crypto as I know this is a long journey that maybe proceeds my mortality! What do you think would be the most beneficial to me as that is the route I have chosen to take!
Likewise!
This comment was deleted 3 years ago.