TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Easylang – A browser-based first programming language

167 点作者 chkas超过 2 年前
Hi. I made Easylang to help beginners get started with programming. It is open source.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;chkas&#x2F;easylang" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;chkas&#x2F;easylang</a><p>Why I think Easylang is for beginners better than Python.<p><a href="https:&#x2F;&#x2F;easylang.online&#x2F;blog&#x2F;easyl_pyth.html" rel="nofollow">https:&#x2F;&#x2F;easylang.online&#x2F;blog&#x2F;easyl_pyth.html</a><p>UPDATE: The posted link goes directly to the beginner tutorial. This is the start page of the IDE.<p><a href="https:&#x2F;&#x2F;easylang.online&#x2F;ide&#x2F;" rel="nofollow">https:&#x2F;&#x2F;easylang.online&#x2F;ide&#x2F;</a>

20 条评论

RomanPushkin超过 2 年前
You&#x27;re my man! The only complaint is array index starts with 1. Can we break backwards compatibility please and make it 0?
评论 #33679261 未加载
sbergot超过 2 年前
Couple observations:<p>- you should have a code snippet on your landing page<p>- in your python comparison it is unclear why easylang decides that a is a number.
评论 #33670876 未加载
robto超过 2 年前
This may be a lost cause, but I don&#x27;t think a beginner language should have mutable data at all. The only reason we really need mutability is for speed - our programs have to run on actual machines and for a long time we didn&#x27;t have efficient ways of working with immutable data structures. It&#x27;s a lot easier to reason about immutable data. And any non-programmer is not going to expect mutable data - from the beginning when they started learning math all the way up to MS Excel wizards, all the data has been immutable.<p>Mutation is a deep magic that learners shouldn&#x27;t start with. It&#x27;s pure premature optimization. Also everything should be expressions, no statements, why force people to learn extra syntax? Thank you for listening to my TED Talk.<p>...but thank you for making this tool! I love the IDE - simple, clear, and self-documenting!
评论 #33677569 未加载
评论 #33678366 未加载
评论 #33677990 未加载
评论 #33678765 未加载
评论 #33678741 未加载
kasajian超过 2 年前
Made a bouncing circle:<p><a href="https:&#x2F;&#x2F;easylang.online&#x2F;ide&#x2F;#run=color%20999%0Amove%200%200%0Arect%20100%20100%0Ax%20%3D%2030%0Ay%20%3D%2070%0Apx%20%3D%20x%0Apy%20%3D%20y%0Ah%20%3D%203%0Av%20%3D%203%0Ai%20%3D%201%0Awhile%20i%20%3C%20100%0A%20%20color%20999%0A%20%20move%20px%20py%0A%20%20circle%203%0A%20%20color%20900%0A%20%20x%20%3D%20x%20%2B%20h%0A%20%20y%20%3D%20y%20%2B%20v%0A%20%20move%20x%20y%0A%20%20circle%202%0A%20%20m%20%3D%201%20%2F%2020%0A%20%20sleep%20m%0A%20%20px%20%3D%20x%0A%20%20py%20%3D%20y%0A%20%20i%20%3D%20i%20%2B%201%0A%20%20if%20x%20%3E%2090%20or%20x%20%3C%2010%0A%20%20%20%20h%20%3D%20h%20*%20-1%0A%20%20end%0A%20%20if%20y%20%3E%2090%20or%20y%20%3C%2010%0A%20%20%20%20v%20%3D%20v%20*%20-1%0A%20%20end%0Aend%0A" rel="nofollow">https:&#x2F;&#x2F;easylang.online&#x2F;ide&#x2F;#run=color%20999%0Amove%200%200%...</a>
indymike超过 2 年前
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.<p>Love the a = number input typecast.<p>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:<p>end # while<p>Also, inline comments should be ok. Then you get end # while instead of the above two liner.<p>Honestly, this is a nice little language.
评论 #33677637 未加载
评论 #33673293 未加载
pacifika超过 2 年前
This is great and thank you for making programming more approachable!<p>I think some of the numbers would benefit from units. For example colours, size, coordinates etc can all be represented by the number 444.<p>Therefore `circle 444` could mean a large circle a grey circle, a centred circle.<p>I had to read the example before I understood the code there is all.<p>Perhaps a prefix x444, y444, c444, w444 would help?
评论 #33671182 未加载
musicale超过 2 年前
I&#x27;d like to see something like this for JavaScript, and I&#x27;d like it to be built into web browsers.<p>Learning JavaScript provides a lot of leverage since it is built into basically every web browser and can be used for everything from web apps to server-side apps to pseudo-desktop apps.
评论 #33678613 未加载
azhenley超过 2 年前
It looks like a BASIC. Are there any benefits over other educational&#x2F;games-oriented BASICs?<p>How does it compare to educational languages, like Hedy?<p><a href="https:&#x2F;&#x2F;www.hedycode.com" rel="nofollow">https:&#x2F;&#x2F;www.hedycode.com</a>
评论 #33673296 未加载
anfelor超过 2 年前
The best attempt at creating a learnable programming language I&#x27;ve seen is this design document by Bret Victor: <a href="http:&#x2F;&#x2F;worrydream.com&#x2F;#!&#x2F;LearnableProgramming" rel="nofollow">http:&#x2F;&#x2F;worrydream.com&#x2F;#!&#x2F;LearnableProgramming</a><p>It is now ten years old but I don&#x27;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 &quot;Recomposition&quot;, which is an extremely clear explanation of why functional programming matters for learnable programming.
评论 #33675256 未加载
评论 #33674948 未加载
29athrowaway超过 2 年前
You need to provide one brief tutorial at a time, otherwise it is overwhelming for learners.
jbirer超过 2 年前
You should focus on developing this further, I see lots of potential.
owenpalmer超过 2 年前
Beautiful, I&#x27;m going to use this in my next programming class!
评论 #33679279 未加载
vetelko超过 2 年前
No parens, brackets, etc... Thank you :)
评论 #33671358 未加载
ZeroGravitas超过 2 年前
This reminded me a little of Hedy language:<p><a href="https:&#x2F;&#x2F;www.hedycode.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.hedycode.com&#x2F;</a><p>It starts off super simple, like:<p>print something<p>and then introduces all the fiddly concepts like quoting, escaping etc. 1 by 1 until it turns into python.<p>The designer had a neat talk about it at the strange loop conference.<p>One of the themes they talk about is the difference between &quot;easy to learn&quot; and &quot;easy to teach&quot; which I found insightful.<p><a href="https:&#x2F;&#x2F;www.thestrangeloop.com&#x2F;2022&#x2F;hedy-a-gradual-programming-language.html" rel="nofollow">https:&#x2F;&#x2F;www.thestrangeloop.com&#x2F;2022&#x2F;hedy-a-gradual-programmi...</a><p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fmF7HpU_-9k" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fmF7HpU_-9k</a>
评论 #33673230 未加载
评论 #33671427 未加载
velcrovan超过 2 年前
Pyret (<a href="https:&#x2F;&#x2F;www.pyret.org" rel="nofollow">https:&#x2F;&#x2F;www.pyret.org</a>) 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 (<a href="https:&#x2F;&#x2F;dcic-world.org&#x2F;2022-08-28&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;dcic-world.org&#x2F;2022-08-28&#x2F;index.html</a>). The second half of the book transitions to Python, at which point the reader&#x2F;student is well-prepared to understand aspects of Python that can be tricky for first-time programmers.
评论 #33673268 未加载
geenat超过 2 年前
Similar but used in production by a lot of htmx people: <a href="https:&#x2F;&#x2F;hyperscript.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hyperscript.org&#x2F;</a>
评论 #33674380 未加载
bmitc超过 2 年前
You might be interested in Pyret, if only because the stated goals are similar.<p><a href="https:&#x2F;&#x2F;www.pyret.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.pyret.org&#x2F;</a>
评论 #33673295 未加载
thesuperbigfrog超过 2 年前
Reminds me of Logo: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Logo_(programming_language)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Logo_(programming_language)</a><p>Python has a Logo-ish mode called turtle graphics:<p><a href="https:&#x2F;&#x2F;docs.python.org&#x2F;3&#x2F;library&#x2F;turtle.html" rel="nofollow">https:&#x2F;&#x2F;docs.python.org&#x2F;3&#x2F;library&#x2F;turtle.html</a>
评论 #33673930 未加载
dang超过 2 年前
Related:<p><i>Show HN: Particles – the URL contains the whole program code</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31883209" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31883209</a> - June 2022 (21 comments)<p><i>Show HN: Learn Basics of Programming in 40 Minutes</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30136967" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30136967</a> - Jan 2022 (3 comments)<p><i>Easylang – An easy online programming language and development environment</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29218101" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29218101</a> - Nov 2021 (36 comments)<p><i>Monte Carlo Methods or Why It&#x27;s a Bad Idea to Go to the Casino</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29217539" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29217539</a> - Nov 2021 (70 comments)<p><i>Show HN: An Easy Programming Language That Runs in the Browser via WebAssembly</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28863847" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28863847</a> - Oct 2021 (9 comments)<p><i>Blackjack Probabilities, Card Counting – Calculation and Simulation</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28025561" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28025561</a> - Aug 2021 (23 comments)<p><i>Show HN: Learn the Basics of Programming in 20 Minutes</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27245000" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27245000</a> - May 2021 (5 comments)<p><i>Show HN: A programming language and framework for writing small canvas web apps</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26779898" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26779898</a> - April 2021 (2 comments)<p><i>Show HN: A modern BASIC-like teaching and learning programming language</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22841336" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22841336</a> - April 2020 (48 comments)<p><i>Show HN: The program code is in the URL</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22266563" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22266563</a> - Feb 2020 (5 comments)<p><i>Show HN: A Basic-Like Programming Language That Runs in the Browser</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21178687" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21178687</a> - Oct 2019 (6 comments)<p><i>Show HN: A small programming course for everyone</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20982002" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20982002</a> - Sept 2019 (12 comments)<p><i>Show HN: A few simple games not only for kids</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20745142" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20745142</a> - Aug 2019 (28 comments)<p><i>Monte Carlo methods – Why it&#x27;s a bad idea to go to the casino</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20359100" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20359100</a> - July 2019 (161 comments)
评论 #33695962 未加载
pipeline_peak超过 2 年前
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…<p>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.<p>Otherwise, you brought up some good points, Python and JS really aren’t as kid friendly as we think.
评论 #33675298 未加载