It's rarely me not being <i>good</i> enough that's the problem. If I had more time, that would allow me to write the programs I'd want to write.
As neilsimp1 mentioned, it's not about not being good enough, as that's fixable with sufficient time.<p>To answer your question, I'd write a fantasy economic sim game like a sequel to Patrician III or something, except with wizards and weird races and stuff. A big bit of the game would be negotiating with customers for custom goods and services.<p>Exactly how much money would it cost to for a casting of Bull's Strength before a mercenary engagement? What are the obligations a wizard has in the event their town gets attacked? When is the Teleport spell economically viable vs just taking a boat? How do you negotiate with beings very alien to you?<p>Classic pet project that I've wanted to do for <i>years</i>, just never had the time/concentration to do it.
I'd find which top python modules have not been ported to python 3 and port them to python 3, working in descending order of popularity. Anything to end version hell with python modules and their related installation, dependencies, documentation, examples, and tutorials.<p>Sure, it may be possible to get things working smoothly today, but that doesn't mean that all the areas I mentioned (documentation, etc.) have caught up. The primary reason they don't catch up is the straggler libraries keep many teams in a past era.
If I was really really good, I'd advance the state-of-the-art in neural network-based machine translation, recurrent neural network language models, neural Turing machines, etc.<p>Right now, the state-of-the-art is exciting but falls short in some world-changing areas like question-answering. As much as I want to, though, I have no idea how to push the field forward, however.<p>For the other things I want to do, I am probably sufficiently skilled to do, but I just need the time and motivation.
If I had an infinite amount of time, I would write a much higher level equivalent of LLVM. Specifically, I would spend time investigating ways to easily generate code generators from specifications. I'm also very interested to see how things like theorem provers can be used inside compilers.<p>If I could be bothered, I would write a really detailed political simulator a la Democracy but with much more detail and elections.
I doubt any engineer considers himself not good enough to write any app/program and is sitting without building it. I feel many people have the ability to dive and explore and build things once they get a problem to solve. many of us don't realize the problems itself because they are busy working on something else. Also, you only realize the problems when you are actively involved into it. As an example, I have no idea if there is big problem that could be solved in say Finance industry. Identifying problem is a big hurdle. Also, many engineers are sitting in echo chamber where they don't get to know about relevant problems which they can solve.
This: <a href="https://github.com/andreas-gone-wild/snackis" rel="nofollow">https://github.com/andreas-gone-wild/snackis</a><p>But then I grew tired of waiting and just did it already :)
The "hard" programs I've come up with over the years very rarely have anything to do with programming skill.<p>A content-first web browser (think Reader-Mode for every page), depends on: a) Learning the differences between the HTTP|HTML|CSS|JS specs, and what browsers actually implement, and b) heuristically lifting out the content.<p>b) is a programming problem, not easy to solve well, but there's been a lot of work in that area to lean on.<p>a) is a documentation/people problem. Not my area of expertise, but definitely the harder problem of the two.
It's not the type of programming I'd write, but what I'd write it in... I develop web apps.. which are mobile friendly, but I've yet to really have any desire to break into the iOS and Android app market.
Related, from 5 years ago: <a href="https://www.reddit.com/r/linux/comments/mump9/if_you_were_better_at_programming_what_program/" rel="nofollow">https://www.reddit.com/r/linux/comments/mump9/if_you_were_be...</a>
I would create a DB engine that runs on FPGA, it will translate SQL store procedures to HDL and run the query on FPGA. It might be stupid, but I am not a better programmer to know!
A daemon app that saves my slack messages to gmail or even local text files, so I can find older messages. I know this is not difficult, but wish I had some bandwidth to work on this...