|
| [deleted]
| 29athrowaway wrote:
| You need to provide one brief tutorial at a time, otherwise it is
| overwhelming for learners.
| vetelko wrote:
| No parens, brackets, etc... Thank you :)
| chrischattin wrote:
| You'd like Ruby :)
| vetelko wrote:
| Nope, love LISP:)
| [deleted]
| bmitc wrote:
| You might be interested in Pyret, if only because the stated
| goals are similar.
|
| https://www.pyret.org/
| [deleted]
| pipeline_peak wrote:
| Static typing can't be easy for beginners when they're expected
| to cast a string to a number without variables having data type
| keywords. Type inference is often an example of abstraction
| confusing users with what's really going on...
|
| If facility is your concern, you should go for dynamic typing
| where assigning a string with a number gets converted
| automatically. No kid should have to deal with that. Give them
| the full amount of abstraction, it's the runtimes responsibility.
|
| Otherwise, you brought up some good points, Python and JS really
| aren't as kid friendly as we think.
| empressplay wrote:
| As much as I love BASIC from a nostalgia standpoint, Logo is
| still better -- Scratch is basically blocks-based Logo, and so
| Logo makes more sense as a first text-based language.
|
| There's plenty of Logos out there at varying degrees of
| complexity as well: Lynx, Terrapin, turtleSpaces etc.
|
| And they don't have static typing!
| ZeroGravitas wrote:
| This reminded me a little of Hedy language:
|
| https://www.hedycode.com/
|
| It starts off super simple, like:
|
| print something
|
| and then introduces all the fiddly concepts like quoting,
| escaping etc. 1 by 1 until it turns into python.
|
| The designer had a neat talk about it at the strange loop
| conference.
|
| One of the themes they talk about is the difference between "easy
| to learn" and "easy to teach" which I found insightful.
|
| https://www.thestrangeloop.com/2022/hedy-a-gradual-programmi...
|
| https://www.youtube.com/watch?v=fmF7HpU_-9k
| chkas wrote:
| This does not turn into Python.
| 0x6c6f6c wrote:
| They were talking about Hedylang
| chkas wrote:
| I was referring to "This reminded me a little of Hedy
| language".
| [deleted]
| indymike wrote:
| This feels a lot like a BASIC and logo had a child and that is
| not a bad thing. Love the easy graphics, simple syntax, and
| removing all the punctuation.
|
| Love the a = number input typecast.
|
| End will be a source of bugs. Use endfor endelse endif endwhile.
| This helps new programmers track nested loops and logic. Yes, end
| is simple, but end applies to many things, and will end in a
| pattern where people will start doing this to sort it out:
|
| end # while
|
| Also, inline comments should be ok. Then you get end # while
| instead of the above two liner.
|
| Honestly, this is a nice little language.
| [deleted]
| dang wrote:
| Related:
|
| _Show HN: Particles - the URL contains the whole program code_ -
| https://news.ycombinator.com/item?id=31883209 - June 2022 (21
| comments)
|
| _Show HN: Learn Basics of Programming in 40 Minutes_ -
| https://news.ycombinator.com/item?id=30136967 - Jan 2022 (3
| comments)
|
| _Easylang - An easy online programming language and development
| environment_ - https://news.ycombinator.com/item?id=29218101 -
| Nov 2021 (36 comments)
|
| _Monte Carlo Methods or Why It 's a Bad Idea to Go to the
| Casino_ - https://news.ycombinator.com/item?id=29217539 - Nov
| 2021 (70 comments)
|
| _Show HN: An Easy Programming Language That Runs in the Browser
| via WebAssembly_ - https://news.ycombinator.com/item?id=28863847
| - Oct 2021 (9 comments)
|
| _Blackjack Probabilities, Card Counting - Calculation and
| Simulation_ - https://news.ycombinator.com/item?id=28025561 - Aug
| 2021 (23 comments)
|
| _Show HN: Learn the Basics of Programming in 20 Minutes_ -
| https://news.ycombinator.com/item?id=27245000 - May 2021 (5
| comments)
|
| _Show HN: A programming language and framework for writing small
| canvas web apps_ - https://news.ycombinator.com/item?id=26779898
| - April 2021 (2 comments)
|
| _Show HN: A modern BASIC-like teaching and learning programming
| language_ - https://news.ycombinator.com/item?id=22841336 - April
| 2020 (48 comments)
|
| _Show HN: The program code is in the URL_ -
| https://news.ycombinator.com/item?id=22266563 - Feb 2020 (5
| comments)
|
| _Show HN: A Basic-Like Programming Language That Runs in the
| Browser_ - https://news.ycombinator.com/item?id=21178687 - Oct
| 2019 (6 comments)
|
| _Show HN: A small programming course for everyone_ -
| https://news.ycombinator.com/item?id=20982002 - Sept 2019 (12
| comments)
|
| _Show HN: A few simple games not only for kids_ -
| https://news.ycombinator.com/item?id=20745142 - Aug 2019 (28
| comments)
|
| _Monte Carlo methods - Why it 's a bad idea to go to the casino_
| - https://news.ycombinator.com/item?id=20359100 - July 2019 (161
| comments)
| thesuperbigfrog wrote:
| Reminds me of Logo:
| https://en.wikipedia.org/wiki/Logo_(programming_language)
|
| Python has a Logo-ish mode called turtle graphics:
|
| https://docs.python.org/3/library/turtle.html
| [deleted]
| anfelor wrote:
| The best attempt at creating a learnable programming language
| I've seen is this design document by Bret Victor:
| http://worrydream.com/#!/LearnableProgramming
|
| It is now ten years old but I don't know if it has even been put
| into practice? To be fair, it would be a lot of work to include
| all the IDE features and Easylang comes reasonably close to it
| already. However, if I could recommend one paragraph it is the
| one on "Recomposition", which is an extremely clear explanation
| of why functional programming matters for learnable programming.
| [deleted]
| empressplay wrote:
| Every so often I re-read Bret's post to see what I can add to
| our learning environment. We use CodeMirror as our editor so we
| have pop-over help, color syntax highlighting and an optional
| autocomplete (optional because feedback from teachers was that
| it was too distracting).
|
| We have a 'fluid' turtle that allows for the learner to follow
| execution to a point, although we do need to add in the ability
| to see which line of code is being executed at any given time,
| and the ability to control the execution speed better, maybe
| with a slider.
|
| We're currently implementing (based on teacher feedback) a
| series of graduated environments where each 'level' unlocks
| more IDE features and primitives. For example, this is
| 'artSpace', a 2D environment (we also have a 3D environment):
|
| https://turtlespaces.org/weblogo/?profile=artspace (warning,
| 40mb load)
| sbergot wrote:
| Couple observations:
|
| - you should have a code snippet on your landing page
|
| - in your python comparison it is unclear why easylang decides
| that a is a number.
| chkas wrote:
| It is similar to the way it used to be in BASIC. a is a number,
| a$ is a string, a[] is an array.
| u801e wrote:
| Also similar to perl since $ and [] are essentially sigils.
| johnisgood wrote:
| That does not make it easier though... you explained just
| now, and I understood, but where am I to pull it out of
| (because it is not intuitive at all) if not documentation?
| Just like with any other languages... Similarly, they will
| run into languages where arrays begin with 0. Beginners
| should be taught how to think about it and such, not shove it
| under the rug. Who is your target audience?
| Jtsummers wrote:
| > where am I to pull it out of (because it is not intuitive
| at all) if not documentation?
|
| It is in the documentation. Quoting from the documentation:
|
| > String variables end with the $ character.
|
| The principal problem though is that you're dropped into
| the first of 4 tutorial/documentation pages, and have to
| hit "back" (which is unintuitive since I didn't get there
| from anywhere else on the site) to see the list of
| tutorials and documentation pages.
| johnisgood wrote:
| I did not mean to say that it is not in the
| documentation... What I am saying is that it is not
| intuitive at all, and it has to be documented for anyone,
| not just for "beginners to programming" to know. The
| reason I am saying this is that "counter-intuitive" and
| "not intuitive" is often mentioned as a reason for the
| language being more beginner-friendly.
| Jtsummers wrote:
| To be fair, most of programming is not intuitive.
| i = 20 # ... some lines later (not modifying i)
| for i in range(10): # non-intuitive for many - range goes
| from 0 to 9 print(i) # ... some lines later
| (not modifying i) print(i) # what value should be
| printed here?
|
| Or a subtle (and hard to spot when not isolated like
| this) one character difference creating a behavior
| change: i := 20 for i := 0; i < 10;
| i++ { fmt.Println(i) } fmt.Println(i)
| i := 20 for i = 0; i < 10; i++ {
| fmt.Println(i) } fmt.Println(i)
|
| And that's with a primitive part of programming. There is
| no language whose behavior can be fully intuited by all
| people, beginner or not. Some things will have to be
| taught or read through documentation and examples.
| chkas wrote:
| Yes. I should have posted this link.
|
| https://easylang.online/ide/
| chkas wrote:
| > Who is your target audience?
|
| Beginners
|
| There are tutorials integrated in the IDE, among others one
| for beginners. The examples are the documentation.
| geenat wrote:
| Similar but used in production by a lot of htmx people:
| https://hyperscript.org/
| [deleted]
| azhenley wrote:
| It looks like a BASIC. Are there any benefits over other
| educational/games-oriented BASICs?
|
| How does it compare to educational languages, like Hedy?
|
| https://www.hedycode.com
| [deleted]
| pacifika wrote:
| This is great and thank you for making programming more
| approachable!
|
| I think some of the numbers would benefit from units. For example
| colours, size, coordinates etc can all be represented by the
| number 444.
|
| Therefore `circle 444` could mean a large circle a grey circle, a
| centred circle.
|
| I had to read the example before I understood the code there is
| all.
|
| Perhaps a prefix x444, y444, c444, w444 would help?
| shhsshs wrote:
| I agree, though you can make this argument for any other
| programming language. circle 444 or
| circle(444)
|
| Named parameters are sometimes nice. circle
| r=444 or circle(r=444)
| velcrovan wrote:
| Pyret (https://www.pyret.org) is already filling this role very
| nicely (browser-based Python-like for use in teaching), and has
| the advantage of having been designed by people whose careers are
| devoted to the study of programming pedagogy. It's the language
| used in the front half of Data-centric Introduction to Computing,
| which is available online for free (https://dcic-
| world.org/2022-08-28/index.html). The second half of the book
| transitions to Python, at which point the reader/student is well-
| prepared to understand aspects of Python that can be tricky for
| first-time programmers.
| [deleted]
| pmarreck wrote:
| [deleted]
| pvg wrote:
| _Please don 't post shallow dismissals, especially of other
| people's work._
|
| https://news.ycombinator.com/newsguidelines.html
| pmarreck wrote:
| I shallowly dismissed Python, not their work. So this does
| not apply.
| pvg wrote:
| Your original comment was just
|
| _Python is terrible, so it 's not hard to be "easier" than
| it._
|
| Which is a shallow dismissal of both things. Plus all
| shallow dismissals are HN-lame so it very much applies.
| They are just extra lame when about someone else's work and
| triple lame when it's in a Show HN.
___________________________________________________________________
(page generated 2022-11-19 23:00 UTC) |