Skip to content(if available)orjump to list(if available)

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

usl

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

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

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

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

Absolutely. Huge claim with zero examples is hmm.

usl

You're right. I'll post the examples, asap.

TylerE

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

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

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

Most languages are really just their standard library + ecosystem, go figure.

Defletter

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.

verdverm

Is there anything here besides big claims on a landing page, screenshots, and a payment button?

This seems like vaporware

brirec

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…

almostgotcaught

You've invented IR - eg take a look at egress targets in MLIR https://github.com/llvm/llvm-project/tree/main/mlir/lib/Targ...

null

[deleted]

drivingmenuts

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.

cranberryturkey

Sounds like smashlang

kjellsbells

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.