Coders' block
12 Mar 2017I’ve had an intense passion for creating programming languages for over fifteen years. I started writing a specification for my first design around December 1999. In 2007 I started “Loyc”, which was going to be a multi-syntax compiler based on popular programming languages, but it didn’t attract any interest and I abandoned the idea two or three years later. Instead I took up a hobby making data structures and creating miniature alternatives to popular libraries like NUnit, but once again these attracted very little interest, especially the fanciest and most difficult family of data structures I created, the ALists. In 2012 I started building the ANTLR competitor LLLPG and created LES version 1 as a work product, all in the service of my bigger plan to create Enhanced C#. I wrote all about LLLPG on CodeProject and followed up with a Visual Studio SFG for it. In the end I was able to get a few dozen upvotes, but I could never confirm that I had any users, even after Enhanced C# became available as the input language.
Apparently, nobody wants a language designer.
Even at my last company, which was using a very badly designed ‘visual’ programming language which had to be edited with their clunky in-house editor, they weren’t interested in my offer to help redesign it.
Interest in interoperability, the new focus of Loyc.net, seems to be quite low, too. And I don’t really understand that, because I’m pretty sure that a good interoperability framework would be very valuable to the software industry.
My biggest problem seems to be networking: I can’t figure out how to pick up friends who are programmers. My second-biggest problem seems to be that C# is a mature ecosystem and that most developers aren’t interested in having a LISP-style macro system or other improvements, unless those improvements were made by Microsoft. My third-biggest problem is that I could never figure out how to be hired to work on Roslyn at Microsoft.
And even though I always create software that I really want to exist, other people don’t seem to want it, and I don’t know why.
So I’ve been somewhat depressed for the last several months. Enhanced C# feels like a death march; I don’t want to leave it without a parser that supports all features of C# 7 and whatever features are predicted for C# 8, and for a year or two I have wanted to create a Visual Studio extension that would make EC# more fun and easy to use in a normal C# project. But psychologically I am hurt by the fact that no one cares what I do, that no one is asking me to work on this, and by the overwhelming sense that just like every past project, anything new that I create will inevitably be ignored.
It’s one thing not to act because you have an irrational fear about the outcome. It’s another thing not to act because you have fifteen years of experience telling you that the universe won’t allow you to have even hundreds, let alone thousands or millions of users. At this point my fears seem completely justified, so I’m paralyzed into doing nothing. Even mustering up the willpower to finally implement & test LINQ in the EC# parser & printer took weeks, even though those are relatively small tasks.
Likewise, I have the sense that no one cares what I think and no one wants to hear what I have to say. I failed to get LES into WebAssembly; if I had been successful, would have been the most important thing I had ever done (I think I had a real chance there, but my lack of confidence destroyed my resolve to go to the extra mile required to get noticed. Notice that no one ever objected to my proposal, they simply ignored it). My blogging and publication on Medium - like my previous blogging elsewhere - isn’t winning many hearts. I stopped enabling comments on posts (currently a manual process) because no one was leaving comments anyway. Posting on Facebook is similarly useless, generally, and then there’s my tumultuous relationship with my parents. My wife (I got married recently, by the way) does listen to me, but tends to abstain from thinking about and developing serious opinions about things outside the sphere of her personal life; the things that interest me, like politics, programming, technology, physics… don’t interest her that much. So she listens, but cannot help or challenge me and often doesn’t remember what I’ve said for long. (It’s okay. I have a poor memory of her extracurricular interests, too.)
It’s not that I believe some cosmic force is holding me back. I’m pretty sure I just lack (1) necessary social connections, (2) information about what interests other people, and (3) actionable information about how to gather the necessary information and social connections. It’s not that the world actually hates me; the world is just different from me and I have no means to understand those differences. But emotionally, it feels oppressive and demotivating.
Loyc is a failure. Again. I don’t know how I will ever believe in myself again.
I need to stop spending my retirement savings and get a fucking job. But living in a small town in the Philippines, software engineering doesn’t seem to be in demand (and if it were, I guess the pay would be pretty low). My wife doesn’t want to live in Manila. I have my eye on the west coast of the USA….
I have a lot to be thankful for, of course. As a software engineer, chances are very good that I can find a well-paid job in the U.S. after I figure out how to work through the immigration process for my wife and stepchild. I know I have a lot of potential as an altruist of relatively high intelligence, and a lot of privilege as a white U.S. citizen, even though I probably did nothing to earn my brain or my birthplace. But I also know that I’ve already lost the chance to take full advantage of my natural gifts, and that there is no guarantee of future success. Even if I do get a good job, I’ll probably never be the successful man I used to think I would be. Even if all I lose is a purely imagined future, well, what a fantastic future it was! It’s a pretty big thing to lose. Can you blame me for being sad?