Live data from Hacker News

Show HN: I'm 17 and wrote a guide on how to build your own programming language

easel.hackclub.com

51–60 of 73 posts

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#51
If I were to pick one book that has had the most impact on how I think about programming languages it would be the textbook Programming Language Pragmatics by Michael Scott.

https://www.goodreads.com/book/show/89197.Programming_Langua...

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#52
post #58

[stub for offtopicness]

Honestly, very cool good for you. Side note, I'd discourage leaning on your age/precociousness when doing stuff like this. It's a strategy with a limited shelf life, and sooner or later your work will have to stand on its own merit anyway.

Yup, that's a piece of advice I'd give to younger me.

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#53
post #58

[stub for offtopicness]

Totally unrelated to the content of your post but labeling posts with "I'm [a teenager] and X" has always irked me. It either serves to undermine the content (older people immediately questioning the authority of a teenager) or people respond with meaningless praise ("Wow, great job! I was playing video games when I was your age!"). It also harkens back to the 2000s and 2010s when the industry was obsessed with "teen…

I think it guides responses to it. If a teenager writes a guide that says O(n) algorithms are always faster than O(n^2), I'm likely to tell them that I see what their thinking is, but here are some counterexamples that make it more nuanced than that. If a friend with a PhD in compsci said that, I might tease them more... assertively.

In this conversation I see people discussing the requirements for being Turing complete. Because OP is a teen, everyone so far seems pretty nice about gently pointing out inaccuracies. I doubt they would be, or should be, as easy on me if I made similar misstatements.

And that's the value I see in "as a teenager..." here. It's not so much about their age as that they don't have decades of education and experience under their belts. Another person posting "as a professional dog groomer..." might get similar responses: hey, that's pretty neat coming from someone who hasn't been doing this for a living for many years!

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#54
post #38

Very cool. Someone correct me if I am wrong but I dont think this is accurate. >Minimally, should have the following features: variables, looping (think: for/while loops), conditional branching (think: if/else statements) and some form of recursion (think: functions). Why? These are what make a programming language Turing-complete.

In fact, NAND gates are enough to build a Turing complete machine. ;-)

While true, to build a language using NAND gates, the language has to specify how to assemble those gates, which will still require conditionals and loops if you want it to build any machine.

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#55

Excellent work. When I was your around your age, it was QuakeC that exposed me to programming concepts and really sparked my interest in programming. If you’re interested you may want a follow up project to create a stack or register based VM.

Valve GoldSrc for me

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#56
post #7

Earlier quoted context omitted.

This comes up every time someone posts like this, and it's not really very helpful.

What are HN's guidlines on young people mentioning their age in a Show HN like this post here? Should we take it graciously, admit they are young and encourage them for what they did or should we point out not to mention their age? IMO, if we take the age out, some of show HN's might not look very interesting. Same goes for a Show HN where someone mentions they are not a programmer and yet built a thing.

There's no official guideline (we try to keep that list minimal), but I think it's harmless and the main thing commenters should do is not complain about it. These complaints are always the same, always offtopic, and usually balloon in size to the point where the offtopicness drowns everything else. That's a terrible outcome for a thread like this.

Even if you dislike "I'm $X years old and I $Y" posts, it's not helpful to give a kid a grumpy patronizing response. We want HN to be a helpful community, not some weird age competition.

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#57
post #38

Very cool. Someone correct me if I am wrong but I dont think this is accurate. >Minimally, should have the following features: variables, looping (think: for/while loops), conditional branching (think: if/else statements) and some form of recursion (think: functions). Why? These are what make a programming language Turing-complete.

In fact, NAND gates are enough to build a Turing complete machine. ;-)

How will you do unbound computation with only NAND gates? Either you need a clock (not a NAND gate) or you need to implement a clock using NAND gates, but that assumes physical aspects such as power propagation speed.

Typically you say that you can make arbitrary functions between any two closed domains using only NAND gates.

Re: Show HN: I'm 17 and wrote a guide on how to build your own programming language

#60
post #38

Earlier quoted context omitted.

In fact, NAND gates are enough to build a Turing complete machine. ;-)

How will you do unbound computation with only NAND gates? Either you need a clock (not a NAND gate) or you need to implement a clock using NAND gates, but that assumes physical aspects such as power propagation speed. Typically you say that you can make arbitrary functions between any two closed domains using only NAND gates.

Turing completeness isn't about having everything you need to build the physical computer, just about expressing program logic that can perform a certain class of unbounded computations. Like, given any C program's logic that takes some input and gives an output, you could calculate the same thing (painfully) with NAND gates.

Anyway, bringing up Turing completeness is overly theoretical when talking about a programming language. It's pretty hard to make a language not Turing-complete, and it doesn't say much about what you can use it for IRL.

Post reply on HN