Author Topic: Scratch (Programming for beginners)  (Read 2500 times)

Haha, I guess php is one of the less "offensive" in that matter though, when comparing to TS (which uses it for scoping) and PERL (which uses it for typing).
yes.

forget TS.

i'm not sure what PERL looks like though.

and i probably won't ever find out, lol

There used to be an iPad/iPod Touch app for this, but Apple has some ass policies preventing a compiler/interpreter inside of the app. Even a low-end one like this.

Would anyone like a Megathread?

There used to be an iPad/iPod Touch app for this, but Apple has some ass policies preventing a compiler/interpreter inside of the app. Even a low-end one like this.
I remember seeing a Python interpreter on it a while ago.

i'm not sure what PERL looks like though.

and i probably won't ever find out, lol

    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';

Formatting broke, oh well.

i hope to god that isn't an actual script

oh god it is

shoot me now please
« Last Edit: February 01, 2012, 04:23:41 PM by Kingdaro »

This is actually a programming language. A visual programming language, to be precise. And it is aimed toward young kids, who are not able to learn a text-based programming language. Don't call them lazy, I doubt an 8 year old could understand the simplest code written in Java. In fact, Scratch helps them understand. It is much easier to start with something much easier and clear than to instantly start coding
Whatever you call it, it does not display or teach you about how languages work internally, their respective paradigms, or type and statement differentials and their purposes and applications, which is key to becoming a true programmer.

I don't expect 8-year-olds to understand Java, and by mentioning Java you are forming an out-of-proportion argument. No kid can understand C-inherited syntax like Java at that age unless they really study, and you're not accounting for the countless tutorials and the like on subjects such as these.

Lua is the most complex language I'd expect an 8 to 10-year-old to be able to understand or learn.
It is much more closer to human language than the systematic style of C- or Shell-inspired languages.
In fact, I know many people who started learning Lua as their first language at around the age of 9-12. I learned at 10.

All you honestly need is the willpower to learn, and the passion to create.

one of my programming-related pet peeves is where you have to type some stupidass symbol before a word to define a variable. (much offense to you, php)
This. This so much.
Why can't languages use lovey declarations like Java and C(++) use?
Or be like Lua and require no declarations?

yes.

forget TS.

i'm not sure what PERL looks like though.

and i probably won't ever find out, lol
-snip-
Almost as bad as Lisp.
Almost.

Whatever you call it, it does not display or teach you about how languages work internally, their respective paradigms, or type and statement differentials and their purposes and applications, which is key to becoming a true programmer.

I don't expect 8-year-olds to understand Java, and by mentioning Java you are forming an out-of-proportion argument. No kid can understand C-inherited syntax like Java at that age unless they really study, and you're not accounting for the countless tutorials and the like on subjects such as these.

Lua is the most complex language I'd expect an 8 to 10-year-old to be able to understand or learn.
It is much more closer to human language than the systematic style of C- or Shell-inspired languages.
In fact, I know many people who started learning Lua as their first language at around the age of 9-12. I learned at 10.

All you honestly need is the willpower to learn, and the passion to create.
I had to (try to) learn Lua recently because of an internship (mumblecoronamumble), and to be honest I couldn't understand how people can even stand to use the language, coming from a JS/Java/Scala/C#/Python/TS background. That said, I still get that feeling regarding TS too.

This. This so much.
Why can't languages use lovey declarations like Java and C(++) use?
Well, in the TS case it's because of that it uses it for storing something meaninful (the scope of the variables). While it might not be the best idea it isn't entirely useless either and it makes it very clear regarding what is global and what is local. PERL also uses them for something meaningful, that is, declaring what "type" it is of (value, list or "hash" (dictionary/table)).
Furthermore, PHP and PERL take advantage of the prefixes in order to do built in string interpolation, for example:
Code: (php) [Select]
$bleh = 5;g
echo("it is $bleh");
would echo "it is 5".

Also, what is your notation on the Scala syntax for declaring variables (similar to Pascal)? ("va(r|l) name:Type = value")

Or be like Lua and require no declarations?
Because of that the more the compiler knows at compile-time the better can it protect you from shooting yourself in the foot.

I use the code feature in gamemaker its not like scratch

I use the code feature in gamemaker its not like scratch
that's what he said was different, lol

More or less a toy for people too lazy to learn how to use proper tools to develop software.

It was actually made to get kids started on understanding programming (It may not have Syntax but each block is a script which you can use). Think before you talk.

I had to (try to) learn Lua recently because of an internship (mumblecoronamumble), and to be honest I couldn't understand how people can even stand to use the language, coming from a JS/Java/Scala/C#/Python/TS background. That said, I still get that feeling regarding TS too.
I know what you mean. After switching from Lua to Python and C++(which, by the way, will eat you alive), I forever despised Lua-like syntax. I do like how it defines and uses arrays, though.. even though it's not much different from C's style.


Well, in the TS case it's because of that it uses it for storing something meaninful (the scope of the variables). While it might not be the best idea it isn't entirely useless either and it makes it very clear regarding what is global and what is local. PERL also uses them for something meaningful, that is, declaring what "type" it is of (value, list or "hash" (dictionary/table)).
Furthermore, PHP and PERL take advantage of the prefixes in order to do built in string interpolation, for example:
Code: (php) [Select]
$bleh = 5;g
echo("it is $bleh");
would echo "it is 5".
There are many ways to implement values into strings, and personally, I'm not a big fan of TorqueScript's way, granted it's a high-levelish language. It just seems like it's trying to mimic other languages when it's script. For the sake of extensibility, I don't think it was a good idea to give TS the likeness of one of the most hated languages (PHP), and to give it a syntax that's so much like lower-level languages.
Basically,
you have to type some stupidass symbol before a word to define a variable.



Also, what is your notation on the Scala syntax for declaring variables (similar to Pascal)? ("va(r|l) name:Type = value")
Because of that the more the compiler knows at compile-time the better can it protect you from shooting yourself in the foot.
If that's what I think it is, I think it's ugly, adds unnecessary lines to the file, and is inefficient in terms of typing speed.
That's probably just me, though, and I never actually used Pascal, so I suppose I'm in no position to judge.


It was actually made to get kids started on understanding programming
I don't quite understand how it introduces the concept of programming, besides fronting a sort of flowchart that maybe gives you an idea of what an actual script looks like -- which, I'm guessing, the Scratch community doesn't recognize.

... Could you explain?

Think before you talk.
Since this is a bulletin board, I don't believe 'talking' is actually implemented as a choice or alternative to simply typing out posts.
If we were all 'talking', there would be a vocal representation of everyones' posts; there would be no 'typing' since there would be spoken tongue to take typing's place.