Questions tagged [history]

For questions about the history of programming and computing.

Filter by
Sorted by
Tagged with
22 votes
4 answers
7k views

Why there are no compound assignment operators for logical operators (such as ||, && etc)?

According to ECMA-262, part 11.13, following is the exhaustive list of compound assignment operators: *= /= %= += -= <<= >>= >>>= &= ^= |=. According to the part 11.11, var c ...
22 votes
6 answers
4k views

Why is mod (%) a fundamental mathematical operator in many programming languages?

Is there a reason, historical or otherwise, why the modulus operator is part of a small set of standard operators in what seems like many languages? (+, -, *, / and %, for Java and C, with ** in Ruby ...
9 votes
3 answers
14k 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 to ...
8 votes
2 answers
5k views

How did the term "hypervisor" come into use?

I've read about the "hypervisor" in hardware virtualization. VMs are not my area, so I can't quite see where the term came from. THe wikipedia article talks about how "the hardware's supervisor ...
69 votes
3 answers
5k views

Etymology of "String"

So it's obvious that a string of things is a sequence of things, and so a sequence of characters/bytes/etc. might as well be called a string. But who first called them strings? And when? And in what ...
0 votes
1 answer
220 views

Why exactly was the C++ convenience of not requiring a second declaration, removed?

See "Note" on second page: This convenience gave rise to serious inconsistencies and was removed several years ago The book was authored in 2003. What exactly does it mean by "...
-3 votes
1 answer
138 views

When has C or C++ made itself intentionally backwards incompatible? [closed]

Context ( You can skip ) I will be doing a presentation on Python, and will be touching upon V3's decision to be intentionally backwards incompatible, and how that has affected Python long term. I ...
20 votes
3 answers
3k views

Where did the convention of naming command line arguments as 'argv' come from?

It seems like Python, PHP, and Ruby all use the name "argv" to refer to the list of command line arguments. Where does the name "argv" come from? Why not something like "args"? My guess is that it ...
139 votes
6 answers
52k views

Why doesn't Java 8 include immutable collections?

The Java team has done a ton of great work removing barriers to functional programming in Java 8. In particular, the changes to the java.util Collections do a great job of chaining transformations ...
54 votes
3 answers
12k views

What is the origin and meaning of the phrase “Lambda the ultimate?”

I've been messing around with functional programming languages for a few years, and I keep encountering this phrase. For example, it is a chapter of "The Little Schemer, which certainly predates ...
3 votes
5 answers
5k views

What is the advantage to using a factor of 1024 instead of 1000 for disk size units?

When considering the disk space of a storage medium, normally the computer or operating system will represent it in terms of powers of 1024 - a kilobyte is 1,024 bytes, a megabyte is 1,048,576 bytes, ...
100 votes
7 answers
75k views

What is the history of why bytes are eight bits?

What were the historical forces at work, the tradeoffs to make, in deciding to use groups of eight bits as the fundamental unit? There were machines, once upon a time, using other word sizes. But ...
35 votes
1 answer
27k 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/): //...
4 votes
1 answer
2k views

Why does GNU AS use different characters for single-line comments depending on the architecture?

The GNU Assembler as uses different characters depending on the architecture to specify single-line comments, such as # on x86, ; on 29k, or @ on ARM. Moreover, regardless of platform, C-style ...
1320 votes
14 answers
261k views

Where did the notion of "one return only" come from?

I often talk to programmers who say "Don't put multiple return statements in the same method." When I ask them to tell me the reasons why, all I get is "The coding standard says so." or "It's ...
9 votes
3 answers
1k 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 ...
6 votes
4 answers
824 views

Why is there both logical operators <> and !=?

The are two operators '<>' and '!=' used in programming languages with the same general meaning. '<>' can be used in PHP, SQL, and Pascal. '!=' seems to be more commonly used. What is the ...
16 votes
2 answers
2k views

How long was Microsoft working on .NET before they released it?

With the whole CLI, CTS, CLS, etc., not only did they release a powerful platform/infrastructure, but they released all the specs that describe it etc. It supports potentially infinite myriad ...
33 votes
6 answers
11k views

What is the philosophy/reasoning behind C#'s Pascal-casing method names?

I'm just starting to learn C#. Coming from a background in Java, C++ and Objective-C, I find C#'s Pascal-casing its method-names rather unique, and a tad difficult to get used to at first. What is the ...
54 votes
5 answers
4k views

What is the exact ingenuity of Unix pipe

I have heard the story of how Douglas Mcllroy came up with the concept and how Ken Thompson implemented it in one night. As far as I understand, pipe is a system call which shares a piece of memory ...
6 votes
4 answers
987 views

What was the original purpose of C strncpy() function?

C standard library has strncpy function, declared as: char *strncpy(char *dest, const char *src, size_t n); It's a strange beast, as it fills n bytes of memory pointed to by dest. It does this by ...
38 votes
7 answers
4k views

Why was strict parsing not chosen for HTML?

I have often wondered why strict parsing was not chosen when creating HTML. For most of the Internet history, browsers have accepted any kind of markup and tried their best to parse it. The process ...
9 votes
4 answers
1k views

How did Python come to be so popular amongst data scientists? [closed]

I've been curious about why Python seems to be so popular amongst data scientists. Firstly I needed to check there was some truth to this assertion so I wrote a query on the StackExchange data ...
2 votes
1 answer
290 views

Why is the 4+1 architecture model view named "4+1"?

Why are use-cases counted separately from the other views in the 4+1 architecture? How are use-cases different from others views?
10 votes
7 answers
1k views

Are there historical problems with non-ASCII identifier characters in code?

I frequently encounter recommendations to specifically keep to ASCII characters in field and function names in documentation, even though non-ASCII (modern Unicode) generally works perfectly. An ...
31 votes
2 answers
8k views

Code development process for Voyager mission?

Voyager 1 reached interstellar space in August 2012 and is the most distant human-made object in existence. Launched just shortly after its twin spacecraft, Voyager 2, in 1977, Voyager 1 explored the ...
0 votes
3 answers
148 views

Would it be possible to create a browser that runs container images?

My understanding of a "browser" as a means of consuming software over the web: Browsers isolate web application execution to an environment which greatly reduces end user vulnerability. ...
7 votes
2 answers
221 views

Historic APL glyphs and their meanings

Unicode has the following APL characters that don't seem to be used in modern APL. What functions or operators did they represent? Are they still supported for backwards compatibility, but ...
137 votes
4 answers
29k views

So what *did* Alan Kay really mean by the term "object-oriented"?

Reportedly, Alan Kay is the inventor of the term "object oriented". And he is often quoted as having said that what we call OO today is not what he meant. For example, I just found this on ...
668 votes
9 answers
278k views

Why is 80 characters the 'standard' limit for code width?

Why is 80 characters the "standard" limit for code width? Why 80 and not 79, 81 or 100? What is the origin of this particular value?
3 votes
1 answer
339 views

What does "alloca" stand for?

The alloca() function allocates memory in the stack frame of the caller. What did alloca originally stand for? Are there any sources regarding the etymology of the name?
15 votes
2 answers
2k 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. ...
12 votes
10 answers
10k views

Why were punch cards used for programming

I am doing a research essay on the history of programming languages, and I was wondering, why did programmers ever write their programs on punch cards? Didn't computer screens and keyboards already ...
7 votes
1 answer
740 views

Why was the grave but not the acute accent included in ASCII?

While looking at the Unicode properties (code point, script, block, UTF-8 and UTF-16 encoding, etc.) of some characters, I stumbled upon major differences between ` ("GRAVE ACCENT") and ´ (&...
6 votes
1 answer
854 views

What is the origin of "Program to an interface, not an implementation"? [closed]

What is the origin of "Program to an interface, not an implementation"? Does it originate from Design Patterns, 1994, by GoF, or from a computer scientist or from some concepts in computer ...
4 votes
1 answer
646 views

Is there genetic relationship between ARM and PDP-11 architectures?

Reading about ARM architecture I found many similarities to PDP-11 architecture which did not exist between ARM and x86. For example, General-purpose registers named Rx compared to AX, BX,... for x86 ...
0 votes
2 answers
70 views

What are the anchor's "name" attributes on history's first website?

History's first webpage is still online and functional. I was looking at its source out of interest and noticed that anchors consistently have a name attribute containing a stringified number, for ...
8 votes
4 answers
955 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 ...
23 votes
7 answers
41k views

Why do we put private member functions in headers?

The answer to why we put private member variables in C++ headers is that the size of the class must be known at points where instances are declared so that the compiler can generate code that ...
0 votes
1 answer
589 views

Why "typeof null == object" will stay in javascript?

I was reading a article about front-end development on Medium, when I stumbled upon an interesting piece of information, which is as follows: The type of a variable can be determined by using the ...
3 votes
0 answers
91 views

Origin of the strftime %c format field order in POSIX locale

In standard POSIX locale strftime(buf, size, "%c", time) will format the date and time in an order that has confused me a number of times because it has month and day precede the time, but ...
14 votes
2 answers
1k views

Where does the the term "feature creep" come from?

There is a decent Wikipedia article on the "Feature Creep", but it doesn't state an origin. A Google search only leads to some vague article claiming "Earl Rich" coined the term, but there isn't much ...
47 votes
9 answers
18k views

What did people do before templates in C++? [duplicate]

I am not new to programming, but I am one that started a few years ago, and I do love templates. But in the before times, how did people deal with situations where they needed compile-time code ...
8 votes
4 answers
2k 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)
13 votes
1 answer
9k views

static globals and anonymous namespaces in C++

Why did C++ make any distinction between static globals (internal linkage) and symbols in an unnamed namespace (external linkage, but no way to refer to it from outside anyway), when introducing the ...
77 votes
10 answers
47k views

Why has C prevailed over Pascal? [closed]

My understanding is that in the 1980s, and perhaps in the 1990s too, Pascal and C were pretty much head-to-head as production languages. Is the ultimate demise of Pascal only due to Borland's neglect ...
8 votes
2 answers
791 views

Who invented Haskell's type classes?

Haskell's type classes are a very powerful tool and give Haskell a great expressive ability, compared to functional languages that don't have them. When were they invented, and who invented them?
3 votes
1 answer
255 views

Why the names Omega and Theta in Big Omega and Big Theta?

There was a question asking what the "O" stands for in "Big O", the answer to which seems to be "Ordnung von"/"order of". I wonder what's the origin of the ...
56 votes
10 answers
18k views

Why was the Itanium processor difficult to write a compiler for?

It's commonly stated that Intel's Itanium 64-bit processor architecture failed because the revolutionary EPIC instruction set was very difficult to write a good compiler for, which meant a lack of ...
2 votes
2 answers
215 views

When was native debugging first used

I believe this is still on topic. This question comes from a mixture of curiosity and exasperation. A colleague refuses to use native debugging; whether in a stand-alone debugging tool or in an ...

1
2 3 4 5
7