frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Ask HN: Anyone Using a Mac Studio for Local AI/LLM?

43•UmYeahNo•1d ago•27 comments

Ask HN: Non AI-obsessed tech forums

18•nanocat•5h ago•12 comments

Ask HN: Ideas for small ways to make the world a better place

9•jlmcgraw•7h ago•16 comments

Ask HN: 10 months since the Llama-4 release: what happened to Meta AI?

42•Invictus0•23h ago•11 comments

AI Regex Scientist: A self-improving regex solver

6•PranoyP•9h ago•1 comments

Ask HN: Who wants to be hired? (February 2026)

139•whoishiring•4d ago•510 comments

Ask HN: Who is hiring? (February 2026)

312•whoishiring•4d ago•511 comments

Ask HN: Any International Job Boards for International Workers?

2•15charslong•5h ago•1 comments

Ask HN: Why LLM providers sell access instead of consulting services?

4•pera•15h ago•13 comments

Tell HN: Another round of Zendesk email spam

104•Philpax•2d ago•54 comments

Ask HN: Is Connecting via SSH Risky?

19•atrevbot•2d ago•37 comments

Ask HN: What is the most complicated Algorithm you came up with yourself?

3•meffmadd•17h ago•7 comments

Ask HN: Has your whole engineering team gone big into AI coding? How's it going?

17•jchung•1d ago•12 comments

Ask HN: How does ChatGPT decide which websites to recommend?

5•nworley•1d ago•11 comments

Ask HN: Is it just me or are most businesses insane?

7•justenough•1d ago•5 comments

Ask HN: Mem0 stores memories, but doesn't learn user patterns

9•fliellerjulian•2d ago•6 comments

Ask HN: Anyone Seeing YT ads related to chats on ChatGPT?

2•guhsnamih•1d ago•4 comments

Ask HN: Does global decoupling from the USA signal comeback of the desktop app?

5•wewewedxfgdf•1d ago•2 comments

Ask HN: Is there anyone here who still uses slide rules?

123•blenderob•3d ago•122 comments

Kernighan on Programming

170•chrisjj•4d ago•61 comments

We built a serverless GPU inference platform with predictable latency

5•QubridAI•1d ago•1 comments

Ask HN: How Did You Validate?

4•haute_cuisine•1d ago•4 comments

Ask HN: Does a good "read it later" app exist?

8•buchanae•3d ago•18 comments

Ask HN: Cheap laptop for Linux without GUI (for writing)

15•locusofself•3d ago•16 comments

Ask HN: Have you been fired because of AI?

17•s-stude•3d ago•15 comments

Ask HN: Anyone have a "sovereign" solution for phone calls?

12•kldg•3d ago•1 comments

Test management tools for automation heavy teams

2•Divyakurian•1d ago•2 comments

Ask HN: OpenClaw users, what is your token spend?

14•8cvor6j844qw_d6•4d ago•6 comments

Ask HN: Has anybody moved their local community off of Facebook groups?

23•madsohm•4d ago•17 comments

Ask HN: Are "provably fair" JavaScript games trustless?

2•rishi_blockrand•2d ago•0 comments
Open in hackernews

Ask HN: In which programming language is it better to make your own language?

8•Forgret•6mo ago
I decided to create my own programming language but I don't know which one to use, some say Python, others say C.

Please help me decide.

Comments

thesuperbigfrog•6mo ago
Prototype in Python with PLY (https://github.com/dabeaz/ply) or you could try Raku (https://raku.org/) which has nice functionality for building grammars.

After you know what you want to build, you could convert it to C, C++, or Rust to make it fast.

Forgret•6mo ago
Thanks, that sounds interesting, I'll try to find out more information about it, and maybe use your advice.
wslh•6mo ago
Well, ANTLR[0] includes many programming language targets. I can also recommend OMeta [1] for quick prototyping. Other developers has implemented it in JS, .NET, etc. I just found Panini[2] in Rust but I am sure you can find others[3].

[0] https://www.antlr.org/

[1] https://en.wikipedia.org/wiki/OMeta

[2] https://github.com/pczarn/panini

[3] https://github.com/topics/parser

Forgret•6mo ago
Thank you, for these materials you have helped me a lot to understand everything better.
sloaken•6mo ago
A number of years ago I tried Antlr and could not get it to work. Now I see the have a 'Hello world' equivalence. So I am excited to try it again.

Thanks for posting.

wslh•6mo ago
Feel free to contact me if you have any ANTLR blocker.
john-h-k•6mo ago
OCaml
ForceBru•6mo ago
Some years ago I used the Python library Lark (https://github.com/lark-parser/lark) to parse my programming language. It lets you write your grammar in basically EBNF, builds parse trees (that you can automatically reduce by removing leaves for parentheses, for example) and generates standalone pure-Python LALR(1) parsers for your grammar. Back then, I had a blast with it, it was fast, super easy to use and just worked. Now it's got 5k stars and seems to be a mature and production-ready library.

Thus, I vote Python: it has this amazing parser library, it's garbage-collected (no need to fiddle with memory allocations, like in C), it's dynamically typed (so you basically don't need to think about types at all), it now has a `match` statement (!) that makes it super easy to dissect your parse trees and abstract syntax trees.

Forgret•6mo ago
Hmm, sounds appealing, and I agree, C is still pretty complicated and the slow speed of the program is not that critical, in exchange for this wonderful library that will save me a lot of time, unlike C.
stargrazer•6mo ago
Use C++ with one of the following:

Boost.Spirit https://www.boost.org/library/latest/spirit/ Boost.Parser https://www.boost.org/library/latest/parser/ (which I think succeeds Boost.Spirit Boost.Metaparse: https://www.boost.org/doc/libs/latest/doc/html/metaparse.htm...

All of these allow you to build a parser using C++ syntax and then add semantic or composed actions.

jokoon•6mo ago
I used lexy, which is a great C++ parser combinator.

I then used python match syntax to convert my ast to C.

twosdai•6mo ago
This doesn't answer your question. But it would be an interesting project to try and make a programming language where you as the dev only and solely use an llm to do all the work.

So then you could say it was programmed in english*

*Or whatever human language you want.

mikewarot•6mo ago
If you're doing a compiled language, you'll end up having to interface to LLVM, or write your own output in assembler or ELF or Win32 EXE files. LLVM has been hooked up to almost every compiled language you'll need. They're even figuring out how to hook it up to Free Pascal.

If you're doing an interpreted language, things get a lot looser. If you've done any programming in the past, it's likely the language you're most familiar with will work ok.

Jtsummers•6mo ago
The language mostly doesn't matter. There may be some benefits to some over others, but none are definitively better than all the others. The ML family languages with their rich type system and pattern matching can make some parts of interpreter/compiler building very straightforward, for instance, but they aren't the only languages with those features and other languages have comparable features or idioms. Some languages are going to force you to do more bookkeeping, like C, so you have to decide if it's worth the trouble for your circumstances.

I'd recommend selecting a language you already know well, a language you also want to learn, or a language with libraries (or good bindings to libraries) that you want to take advantage of. If you want to make a compiler but don't want to do code generation (to machine code) yourself you may want to use a language with good LLVM bindings to get support for a lot of target platforms. If you're interested in making an interpreter, you may want to consider the libraries available to the host language. An interpreter implemented in Python gives you a chance to use Python libraries in your new language (same argument for other languages, the decision would be based on what libraries you might want to use).

tompark•6mo ago
As mentioned elsewhere here, Ocaml and the ML family are often cited as easy to implement other languages, due to pattern matching, enum variants, sum types, etc. Since newer languages like Rust and Swift copied those features, you might be more interested in them since they're more popular than older ones like Ocaml and Haskell. Personally I like the syntax sugar in Swift.

Also I found it useful to compare other people's implementations to get a feel for different approaches. See this suggestion: https://news.ycombinator.com/item?id=28479120

markus_zhang•6mo ago
Just use the one you are most familiar with. All of them are OK unless it is something very esoteric.
Leftium•6mo ago
Lisp is often used to create domain-specific languages.

- Lisp S-expressions are powerful because they represent both code and data. So data is code; code is data: it is very simple to augment the language.

- Lisp S-expression syntax conveniently mirrors the tree shape of Abstract Syntax Trees.

F# also supports macros and meta-programming: futures (F# version of async/await) were added to existing versions of F#. No need for a new language runtime!

If JS had that level of meta-programming, I wouldn't have to wait for pattern-matching support! And pipes!

max_•6mo ago
If really depends on what you want the language todo and gow much time you want to spend on it.

A smart contract language (for Blockchains)

- Rust

A desktop executable with browser support

- Nim

A cross platform language (iOS, Android, Linix, Mac, Windows)

- Dart

Talk to GPUs

- C++ or C on top of Tensorflow

A toy language for learning compilers/interpreters

- Python

haakonhr•5mo ago
I used Racket a few times, which is designed to write new languages. Well worth a look: https://racket-lang.org/#easy-dsls