Questions tagged [history]
For questions about the history of programming and computing.
345
questions
1332
votes
14
answers
266k
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 ...
671
votes
9
answers
288k
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?
577
votes
2
answers
224k
views
What is the Mars Curiosity Rover's software built in?
The Mars Curiosity rover has landed successfully, and one of the promo videos "7 minutes of terror" brags about there being 500,000 lines of code. It's a complicated problem, no doubt. But that is a ...
311
votes
4
answers
112k
views
What software programming languages were used by the Soviet Union's space program?
I got interested in the Soviet space program and was interested to discover that the software on the Buran spacecraft circa 1988 was written in Prolog.
Does anyone know what languages might have ...
156
votes
7
answers
28k
views
Was the C programming language considered a low level language when it came out?
Currently C is considered a low level language, but back in the 70's was it considered low level? Was the term even in use then?
Many popular higher level languages didn't exist until the mid 80's ...
140
votes
7
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 ...
137
votes
4
answers
31k
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 ...
129
votes
4
answers
96k
views
IPv4 to IPv6. where is IPv5?
As all of us know that after IPv4 it came IPv6. How this transition happened?
I just want to know was there any IPv5 also? or there is any other logic in naming this version of IP as IPv6?
126
votes
16
answers
134k
views
Why is 0 false?
Why does 0 evaluate to false and any other integer value to true is most programming languages?
String comparison
First of all, it may seem evident to any programmer, but why wouldn't there be a ...
116
votes
14
answers
25k
views
What triggered the popularity of lambda functions in modern mainstream programming languages?
In the last few years anonymous functions (AKA lambda functions) have become a very popular language construct and almost every major / mainstream programming language has introduced them or is ...
108
votes
11
answers
21k
views
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
I understand that save for breaking out of loops nested in loops; the goto statement is evaded and reviled as a bug prone style of programming, to never be used.
Alt Text: "Neal Stephenson thinks it'...
102
votes
9
answers
22k
views
Why did BASIC use line numbers?
Why did old BASICs (and maybe other languages) use line numbers as part of the source code?
I mean, what problems did it (try to) solve?
101
votes
3
answers
125k
views
Why is Python written in C and not in C++?
In Python's tutorial one can read that Python's original implementation is in C;
On the other hand, the Python implementation, written in C, (...)
I'm very curious why was Python written in C and ...
101
votes
7
answers
78k
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 ...
100
votes
3
answers
50k
views
Why do programming languages, especially C, use curly braces and not square ones?
The definition of "C-Style language" can practically be simplified down to "uses curly braces ({})." Why do we use that particular character (and why not something more reasonable, like [], which ...
99
votes
2
answers
7k
views
What is JavaScript, really?
All this started when I was looking for a way to test my webpage for JavaScript conformance like the W3C HTML Validator. I have not found one yet. So let me know if you know of any...
I looked for ...
91
votes
10
answers
35k
views
Why did Alan Kay say, "The Internet was so well done, but the web was by amateurs"?
OK, so I paraphrased. The full quote:
The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the ...
89
votes
10
answers
20k
views
Why is the sudden increase in number of Git submitters on Debian popcon graph in 2010-01?
Almost every article I've read 1 comparing Git and Mercurial it seems like Mercurial has a better command line UX with each command being limited to one idea only (unlike say git checkout).
But at ...
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 ...
75
votes
10
answers
13k
views
Why was the first compiler written before the first interpreter?
The first compiler was written by Grace Hopper in 1952 while the Lisp interpreter was written in 1958 by John McCarthy's student Steve Russell. Writing a compiler seems like a much harder problem than ...
74
votes
9
answers
35k
views
How were the first compilers made?
I always wonder this, and perhaps I need a good history lesson on programming languages.
But since most compilers nowadays are made in C, how were the very first compilers made (AKA before C) or were ...
72
votes
6
answers
10k
views
Why is the Select before the From in an SQL query? [closed]
This is something that bothered me a lot at school.
Five years ago, when I learned SQL, I always wondered why we first specify the fields we want and then where we want them from.
According to my ...
71
votes
19
answers
5k
views
Has any language become greatly popular for something other than its intended purpose?
Take this scenario:
A programmer creates a language to solve some problem.
He then releases this language to help others solve problems like it.
Another programmer discovers it's actually much better ...
71
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 ...
66
votes
10
answers
9k
views
How and why did modern web application frameworks evolve to decouple URL routes from the file system?
Compared to about 10 years ago I have noted a shift towards frameworks using the style of routing that decouples the URL path from the filesystem. This is typically accomplished with the help of a ...
64
votes
4
answers
15k
views
Why is Java version 1.X referred to as Java X?
I saw that Java 1.2 is also known as Java 2. Do "Java 1.x" and "Java x" (for example "Java 1.6" and "Java 6") refer to the same version of Java?
And if yes, why the need for this duality?
64
votes
1
answer
4k
views
What task did Dijkstra give volunteers, which was mentioned in his paper "The Humble Programmer"?
In Dijkstra's paper "Humble Programmer", he mentions that he gave some volunteers a problem to solve:
“I have run a little programming experiment with really experienced volunteers, but something ...
63
votes
6
answers
13k
views
Why is the minus sign, '-', generally not overloaded in the same way as the plus sign?
The plus sign + is used for addition and for string concatenation, but its companion: the minus sign, -, is generally not seen for trimming of strings or some other case other than subtraction. What ...
60
votes
16
answers
14k
views
Why did SQL injection prevention mechanism evolve into the direction of using parameterized queries?
The way I see it, SQL injection attacks can be prevented by:
Carefully screening, filtering, encoding input (before insertion into SQL)
Using prepared statements / parameterized queries
I suppose ...
60
votes
14
answers
284k
views
What is the history of the use of "foo" and "bar" in source code examples?
Why do many code examples, especially tutorials, use the names "Foo" and "Bar" so often? It is almost a standard.
For example:
void foo(char* bar) {
printf("%s", bar);
}
58
votes
10
answers
19k
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 ...
57
votes
6
answers
18k
views
Who created the idea(s) of the first loop constructs?
while (1) {
if (1+1==2) {
print "Yes, you paid attention in Preschool!";
} else {
print "Wait... I thought 1+1=2";
}
}
As a developer, we all have to use ...
57
votes
8
answers
9k
views
Why a static main method in Java and C#, rather than a constructor?
I’m Looking for a definitive answer from a primary or secondary source for why (notably) Java and C# decided to have a static method as their entry point, rather than representing an application ...
57
votes
4
answers
7k
views
Development process used for the code on Apollo 11 missions?
The Apollo missions had technology no more complicated than a pocket calculator.
From link here, there's an information about Apollo Guidance Computer (AGC)
The on-board Apollo Guidance Computer (...
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 ...
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 ...
51
votes
5
answers
37k
views
How could the first C++ compiler be written in C++?
Stroustrup claims that Cfront, the first C++ compiler, was written in C++ (Stroustrup FAQ).
However, how is it even possible that the first C++ compiler be written in C++?
The code that makes up the ...
50
votes
9
answers
14k
views
Why is filesystem preferred for logs instead of RDBMS?
Question should be clear from its title. For example Apache saves its access and error logs in files instead of RDBMS no matter on how large or small scale it is being utilized.
For RDMS we just have ...
49
votes
13
answers
13k
views
Why does the assignment operator assign to the left-hand side?
I began teaching a friend programming just recently (we're using Python), and when we began discussing variable creation and the assignment operator, she asked why the value on the right is assigned ...
48
votes
22
answers
12k
views
Was classical BASIC ever used for commercial software development, and if so, how were limitations overcome?
Many of us, including me, started their programming life with programs written on home computers, something like
10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "...
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 ...
46
votes
3
answers
6k
views
Where does the term "Red/Black Tree" come from?
A Red/Black Tree is one way to implement a balanced binary search tree. The principles behind how it works make sense to me, but the chosen colors don't. Why red and black, as opposed to any other ...
46
votes
2
answers
25k
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?
45
votes
8
answers
13k
views
Before OOP, were data structure members left public?
When a data structure (for example, a queue) is implemented using an OOP language, some members of the data structure need to be private (for example, the number of items in the queue).
A queue can ...
45
votes
6
answers
15k
views
Why do we call it "production"?
A coworker was wondering this today: "Why is it that in our industry 'production' means 'final, deliverable product'? You know, like if a movie is 'in production', it means they're currently filming ...
45
votes
4
answers
6k
views
Why are structs and classes separate concepts in C#?
While programming in C#, I stumbled upon a strange language design decision that I just can't understand.
So, C# (and the CLR) has two aggregate data types: struct (value-type, stored on the stack, ...
44
votes
15
answers
11k
views
How have languages influenced CPU design? [closed]
We are often told that the hardware doesn't care what language a program is written in as it only sees the compiled binary code, however this is not the whole truth. For example, consider the humble ...
44
votes
4
answers
11k
views
Who did async/await first?
Python added the async/await constructs in 3.5 in 2015. The Javascript community made steps towards it for a bazzillion years and finally added a very similar implementation to the draft in ES8 ...
39
votes
4
answers
13k
views
Why can't `main` return a double or String rather than int or void?
In many languages such as C, C++, and Java, the main method/function has a return type of void or int, but not double or String. What might be the reasons behind that?
I know a little bit that we ...
39
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 ...