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

I wrote my own "proper" programming language (2020)

pyrale

I'd be interested to understand the design choices behind using protobuf as an interface with LLVM: in my reasoning, it may be more performant, but that serialization step is a very small part of compute, and the serialization format is unusable by humans. For debug purposes, it'd have been nice to have a more human-friendly format. Did the project have other constraints?

kubb

Serialized protocol buffers can be converted to the human friendly text format:

https://protobuf.dev/reference/protobuf/textformat-spec/

He most likely wants to have the type structure generated by protocol buffer as opposed to parsing JSON

The latter requires asserting in a million places that this key exists in this map with this type, which will require a million lines of crap code.

Not to mention packing and unpacking the serialized data and maintaining two separate sets of corresponding structures/records that have to be kept in sync.

rurban

Protobuf also needs to deserialized. Cap'n proto would have been the better option.

etyp

I've actually tried serializing languages into protobufs. The main reason was it made communication from X random programming language to Java in a consistent, structured way. Seems like it's just how they sent the IR from OCaml to C++. On either side you'll get the Bolt IR so I don't think debugging suffers too much. But the extra step for serializing and deserializing is a bit of a bummer

Timwi

I'm so excited to see that the idea of creating new programming languages is getting more popular. There is definitely a lot of space in which to explore more creativity; we haven't even remotely begun to scratch the surface of what's possible!

I just wish more tooling existed that was language-agnostic so that it's easier to get off the ground with something “serious”. I'm talking debuggers, parse-tree-aware diffs, autocompletion like Intellisense, etc.

chikere232

The lack of such tooling is kind of a feature. Writing your own language is a great way to learn, but almost all of them shouldn't be used for anything serious

atan2

I probably won't create a "proper" programming language but this topic fascinates me. As someone that never even took a compilers class in college I was really happy with the content I found at pikuma.com. The course really helped me understand how a simple programming language works. I'm sure others might benefit from it too.

gjadi

His progression is wild. Going from top Cambridge graduate in 2021 to Staff Eng at META in 3y. Nice!

null

[deleted]