Discuss Scratch

dynamicsofscratch
Scratcher
1000+ posts

best programming languages for beginners?

Mr_rudy wrote:

(#2)
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 was gonna say the same
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
Scratcher
1000+ posts

best programming languages for beginners?

Redstone1080 wrote:

(#12)
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.
agreed
aspizu
Scratcher
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
Scratcher
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
Scratcher
500+ posts

best programming languages for beginners?

Hiitbox wrote:

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 lol
public class Main {
public static void main(String args);
System.out.println(“Hello world!”);
}
yeah so I wouldn't recommend Java or C++ or anything, but if you really want to feel free.
Python and JS would be best choice.
You can use trinket.io for Python its free and can be used on any device.
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:
void main() {
    System.out.println("Hello World");
}
See https://blog.jetbrains.com/idea/2024/02/helloworld-and-main-meet-minimalistic/, I read it recently. I like how it opens with quoting CS teachers: "Just ignore the terms class, public, static and args for now; we’ll talk about it later". I've never taken a programming class beyond when they taught us Scratch so I wouldn't know, but it seems funny. (I'm self-taught.)

aspizu wrote:

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.
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).

W1-F1 wrote:

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

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.

Last edited by ZZC12345 (March 15, 2024 13:30:07)

badatprogrammingibe
Scratcher
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.

ZZC12345 wrote:

Yeah, but I think starting with OOP as a mental model for programming is a more helpful building block than raw C.
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.
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
Scratcher
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
errplane
Scratcher
58 posts

best programming languages for beginners?

Mr_rudy wrote:

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
Scratcher
100+ posts

best programming languages for beginners?

errplane wrote:

Mr_rudy wrote:

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.
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 seconds
errplane
Scratcher
58 posts

best programming languages for beginners?

Mr_rudy wrote:

errplane wrote:

Mr_rudy wrote:

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.
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 seconds
bun.sh

it's also a runtime
n-clue
Scratcher
100+ posts

best programming languages for beginners?

python with pygame
javascript with p5.js or HTML canvas element
lua with love2d
leogames2016
Scratcher
500+ posts

best programming languages for beginners?

It's obvious!


Scratch!
NFlex23
Scratcher
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
Scratcher
100+ posts

best programming languages for beginners?

NFlex23 wrote:

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.
Yes, but types may be confusing to beginners
NFlex23
Scratcher
1000+ posts

best programming languages for beginners?

Mr_rudy wrote:

NFlex23 wrote:

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.
Yes, but types may be confusing to 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.
SpyCoderX
Scratcher
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)
Mr_rudy
Scratcher
100+ posts

best programming languages for beginners?

SpyCoderX wrote:

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)
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
ajskateboarder
Scratcher
1000+ posts

best programming languages for beginners?

Mr_rudy wrote:

NFlex23 wrote:

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.
Yes, but types may be confusing to 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 lot

Last edited by ajskateboarder (March 18, 2024 21:19:35)

ZZC12345
Scratcher
500+ posts

best programming languages for beginners?

ajskateboarder wrote:

Mr_rudy wrote:

NFlex23 wrote:

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.
Yes, but types may be confusing to 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 lot
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.

badatprogrammingibe wrote:

ZZC12345 wrote:

Yeah, but I think starting with OOP as a mental model for programming is a more helpful building block than raw C.
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.
Java also virtually requires an IDE because of how verbose it is, but even notepad's fine for C.
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.

badatprogrammingibe wrote:

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.
That was me 5 years ago Everything was objects, no classes, no types. I really regret starting with JS now.

Powered by DjangoBB