7 ms·
The English Programming Language
- nathell 3y ago> Currently, the only compiler available is Wernicke Well, there’s Inform 7: https://ganelson.github.io/inform-website/ https://ganelson.github.io/inform-website/ :)
- zabzonk 3y agoooh, inform. before you can work out the english grammar for interacting with the game when the game is running, you have to work out how to interact with the english grammar when writing the grame itself. worst software idea ever, in my opinion.
- throwanem 3y agoI don't know. I found it as you describe, but that was after spending decades with more conventional programming languages. Meanwhile, there are folks over in the IF community who, despite to the best of my knowledge never having written a meaningful amount of what you and I would recognize as code, turn out works of complexity I'd never have imagined you could achieve with Inform 7. It doesn't have all that much value to me, although I've found it fun to play with, but too many people have done too well with it for me to want to write it off entirely. I think we're just no more for it than it is for us.
- anthk 3y agoInform6 was better if you wanted megasimple OOP approaches. The game practically wrote itself.
- mvuijlst 3y agoI admire the absolute confidence here. I find it baffling, but still.
- getmeinrn 3y agoCool language! I wish there was more standard interpreter support though. Everyone seems to be using a different flavor, which yields different results depending on where the code runs.
- noman-land 3y agoWorks on my machine. Have you tried turning it off for a bit?
- heywoodlh 3y agoJust use the container
- jonathanpglick 3y agoThe Product team uses a different version than the Engineering team
- throwaway1492 3y agoAs someone who worked on a 35 million loc cobol and jcl system for several years in the late 90's, I don't find this to be funny at all. Cobol was purported to be readable with english language like syntax to make it more understandable. Giving gems such as: MULTIPLY TAX-RATE OF STATE(43) BY BALANCE GIVING SALES-TAX-AMOUNT. Note the period is sigificant.
- paddw 3y agoI have no doubt English like syntax is a terrible idea but this seems like a surprisingly readable example.
- maxbond 3y agoAgreed, I rather like this line of code, but I must admit that the C-like version is perhaps better: sales_tax_amount = balance * state[42].tax_rate; (Assuming I've guessed the meaning of the Cobol correctly - perhaps that's the rub.) (ETA: Added semicolon.) (ETA2: Fixed critical indexing bug.)
- quickthrower2 3y ago#define MULTIPLY sales_tax_amount = balance * state[43].tax_rate; //
- phlakaton 3y agoYou forgot the semicolon. Note the semicolon is significant. Barbaric, I know.
- throwawaymobule 3y agoI think indexes start at 1 in COBOL. I had to look it up though. (aiui, they're called TABLEs and the index can start from any number) So that'd be state[42].
- maxbond 3y agoNot all heroes wear capes. I've put in a PR to upstream. LGTM
- zabzonk 3y ago>This is a typical English program that implements the Frost pathfinding algorithm: although this is one of my favouite programs (or poems), i have never before noticed that it is one quite long poem (or program) terminated by a period - i wonder why Frost did that? possibly a pascal programmer?
- fuzztester 3y agoI heard he was a separatist, and the path seemed interminable.
- fuzztester 3y agoThat algorithm didn't terminate, although he tried divide and conquer (which was called fork in those days).
- i-use-nixos-btw 3y ago> There are millions of English libraries available. You can look for the closest in Google Maps. LOL! Though I have a bug report. There are actually only 320k. This makes me feel sad.
- bdcravens 3y agoA number of libraries in the Southern states have biased maintainers who have merged in pull requests deleting a large number of classes in bulk, despite the fact that the tests have passed for years and those classes are in use by a large number of language users.
- theandrewbailey 3y agoAdding and removing packages based on demand is standard procedure for physical repository maintainers.
- paddim8 3y agoStates of what?
- PrimeMcFly 3y agoThis is peak 'nerd' humor. Worse than dad jokes.
- thebigah 3y agoMake it poetry and it's verse than that.
- owenpalmer 3y ago> English is used on more than 1,456 million carbon-based devices The aliens are going to find this and use humans as their computers
- throwaway7868 3y agoIt's a SYSOPS manual!
- deleted 3y ago[deleted]
- aussieguy1234 3y agoWell, you can now "program" LLMs such as ChatGPT with English. Using English you can set your chatbots character, personality and purpose. Will it be a helpful assistant like ChatGPT, or be a digital reincarnation of some historical character? Both can be set up in plan english and the LLM will follow your instructions.
- DriverDaily 3y agoLeave two English programs running in isolation for a few centuries and suddenly you need a translation layer…
- andreygrehov 3y agoFantastic repo. Love it! Looking back, we can see how Machine Code, with its intricate and challenging nature, paved the way for more accessible options. Assembly language then emerged, providing a higher level of abstraction and reducing the complexities of directly working with machine instructions. And of course, C followed suit, offering even greater simplicity and ease of use compared to Assembly. Imagine a future where programming languages, as we know them today, become akin to CPU instructions – a foundational and low-level primitive. LLMs will revolutionize the way we interact with code, providing a unified interface where the complexities of various languages are distilled into a common representation. The proliferation of individual programming languages will wane. Knowing Java or C++ will become a rare skill, akin to individuals specializing in low-level optimizations using Assembly language these days. Edit: as time progresses, even the convenience of LLMs may pose challenges, given our inherent tendency towards laziness, so an additional layer of abstraction will be introduced, bridging the gap between LLMs and spoken languages. BCIs will revolutionize the act of coding itself so that individuals can seamlessly "code" by simply "thinking" about their desired actions.
- pknerd 3y agoWasn't PASCAL pretty much ENGLISH language?
- barrysteve 3y agoIs there supposed to be a knowing self-aware irony to this idea? Idk, it just seems a flat re-interpretation of an obvious concept. Good silliness goes deep, imo.
- freedmand 3y agoNever shared this before, but I had a phase where I built satirical landing pages and of them was “Words: The programming language for ideas” https://readymag.com/dylan/words/ https://readymag.com/dylan/words/
- LeoPanthera 3y agoI've often described telling LLMs what to do as "programming in English", and I genuinely think some people have an unusually low opinion of the capabilities of LLMs because they're not so great at expressing ideas and concepts in English.
- beej71 3y agoIt can be tough to unambiguously express ideas and concepts in English.
- ilaksh 3y agoThe original version of my aidev.codes project was a process of refining specifications that would be rerun each time you changed something (picking up where you left off if you just added something). Running meant generating JavaScript code based on the spec which would be executed on page load. It kind of worked. The biggest challenge was the limitation of gpt-3 or Codex that I was using at the time and the fact that it didn't always return the exact same result. Although with temperature zero it was somewhat stable.
- optimalsolver 3y agoI thought this was going to be similar to StupidStackLanguage: https://esolangs.org/wiki/StupidStackLanguage https://esolangs.org/wiki/StupidStackLanguage
- chaosprint 3y agorelated for those who are interested in DSL design: - an ancient Chinese programming language: https://wy-lang.org/ https://wy-lang.org/ - I am also building an synth/audio graph inspired music programming language: https://glicol.org/ https://glicol.org/
- sorokod 3y agoA programing language can be seen as UI between a human and the computer. As such it is similar to a keyboard. The path to keyboard includes phisically wiring the hardware and punchcards. At the moment keyboards provide a stable tradeoff between precision and ergonomics. Maybe in some future we will be able to replace the keyboard with a microphone but there are good reasons why this hasn't happened yet.
- chaosprint 3y agolanguage is interface and keyboard is interaction device, so in what aspect are they similar? could you elaborate on this?
- sorokod 3y agoDon't see how adding "device" makes a relevant difference. In both cases they are an interface between the intent a human wishes to convey and the computer that is to execute that intent.
- number6 3y ago> English programs are self-documenting and implement literate programming. Ever read Finnegans Wake
- remoquete 3y agoAh, code obfuscation is a classic.
- drpixie 3y agoUnfortunately there is a serious version problem amongst existing English systems. The language does not provide a method to enforce use of particular versions, and there is no universal naming convention to identify "dialects". While less problematic at small sites, where it will be assumed that all instances are of the same "dialect", this commonly causes problems at large sites and for internationalization. Conflicts between versions and/or dialects may be limited to identifier conflicts ("colour" v "color"), may involve terms not recognized by multiple parties, terms with conflicting meaning ("chaps"), or terms unacceptable to some parties ("toilet" v "bathroom") which break the "conversation".
- K0balt 3y agoThe main issue with EPL is that compiling or interpreting the language (it supports both paradigms) is extremely resource intensive and incurs significant compute overhead, often unavailable without resorting to fixed infrastructure. Inference requires access to the massive n-dimensional memetic matrix that comprises the execution environment since most of the processing is done in the data structure itself. Is silicon this implies a large amount of memory and processing capacity, and in carbon the training process takes decades, even though the cost is (amazingly) lower. The big downside of carbon based solutions is that each instance has to be individually trained, so scaling is a serious problem. Not only that, but the success of the training stage is not predictable, and retraining is usually ineffective. Interestingly, EPL is considered by some to be an exemplary example of the “data as code” paradigm, since the majority of the processing is pre compiled into the n-dimensional memetic matrix. Even though the mematrix is so massive that resource consumption is high just to move tiny fragments in and out of working memory, it enables the use of simple algorithms to produce surprising inference performance. The main requirement for extracting inference from the dataset is that the extraction algorithm perform statistical prediction of sequential tokens, which is easily accomplished in both silicon and carbon based neural networks. It is also worth noting that each data output is also code, which is then recursively be added to the mematrix even if the output is an error. This requires careful code hygiene and error checking and correction or inference results can quickly go off the rails.
- themoonisachees 3y agoTo be entirely fair, interpretation on silicon-based processors isn't exactly a supported use case. You can just about make it work nowadays but you're really just emulating carbon-based processors in a box.
- creatonez 3y agoThis idea is taken from the Esolangs wiki - https://esolangs.org/wiki/English https://esolangs.org/wiki/English
- remoquete 3y agoFun, but I found out about that page _after_ writing the README. Ideas can develop simultaneously.
- theandrewbailey 3y ago> English has been designed over the course of fourteen centuries. Wasn't English forked from several other intermediate forks (Anglo-Saxon, Germanic, etc.) going all the way back to Proto-Indo-European? I guess that since none of those carried the name "English" (or its original name "Anglish"), all those beta projects don't count in that timespan, otherwise, it has to be at least twice that age.
- remoquete 3y agoA story more intricate than BSD’s. https://aeon.co/essays/why-is-english-so-weirdly-different-from-other-languages https://aeon.co/essays/why-is-english-so-weirdly-different-f...