How did you choose programming language?
Posted by summonthejson@reddit | learnprogramming | View on Reddit | 57 comments
There's so many programming languages. It makes it hard to choose the first one. What was your approach to choose the first programming language to learn?
kirstynloftus@reddit
Started with Python because it was required my first year (stats major), then went to R as most of my classes used it. I know a little HTML/CSS too, basic stuff really, wanted to make a web app with user interface so I learned what I needed to
uceenk@reddit
i mostly choose language that are popular or available immediately in front of me
my dad own book on Basic, i was so fascinated by it, i read multiple times
i even attempted to write the code on paper since we didn't have PC yet
once i got computer, my dad introduced me to pascal (only give me floppy disk that he brought from his office)
bought a book and playing with it
on this moment i decided want to be a coder
when GUI application got more popular, i want to build something, bookstrore clerk recommend me to Delphi and Visual Basic, i bought both
i feel VB is more easier, so i learned that and ditched Delphi
i wanted to go uni on cs major, sadly my dad got fired, he couldn't afford uni, so i went to 1 year course instead and learned web development
learned html, javascript, PHP, Oracle, Mysql, ASP.net (including C#.net)
love both PHP and C# equally, after graduation i applied job several times and got a job on small software house
they mainly use PHP, so i use PHP more
one day my boss brought couple of books like python, ruby, objective-c, J2ME
we were told to read it and pick 1 technology and spend at least 1 hour everyday to learn it
i picked ruby and eventually learned Ruby on Rails, wow the syntax feel so cool, i told my boss that ruby is so much better than PHP, more faster to develop etc etc
couple weeks later he brought a ruby project and told me and my friend to work on it, so i switched completely from PHP to Ruby
in this company i eventually become lead developer, taught many new recruits ruby
after spent 3 years, i quit and become self-employed
during this time i played with golang, erlang, objective-c, but never go deep only learned on surface level
at 2018, i burned out, i no longer have motivation to learn new programming language anymore
so since then, i only stick with Ruby
these day, i want learn more about AI development (python), rust and flutter, but it's so hard to step aside time, just don't have energy anymore, my main job already drained me
Quokax@reddit
I didn’t choose my first language, my computer science teacher did. The first language I learned on my own was Swift and it’s still one of my favorites. I like it because you can use emojis in your code.
zipqt@reddit
I learned Java because a friend recommended it. Not a bad first language. I would go with either Python (simplicity, widely used) or C# (very good for learning OOP, also widely used) for a first language. The language you pick first doesn't matter as much as it may seem, so just pick up and get to learning!
TallGirlKT@reddit
I started from low to high level: Assembly, C, C++, Java, C#
Many-Resource-5334@reddit
I will always find people starting with ASM impressive. How do you have that much determination?
Maui-The-Magificent@reddit
I am not saying this in an attempt to dismiss assembly an not impressive, it is. But something I don't like is that people seem afraid or look at assembly languages as something where understanding is unattainable to all, except for a select few.
the lower level programming you do the simpler it becomes. Computers do very simple things, its just that they do a lot of them very quickly. Assembly is one level of abstraction above machine code and uses a lot of bit manipulation. Bit-wise operations are very simple to understand, and you get to decide what the bits mean.
Having said that, some assembly languages are harder than others and don't mistake simplicity for being easy.
TallGirlKT@reddit
It helps you understand memory allocation, pointers and how to control hardware peripherals and write drivers. If you don't care about any of that, then start with a higher level language.
TheeManhole@reddit
I think going from high to low level would be much easier and natural
HawH2@reddit
bs advice a beginner has no need to learn assembly
StructureLegitimate7@reddit
I recommend c. It’s the easiest to learn.
steveplaysguitar@reddit
For my first degree in automation engineering I learned C++ and PLC ladder logic. It was what was required of me.
Now I'm majoring in data science for degree 2 and fairly solid at python. I genuinely love doing machine learning and working with data. I'm a finance geek so during the winter break I started coding my own financial programs for trading lol.
Wooden_Philosophy396@reddit
Start with Python or Java both are relatively easy for beginners (Python is the easiest to comprehend imo). Then work to other languages, just pick up a language and then try to learn others, doesn’t matter that much what to choose.
blight231@reddit
Just pick one.
I would do python to start. Then move to a more low level language with a compiler like C++
Maui-The-Magificent@reddit
The first language i chose to learn myself was Rust. C# was my first language, but it was "forced" upon me.
LowProfile404@reddit
I learn the one my school was teaching lol. It was Java.
KarlJay001@reddit
this
Rockarmy321@reddit
Did that for the exact same language and now i don't remember a single bit of it
SmallPlayz@reddit
Probably for the best.
NewPointOfView@reddit
same language for the same reason haha
freakytapir@reddit
The one the school made us learn?
ackley14@reddit
learn something. ideally something that is easy enough to develop a working idea without much else (i.e. don't get something that needs complex compilation or setup). just to start. get your feet wet. learn the way problem solving works. pick something object oriented. i chose javascript because it was really really easy to pop it inside of html and run it on a web browser. literally stupid easy. i also learned powershell script because again i could literally just pop it into powershell and do some basic file manipulation.
and remember, this is so important to remember. focus not on learning the language, but rather learning to learn. what i mean by this is, don't just google the answer. google ideas around the answer. google adjacent to your goal and fill in the gaps. then google adjacent to adjacent answers and fill in the gaps further. google concepts, google broad scope solutions. and adapt these things into whichever language you're working in. the better you get at reading a solution in any language, and casting it to yours, the more useful the internet will be to you. and the easier a time you'll have adapting to new languages.
babypho@reddit
"We use this at this company"
"Ok"
RajjSinghh@reddit
I started with Python because my school taught it. Then I moved to JavaScript because it was popular. Then I went to university, did more Python, Javascript, then started C, Haskell and C# because my university taught it. Then my final year project I needed performance but something more ergonomic than C, so I chose C++ for performance and the STL. Then I tried Rust because it was popular but didn't like it.
TrenaissanceMan@reddit
C++, C#, Javascript are all good to learn and sorta similar.
cguti94@reddit
Trial and error. I am completely new to programming and started learning C++, Python, Go, OCaml, looked into Zig, and Rust. (Not at the same time) Something clicked with Rust and I enjoy learning it.
Putnam3145@reddit
I used what I needed to do what I wanted to do. It was Lua. Very little about its design has helped me in what I actually do. Your first language doesn't really matter.
baileyarzate@reddit
Become very proficient one of them (C++), then all other languages is just learning the syntax and how it’s different than your initial learned language. As you scale, you can start to see the benefits / weaknesses of each language.
NothingWasDelivered@reddit
Just find whatever Learn To Program curriculum you like (whether it’s formal or video courses or whatever) and go with what they teach. The concepts will all translate to pretty well through most modern programming language.
Mahjongasaur@reddit
Years ago, my brother said “I’m building this website, but I only want to do the backend. Learn JavaScript while building the frontend for me, thanks”
And learn it I did. Still love JavaScript. And then he said “I want to make a game in Unity, so learn C#”. Turns out, I also love C#.
Moral of the story, any language is good. Decide what you want to make, pick a language well-suited for it, and go for it
Dpope32@reddit
Data/AI/ML: Python Web: TypeScript/JavaScript Mobile: React Native (primarily TypeScript) Low-Level Control/System: Rust Job Market: C++, C#, .NET
Also, there’s much more to programming than just languages. Framework driven development is a mindset not a skillset
Tasty-Chipmunk3282@reddit
Tcl/Tk might seem a bit out of fashion, but it lets you build graphic programs in no time
FornPreakzZz@reddit
I am currently doing a retraining to become a developer. In school we learnt the absolute basics in C#, Java, Python and JS.
In the company where I am doing my mandatory internship, they first gave me a Udemy java course to complete, and now I am programming my Project for my exam in C#. So I am proficient in both java and C# but the decision was because I needed to learn them for my company, but I would probably gone with C# myself, as Microsoft has a very good learning platform that you can use completely for free.
TCB13sQuotes@reddit
This is 2025, pick JavaScript/TypeScript. Everything else will, eventually, fade away.
dzpoa@reddit
Web, PHP, 20+ years ago
h4570@reddit
I personally wanted to do something specific. There were many tutorials in VB.NET in this topic and just tried.
SheebaSheeba5@reddit
School or work goals. What do you want to achieve or make?
Aglet_Green@reddit
I really had no choice in the matter. My computer only had Commodore BASIC on it. Well, PET BASIC or whatever it was officially called.
Mediocre-Gazelle-400@reddit
Decide what you want to develop, then find out what program languages will be best suited for your goals.
Strange_Space_7458@reddit
I went to college for a CS degree and took the classes as they came.
zxcvbnm9174@reddit
python choose me
ovjrehfw@reddit
I learned C because I thought it would teach me some basic concepts. It was cool. Then I went to Python for leetcodes/codeforces, then C++. I like C++. I want to learn C# now.
JimmDunn@reddit
which companies have money to pay me? the ones using microsoft.
ReverendRocky@reddit
I picked python because its easy for begonners and lots of training materials for it.
Now i prefer doing stuffs in javascript mostly ngl
supercoach@reddit
JavaScript or typescript?
ffrkAnonymous@reddit
Choose? We had fortran and c. Some weirdos learned pascal.
dudeman618@reddit
Are you in school or at a job? Find out what is the common language most people are using, this will help for sharing knowledge. You need to learn concepts and functions, most functionalities have similar concepts across different languages, so once you learn how to break down concepts you can translate into a new language. I'm a data guy, so SQL is my go-to. Learning an object oriented language would be great, most everything is at this point, but I'm old enough to have converted from scripted to object oriented language, it's a different way of thinking. Find a business group or online group where you can share knowledge, practice presenting your projects and communicating with others, this is always a good skill for anything you do.
rawcane@reddit
Started with Basic, learned a bit of C in a course, got introduced to Perl through my first job which to me was just like C on steroids (or maybe acid) and used that for years. Spent a long time not coding because manager then recently started learning Dart because I wanted to make a mobile app and Flutter seemed like the best option. Oh and did a bit of Python along the way but it annoyed me because of the whitespace thing and the fact it was just less useful than Perl.
dboyes99@reddit
Look at the problem first. What characteristics does it need? Once you know that, language choice is obvious.
Super_Letterhead381@reddit
Python because I'm interested in data (it's linked to my interest in libraries).
Aztarium@reddit
Started with C# Windows forms on a highschool course (game programming- technician), it wasn't difficult for me and I was able to transfer that knowledge easily to other languages. Last year (2024) I taught python to highschool/technicians also and it was awesome.
My suggestion would be to start with python, grab some book: AI's automate boring stuff, or think python, or python crash course: a hands on introduction (my personal favorite) and start building, just go for it!
Beregolas@reddit
I started with what my university gave me. The language you start in doesn’t really matter in reality. Some make grasping certain concepts a little easier, but in the big picture, it’s like the difference between picking up a cordless or a corded drill first.
melody_melon23@reddit
Assembly, C++, Java, and Python
AbdErahman_007@reddit
I think programming language is just a tool, choose the most useful tool for your needs, if you don’t know what field you are interested in just follow any readmap or program like CS50
EtTruciMesorem@reddit
I started with something easy like python, then moved to C to learn more about how to mess with memory and build up my knowledge and understanding to help me with high level OOP, then assembly because it interested me. Finally did Java. Think I’m gonna master python fully tho, and then maybe get my hands wet with C++
ern0plus4@reddit
Started with Assembly (6502, later 68000 and 8086) and programmable calculators (TI-59 and similar), so I know not only how computers work, but I appreciate confortable high-level languages, smart editors etc.
I started programming with Basic, later MUMPS, then Pascal and C, and it was a joy to able to "expand" the language with my own "instruction" (functions). Then learned Java and OOP, it helps to build complex systems - don't believe to OOP haters, it's a logical step forward, although, it's easy to overengineering things.
Recently I'm learning Rust, which have a bit less OOP, which is cool, and provides lot of goodness. If you know the low level, you'll love Rust.
newodahs@reddit
Professionally, I went low to high here. Assembler (x86 and Motorola 68000), C/C++, Java, Perl, PHP, Python, Golang
All out of necessity of work; there are a smattering of others from hobbies, but didn't really count those much these days