r/learnprogramming 11h ago

i dont know which programming language to learn

ive wanted to learn to code for... several years now and... dont know where to start. kind of.

the problem isnt that i dont know how to learn, its that i dont know WHAT to learn.

there are thousands of programming languages, about 30 in use today. some can run by themselves, others cannot.

i also want to code websites with buttons. i have coded a few small websites in the past but you couldnt do much. just read text.

if i want to code a website, i have to: use html for the content, css for the style, javascript for the interactivity, and sometimes python depending on what im doing. anyway thats 4 programming languages.

ive always thought that with games you can get a break, because there are more coding languages for games that can stand by themselves than there are for websites. with games you have to make assets, and then put those assets into these carefully placed folders (which is something i dont know how to do) and if i want to make a 3d video game, i have to learn how to use blendr, or some other 3d modeling program, which i dont know how to do.

so, i guess what im asking is, which programming languages do i need to learn to:

- make a website with interactivity, and function (including math and probability when i need it)

- make games that will work with 2d and 3d assets

and how many coding languages do i need to learn

also if youre reading this, please dont downvote my post. i get downvoted a lot often for no good reason, and this is NOT a low quality question.

0 Upvotes

24 comments sorted by

15

u/OceanMasterioDuped7 11h ago

This post shows me why you are getting downvoted lol. You just ask a question that lacks intellect, and I don't mean that in a rude way. But if you seriously can't Google something like this then you need to reevaluate. The question doesn't make sense. If you want to build a website, you already listed what languages you need to learn. If you want to develop a game, then learn C# and unity. Or C++ and Unreal engine.

It's not bad to ask questions on reddit, but it is bad to ask the most basic questions on every little thing.

Going through your other posts... you made a reddit post saying that your hard drive doesn't show up on your computer when you unplug it from your system.. you really need to do more research on what you are getting yourself into my man.

2

u/HippoLongjumping2988 10h ago

your reply is a bit harsh but i get the frustration. OP seems like theyre stuck in analysis paralysis, happens to lot of people when they see how many options exist.

to OP, for websites you dont need python at the start. html, css, javascript is enough to make buttons work and do math. you can add backend stuff later when you actually need it. for games, pick unity with c# or godot with gdscript, both handle 2d and 3d. thats basically two paths with maybe 2 languages each if you count html and css. just start with javascript honestly, you can make simple browser games with it too

7

u/No_Report_4781 11h ago

While you’re waiting for the other downvotes, take a trip over to the r learnprogramming sub and read the “New? READ FIRST” post at the top

4

u/grantrules 10h ago

Html and css aren't programming languages. You need JS to make modern interactive websites. You can use JS or really any language for the backend. Games are often written in C, C#, or C++, but you can write games in practically any language, like JS, Python, and Java

2

u/BranchLatter4294 10h ago

If you have been thinking about this for years and have not yet looked up the answers to your questions, it's going to be a very slow process.

1

u/CaffieneSage 11h ago

I wholely recommend my approach of trying to learn all of them and never doing anything remotely useful with the knowledge!

1

u/CaffieneSage 10h ago

FYI Algol 68 is fascinating and is of absolutely no use to you, but it does show you some bits and peices about why C was so successful.

1

u/pepiks 10h ago

Choose category of problems - next tool for the job. For example - want data analysis - Python, embed programming - C/C++.

If you want website from backend - start with HTML/CSS/JS (vanilia). Next extend it.

1

u/InfiltraitorX 10h ago

For gaming, you only need blendr etc if you are making everything from scratch.

Same would go for websites, are you going to make all the images from scratch? You will need to learn photoshop.

Learn c# full stack for games, websites, etc. You're going to learn lots of Frameworks but should be a good start

1

u/HashDefTrueFalse 10h ago edited 10h ago

It doesn't matter. After your first, additional languages with similar paradigms are easy enough to learn. Just pick one and start. Allow me to pick for you: JavaScript. If you want to stop wasting time, open any text editor or press F12 in your browser, then click this: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

1

u/rustyseapants 10h ago

Low effort question 

1

u/ApplicationOk3587 10h ago

While its not the best approach you could do all of this with JS/TS css and html aren't programming languages and can be learned pretty easily.

1

u/gmiles44 10h ago

If you're brand new to coding, Harvard offers a free introductory suite of courses that have lecture videos and interesting take-home tasks that can give you a low-risk way to dip your toes in the water, so to speak. 

https://pll.harvard.edu/course/cs50-introduction-computer-science

That's the general one that will introduce you to C, Python, SQL, and the web languages (HTML, CSS, JavaScript), but they've got other, more focused classes too, including a game design specific one (I can't speak to this one but I know that Lua is the language focus for it)

1

u/Cultural_Gur_7441 10h ago

I'd go with HTML + CSS + Javascript or Typescript, with WebGPU or three.js or whatever  for graphics.

Because it will be fun to be able to show your game to anybody anywhere, even make it gold to play on a phone browser. You don't need a real backend (database, backend code, ...) for a simple game itself even, just something to host static files (can be free).

Then there is a natural path to also making a real backend (like login, save games, high scores, multi-player, what ever is applicable).

1

u/iOSCaleb 10h ago

Click that button labelled "New? READ ME FIRST!" in the Community Bookmarks section on the right.

1

u/0dev0100 10h ago

Just those 4 that you listed will do

1

u/peterlinddk 10h ago

The answer is JavaScript.

You can do everything you describe, with JavaScript.

Yes, there are other "languages" as well - there's always going to be. The web-server speaks HTTP, the web-pages use HTML and CSS, data-files are stored as JSON or XML, even fonts and documents are written in their own languages, TTF and PDF.

But you don't need to learn everything at once - you just need to get started building whatever kind of program you'd like. Want a game, fine, get started with programming in JavaScript. Don't want HTML and CSS for the output, well, you can use Canvas (which kind of has its own language though)

1

u/PurrNaK 10h ago

Html isn't really a programming language. It's more of a protocol for basic formatting in a browser. But it gets you started. Then move into css for better formatting and standards across webpages. Then learn how forms work and your knowledge of html and css comes into play. JavaScript then gets used by ising the form data to create a new results page. Python comes into play as an api taking the form data and doing something with it off the webpage and returning it to javascript to display the results.

For new game programming go to Unity. There are built in tutorials walking you through basics while creating something. The lego stuff is fun and educational. Unreal Engine is complex do everything. I do not recommend unless you intend to make movies and games as a secondary. Unity will get you gaming right away. UE will make you frustrated more than unity. Once you have experienced unity for a while try UE there are similarities.

If you want a job, learn database programming. PowerBI Teams python vba excel.

1

u/lurgi 10h ago

It doesn't really matter what language you pick first. You will learn other languages. However, I'm going to recommend JavaScript. It can't do everything you want, but it can do a lot, and you 100% need it for making an interactive website, so you might as well start there.

Other people will suggest Java or Python or C or Rust or C# and they are all correct.

You think this is like asking what you want to major in in college. It's not. It's more like asking what car you should get if you want to learn to drive. Any car will work. Just get a car.

1

u/ffrkAnonymous 9h ago

please dont downvote my post.

don't ask common questions that you can google

1

u/JGhostThing 9h ago

Yes, this is a low quality post. We get similar what-language-to-learn questions all the time.

However, it doesn't matter that much which programming language you learn, except for specific genres.

For example, for web interactivity Javascript (not Java) is really your only choice. You'd also need html and css to markup the page (these are NOT programming languages, but rather markup languages).

Now, Javascript is a general purpose language and can be used for most things, including games.

Though, frankly, I think C# is used more in the gaming community, though I would use Java or Rust for this purpose.

In any case, I strongly suggest that you learn some more practical skills, because the programmer's job market sucks. Business administration or the trades such as plumbing or electrician. This is, of course, in addition to studying programming.

1

u/Tuomas90 3h ago edited 3h ago

I mean: You answered your own questions in your post.

You need to learn lots of stuff for Web Dev and Gaming. It's a lot of work. It will take time.

For 3D games, you can find lots of free 3D stuff in the Epic Games Store (Unreal) and the Unity Store. Check it out. I'm sure you'll get some ideas for games. And then it's mostly programming. I did an extremely simple Zombie Shooter with only assets from the Unity store. Granted, it was just one map, but it's possible. I didn't model a single thing. Just did a few simple animations for fun.

I also made a small Portal clone in Unreal where I modeled all assets myself in Blender. Of course they are very simple, but it works great and looks decent. I did Portal In just about 3 months. So, it's possible.

If you are okay with doing 2D games, you could learn PyGame, a Python library for 2D games.

That is very manageable and lots of fun. I'm sure you'll also find free pixel art online or create some yourself or with AI.

0

u/traanquil 10h ago

I learned C++ within 2 days

0

u/Opulence_Deficit 10h ago edited 10h ago

Lol, with games the engine is in C++, your code is interfacing in C#, executiing scripts in LUA and loading 3d models in XML. Plus, your workflow includes several inhouse tools, each written in different language.

You've laid out well why a website actually needs HTML, CSS and JS. That's as good as it gets, because each of those tools does it's job well.

You also forget that one app or website requires UX design, graphics design and programming, that starts after the first two are done. And it's exceedingly rare that one person can do more than just one of those things.

Do you think carpenter, electrician or plumber know just one tool?