Discuss Scratch

ninjaMAR
Scratcher
1000+ posts

what should i learn after scratch?

The question is what do you want to do next? What type of project do you want to make? There is no right answer of what kind of programming language you should learn.
jale3ms
Scratcher
100+ posts

what should i learn after scratch?

8to16 wrote:

BigNate469 wrote:

That depends entirely on what you want to do.
idk what i want to do
haven't decided

maybe i need a generic language? python is TOO easy

Java/javascript/HTML is fun if you like Website making
EDIT: C/C+ are both fun for text based games

Last edited by jale3ms (Oct. 1, 2024 20:49:58)

BigNate469
Scratcher
1000+ posts

what should i learn after scratch?

jale3ms wrote:

8to16 wrote:

BigNate469 wrote:

That depends entirely on what you want to do.
idk what i want to do
haven't decided

maybe i need a generic language? python is TOO easy

Java/javascript/HTML is fun if you like Website making
EDIT: C/C+ are both fun for text based games
Java and JavaScript are not the same thing.

Browsers dropped support for Java years ago; meanwhile, JavaScript continues to be regularly used on the web and gets faster and more features all the time.

Java is primarily used for app development (notably Minecraft Java Edition uses it), and all (native) Android apps are programmed in Java.
Maximouse
Scratcher
1000+ posts

what should i learn after scratch?

BigNate469 wrote:

all (native) Android apps are programmed in Java.
Or another language that compiles to JVM, such as Kotlin.
8to16
Scratcher
1000+ posts

what should i learn after scratch?

Maximouse wrote:

(#24)
Or another language that compiles to JVM, such as Kotlin.
or rust if i remember correctly (even though it doesn't compile to JVM)

Last edited by 8to16 (Oct. 2, 2024 10:13:26)

MineTurte
Scratcher
500+ posts

what should i learn after scratch?

blubby4 wrote:

Lua is rather similar to JS, and has more beginner-friendly features:
if foo then
    ...
end
as opposed to
if (foo) {
    ...
}
and 1-indexed tables.

It's also very fast thanks to LuaJIT, and supports more complex stuff for experts (metatables)

Edit: Not to mention PICO-8, which is a pretty good step up from scratch, uses Lua for scripting.
Lua is more similar to python than JS btw.

Anyways to help to the entire topic I'll list out some programming languages I believe are best to know and their uses (most likely repeated of what others said but just compiled into one post)

Javascript/HTML & CSS
JS can be used by itself as in you can learn JavaScript and make websites with just it (technically). You can edit and create elements in HTML/CSS using JS fairly easily once you understand it. Now for optimal usage you will want to pair it with HTML and CSS both which are impossibly easy to learn and the only real learning factor is just remembering different types of elements and how to properly style them / nest them.

Python
Python is a fairly universal language but for obvious reasons cannot be used to make websites nor really anything with actual graphics by itself. Now with the help of libraries you can but learning how to use a library is nearly as hard as learning an entirely new language especially if it's a massive library with tons of uses. I do not know of any library for website making as that would be wildly inefficient unless we are talking about backend web development in which case python is a major language for that. As for game making, the best library I could find is PyGame. Fairly big library but has pretty decent documents for getting people started. I myself never really got into game making with python as website game development is much better if you aren't using something like Unity (which python isn't widely accepted with unity).

Lua
Lua by itself is not very useful as it is basically just an addition to C. Nevertheless there are many major game creating software's and games themselves that use Lua. Such as Roblox. Roblox studio uses Lua. Another is Unity. Lua and C are the 2 main programming languages in Unity. Other than that I don't have much info on Lua as I rarely use it but I still know enough to provide some info.

Please if any of this information is incorrect or irrelevant someone tell me. Other than that hope this helps out!

Last edited by MineTurte (Oct. 2, 2024 14:21:25)

ninjaMAR
Scratcher
1000+ posts

what should i learn after scratch?

MineTurte wrote:

(#26)
Python is a fairly universal language but for obvious reasons cannot be used to make websites nor really anything with actual graphics by itself. Now with the help of libraries you can but learning how to use a library is nearly as hard as learning an entirely new language especially if it's a massive library with tons of uses. I do not know of any library for website making as that would be wildly inefficient unless we are talking about backend web development in which case python is a major language for that. As for game making, the best library I could find is PyGame. Fairly big library but has pretty decent documents for getting people started. I myself never really got into game making with python as website game development is much better if you aren't using something like Unity (which python isn't widely accepted with unity).
You can use python as a web server via django or flask.
TheSecondGilbert
Scratcher
100+ posts

what should i learn after scratch?

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
MineTurte
Scratcher
500+ posts

what should i learn after scratch?

TheSecondGilbert wrote:

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
That is what most people do to extend their field in programming (more jobs: more cash: happy life)
BigNate469
Scratcher
1000+ posts

what should i learn after scratch?

TheSecondGilbert wrote:

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
It takes a long time to truly learn a text-based language. For example, I've been learning JavaScript for 2.5 years. I still don't know all of it or its quirks and built-in methods.
8to16
Scratcher
1000+ posts

what should i learn after scratch?

hmm this topic has probably evolved into a full-on discussion
Maximouse
Scratcher
1000+ posts

what should i learn after scratch?

BigNate469 wrote:

TheSecondGilbert wrote:

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
It takes a long time to truly learn a text-based language. For example, I've been learning JavaScript for 2.5 years. I still don't know all of it or its quirks and built-in methods.
I don't think that's a problem – you don't have to be perfect at one language before you start learning another.
BigNate469
Scratcher
1000+ posts

what should i learn after scratch?

Maximouse wrote:

BigNate469 wrote:

TheSecondGilbert wrote:

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
It takes a long time to truly learn a text-based language. For example, I've been learning JavaScript for 2.5 years. I still don't know all of it or its quirks and built-in methods.
I don't think that's a problem – you don't have to be perfect at one language before you start learning another.
Yes, but it will take a long time to learn all of the ones mentioned here, and it's probably not best to be actively learning multiple languages at the same time, because you might confuse things like syntax and built-in APIs.
ninjaMAR
Scratcher
1000+ posts

what should i learn after scratch?

TheSecondGilbert wrote:

(#28)
With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
Easily the best solution here. If you know every programming language, just write polyglot code!
gilbert_given_189
Scratcher
1000+ posts

what should i learn after scratch?

BigNate469 wrote:

Maximouse wrote:

BigNate469 wrote:

TheSecondGilbert wrote:

With the languages everyone have introduced here, why not learn all of them and become a polyglot programmer? It doesn't hurt being able to code in multiple languages.
It takes a long time to truly learn a text-based language. For example, I've been learning JavaScript for 2.5 years. I still don't know all of it or its quirks and built-in methods.
I don't think that's a problem – you don't have to be perfect at one language before you start learning another.
Yes, but it will take a long time to learn all of the ones mentioned here, and it's probably not best to be actively learning multiple languages at the same time, because you might confuse things like syntax and built-in APIs.
The languages people suggested here are really distinct. Observe:
// This is C.
#include <stdio.h>
char* gifts[12] = {
    "And a partridge in a pear tree\n\n",
    "Two turtle doves\n",
    "Three French hens\n",
    "Four calling birds\n",
    "Five gold rings\n",
    "Six geese a-laying\n",
    "Seven swans a-swimming\n",
    "Eight maids a-milking\n",
    "Nine ladies dancing\n",
    "Ten lords a-leaping\n",
    "Eleven pipers piping\n",
    "Twelve drummers drumming\n",
};
char* ordinal[12] = {"first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"};
int main() 
{
    for (int day = 0; day < 12; day++) {
        printf("On the %s day of Christmas\nMy true love sent to me\n", ordinal[day]);
        if (day == 0) {
            printf("A partridge in a pear tree\n\n");
        } else {
            for (int i = day; i >= 0; i--) {
                printf(gifts[i]);
            }
        }
    }
}
// This is Java.
public class Main {
    static String[] gifts = {
        "And a partridge in a pear tree\n",
        "Two turtle doves",
        "Three French hens",
        "Four calling birds",
        "Five gold rings",
        "Six geese a-laying",
        "Seven swans a-swimming",
        "Eight maids a-milking",
        "Nine ladies dancing",
        "Ten lords a-leaping",
        "Eleven pipers piping",
        "Twelve drummers drumming",
    };
    
    static String[] ordinal = {"first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"};
    
    public static void main(String[] args) {
        for (int day = 0; day < 12; day++) {
            System.out.println(String.format("On the %s day of Christmas\nMy true love sent to me", ordinal[day]));
            if (day == 0) {
                System.out.println("A partridge in a pear tree\n");
            } else {
                for (int i = day; i >= 0; i--) {
                    System.out.println(gifts[i]);
                }
            }
        }
    }
}
// This is JavaScript.
let gifts = [
    "And a partridge in a pear tree\n",
    "Two turtle doves",
    "Three French hens",
    "Four calling birds",
    "Five gold rings",
    "Six geese a-laying",
    "Seven swans a-swimming",
    "Eight maids a-milking",
    "Nine ladies dancing",
    "Ten lords a-leaping",
    "Eleven pipers piping",
    "Twelve drummers drumming",
];
let ordinal = ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"];
for (let day = 0; day < 12; day++) {
    console.log(`On the ${ordinal[day]} day of Christmas\nMy true love sent to me`);
    if (day == 0) {
        console.log("A partridge in a pear tree\n");
    } else {
        for (let i = day; i >= 0; i--) {
            console.log(gifts[i]);
        }
    }
}
-- This is Lua.
local gifts = {
    "And a partridge in a pear tree\n",
    "Two turtle doves",
    "Three French hens",
    "Four calling birds",
    "Five gold rings",
    "Six geese a-laying",
    "Seven swans a-swimming",
    "Eight maids a-milking",
    "Nine ladies dancing",
    "Ten lords a-leaping",
    "Eleven pipers piping",
    "Twelve drummers drumming",
}
local ordinal = {"first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"}
for day = 1, 12 do
    print("On the "..ordinal[day].." day of Christmas\nMy true love sent to me")
    if day == 1 then
        print("A partridge in a pear tree\n")
    else
        for i = day, 1, -1 do
            print(gifts[i]);
        end
    end
end
# This is Python.
gifts = [
    "And a partridge in a pear tree\n",
    "Two turtle doves",
    "Three French hens",
    "Four calling birds",
    "Five gold rings",
    "Six geese a-laying",
    "Seven swans a-swimming",
    "Eight maids a-milking",
    "Nine ladies dancing",
    "Ten lords a-leaping",
    "Eleven pipers piping",
    "Twelve drummers drumming",
]
ordinal = ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"]
for day in range(12):
    print(f"On the {ordinal[day]} day of Christmas\nMy true love sent to me")
    if day == 0:
        print("A partridge in a pear tree\n")
    else:
        for i in range(day, -1, -1):
            print(gifts[i]);
// This is Rust.
const GIFTS: [&str; 12] = [
"And a partridge in a pear tree\n",
"Two turtle doves",
"Three French hens",
"Four calling birds",
"Five gold rings",
"Six geese a-laying",
"Seven swans a-swimming",
"Eight maids a-milking",
"Nine ladies dancing",
"Ten lords a-leaping",
"Eleven pipers piping",
"Twelve drummers drumming",
];

const ORDINAL: [&str; 12] = ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth"];

fn main() {
for day in 0..12 {
println!("On the {} day of Christmas\nMy true love sent to me", ORDINAL[day]);
if day == 0 {
println!("A partridge in a pear tree\n");
} else {
for i in (0..day+1).rev() {
println!("{}", GIFTS[i]);
}
}
}
}

Aside from the structure (which I intentionally made to be equal), you couldn't confuse one with another, even if I didn't tell which language the codes are written in.
PoIygon
Scratcher
1000+ posts

what should i learn after scratch?

If you ever want to learn any programming language ou can do it the project based way.

Like if you want to learn math, UI and inputs then you can make a calculator app in a language that you want to learn. Then you can get bore advanced from there and add more stuff to that calculator app like history, scientific calculations and more (this is basically how i learned how to do HTML + CSS)

Last edited by PoIygon (Oct. 7, 2024 02:23:26)

8to16
Scratcher
1000+ posts

what should i learn after scratch?

bump
ideapad-320
Scratcher
1000+ posts

what should i learn after scratch?

i_eat_coffee wrote:

javascript is literally the only best option coming from a full-stack developer that knows 3 scripting languages + html/css
not only is it pretty easy to understand, but you can also do so much stuff with it - websites, desktop apps, game development, AI models, etc.


also, shameless plug, you should try out Obscure, a programming language I created, because it is a scripting language that you can fully learn in less than 10 minutes, and it helps you build your skills creating & understanding large algorithms
https://obscure.glitch.me/

this is not a practical language, it's an esoteric one, but it helps you understand how to build complex projects and algorithms
you can try making different projects challenging yourself to create a larger and more complex one every time, and then when you are basically fluent in Obscure, you can decide what language you want to move to

Also javascript is not easy to understand, it has a weird inconsistent typecasting system.
Websites: You still need HTML and CSS unless you are using those stupid JS-heavy frameworks
Desktops apps: please stop making desktop apps in HTML5. I hate how many “desktop” apps are just web apps.Some companies lie that their “desktop” app is faster, like blue game controller chat app.
Game Development: This works, but you wont get good performance, or you will have to use a game engine to do most of the work.
AI Models: You are using somebody else's C/C++ code.

Out of all the languages I know, I know C++ best. Dynamic type languages confuse me.
I think that scripting languages are bad compared to compiled languages.

Last edited by ideapad-320 (Nov. 2, 2024 21:07:01)

_thesecondcoming-
New Scratcher
6 posts

what should i learn after scratch?

warning: this is coming from someone who has only really coded in lua
i would suggest learning love2d or pico-8 if you want to get into gamedev easily, lua's sytax kinda looks like scratch and the way pico-8 and love2d are set up make it quite similar to creating a pen only game in scratch. plus roblox exists too, but it uses a custom variant of lua if im correct. lua does have a few quirks that might make it a bit difficult however, so be ready to be confused occasionally.

tip: the online version of programming in lua that you can get from lua.org is quite out of date, so be sure to go through the current reference manual
blubby4
Scratcher
100+ posts

what should i learn after scratch?

_thesecondcoming- wrote:

warning: this is coming from someone who has only really coded in lua
i would suggest learning love2d or pico-8 if you want to get into gamedev easily, lua's sytax kinda looks like scratch and the way pico-8 and love2d are set up make it quite similar to creating a pen only game in scratch. plus roblox exists too, but it uses a custom variant of lua if im correct. lua does have a few quirks that might make it a bit difficult however, so be ready to be confused occasionally.

tip: the online version of programming in lua that you can get from lua.org is quite out of date, so be sure to go through the current reference manual
As another person who loves Lua and is totally not biased, I agree with this.

Manual: https://lua.org/manual/5.4/

There's also this for advanced programmers (don't read this if you're new to Lua!)

Powered by DjangoBB