DEV Community

Discussion on: Who's looking for open source contributors? (Dec 31st edition)

Collapse
 
gtanyware profile image
Graham Trott • Edited

English-like DSL for website coding

There's a simple reason why so many software projects fail to deliver and become maintenance nightmares. It's because the coding is too complex. To quote Linus, "given enough eyeballs, all bugs are shallow". The big mistake is to express business logic in a 3GL, because too few eyeballs (i.e. only experts) can read it and the code rapidly becomes unmaintainable. SQL works so well because it occupies the middle ground where it can be read and understood by both domain experts and programmers. So let's have more DSLs.

My project is a declarative English-like script language coded in JavaScript and currently implemented as a WordPress plugin. Its purpose is to do all the things people currently use JS for in the browser, but to ensure the resulting code is easily readable by any competent website builder or maintenance person - for the lifetime of the website. In a sense it's the next step beyond frameworks.

github.com/gtanyware/EasyCoder

I use it myself to code websites in such a way that no HTML or JS is visible, just English-like statements containing DOM and other objects, styles and a variety of everyday verbs. The problem is, being English-like it's not a closed vocabulary in the way most computer languages are, and although the architecture is designed for indefinite expansion I'm having trouble keeping up with my own ideas, which tend to run way ahead of what I can achieve. So I'd really like to interest other people in joining in and taking it forward. Such as:

JavaScript programmers

Just vanilla JS; the structure is quite simple and everything outside the core is in plugin, independent modules. But there are potentially a lot of them. The general idea is you take a chunk of functionality - it could be as simple as setting an attribute or as complex as a Google Map - and devise a suitable script syntax to wrap it in. Then you code the wrapper. With practice it can be done in minutes or hours, not days. More skilled programmers can also offer advice on refactoring; something I'm sure there's plenty of scope for.

Website builders

Only modest programming skills are needed; the key attribute is a clear view of what the site should do. The bigger the site, the better; EasyCoder excels at handling the needs of big single-page designs that pull in scripts and data on demand from a REST server and give a response time of a couple of seconds or less while doing so.

Designers

As above, but the aim being to show off the capabilities of the system and get it noticed.

Documentation writers

It could do with a properly thought-out structure that's good for indefinite expansion. Something along the lines of JavaDoc, perhaps.

If you want to know more, contact details (email and Slack) are on the EasyCoder website:
easycoder.software/about-us/