programming languages

programming languages

Wind, Angle, and Power

One of the oldest computer games is Artillery [http://www.atariarchives.org/morebasicgames/showpage.php?page=2]. It's all about going mano a mano with nothing but wind, angle, and power [http://www.armchairarcade.com/aamain/content.php?article.51] on your side: > The origins of artillery

By Jeff Atwood ·
Comments

programming languages

Programming 4 Fun

Looking for something fun to do on family night? How about a friendly game of c-jump, the programming board game [http://www.c-jump.com/]: Although the prospect of a computer programming board game sounds positively stultifying, there is a rich history of computer games based on programming. It's

By Jeff Atwood ·
Comments

software development concepts

The Spolsky-Babbitt Connection

I noticed something strange in a Windows ME screenshot embedded in a Joel Spolsky article I linked yesterday [http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html]: Notice the Qantas icons? Those are shortcuts to a now-defunct unix machine at Joel's company, Fog Creek Software. You can find evidence

By Jeff Atwood ·
Comments

software development concepts

Managed Code Analysis Tools

Navigating a new codebase can feel like like landing on an alien planet. That's where static code analysis [http://en.wikipedia.org/wiki/Static_code_analysis] tools come in handy; they're akin to software tricorders [http://en.wikipedia.org/wiki/Tricorder]. They provide a general snapshot

By Jeff Atwood ·
Comments

programming languages

Variable "foo" and Other Programming Oddities

If you've ever viewed UNIX documentation, you've probably encountered variables foo and bar at some point. Here's a Ruby example I found in the newsgroups: foo = 0 bar = 0 1.times do foo = 1 foo := 2 bar = foo+1 end puts foo, bar O&

By Jeff Atwood ·
Comments

user experience

The User Interface Is The Application

Shawn Burke's post Shippin' Ain't Easy (but somebody gotta do it) explains why you have to resist change at the end of a project, no matter how justifiable and rational the reasons may be. Even the smallest change has a real risk of introducing additional

By Jeff Atwood ·
Comments

programming languages

Are All Programming Languages The Same?

There's a chart in Code Complete that compares the productivity of working in different languages: Programmers working with high-level languages achieve better productivity and quality than those working with lower-level languages. Languages such as C++, Java, Smalltalk, and Visual Basic have been credited with improving productivity, reliability, and

By Jeff Atwood ·
Comments

programming languages

Microsoft 1978

I'm sure most of you are familiar with this famous Microsoft group photo from December 1978: Groovy. In case you were wondering, the photo is authentic. It's even featured on the official Microsoft Bill Gates biography page [http://www.microsoft.com/billgates/bio.asp]. Of course

By Jeff Atwood ·
Comments

programming languages

How to fit three bugs in 512 bytes of security code

In the spirit of iPod modem hacking, Michael Steil documents how hackers compromised the Xbox security system. Mostly thanks to 512 bytes of rather buggy security code embedded in the Xbox boot ROM: The Xbox is an IBM PC, i.e. it has an x86 CPU. When the machine is

By Jeff Atwood ·
Comments

vb.net

Option Strict and Option Explicit in VB.NET 2005

I just noticed that Option Explicit [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vastmOptionExplicit.asp] is on by default for new VB solutions in Visual Studio .NET 2005: It's about damn time. There's nothing more vicious than making an innocent typo

By Jeff Atwood ·
Comments

software development concepts

Does Having The Best Programmers Really Matter?

Joel has a lengthy entry in which he asks, does having the "best programmers" really matter? This is something I've talked about before: extreme skill disparity is unique to the profession of software development. The odds of working with a genius or a jackass on any

By Jeff Atwood ·
Comments