Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » best programming languages for beginners?
- dynamicsofscratch
-
1000+ posts
best programming languages for beginners?
(#2)i was gonna say the same
lua is really easy to learn, and its supposed to be embedded so its possible to use something like Fengari to execute Lua code inside a webiste
i love lua it is so easy
much easier than python
ayy king of the page
Last edited by dynamicsofscratch (March 14, 2024 16:19:58)
- dynamicsofscratch
-
1000+ posts
best programming languages for beginners?
(#12)agreed
i highly recommend learning what i call “the web languages” (html, css, js) if you want to muck around with scratch's code. you'll also be able to get into web development with this knowledge. i strongly suggest you start with those first. because then, if you find that you're not into frontend web development (basically the ui of the thing you're building), you could try node.js and you won't have to learn something again from scratch.
- aspizu
-
46 posts
best programming languages for beginners?
I'd say Python is a pretty good contender, but the syntax could be troublesome for some people. Javascript has the lowest barrier to entry as you can just hit Ctrl+Shift+K and start typing Javascript code. But actually, if you want to learn about the low-level inner workings of computers, then you can start with C first, then progress onto a high-level language. I've realized I've come to appreciate high-level languages more because of C.
- Mr_rudy
-
100+ posts
best programming languages for beginners?
if you do use python, I recommended learning Flask or DJango since it looks like you want to do web development
- ZZC12345
-
500+ posts
best programming languages for beginners?
I wouldn't say Java is complex, more so that it forces you to do OOP (which I now understand is a good thing, but not for beginners). And actually, starting with Java 21, you can do this instead for the Hello World program: Python and JavaScript would be probably the best ones to learn. Haven't used Lua before, can't give me opinion on that. HTML if you'd like but honestly its not worth it. I'm learning Java, wouldn't recommend because its pretty complex. here's what it's hello world is lolpublic class Main {yeah so I wouldn't recommend Java or C++ or anything, but if you really want to feel free.
public static void main(String args);
System.out.println(“Hello world!”);
}
Python and JS would be best choice.
You can use trinket.io for Python its free and can be used on any device.
void main() { System.out.println("Hello World"); }
Python is a pretty good contender, but the syntax could be troublesome for some people. Javascript has the lowest barrier to entry as you can just hit Ctrl+Shift+K and start typing Javascript code. But actually, if you want to learn about the low-level inner workings of computers, then you can start with C first, then progress onto a high-level language. I've realized I've come to appreciate high-level languages more because of C.Yeah, but I think starting with OOP as a mental model for programming is a more helpful building block than raw C. Also, while it's nice everyone with a web browser has a JavaScript implementation downloaded already, note that on Windows, Python is really easy to download via the Microsoft Store as well (no installers/CLI to fiddle around with if you start with IDLE). I'd say
What I tell other people when I teach programming at school (unofficially) is that “Python is the language to use when you care more about *what* you're making then *how* you're making it or how fast it will run.” So yeah, good for beginners. I recommend Python.
I'm learning python myself, its an easy but also advanced programming language.
I put it on hold though, since I'm learning PHP/SQL for a project
Last edited by ZZC12345 (March 15, 2024 13:30:07)
- badatprogrammingibe
-
500+ posts
best programming languages for beginners?
Scheme, the only problem is that it isn't imperative, which your first language should be. Common Lisp might work if you consider the beginner learning only a subset of the language, learning everything about Common Lisp is too intimidating for a first language, and the scheme spec is under 100 pages, and literally 50 for R5RS, which is perfectly manageable for a beginner to learn.
Outside of that, probably C? There's not much that you have to learn to get things to work. No OOP, no strange syntax (outside of assignment), not much strange behaviour.
Java also virtually requires an IDE because of how verbose it is, but even notepad's fine for C.
While JavaScript and Python are OOP, I was under the impression that beginners didn't use OOP in these languages at all until they already had a good grasp of the language minus OOP, so I don't think they really count as OOP for this discussion.
Outside of that, probably C? There's not much that you have to learn to get things to work. No OOP, no strange syntax (outside of assignment), not much strange behaviour.
Disagree heavily, raw C just works, but learning Java requires you to know all the OOP concepts, plus keep in mind arcane stuff like the relation between objects, references, and values (this really tripped me up when I started with Java—and a lot of other people, just google “pass by reference java”). The only benefits I can see of Java over C for a new programmer are GUIs being simpler and garbage collection. But programmers definitely shouldn't start off with GUIs. Yeah, but I think starting with OOP as a mental model for programming is a more helpful building block than raw C.
Java also virtually requires an IDE because of how verbose it is, but even notepad's fine for C.
While JavaScript and Python are OOP, I was under the impression that beginners didn't use OOP in these languages at all until they already had a good grasp of the language minus OOP, so I don't think they really count as OOP for this discussion.
Last edited by badatprogrammingibe (March 16, 2024 20:47:52)
- Mr_rudy
-
100+ posts
best programming languages for beginners?
If you want to learn game development try learning some of these:
C#
Lua
GDScript (used in godot)
C/C++ (don't start with this, it is a very difficult language)
If you want to learn data management try:
Python
Lua
Java
If you want to make a website try:
Python
JavaScript and HTML
Node.js (not a language, just makes JavaScript a lot more powerful)
SvelteKit (or any other framework)
also if you use node.js you really shouldn't use the default node package manager, pnpm or yarn is much better
C#
Lua
GDScript (used in godot)
C/C++ (don't start with this, it is a very difficult language)
If you want to learn data management try:
Python
Lua
Java
If you want to make a website try:
Python
JavaScript and HTML
Node.js (not a language, just makes JavaScript a lot more powerful)
SvelteKit (or any other framework)
also if you use node.js you really shouldn't use the default node package manager, pnpm or yarn is much better
- errplane
-
58 posts
best programming languages for beginners?
also if you use node.js you really shouldn't use the default node package manager, pnpm or yarn is much better
bun is better than pnpm and yarn.
- Mr_rudy
-
100+ posts
best programming languages for beginners?
huh, never heard of bun, i personally use pnpm because it can download all the dependencies on a project that has a ton in just 4 secondsalso if you use node.js you really shouldn't use the default node package manager, pnpm or yarn is much better
bun is better than pnpm and yarn.
- errplane
-
58 posts
best programming languages for beginners?
bun.shhuh, never heard of bun, i personally use pnpm because it can download all the dependencies on a project that has a ton in just 4 secondsalso if you use node.js you really shouldn't use the default node package manager, pnpm or yarn is much better
bun is better than pnpm and yarn.
it's also a runtime
- n-clue
-
100+ posts
best programming languages for beginners?
python with pygame
javascript with p5.js or HTML canvas element
lua with love2d
javascript with p5.js or HTML canvas element
lua with love2d
- NFlex23
-
1000+ posts
best programming languages for beginners?
I think Go would be a great language for a beginner to learn. It is very simple, is statically typed with a nice type system, and has good concurrency features.
- Mr_rudy
-
100+ posts
best programming languages for beginners?
Yes, but types may be confusing to beginners I think Go would be a great language for a beginner to learn. It is very simple, is statically typed with a nice type system, and has good concurrency features.
- NFlex23
-
1000+ posts
best programming languages for beginners?
Maybe confusing, but I think in the end they are more of a benefit than a detriment when first learning a language. Types can help prevent common mistakes that beginners make in dynamically typed languages.Yes, but types may be confusing to beginners I think Go would be a great language for a beginner to learn. It is very simple, is statically typed with a nice type system, and has good concurrency features.
- SpyCoderX
-
1000+ posts
best programming languages for beginners?
From what I know:
Game dev
Python + pygame (Simple, easy to use, requires some OOP knowledge)
C# + Unity (Complex, requires OOP and object type knowledge)
Lua + Roblox (Simple, requires some knowledge of object types)
Web Design
HTML (Basic knowledge for any website)
CSS (Also basic knowledge)
JS (Very useful, but can become very complex)
SQL (Simple, requires knowledge of how a database works)
Application development
Python + PyQt6 (Complex, requires knowledge of OOP. There aren't many tutorials for this.)
C# + Unity (Complex, more difficult than a game because Unity was designed for games, knowledge of OOP and object types)
C/C++ (Complex, idk much about it)
Game dev
Python + pygame (Simple, easy to use, requires some OOP knowledge)
C# + Unity (Complex, requires OOP and object type knowledge)
Lua + Roblox (Simple, requires some knowledge of object types)
Web Design
HTML (Basic knowledge for any website)
CSS (Also basic knowledge)
JS (Very useful, but can become very complex)
SQL (Simple, requires knowledge of how a database works)
Application development
Python + PyQt6 (Complex, requires knowledge of OOP. There aren't many tutorials for this.)
C# + Unity (Complex, more difficult than a game because Unity was designed for games, knowledge of OOP and object types)
C/C++ (Complex, idk much about it)
- Mr_rudy
-
100+ posts
best programming languages for beginners?
i would not recommended python for video games, it is very slow, i would rather use GDScript which is like python but for the godot game engine, and its pretty fast From what I know:
Game dev
Python + pygame (Simple, easy to use, requires some OOP knowledge)
C# + Unity (Complex, requires OOP and object type knowledge)
Lua + Roblox (Simple, requires some knowledge of object types)
Web Design
HTML (Basic knowledge for any website)
CSS (Also basic knowledge)
JS (Very useful, but can become very complex)
SQL (Simple, requires knowledge of how a database works)
Application development
Python + PyQt6 (Complex, requires knowledge of OOP. There aren't many tutorials for this.)
C# + Unity (Complex, more difficult than a game because Unity was designed for games, knowledge of OOP and object types)
C/C++ (Complex, idk much about it)
- ajskateboarder
-
1000+ posts
best programming languages for beginners?
Types exist in many languages - not learning them initially makes it harder to learn other languages. Not gonna lie though, the syntax for Go channels confused me a lotYes, but types may be confusing to beginners I think Go would be a great language for a beginner to learn. It is very simple, is statically typed with a nice type system, and has good concurrency features.
Last edited by ajskateboarder (March 18, 2024 21:19:35)
- ZZC12345
-
500+ posts
best programming languages for beginners?
Are channels built in to the language and not provided via the standard library? I recall hearing Go's thread-safety mantra was messaging over shared memory but I didn't know it was embedded that deep.Types exist in many languages - not learning them initially makes it harder to learn other languages. Not gonna lie though, the syntax for Go channels confused me a lotYes, but types may be confusing to beginners I think Go would be a great language for a beginner to learn. It is very simple, is statically typed with a nice type system, and has good concurrency features.
That “reference” stuff in higher-level languages makes no sense to me – I have to keep googling “python pass by reference” whenever I'm forced to use Python. It makes complete sense in lower-level languages, though. Also, I don't really like Java either. If you're writing simple programs, you don't *need* a garbage collector since you're not really putting anything on the heap anyways.Disagree heavily, raw C just works, but learning Java requires you to know all the OOP concepts, plus keep in mind arcane stuff like the relation between objects, references, and values (this really tripped me up when I started with Java—and a lot of other people, just google “pass by reference java”). The only benefits I can see of Java over C for a new programmer are GUIs being simpler and garbage collection. But programmers definitely shouldn't start off with GUIs. Yeah, but I think starting with OOP as a mental model for programming is a more helpful building block than raw C.
Java also virtually requires an IDE because of how verbose it is, but even notepad's fine for C.
That was me 5 years ago While JavaScript and Python are OOP, I was under the impression that beginners didn't use OOP in these languages at all until they already had a good grasp of the language minus OOP, so I don't think they really count as OOP for this discussion.

- Discussion Forums
- » Advanced Topics
-
» best programming languages for beginners?