4 ms·
Intrigued by this exact question a long time ago, I took a look at some of Bellard's earlier projects. I studied a bit of a partial implementation of an OpenGL
by marcodiego 5y ago
Intrigued by this exact question a long time ago, I took a look at some of Bellard's earlier projects.
I studied a bit of a partial implementation of an OpenGL software renderer written by him. I even found a bug I could fix!
Actually his first projects were not all that advanced, they are things "normal people" could do. I think key lies down to 3 points:
- Start simple: do not try advanced projects at first, start slow, plan, don't write the first function before you know what will be the last. Use this for many small but increasingly complex projects to gain experience.
- Understand what you do: most of the most notorious Bellard's projects are complex but based on many simple smaller moving parts and based on simple, understandable concepts. If the first point is respected, this one comes naturally.
- Be regular: do what you need/want but do it regularly. If you look at what Bellard does in a single day, it doesn't seem that different from what most people can do in a single day. But he does it with incredible regularity.
I think these are points that most people can follow. You may not get to his level, but you will certainly be a solid developer. If you're lucky to start projects that the "right people" need, you can see what separates devs like Torvalds or Bellard from other equally solid developers: they developed projects that attracted strong contributors. Think about the guy writing SerenityOS: he's probably as solid as one can be; nevertheless, there's a very small probability SerenityOS will ever be as commonplace as ffmpeg. And that doesn't mean it is not fantastic, neither SerenityOS or its developer.
Now, in Bellard's case there's just on more special thing: he is a gifted mathematician. That certainly helps being a good developer and planner too, but turning into a mathematician of his level also takes another level of discipline.
- ganzuul 5y ago> don't write the first function before you know what will be the last This is some seriously deep meta-heuristics. Very insightful. Thank you.
- jeffreygoesto 5y agoDo we need a "Think before code" manifesto? This is a true counter-standpoint to all the agile cargo cult that has been developed in the last years... Not to be taken as 100% dogma, like everything...
- hnfong 5y agoI understand what you're referring to, but such a manifesto, if even moderately successful, would inevitably become dogma, and then lead us right back to... waterfall.
- ksec 5y agoThis is literally "banned" since Google took over the world's software engineering PR. Dont think. Start Coding. Further fueled by Facebook's move fast and break things.
- dr-detroit 5y ago
- deleted 5y ago[deleted]
- JBiserkov 5y agoIn Clojure we call it "Hammock-driven development" after a 2010 talk by Rich Hickey https://www.youtube.com/watch?v=f84n5oFoZBc https://www.youtube.com/watch?v=f84n5oFoZBc