Ha, very interesting. I just started using Gleam last week or so... I knew about it and loved Elm back in the day. Anyhow, will enjoy discovering EYG as well.
EYG: A Programming Language for Humans
51–60 of 69 posts
Re: EYG: A Programming Language for Humans
#52Earlier quoted context omitted.
There is one example that succeeded and became the most widely used programming paradigm on the planet: Spreadsheets Though you might argue that the "programming language" part was rather accidental
And interestingly using Excel resembles pure functional programming in a lot of ways
Re: EYG: A Programming Language for Humans
#53Earlier quoted context omitted.
from the article > My hypothesis > Developers deal with two broad categories of work. > - Describing the logic of the problem they are solving using language constructs like if, loop, var etc. > - Working with computers to run those problems using constucts like $PATH, /var/tmp and AWS. > There are a lot of humans who can do the first work fine but don’t have the time to master the second category. I call these human…
500 million years ago a former colleague created "Electric File Clerk" which became profile which became filepro which technically still exists today. It was a "RAD, rapid application development system basically the proto ms access. The idea was the user is a dentist or lawyer, not a developer, but needs to make their own software because at that time almost no canned software existed yet. The doctor or florist or w…
Re: EYG: A Programming Language for Humans
#54I generally don't think it's a good idea to develop a language for non-developers. It was tried before multiple times and the end goal has not been achieved. Sooner or later one realizes, that professional developers are still necessary, even for languages initially designed for "normies". But such a language is typically not good enough for them, it lacks necessary abstractions, flexibility, performance or something…
For example: I would say that 1-based indexing is pretty much required for a language targeting non-developers; Excel, SQL, R, Matlab, Cobol, Mathematica, Lua are all 1-indexed and all target non-developers. Most PL devs refuse to do this citing how unnatural it is for themselves to reason about, and how Dijkstra was right about the beauty of 0-based indexes. Sorry, but all that is irrelevant when you're trying to convince a non dev that "Actually it makes a lot of sense that the first thing is called 0". They hear that and they tune out because it asks them to abandon their familiar assumptions too early, and they're unwilling to do that on promises of it getting better.
So the first problem people have in making languages for non-developers is they make it like Python, because Python is considered an easy language for beginners. Big mistake, because then you've only appealed to people for whom Python is appealing. Those are not the people we're trying to get with a non-dev language, and besides we already have Python for that.
You look at the top languages used by non devs and you can see that they appreciate aspects of languages that devs do not, so that's why devs fail so regularly at this. But there are some success stories you point out.
Then there's of course the biggest example you forgot: Excel. And it's not a surprise this one is always forgotten by programmers because despite being a programming language it doesn't follow typical programming language conventions, and as a design artifact it sits well outside the design hornet's nest that is the C/C++/Java/Javascript/Python which comprise most of mainstream programming.
Finally there is LOGO - This one is often missed, but it's a lisp-like language that allowed small children to program complex applications like differential physics coursework which grad students find difficult to program, and they're able to do it simply by reframing the program into something they are familiar with like their own body rather than abstract concepts like integration.
They called this "body syntonic reasoning" and it was impressive because the language itself contained the pedogogical framing to enable this. If it hadn't and just said "Here's what a for loop is, now write programs!" it wouldn't have worked. This shows you in order to get non-developers to code, you have to approach them with an uncommon level of empathy for how they thin, and I don't know if most lang developers are up to that task.
Re: EYG: A Programming Language for Humans
#55Earlier quoted context omitted.
There is one example that succeeded and became the most widely used programming paradigm on the planet: Spreadsheets Though you might argue that the "programming language" part was rather accidental
And interestingly using Excel resembles pure functional programming in a lot of ways
I sincerely think there are lots of unlearned lessons in studying Excel.
Re: EYG: A Programming Language for Humans
#56why this why we have llms? thats totally usless. I think all new programming langugaes are ueless right now with advancement of LLMs.
Re: EYG: A Programming Language for Humans
#57Earlier quoted context omitted.
500 million years ago a former colleague created "Electric File Clerk" which became profile which became filepro which technically still exists today. It was a "RAD, rapid application development system basically the proto ms access. The idea was the user is a dentist or lawyer, not a developer, but needs to make their own software because at that time almost no canned software existed yet. The doctor or florist or w…
Aside: I support a court who uses a FilePro-based application that dates back, at least, to the mid-90s. I don't have to deal with the actual app-- just the underlying Linux boxes that run it. It seems reasonable.
Point was just, this old thing is certainly old and not exactly natural to integrate with anything else today, but, there must be something there such that it does the job people actually need doing, and even spending millions of $ and many man-years on the most bestest-currentest-modernest-kool-kidsest systems somehow fails to deliver a equivalent actual real world functionality the users already had, let alone better.
As magical as new frameworks undeniably are, there's always just something a bit out of touch, like they make the most sense to the developer of the framework and not the user of the framework.
Re: EYG: A Programming Language for Humans
#58Earlier quoted context omitted.
So I poked around... this is really interesting. So you take language in text and make IR, but also could be made IR directly. That is very interesting. Potentially I could make a version without curly braces or some weird syntax and it could be compiled in IR and still be same language :). Kind of like MS and VB and C# haha. I like what you did so far, I will keep an eye, maybe help if I can.
I have a few weird syntax I've worked on in the past so this is definitely possible. Currently only the textual representation and structural editor are in the repo. The most different I have done is a layout where the AST was presented like a file tree. apply ├── int_negate └── 5
https://gist.github.com/conartist6/7dd40697140965ee343de93b9...
Re: EYG: A Programming Language for Humans
#59Functional programming paradigms? Matching? Complex syntax? Sorry but either I've missed the point, or you've lost me. If we're trying to create tools for non-Developers to build software, this isn't it. You can pretty much already just ask Claude/Codex/whatever and it'll build you a thing™ and it'll probably work. You don't even need to read the code.
from the article > My hypothesis > Developers deal with two broad categories of work. > - Describing the logic of the problem they are solving using language constructs like if, loop, var etc. > - Working with computers to run those problems using constucts like $PATH, /var/tmp and AWS. > There are a lot of humans who can do the first work fine but don’t have the time to master the second category. I call these human…
A good example of the actual tool is FoxPro and similar (even better than MS Access based on the ideals of the article) and I observed being actually used by occasional "developers" that need more than Access/Vb/Excel.
I'm on the hunt for it with https://tablam.org but the main major pain point is to bring the actual UI. You can go anywhere with syntax and such, is how you connect to the rest where the magic must prove is real.
Re: EYG: A Programming Language for Humans
#60Earlier quoted context omitted.
And interestingly using Excel resembles pure functional programming in a lot of ways
And it has array programming features, logging, and (time-travel!) debugging all intuitively graspable for most non-technical people. I sincerely think there are lots of unlearned lessons in studying Excel.