Shameless Promotion of LISP - FOR KIDS!
-
(Carriage returns after links = still disappearing!)
I'm not going to say anything about this, but I will quote the first comment on the Hacker News thread where I found it:
Whoa... this is all over the place. The imagery suggests this is a tutorial for 6-8 year olds, but the language would be incomprehensible to any child under the age of 16.
The design is also pretty cluttered -- no child under the age of 16 is going to have the patience to get through those huge walls of text.
This should really be called 'Functional Programming for Teenagers, Maybe, or College Kids Who Don't Know How to Program'.
Do any of the developers have ANY experience in childhood education at all???
The problem is: when you're one of those crazy developers who thinks LISP is basically God and the only programming language worth using and everybody should be using LISP right now, none of that matters. All that matters is getting the word out! About LISP!
-
The 6 year olds of my acquaintance aren't really very interested in programming, not when there's trees to climb.
-
They're trying to teach a LITHP to kidth? What a meth that'th going to be...
-
LISP is an unfortunate choice, but apart from that it looks like a lot of effort has been made to explain concepts like calculations, expressions etc.
And the implementation is accessible - change code on the site and it is evaluated instantly. They could improve the outputs/error messages, currently is shows "nil" for the incomplete expression - not helpful.
Teaching is difficult in general, because you can't simultaneously understand the expert's and novice's point of view.
-
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
That was LEGO!
-
@dcon said in Shameless Promotion of LISP - FOR KIDS!:
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
That was LEGO!
@Captain had a cheap knock-off, presumably from the same manufacturer that produces the Adidos line of products :P
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
Didn't you LOGO as a kid?
Not that I recall.
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
Wasn't it awesome?
I had HyperTalk.
-
Not gonna take the bait, I've put my foot in my mouth enough for one night...
-
@blakeyrat said in Shameless Promotion of LISP - FOR KIDS!:
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
Wasn't it awesome?
I had HyperTalk.
Goddamned rich spoiled brats. When I was a wee little lad, all we had was BASIC and we liked it. Line numbers taught you discipline - want to insert more than 10 lines of code in the middle of your program? Too bad, you should've thought of that the first time around!
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
Oh yes, it was.
-
@aliceif Oh woe is me, all I had was Staredit.
-
@blakeyrat Considering I was briefly taught 8086 assembly language by my uncle when I was 12, I don't feel it particularly odd.
I do think that they can handle some basic LISP programming without much problem. Afterall it's just another language.
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
I learnt LOGO after being taught Pascal at school. I must be weird.
-
It doesn't seem too bad. Not for 6 year olds, but a 10 year old should be able to follow it.
-
Also: "Send us a screenshot with your programs to viebel@gmail.com." WTF?
-
Reads like it was written by an ESL person, which doesn't help make it clear.
It introduces words that would be difficult for young children, then starts using them willy nilly. If I was doing something like this I'd use simpler words where possible, and frequent reminders of the meanings of what I couldn't simplify. There's also stuff that they just don't explain, that a kid could get confused by (white spaces?)
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
@blakeyrat Didn't you LOGO as a kid? Wasn't it awesome?
My first experience of LOGO was the cartridge for the TRS-80 Color Computer.
It had threads, FFS! (Each thread had its own turtle.)
(And the crowning achievement was a program someone provided for a magazine. I persevered in typing it in, and it exploited the threading abilities combined with the ability to morph the turtle to show two stick-men having a sword fight.)
-
@Maciejasjmj said in Shameless Promotion of LISP - FOR KIDS!:
Goddamned rich spoiled brats. When I was a wee little lad, all we had was BASIC and we liked it. Line numbers taught you discipline - want to insert more than 10 lines of code in the middle of your program? Too bad, you should've thought of that the first time around!
@Jaloopa said in Shameless Promotion of LISP - FOR KIDS!:
There's also stuff that they just don't explain, that a kid could get confused by (white spaces?)
Or triggered by. #BlackSpacesMatter
-
My favorite part is that they write out an expression that makes sense to kids, like 4*5, and then pick one of the few languages where that's not written
4 * 5
but instead* 4 5
to teach kids. You ever listen to how much kids bitch about just having letters in their math class, or having to learn weird new symbols? That'll scare them right off programming altogether, great job.
-
@Yamikuronue said in Shameless Promotion of LISP - FOR KIDS!:
My favorite part is that they write out an expression that makes sense to kids, like 4*5, and then pick one of the few languages where that's not written
4 * 5
but instead* 4 5
to teach kids. You ever listen to how much kids bitch about just having letters in their math class, or having to learn weird new symbols? That'll scare them right off programming altogether, great job.Could be worse. Could be APL, where
4+3x2
and3x2+4
and2x3+4
all have different values. (Respectively, 10, 18, and 14.)
-
@Steve_The_Cynic said in Shameless Promotion of LISP - FOR KIDS!:
APL
I and a few other #thedailywtf members thought about how APL could be made "suitable for millenials" by replacing all the silly math symbols and greek letters with emoji ...
-
@aliceif said in Shameless Promotion of LISP - FOR KIDS!:
I and a few other #thedailywtf members thought about how APL could be made "suitable for millenials" by replacing all the silly math symbols and greek letters with emoji ...
-
@Yamikuronue From our perspective this indeed looks weird because we use a different convention, but for someone having first contant with programming maybe every convention looks equally weird? That could be tested.
Their convention has the benefit of being universal - everything is in the form of
(operation arg_1 ... arg_n)
, even assignment:(def a (+ 3 4))
Does it make it easier to learn? Hard to say... for me their design feels easy for the machine/interpreter, not for the user.
-
@Adynathos said in Shameless Promotion of LISP - FOR KIDS!:
for someone having first contant with programming maybe every convention looks equally weird?
Something consistent with the notation they already use for arithmetic would look less weird
-
@Adynathos said in Shameless Promotion of LISP - FOR KIDS!:
this indeed looks weird because we use a different convention
That's what I'm saying though. If you take as a given that someone will understand
Let’s imagine you don’t remember your table of multiplications and you want the computer to calculate 7*8 for you. How are you going to do that?
then they already know the syntax
7*8
.
-
I am shamelessly typing this comment. NO FUCKING SHAME AT ALL.
-
@Maciejasjmj said in Shameless Promotion of LISP - FOR KIDS!:
want to insert more than 10 lines of code in the middle of your program?
How else are you going to learn the original definition of "spaghetti code"?
-
@all_users said in Shameless Promotion of LISP - FOR KIDS!:
RENUMBER 100, 20
Ah, the good old "RENUMBER" instruction, like "GOSUB" also known as the "accept you're a miserable failure unable to get things done right" instruction.
Ah, the times when boys were boys, men were men, and if you made a typo you had to retype the whole line.
-
@Maciejasjmj said in Shameless Promotion of LISP - FOR KIDS!:
Ah, the times when boys were boys, men were men, and if you made a typo you had to retype the whole line.
That's what the Amstrad CPC's
Copy
key was for.
-
@Adynathos said in Shameless Promotion of LISP - FOR KIDS!:
(def a (+ 3 4))
Does it make it easier to learn? Hard to say... for me their design feels easy for the machine/interpreter, not for the user.
That is, in fact, the key to understanding most of Lisp.
It was created in a time when our understanding of parsing was still in its infancy and writing one was a black art. Its vaunted homoiconicity is nothing more than the original implementors punting on the task of proper parsing and coming up with the most ridiculously, trivially dumbed-down syntax that could possibly work. (If you read the original design papers about Lisp, they describe a richer, more useful syntax, but it was too complex for the dark-ages implementors.)
Much of the language's evolution since then has been a direct consequence of decisions to simplify the parser and compiler by pushing work that they would ordinarily be responsible for in a sane language off onto the coder's shoulders.
-
@Maciejasjmj I had C64 BASIC V2 also. But HyperTalk was way more useful and fun.
-
@phnom said in Shameless Promotion of LISP - FOR KIDS!:
Also: "Send us a screenshot with your programs to viebel@gmail.com." WTF?
"Then send your address and the dates and times of days when your parents leave you alone! HAHAHA!"
-
@Adynathos said in Shameless Promotion of LISP - FOR KIDS!:
Hard to say... for me their design feels easy for the machine/interpreter, not for the user.
Have you ever seen/used a LISP program that's easy for the user?
No.
There's EMACS. And... uh. That's it.
-
@masonwheeler Its vaunted homoiconicity is nothing more than the original implementors punting on the task of proper parsing and coming up with the most ridiculously, trivially dumbed-down syntax that could possibly work.
This sounds more like a critique of C than LISP.
Homoiconicity just means that "everything is a ________". Like how "Everything is an object" in Java. Except this time it's actually true.
Much of the language's evolution since then has been a direct consequence of decisions to simplify the parser and compiler by pushing work that they would ordinarily be responsible for in a sane language off onto the coder's shoulders.
Yes, this is more a critique of C, isn't it? Instead of first class functions, C has function pointers, and the programmer has to explicitly de-reference a function before calling it. Why even have pointers at all? I know what they're for, but why expose raw pointers to the user? Why use that ridiculous syntax where the function name goes on the left of a tuple of arguments? Why use all those crazy and useless braces? (I know, it's because it makes writing the parser easier!) Why use all those crazy loops? (I know, it's because it's easier to normalize a for-loop into assembly than to normalize a recursive loop! Except for the programmer, who now has to deal with boundary conditions and null pointers and all sorts of garbage K&R let into their language)
-
@Captain said in Shameless Promotion of LISP - FOR KIDS!:
the programmer has to explicitly de-reference a function before calling it
Nope.
-
SeemsGood
-
@Yamikuronue said in Shameless Promotion of LISP - FOR KIDS!:
then they already know the syntax 7*8.
And presumably this syntax:
4 8 32 + 2 ---
Which you must admit is not really different from LISP's way.
@blakeyrat said in Shameless Promotion of LISP - FOR KIDS!:
Have you ever seen/used a LISP program that's easy for the user?
No.
There's EMACS. And... uh. That's it.I haven't used AutoCAD much, but it didn't seem too bad?
-
@Magus said in Shameless Promotion of LISP - FOR KIDS!:
Which you must admit is not really different from LISP's way.
I admit nothing!
While that's closer (not all that close IMO), it's also not the example they used in the text. It's like they're trying to be as confusing as possible
-
@Yamikuronue I'm actually surprised at the one person in this thread who thinks it's well-written.
And even he pointed out that the art style is way off for the age range the text is aimed at.
-
I mean, it's not even hard to write it in a way that helps people understand. Says something like,
If you want to multiply 5 by 8, then you have to tell the computer: Multiply five and eight. But the computer won't understand unless you use a computer language, like LISP.
To tell the computer to do something using LISP, you put that something (called an "expression") in parentheses. You can tell the computer to multiply using the multiplication symbol (*), and you use digits to express the numbers. So the expression becomes:
(* 5 8 )That way you consistently use the order that LISP wants: operator, then operands. It'll feel natural after a bit instead of being jarring.
-
@Yamikuronue said in Shameless Promotion of LISP - FOR KIDS!:
I mean, it's not even hard to write it in a way that helps people understand. Says something like,
If you want to multiply 5 by 8, then you have to tell the computer: Multiply five and eight. But the computer won't understand unless you use a computer language, like LISP.
To tell the computer to do something using LISP, you put that something (called an "expression") in parentheses. You can tell the computer to multiply using the multiplication symbol (*), and you use digits to express the numbers. So the expression becomes:
(* 5 8 )That way you consistently use the order that LISP wants: operator, then operands. It'll feel natural after a bit instead of being jarring.
Shame we ask children "what's five times eight?" rather than "what's times five eight?"
-
@Steve_The_Cynic That's why I was careful to word the example like I did: "Multiply five by eight" rather than "Five times eight". They're both valid, but one of them encourages your brain to think in a more LISP-y way.
-
@Yamikuronue said in Shameless Promotion of LISP - FOR KIDS!:
encourages your brain to think in a more LISP-y way.
Why would I want to do that?
-
@Steve_The_Cynic I mean, I'm begging the question that you'd want to teach kids LISP in the first place here
-
@Yamikuronue said in Shameless Promotion of LISP - FOR KIDS!:
begging the question that you'd want to teach kids LISP in the first place
I think we should teach all children assembly for a long extinct processor family
-
@Jaloopa Then you'd probably want to go with a robot metaphor. Robots are cool enough they might stave off the inevitable brain death, and you can draw cute little cartoon robot guys saying "JMP" and then a little kid saying "How high?" and it'd be adorable.
actually, @r10pez10 can you make that happen? asking for a friend >.>
-
@blakeyrat said in Shameless Promotion of LISP - FOR KIDS!:
Have you ever seen/used a LISP program that's easy for the user?
No.
There's EMACS. And... uh. That's it.Who are you and what have you done with blakeyrat?
-
@antiquarian Why is it weird for Blakeyrat to express the opinion that EMACS is difficult to use, something I've seen like a dozen times before?
-
@blakeyrat Sorry, misread that. You do know there are more Lisp programs than Emacs, right?