Show HN: USL - A Universal Scripting Language That Outputs to 111 Languages

15 usl 17 4/15/2025, 2:26:19 AM townsendatomics.gumroad.com ↗

Comments (17)

almostgotcaught · 16d ago
You've invented IR - eg take a look at egress targets in MLIR https://github.com/llvm/llvm-project/tree/main/mlir/lib/Targ...
usl · 16d ago
Hey HN,

I built something I wish I had years ago.

USL (Universal Scripting Language) is a symbolic syntax system that lets you write logic once, and output that logic into 111+ real programming languages — Python, Rust, C++, JS, Java, Go, etc.

Upload a .usl file into the hosted app → choose any language(s) → download a .zip of the real code.

It supports:

Symbolic logic for print, assign, function, loop, if, etc.

Custom syntax templates for each language

A web app with multiselect UI + ZIP bundling

Gumroad option to support or unlock everything ($5)

App + Source: https://townsendatomics.gumroad.com/l/usl

I’d love your thoughts on:

How it could be more useful for devs/teachers

Any language you'd want added

Whether this belongs as a CLI tool, VS Code plugin, or playground next

Happy to answer anything or collab. Thanks for reading!

danpalmer · 16d ago
Hey, congrats on the launch. I'm interested in what use-case led you to create this? What problem does it solve?

I've had a little experience translating code between languages (ObjC/Swift, Javascript/Python), and it has been frustrating, not because of re-stating the logic, but due to different availability of libraries, different execution semantics (e.g. async/await), different type systems, etc.

Also, it looks like USL is a new language? Did you consider something like CEL instead (Common Expression Language, https://cel.dev/), which seems to be doing something similar for the expression of basic logic.

usl · 16d ago
It's a new language. I haven't tried cel, but USL transpiles all of the logic--I'll keep working on it and make sure it works as you've mentioned.

I was curious to see if I could do something like this for fun. It currently works with 111 languages from the 40/50s-today.

kej · 16d ago
I think the landing page would be a lot more convincing with more examples. Show some simple scripts and a few of the generated outputs so people can get an idea of what your app is capable of.
crancher · 16d ago
Absolutely. Huge claim with zero examples is hmm.
usl · 16d ago
You're right. I'll post the examples, asap.
TylerE · 16d ago
I find it impossible to take a $5 product seriously. It’s either a complete toy or the company will disappear inside of a year, or both. That isn’t a sustainable business model.

Edit: Aldo the very first line of the very first example has. Basic syntax error (missing. Terminal quote in string constant).

usl · 16d ago
Can you post it so I can see please? Which languages did you try?

It's the first release--early bird pricing to raise funds for development.

TylerE · 16d ago
I’m talking about literally the very first tab of the first example I. The link that was posted

It’s something like print(“foo)

djfivyvusn · 16d ago
Most languages are really just their standard library + ecosystem, go figure.
Defletter · 16d ago
Heh, many languages have this inverse correlation between language features and the quality of their standard library. Zig for example has amazing language features, I wish that I could inline "orelse" or inline "catch" in Java, but I can't, and yet spinning up a cross-platform and asynchronous tcp server is infinitely easier in Java than in Zig. In fact, the more accurate correlation might be that the more annoying it is to write in a language, the more likely it is to have a thriving ecosystem, eg: Rust, Go, Javascript.
drivingmenuts · 16d ago
This is neat, but, why not just run the USL script, rather than translating it to another language to run it there? Most of the target audience for this has the access to just work in whatever language needed and the few who don't, for reasons, probably are just going to write their scripts in the languages available to them.

Seems that being able to translate a script from one language to another language would be more useful.

This is a case where there were 111 problems. Now, there's 112.

brirec · 16d ago
I’ll definitely check it out if it’s ever published as open source software!

Source available isn’t my cup of tea (especially for programming languages), and I’m not exactly a big fan of Gumroad either…

verdverm · 15d ago
Is there anything here besides big claims on a landing page, screenshots, and a payment button?

This seems like vaporware

cranberryturkey · 16d ago
Sounds like smashlang
kjellsbells · 16d ago
Suggestion: define who your target user is. A dev who speaks one lang and needs to quickly output another? A student in high school? A TA in college? That will orient the reader and set expectations appropriately.

Also show some samples of output, eg Python or Go. It's difficult to assess the tool without understanding how idiomatic the output code is. As in, is USL doing anything more than "tokenizing sed on steroids"? I can't tell.

Then again, if it's meant as a learning tool, maybe it matters less.