Lecture 45: What makes a good programmer? - Richard Buckland UNSW Lecture 24: eXtreme Programming - Richard Buckland The Invention of C++ - Nice bit of net lore. Some lesser-known truths about programming. My experience as a programmer has taught me a few things about writing software.
Here are some things that people might find surprising about writing code: Averaging over the lifetime of the project, a programmer spends about 10-20% of his time writing code, and most programmers write about 10-12 lines of code per day that goes into the final product, regardless of their skill level. Good programmers spend much of the other 90% thinking, researching, and experimenting to find the best design. Small_talk.gif (GIF Image, 742x914 pixels) - Scaled (70%) Sometimes, The Better You Program, The Worse You Communicate. Has_many :through - Circle of death. The Brainfuck Programming Language. Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0.
His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.) I originally started playing around with Brainfuck because of my own interest in writing very small programs for x86 Linux. I also used it as a vehicle for writing a program that created ELF files. Data Structures and Algorithms by John Morris. Dictionary of Algorithms and Data Structures.
Bill the Lizard: Books Programmers Don't Really Read. Mark Twain once said that a classic novel is one that many people want to have read, but few want to take the time to actually read.
The same could be said of "classic" programming books. Periodically over on Stack Overflow (and in many other programming forums) the question comes up about what books are good for programmers to read. The question has been asked and answered several times, in several different ways. Ruby Programming Language. Sofware List for a Better Computing.
My Favorite Smallware. About Audacity. Video. Structure and Interpretation of Computer Programs. If you code HTML, Zen Coding will change your life. If you write HTML for a living, and you don't know Zen Coding yet, you are missing out big time.
This is basically the coolest thing I've seen all week. How to Design Programs. Six ways to write more comprehensible code. I learned to write, clear, maintainable code the hard way.
For the last twelve years, I've made my living writing computer games and selling them over the Net using the marketing technique that was once charmingly known as shareware. What this means is that I start with a blank screen, start coding, and, a few tens of thousands of lines of code later, I have something to sell. This means that, if I make a stinky mess, I'm doing it in my own nest.
When I'm chasing down a bug at 3 a.m., staring at a nightmare cloud of spaghetti code, and I say, "Dear God, what idiot child of married cousins wrote this garbage? " Resources for Programming Language Research. Advanced Programming Languages. Introduction Research Syntax Semantics Static Semantics ( Type Theory ) Dynamic Semantics Semantic Related Developments Abstract Interpretation Program Transformation.
Code school. Lesson: Object-Oriented Programming Concepts (The Java™ Tutorials > Learning the Java Language) If you've never used an object-oriented programming language before, you'll need to learn a few basic concepts before you can begin writing any code.
This lesson will introduce you to objects, classes, inheritance, interfaces, and packages. Each discussion focuses on how these concepts relate to the real world, while simultaneously providing an introduction to the syntax of the Java programming language. What Is an Object? An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life. Beginning Game Development: Part I – Introduction. Part I – Introduction Welcome to the first article of an introductory series on game programming using the Microsoft .NET Framework and managed DirectX 9.0.
This series as aimed at beginning programmers who are interested in developing a game for their own use with the .NET Framework and DirectX. The goal of this series is to have fun creating a game and learn game development and DirectX along the way. Game programming and DirectX have their own terms and definitions that can be difficult to understand, but after awhile, you’ll crack the code and be able to explore a new world of possibilities. I will keep things as straightforward as possible and decode terms as they appear. In this series, we are going to build a simple game to illustrate the various components of a commercial game. Tools: Before we start writing our first game we need to talk about the tools we will use. The most important tool for any developer is the Integrated Development Environment (IDE). Our Game idea: Java Games Programming - CSC207. GameTutorials - Programming with a personality, from start to finish.
Create a sick game with Processing. C Craft - Chapter 1. Introduction. C is the desert island language.
This is my favourite statement from a talk Rob Pike gave in 2001. Despite its age, despite many flaws, C is still the de facto standard, the lingua franca. Why? As with other older languages, inertia is partly to blame, but this cannot be the only reason. C must possess a near-perfect balance of vital language features. Video. The C Library Reference Guide.