Hacker News new | ask | show | jobs
by coreyp_1 1322 days ago
I'm recording a series where I'm creating a new programming language.

Shameless link here: https://www.youtube.com/playlist?list=PLZqirAnnqaCZ8lT8w7p2P...

I haven't posted it here yet as a "Show HN", because I don't think that I'm far enough along. But I have averaged more than one video a day since I started.

Disclaimer: This is 100% live coding in Vim. You are my rubber duck. I make mistakes. The most recent video will be going up soon, in which I track down a memory leak.

Last night I added "if..then" statements, but that video is not finished editing yet.

I don't have a massive following, and since I don't do the "fast paced, instant gratification" type of videos, I doubt that I'll ever develop a large following. But that's not the point. I wanted to put this out there simply because I thought that it should exist.

Also worth noting: This is not a copy of the "Crafting Interpreters" book by Robert Nystrom, although I think it's a great book!

1 comments

> This is 100% live coding in Vim

I don't understand why anyone would watch this at normal speed. I see that live coding is a thing, but .. why?

Because sometimes it's about the journey as much as the destination.

Also, because it shows how software development actually happens. It shows how to solve syntax errors. How to think through problems. It shows the power of the tools. It demonstrates my ability, and also my lack thereof. It's why I love programming.

If you only want to see the finished product, then fine. There are plenty of products already in existence. But if you want to see how it's made, then you can now see that, too.

That, and I'm amazed at the power of things like Bison, Flex, Doxygen, ICU, Vim, etc., and it's a way to show it off.

It also shows how to approach the organization of a large project, and a few gems with the Makefile (in my opinion).

I know it's not for everyone, but I love stuff like this! I've watched people live code game engines, etc., but I couldn't find anything about coding a programming language. So I'm creating it myself.

I've learned a lot of shell and editor techniques from pair programming that I couldn't have picked up by cloning projects on GitHub and might never have stumbled across on my own. Sometimes they're even in the manual, but I haven't read the whole Vim manual. (Have you?)

James Hague wrote a thing about "coding as performance" 14 years ago that I think about pretty often: https://prog21.dadgum.com/28.html He's talking about cases where getting something crappy running fast is what matters most: "If you can write a program to solve the problem in less time than the tedium of slogging through the manual approach, then you win." I did this yesterday: I was trying to track down a segfault a coworker wanted more information about, and so I threw together a quick Python script (specific to this build of this program) that reformatted GDB's backtrace into something a little more comprehensible. It's dirty and probably nobody else will ever see it, but many people could have learned useful things if they'd had the chance to watch.

It can be entertaining to watch people who are much faster than I am.

That said, I've almost never watched anyone livecoding on a streaming video platform or on YouTube.

Same reason people watch video game players play games. Seeing exactly how experts do things, in real situations, can be valuable if you're trying to attain your own mastery. And entertaining if not.
Some people watch football, golf, or billiards. Some people watch poker or chess tournaments. Some people like to watch carpenters work or houses be remodeled.

I like to watch other people code. I assume that somewhere in the world there's other people like me.