5 ms·
Interview with Casey Muratori
- AndyKelley 11y agoIf you're in a position where you need something to listen to while driving or public transportation, I recommend The Jeff and Casey Show: http://mollyrocket.com/jacs/ http://mollyrocket.com/jacs/ It's quite fun. I would describe it as two experienced programmers who are goofy, grumpy, and opinionated, shooting the shit.
- swah 11y agoOr http://handmadehero.org http://handmadehero.org!
- swah 11y agoI feel just like him, so I must be old too! "GNU Emacs is awful – it’s so slow it can barely even auto-indent my files, which is insane considering the horsepower it has to work with. Visual Studio 2012 is pathetic. It takes a perceptible amount of time to step a single line of code in the debugger. That is inexcusable, especially since in the old days (circa MSVC 5), it stepped instantaneously on much less powerful hardware!"
- danso 11y agoThe last item is a good 'un > What advice would you give to a younger version of yourself starting out in development? > Don’t ever bother learning or using object-oriented programming. It’s a deeply flawed programming methodology, and I wasted a good five years of my programming life thinking that it was useful, and I’ll never get that back. If I had been able to tell 18-year-old me to stick with compression-oriented programming, I probably would be a much better programmer today and I would have made decent code in my 18 to 23-years old period instead of the garbage OOP code that I ended up making. I will be forever thankful to Jeff Roberts at RAD Game Tools for providing the environment that finally made me realize that OOP was a severe impediment to writing good code, and it didn’t take long in that environment before I was back to writing good code again.
- e12e 11y agoIt's funny. He gives an example of how by grouping data and functions that operate on that data (in a class) is a great example of COP and different from OOP...: http://mollyrocket.com/casey/stream_0019.html http://mollyrocket.com/casey/stream_0019.html I can only conclude that he spent ten years in the world of toy class-oriented "oop", premature oversized architecture and other nonsense that follow from going from "have no idea about the code/function; will model as strict class hierarchy" -- rather than doing the sane thing BDD/TDD/throw-away prototyping -- followed by refactoring / reimplementation. It makes for a great sound-bite -- but he's kind of attacking "straw-man" OOP.
- yoklov 11y agoThere are several large differences you're missing. Many of these are elaborated upon in other posts, and some in his twitch stream. His methodology basically completely eschews dynamic dispatch in favor of static dispatch. No function pointers or vtables, just conditionals. Abstractions are built up slowly, only after you're reasonably certain its the abstraction you want. The initial pass of the code has almost no abstraction and favors large functions. The reasoning here is that its usually far easier to add abstraction than it is to remove it, and starting with abstract code is a good way to lead yourself in the wrong direction. Most interfaces between systems are based around data layout, and not functions/method sets.
- PopeOfNope 11y agoMakes me wonder what he thinks about functional programming.
- GFK_of_xmaspast 11y agoWow, what a negative person.