background preloader

Holding a Program in One's Head

Holding a Program in One's Head
August 2007 A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will. That's particularly valuable at the start of a project, because initially the most important thing is to be able to change what you're doing. Your code is your understanding of the problem you're exploring. It's not easy to get a program into your head. Even the best programmers don't always have the whole program they're working on loaded into their heads. Avoid distractions.

http://paulgraham.com/head.html

45 Free Online Computer Science Courses Missed lectures or hate teachers? Or want to study computer science courses without going to university? … You can study anytime anywhere because there are number of free online computer science courses available on internet that are very interactive. Here is the list of 45 free online computer science courses that are designed by teaching experts from best universities of the world (almost the whole graduation!).

Poor, poor child. You have no idea. It's harder than you think. Right now you're probably underestimating the amount of frustration and discomfort you're about to experience, without realizing that by doing so you're creating all sorts of subtle barriers to obtaining a deep understanding of programming. The problem is that while you've uncovered a wonderful world that makes coding seem so approachable and fun, you're unknowingly making a giant leap by thinking it's somehow also easy. This might not seem like a big deal, but it's huge. Every single time (and this will happen constantly) you come across a concept that seems foreign or difficult or even just unintuitive, instead of thinking "It's OK. Programming is hard." you're going to be thinking "This is supposed to be easy.

Learn to Program With Code Academy Did you ever want to be a huge nerd your whole life, but didn’t know where to start? Don’t have the shelf space for the O’Reilly books, or found the various "in a nutshell" books too dry? I think Codecademy has an offer you can’t refuse. It’s an interactive site you start off simply with some naming conventions and math equations inside an interactive "terminal" window. Java Speech API Programmer's Guide: Speech Recognition Oracle Technology Network > Java Software Downloads View All Downloads Top Downloads

Invent Your Own Computer Games with Python - Learn how to program with a free ebook programming tutorial Chapter 1 Read online: Chapter 1 - Installing Python Videos: Chapter 2 Read online: Chapter 2 - The Interactive Shell Chapter 3 15 sites web developers and designers should know - CatsWhoCode.com Creating a good website isn't an easy task, but there's a few tools that can definitely make your developer or designer life easier. In this article, I have compiled 15 extremely useful website that any web developer or web designer should have bookmarked. ColorCombos When designing a website, one of the firsts (and most important) steps of the process is to choose a color scheme. Color Combos allow you to browse thousand of different colors combinations for getting inspired for your upcomming design.

The 5 types of programmers « Steven Benner's Blog In my code journeys and programming adventures I’ve encountered many strange foes, and even stranger allies. I’ve identified at least five different kinds of code warriors, some make for wonderful comrades in arms, while others seem to foil my every plan. However they all have their place in the pantheon of software development. Without a healthy mix of these different programming styles you’ll probably find your projects either take too long to complete, are not stable enough or are too perfect for humans to look upon. The duct tape programmer The code may not be pretty, but damnit, it works! 350+ Free Textures - Web Design Blog – DesignM.ag 17 scratched and scraped textures grab bag 40 random free textures 14 free high res slate textures

Best Programming Quotations A good programmer is someone who looks both ways before crossing a one-way street. -- Doug Linder, systems administrator A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits. -- Edsger Dijkstra, computer scientist Being abstract is something profoundly different from being vague... The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. -- Edsger Dijkstra

Related: