For questions about the history of programming and computing.

learn more… | top users | synonyms

12
votes
3answers
714 views

Why is the copying instruction usually named MOV?

In quite many assemblers, a value copying instruction is usually named "MOV" and its description in manuals usually also contains "move" (however, other words can be used, like "load", "store", ...
11
votes
2answers
4k views

Why does C use the asterisk for pointers?

I'm just now learning about C. I find it odd that the creators chose the asterisk (*) as the symbol for pointers rather than a symbol that actually looks like a pointer (->). Considering how ...
11
votes
2answers
9k views

Why is C so high in TIOBE index of popularity, while C++ is just under here too, but not as popular? [closed]

I can't get my head around this. If C is so much used, but C is not C++, can someone explain to me the most important reasons that makes C more used than C++ ? Where is all this C code written for ? ...
11
votes
1answer
930 views

Why did object-oriented paradigms take so long to go mainstream?

I read this question and it got me thinking about another fairly recent thing. Object oriented languages. I'm not sure when the first one was created, but why did it take so long before they became ...
11
votes
3answers
906 views

Why didn't the C++ Standard adopt expression templates?

It's my understanding that expression templates as a technique were discovered significantly prior to the original C++ Standard in 1998. Why weren't they used to improve the performance of several ...
11
votes
3answers
1k views

How did the idea of Exception-handling emerge into programming languages? [duplicate]

Possible Duplicate: Who designed exceptions? Today if we look at any language, exception handling is almost a compulsory feature. The languages that didn't have it earlier are implementing ...
10
votes
4answers
836 views

Historical precedent for why Prolog is less popular than SQL in Imperative Programming? [closed]

It seems that writing Declarative SQL is very popular in Imperative Programming. However, it also seems that writing Declarative Prolog could save a lot of complexity but this is not very common. ...
10
votes
5answers
1k views

Who invented pointers?

Pretty simple question, but something I haven't been able to find out. Who was the first person to describe the idea of a pointer? The abstract concept itself?
10
votes
3answers
404 views

What is the first published reference to test-first programming?

I am rereading Refactoring by Martin Fowler. In Chapter 4, Building Tests, I came across the following passage. In fact, one of the most usefull times to write tests is before you start programming. ...
9
votes
7answers
2k views

Why did the creators of the Internet Protocol decide to use IP addresses to identify a particular computer? [closed]

Why did the creators of the Internet Protocol decide to use IP addresses to identify a particular computer? Why not just have a unique ID assigned to each computer upon manufacture, then use that ID ...
9
votes
2answers
3k views

Is the 14th line of The Zen of Python a reference to Dijkstra?

Python's Zen states on line 14 that: Although that way may not be obvious at first unless you're Dutch. Is this a reference to the famous Dutch computer scientist Edsger W. Dijkstra?
9
votes
2answers
1k views

Why can't arrays be passed as function arguments in C?

Following this comment, I've tried to google why, but my google-fu failed. Comment from link: [...] But the important thing is that arrays and pointers are different things in C. Assuming ...
9
votes
3answers
388 views

Where can I read the original C# introduction paper by Microsoft? [closed]

When Microsoft presented .NET Framework and C# language in 2002, what was the first article to introduce C#? I'm looking for some paper published on MSDN or Microsoft website that would explain the ...
9
votes
3answers
632 views

First languages with generic programming support

Which was the first language with generic programming support, and what was the first major staticly typed language (widely used) with generics support. Generics implement the concept of ...
9
votes
2answers
336 views

Why has the accessor methods from the JavaBean specification become the standard for Java development?

The JavaBeans Specification describes a JavaBean as A Java Bean is a reusable software component that can be manipulated visually in a builder tool Since the majority of the lines of code ...
9
votes
1answer
970 views

Who first created or popularized the original XMLHTTPRequest / MSXML?

I'm trying to understand the origins of AJAX, and think MSXML and XMLHTTPRequest were the objects that started it all. Which came first, and/or became the defacto way to create dynamic pages?
8
votes
5answers
722 views

What is the historical basis of using Javascript in web programming?

I come from a scientific biology background where we also use Python a lot. Now that I've begun to start with Web development, I've consistently found myself wondering just why it is that JavaScript ...
8
votes
3answers
673 views

Have there been disputes when software identifies genders with a boolean? [closed]

I remember that in our first programming class with Java, while explaining data types, the following occurred (kinda): Professor: So, what data type would you choose if your program needs to ...
8
votes
4answers
339 views

Origin of structures and classes

What design and implementation issues did programmers have to solve when they decided first to use structures and classes? When did this happened and who were the pioneers behind these ideas? Note, ...
8
votes
4answers
542 views

What features did c get from c++?

What features were added to C that were originally in C++? When where they added and for what reason(what where the pro/con arguments)? How do they differ in C as compared to C++? Did the features ...
8
votes
2answers
481 views

Why did programming languages start using = for assignment?

In most early algorithms books, <- referred to assignment and = referred to comparison. But nowadays the only languages that don't use = for assignment are Pascal (:=) and toy languages like COOL. ...
8
votes
2answers
314 views

How were Fortran's original control structures insufficient?

In my Programming Language Concepts class it was mentioned in passing that Fortran's original control structures were insufficient. It was alluded that they were too similar to machine instructions ...
7
votes
7answers
11k views

What was the first programming language written for computers? [closed]

Looking at so many programming languages we have today, each one being unique in it's own way, I've tried to figure out what the first programming language written for computers is. Looking at the ...
7
votes
8answers
908 views

When did developers start making normalized relational databases?

I work on a pretty old application which was converted from DOS and flat files for storing information to Paradox tables using the BDE then to MySQL relational database. The older devs say that the ...
7
votes
2answers
293 views

Who first coined the term Higher Order Function and/or First Class Citizen?

I've come to understand that long before Haskell, O'Caml or LISP, higher order functions were an academic research subject and in mathematics, Schönfinkel (in 1967) and Haskell Curry (in 1968) already ...
7
votes
3answers
336 views

Preserving version control commit history vs Refactoring and Documentation

It costs almost nothing to use the commit history maintained by the version control system. However, during a major project refactoring (or reorganization / cleanup) effort, functions and classes and ...
7
votes
2answers
180 views

What are the origins of the Public/Private function declarations?

The Question What are the origins of the Public/Private function paradigm? Background A question came up in chat about Header files in C, and their usage being mainly to help the compiler, not the ...
7
votes
3answers
713 views

Did concept of ViewModel exist before MVVM?

Today I was having a discussion with a colleague that ViewModel is a general concept and existed before MVVM pattern. I believe ViewModel term is used anytime you create a class with Model like ...
7
votes
3answers
457 views

Is there a web-specific reason for the design choices behind the JavaScript language?

With the advent of "the web is the platform", JavaScript is fast becoming the most widely used programming language in the world. However, many tasks that are easy to accomplish in other modern ...
7
votes
1answer
322 views

Original source of `(seed * 9301 + 49297) % 233280` random algorithm?

If you search for examples of creating a seeded (pseudo)Random number generator, you will run into stuff like this (specific example http://indiegamr.com/generate-repeatable-random-numbers-in-js/): ...
7
votes
1answer
1k views

Why is the code section called a text section?

The section of an executable that contains code is sometimes called the .text section. In segmented memory architectures, a segment mapped as code is sometimes called a text segment. The unix error ...
7
votes
1answer
187 views

Strategy for restoring state via URL in web apps

This is a question about modern web apps, where a single page is loaded, and all subsequent navigation is done by XHR calls and modifying the DOM. We can use libraries that manipulate the hash ...
7
votes
1answer
448 views

Origin of common list-processing function names

Some higher-order functions for operating on lists or arrays have been repeatedly adopted or reinvented. The functions map, fold[l|r], and filter are found together in several programming ...
6
votes
4answers
2k views

Who was the first software engineer?

It's fairly well known who the first programmer was but who was or were the first software engineer(s)? By software engineer I mean someone who uses formalized specifications and methods to deliver ...
6
votes
4answers
4k views

How did programming work when programmers used punchcards?

I saw this: Learning to program on punchcards and I've seen this: http://en.wikipedia.org/wiki/Computer_programming_in_the_punched_card_era but they leave much to be desired. Can anyone explain to ...
6
votes
2answers
1k views

In C++, were SFINAE and metaprogramming intentional or just a byproduct of templates?

SFINAE and template metaprogramming can do wonderful things and many libraries also use them considerably. Historically both of these "magic concepts" were intentionally introduced/supported in C++ ? ...
6
votes
7answers
390 views

Are languages just syntax or do they include the framework too? [closed]

In building a language history for Pascal I noticed that at some point languages changed from a strong line between the language and its common libraries to more of a blurry one. In the first few ...
6
votes
5answers
524 views

Java without implementation inheritance

In a recent video on Java, Joshua Bloch states at 4 minutes 20 seconds into the video: And then there's inheritance, and that was a marketing necessity. You know, we can argue whether you really ...
6
votes
3answers
424 views

What's the first language that had the 'Unless' conditional/loop built into itself?

What's the first (oldest) language that had the 'Unless' conditional/loop built into itself? Where an example could be unless (myVar) == if (!myVar) until (myVar) == while (!myVar)
6
votes
3answers
1k views

Why is Quicksort called “Quicksort”?

The point of this question is not to debate the merits of this over any other sorting algorithm - certainly there are many other questions that do this. This question is about the name. Why is ...
6
votes
4answers
374 views

When did the first “REST”-model and friendly URL web technology come to be?

Everyone knows that the "current" way to do things is to have user-readable URLs. Like: http://example.com/blog/edit/1234 Rather than: http://example.com/blog.php?action=edit&id=1234 When ...
6
votes
1answer
321 views

The Lisp in Gnu

Since the GNU project is celebrating its anniversary, and the initial announcement for GNU is linked to (http://www.gnu.org/gnu/initial-announcement.en.html) all over the place, I reread it and I ...
6
votes
2answers
537 views

Who decided on the terminology downcasting and upcasting?

As far as I know, the terminology comes from how the inheritance hierarchy is traditionally displayed, with the extending types at the bottom, and the parent types at the top. This is a bit ...
6
votes
3answers
2k views

What was the historical impact of Ariane 5's Flight 501?

The disintegration of the Ariane 5 rocket 37 seconds after launch on her maiden voyage (Flight 501) is commonly referred to as one of the most expensive software bugs in history1: It took the ...
6
votes
2answers
411 views

In what specific ways did Delphi influence the C# language

I am specifically looking for language influences (as opposed to framework). At first glance C# seems to be an evolution of C/C++ or Java. But we know C# has the same designer as Delphi, and he even ...
5
votes
5answers
3k views

False friends? Keyword “static” in C compared to C++, C# and Java

To me, the use of the keyword static in C and languages like C# and Java are "false friends" like "to become" in English and "bekommen" in German (= "to get" in English), because they mean different ...
5
votes
5answers
3k views

How did the “Rails can't Scale” meme start?

One meme about Rails is that Rails can't Scale. Is it known how this meme started? Was there a particular blog post that argued this is the case?
5
votes
2answers
3k views

Do any languages use =/= for the inequality operator?

Wikipedia says: Not equal The symbol used to denote inequation — when items are not equal — is a slashed equals sign "≠" (Unicode 2260). Most programming languages, limiting themselves ...
5
votes
2answers
269 views

Where did the three tenets of OOP originate

It is easy to find the origin of the term OOP coined by Alan Kay when he created Smalltalk, but I can't find if when creating the language he also created the 3 tenets of OOP (Encapsulation, ...
5
votes
3answers
317 views

Writing a bootloader with no bootloader

I have a question that I really can't find a straight answer to. Let me start by saying I'm not asking for a step by step tutorial, or even plan on doing anything. I'm just curious. I've been ...