What Programming is Never About (Informal Lecture)

-Live at http://www.twitch.tv/abnercoimbre every Sunday at 5PM EDT.

Related links:

* Portfolio: http://www.abnercoimbre.com
* Handmade Hero, by Casey Muratori: http://www.handmadehero.org. I thank him for expressing support for this book and talk.
* http://nothings.org/, by Sean Barrett: He inspires me and I thank him for his input on the book.
* Data-Oriented Design in C++, by Mike Acton: https://www.youtube.com/watch?v=rX0ItVEVjHc
* Jai, an upcoming programming language, by Jonathan Blow: http://bit.ly/1L5ZZjU

* To learn how I got a co-op, check out the Pathways program: http://nasajobs.nasa.gov/studentopps/Pathways.htm or for a one-off internship with no long-term commitment, check out: http://intern.nasa.gov


dieter müller says:

please tell me, what is this thing that you have around your arm ? i would be really happy 😀

lukusridley says:

Cool talk! I just started handmade hero and am enjoying his very straightforward programming style. I’ve always found the very heavy OOP/structured stuff rather unintuitive and ugly!

Kyocus says:

Thank you for sharing! I’ve been looking for sources of effective information for programming.

PutBoy says:

I love the sanity coming out for you and the crowd you cite!

lukusridley says:

Sorry for double comment – but it’s worth noting that programming is particularly bad for the problem of terminological fuckery. Because so many programming terms are actual english words (exception, class, member, function, etc etc) it is horrifyingly easy to read a sentence about programming consisting entirely of words with which you are familiar that you do not understand AT ALL. But unlike learning a foreign language or a really jargon-heavy science you don’t automatically notice that you completely failed to comprehend it – there aren’t unfamiliar tokens lurking in the text – and so you read on and on, nod that you have vaguely understood it and get nothing out of it.

Howtodothatshit says:

When you said “This doesn’t mean I’m writing in assembly” then fired that “or 0’s and 1’s” you cracked me man.
Assembly is not 0’s and 1’s man.

Gabriel Hasbun says:

Dude, you have no idea how bad education is in third world countries and even in Italy too.
Unfortunately when one is a beginner, one cannot discern whether the course instructors are capable or even reliable in any way. Only after the fact one realizes how bad the practices one learned were.

Maxim Ivanov says:

Ever heard of *zero-overhead* memory management devices like the std::unique_ptr?
That passage full of memleaks ignorance seriously upsets me.

undefined says:

Very good talk. I Love programming and i started tinkering with it since i was about 13. I’m 15 now and have a little less than a year left at school. For as long as i can remember i have despised the system. Some teacher gives you a book and says “read this chapter and do these questions”, then in 2 weeks you have a test about it and you regurgitate the information onto a piece of paper. And on and on and on it goes. Most people rarely think about the subjects they learn critically at all. they just think “all right if i want to get a good job i have to retain this particular piece of information”, so when you ask them a question outside of the domain that can just be answered with facts and involves critical thinking they can’t come up with an answer. A big influence for sparking my love for programming i believe was the complete lack of creative activities at school. After i am done here i have to do 5 more years before i can even get started with something that is vaguely related to computer science. Love these videos, keep it up man.

Gabriel Hasbun says:

Ah, Steven Pinker, “The blank slate” and “The better angels of our nature” are in my pending reading.

Joshua Vaughan says:

At 30:50, there is a good point to be made about “Code Cleanliness”, and yes, the end product is the most important going concern, BUT, if you work on a team with multiple people working in the same code, you need to write code that everyone can read and work on. Sometimes doing whatever you want just to get stuff working, and even working well, is actually going to hamper your collective ability to reason about your software.

Chen Huang says:

Thank you for uploading. Very enlightening.

Gabriel Hasbun says:

Dude, if you mess up your code for the space launching program, people’s life and a huge amount of effort and time could go kaput!

bkboggy says:

Hmm…. while I do come from OOP world and do enjoy it a lot, I have to agree with you that I have wasted a considerable amount of time worrying about the prettiness of my code or the naming conventions of method/property/class/etc.  I’ve actually never considered how wasteful it was until I saw your video…. it was sort of forced upon me by all the books I’ve read and people I’ve surrounded myself with.  I do, however, have to give an outmost credit to my college professors of the programming classes I took, as they have not enforced any of the conventional specific syntax nonsense you’re talking about beyond what is needed to get someone going in programming.  They’ve always explained that it’s just a convention and we must do what is comfortable for us, as long as we’re being consistent.. So, my college experience has been a bit better than yours or your friend’s in that regard.  I have gone light years ahead of most of my college peers, though, and actually a few of my professors, since I’m incredibly obsessed with programming, so it is there that I picked up the bad habits of overcomplicating a simple task by thinking of the nonsense that doesn’t get me any closer to the final solution of a given problem.  Anyways, good video — I’m looking forward to that C book if you ever go through with it.

vexe says:

Hey! Great talk, always happy to see more people expose those false programming trends. Say, do you have a link where we can download those audio clips of Casey? Thanks

Iharob Al Asimi says:

It is about the code, it’s not only “what”, it’s also “how”. What the code does is irrelevant to how the code is written because you can write the same program with bad or good programming style. You don’t just write code and forget it, you need to understand the code later. The reason why your friend failed, is because he was not very smart. The algorithm, and the technique to write such a simple thing has nothing to do with the names of the classes or methods.

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!