[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)