Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you ask me to design a programming language, I'm a 0 and van Rossum and Kernighan and Ritchie are some finite number, so they are infinity-x me.

There are levels where people hit a wall. Some hit it at hello.c, some hit it at writing professional business logic with proper data structures, some hit it at assembly language or programming language design or operating systems.

Anyone in over their head at any level is a 1/10 or a 0.

The superstars of language design, if they had to dive into Java business logic, might be at 2x the productivity of a competent pro...or they might shoot themselves.

But if you create a Python or Linux...what's your productivity compared to that Java programmer? In terms of the market value of those ecosystems, increased efficiency by the developers and users in those ecosystems, it's not 10x, it's gigantic, millions of times the value-add.

The weird thing is, people don't get paid much more when they move from one level to another, unless they start the next Google or get shares/royalties...it's more on a log scale.



Give you some credit. If you had to design a programming language, you'll end with something. You'll have to learn a lot of stuff in the way. Maybe the result won't be awesome, but it will be something, not just 0 ;-)


NO!

You're not a 0 at designing a programming language.

If you look at modern C++, you may think that it's impossible to design that language. TBH, I'd be incredibly surprised if the current standard is implemented on all of the major compiler platforms before the next standard is released.

Remember one of the most important rules in programming and problem solving in general.

If you can't see how to solve a problem, break it into n smaller problems. Repeat as needed until you have a problem you can see how to solve and solve that problem.

You don't need to know lex/yacc, ANTLR, LLVM, recursive descent, LALR(1), or any of that crap to design a language that will be useful for you. They'll give you leverage and have incredible value, but I assure you that you have the ability, today, to design and implement a programming language if you can program at all.

It may not be a general purpose language, but look at languages with minimal syntax, such as forth or a very simplified lisp/scheme. Start by recognizing strings, categorize those strings into your language keywords and program values, and make the computer do something based on the combination. Start with a program that can do something like "print hello" and work from there. You can even add comments by looking for a "#" and ignoring everything from there to the end of the line. You're on your way from there.

Do not hold yourself back by thinking any problem that other people can solve is intractable. The main advantage for more experienced developers is that they can think in abstractions and assemble those abstractions into a solution.

Sorry for the emotional intensity. Sorry also for ignoring the rest of your comment, as it's relevant.

But I care more about your mindset than the argument. You're better than a 0 even if it's just because you understand that you do not yet know something.


well... let's just say my 1985 PLT (programming languages and translators) class project didn't run after numerous all-nighters, and I got the grade that made the top 75% of the curve possible LOL. It's possible that another couple of weeks of all-nighters would have yielded something useful, or if I went back now I would get it...in a sense, any program with a few command line options defines a 'language'...still, pretty close to 0 in terms of a product that could be put in production or that someone would willingly pay for. Appreciate your comment though, nobody should consider themselves a zero at anything...with a just-do-it attitude you will always eventually create something useful...what one man can do another can do.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: