[HN Gopher] Easylang - An easy online programming language and d...
___________________________________________________________________
Easylang - An easy online programming language and development
environment
Author : thunderbong
Score : 89 points
Date : 2021-11-14 16:21 UTC (6 hours ago)
(HTM) web link (easylang.online)
(TXT) w3m dump (easylang.online)
| dang wrote:
| Recent and related:
|
| _Monte Carlo Methods or Why It 's a Bad Idea to Go to the
| Casino_ - https://news.ycombinator.com/item?id=29217539 - Nov
| 2021 (56 comments)
| z3t4 wrote:
| How do you distribute programs ? For web the program could get
| it's own web URL or let you download a .htm file.
|
| What are the dependencies to run a compiled program on Windows
| and Linux ?
| chkas wrote:
| You can make web apps, for that you need a web space. Or you
| can install the programs locally in the web browser storage
| with the code runner - that's a PWA (progressive web app).
| abraxas wrote:
| This is quite nice indeed. Personally I'm fond of the Colour
| Maximite II as a teaching tool but this is nice as it requires no
| additional hardware.
| lifthrasiir wrote:
| I like that strings and arrays (not their individual elements)
| are marked with `[]` and `$`, just like BASIC. Beginners tend to
| have a shorter attention span and can't easily reason that some
| names defined earlier are arrays or strings, so that would be
| easier to understand for them as long as you disallow names that
| only differ by those markers (and give a helpful error message,
| for now Easylang doesn't seem to do that though).
| chkas wrote:
| This is because numbers are automatically converted to strings.
| This makes many things easier.
| icedata wrote:
| Reminds me of Logo as well (I worked for the top producer of Logo
| implementations). Would be interesting to read some comment on
| its lineage from the designers.
| ModernMech wrote:
| This is the author: https://news.ycombinator.com/user?id=chkas
|
| They've posted about Easy lang a lot here, you can read through
| their history to learn more. That it reminds you of Logo is no
| accident!
| chkas wrote:
| That's me.
|
| I am a computer science teacher and have developed a teaching
| and learning programming language with an easy-to-use browser
| IDE. There are several tutorials integrated - from a
| programming course for beginners to recursive programming.
|
| The programming language and IDE run entirely in the browser,
| there is no communication with the server after the web page is
| loaded. Since it is designed as a PWA, it also works offline.
|
| This language has a very simple structure: There are numbers
| and strings as data types, arrays of these data types, and
| arrays of arrays. Unlike Python, it is statically typed and has
| explicit end-of-block delimiters.
|
| Since the language is kept very compact, it suits beginners on
| the one hand, and the browser environment on the other. The
| environment loads quite fast, and the IDE is also able to parse
| and format the code up to the current line on every "enter".
| The language is written in C and runs using WebAssembly.
| JavaScript is used for the graphical user interface and
| graphical output.
| ModernMech wrote:
| Easy lang comes up on HN every so often. I really wish it were
| open source, I feel like it would get more traction.
| chkas wrote:
| It is open source.
|
| https://github.com/chkas/easylang
| ModernMech wrote:
| Oh glorious day! Thank you! What caused you to finally make
| the jump?
| chkas wrote:
| I also felt that it would get more traction :-)
| pjfin123 wrote:
| What do you think the the future of learning to program is?
| Something like this or repl.it for beginners to not have to
| understand the environment?
| karmakaze wrote:
| So many things that go from initial concept, to full
| implementation, then thinned out, and back to a full
| implementation in a new technology. A good example is from
| centralized mainframes and terminals, to desktop computers,
| then client-server, then thin client, rich client, and finally
| rich client in a web browser with centralized app hosting on a
| cloud server.
|
| The future of programming environments could be the 'browser',
| not as in web, but the Smalltalk kind. There wasn't concepts of
| source files, and edit/compile/run weren't so distinct.
| Producing 'an executable' was merely saving the environment
| state. A platform that could work like that adding recent
| advancements like versioning and remote collaboration could be
| powerful and easy to use. Deployment could also be a very not-
| so-different thing than saying run that image on up-to-N
| concurrent hosts configuration.
|
| One thing that I'd like to see attempted differently is
| removing the 'procedural' style so prevalent that it's barely
| even noticed as a choice. Immutable datastructures makes lots
| of things simpler. Not rebinding values to named 'variables'
| can also eliminate classes of bugs and sources of confusion.
| This can be done badly as in XSLT where you end up using
| recursion for the simplest things. There can also be better
| ways like the functional style that's gaining some adoption,
| e.g. map, filter, take_while, drop_while. Basically changing
| our thoughts into starting values, ending values, and
| transformation expressions in a declarative style, rather than
| the nitty gritty of pretending to be a CPU combining registers,
| loops, conditions etc.
| galaxyLogic wrote:
| I used to program in Smalltalk and as it faded from
| popularity I wondered why. It seemed so much better in many
| ways.
|
| Now I think the problem with the image-based programming is
| that while it is easy for a single programmer it makes
| collaboration more difficult. Why? Because it is very
| difficult or impossible to "merge" two or more images.
|
| My changes might work when added to a default virgin image,
| but there is no such thing as virgin default image when every
| Smalltalk provider has their own and multiple versions of
| them. Any image is as good as any other.
|
| The ability to change anything in the image really means the
| ability to depend on any fact about the current image. If you
| apply your changes in an environment/image where any one of
| those facts no longer holds you will get unpredictable
| results.
| indymike wrote:
| This is like a simplified BASIC in a jupyter style format. Fun,
| and worth working on.
| qnsi wrote:
| it reminds me of LOGO. Not sure if people are still learning
| it, but I learned it in school in 2000's and it got me hooked
| on programming
| empressplay wrote:
| They are :) It's not as huge as Scratch is but our Logo
| interpreter gets a reasonable amount of traffic, enough to
| make it worthwhile to develop, anyway
| ochrist wrote:
| There's also this for the BBC MicroBit:
| https://makecode.microbit.org/
| mmoskal wrote:
| I'm one of original devs of the above.
|
| I guess the main difference between MakeCode and most other
| kids learning environments is that it starts with a real
| language (TypeScript) and then exposes a subset of it
| through graphical blockly interface (while allowing usage
| of both). Having a real language makes it easier for more
| advanced users to create libraries, which can be exposed
| (as blocks which map 1:1 to functions) to less advanced
| ones. It also doesn't place an artificial ceiling on user's
| abilities.
|
| The library approach in micro:bit is mostly used for
| interfacing external hardware, but in
| https://arcade.makecode.com/ it allows for the entire 8-bit
| game engine to be implemented in-system.
| tingletech wrote:
| I learned logo in school in the late 70s. It was on the
| computer apple had given to our school.
| allcentury wrote:
| Where was this?
| gfodor wrote:
| Ironically just this week, I put my four year old in front of
| an apple 2 emulator running apple logo, and he was far more
| engaged and interested than any of the modern "kids learn to
| code" toys of today.
|
| Even the "updated" logos I found sucked because they throw
| you into a notebook not a repl. For young kids, a repl is way
| less overwhelming and confusing, because you're "talking to
| the turtle." Even the error messages are better: "I don't
| know how to X." The kid loved seeing the turtle talk back.
| These notebook oriented ones kind of lost the original thesis
| of logo form Paepert.
| empressplay wrote:
| If you might be more interested in a modernized version of
| Apple Logo, you should check out https://turtlespaces.org
| -- I too grew up with Apple Logo and thought it would be
| great to create a 3D version of it. It has a REPL just like
| the original, and the 'I don't know how to...' error
| messages too!
| fouc wrote:
| From the name I was expecting a readable lang, perhaps drawing
| inspiration from ruby.
|
| The only thing that makes this an easy lang is apparently based
| on the Dennis M. Ritchie quote at the top of the documentation -
| "A language that doesn't have everything is actually easier to
| program in than some that do"
| shoto_io wrote:
| Great and fun tool! I'm going to feature it in our morning issue
| at www.shoto.io
| spicybright wrote:
| Eh. I don't like the terminology of "installing" programs into
| the runner. Having to explain what a VM is with programs to run
| in it before you even start coding is what turns beginners off
| from learning.
| chkas wrote:
| You don't need the "Code runner" to code. The Web IDE is enough
| for that. With the "Code runner", which is a PWA, you can save
| programs locally and run them offline.
| spicybright wrote:
| Well I need to install code to run the examples though. IMO
| you need to see and run example code to copy from in order to
| learn.
| [deleted]
___________________________________________________________________
(page generated 2021-11-14 23:00 UTC)