Questions tagged [history]

For questions about the history of programming and computing.

Filter by
Sorted by
Tagged with
22
votes
1answer
5k views

What is the history for naming constants in all uppercase?

What is the history behind the convention of naming constants in all uppercase? My intuition is that it started with the C preprocessor, where people developed a practice to name preprocessor macros ...
311
votes
4answers
109k 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 ...
12
votes
6answers
3k 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?
1
vote
1answer
253 views

What computers did the original Mac team use for development?

There's a passage in Walter Isaacson's biography of Steve Jobs where Jobs moves Andy Hertzfeld to the Mac team by unplugging his computer and driving it over to the Mac building. This got me ...
0
votes
1answer
68 views

What is the best way to store author of change and display changes of every column in temporal table in SQL Server?

I would like to store history of changes in table and also remember author of change. I created temporal table. This table contains ChangeAuthorId column which value I update every time when table is ...
70
votes
6answers
8k 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 ...
3
votes
2answers
509 views

Who is the father of CIL?

...formerly known as MSIL, simple question, it is widely known that Anders Hejlsberg is the father of C#, but is there a "father of CIL"?
16
votes
1answer
2k views

How did std::vector<bool> come about?

Today, virtually all C++ developers agree that std::vector<bool> was a mistake since it is deceivingly not a container, and its use cases largely overlap with those of std::bitset anyway. How ...
99
votes
3answers
48k 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 ...
0
votes
1answer
389 views

What is the classic triangle problem as a testing idea (Gruenberger) taken from Richard Hamming (1972)

I try to read up on the history of testing and I found an entry that I am having problems researching online. Googeling for Triangle Problems results in geometry hits. I found an entry on a website. ...
8
votes
3answers
775 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 ...
36
votes
1answer
4k views

Why was the caret used for XOR instead of exponentiation?

Not that it's really a problem for anyone that has faced this syntactic issue before, but I see a wild amount of confusion stemming from the use of the caret (^) as the XOR operation in lieu of the ...
7
votes
0answers
404 views

Origins of having both prefix increment(++i) and postfix increment( i++) in the C language [duplicate]

What is the historic reasoning behind having both prefix increment(++i) and postfix increment( i++) in the C language? (this question and this other stack overflow question aren't as complete as the ...
13
votes
5answers
697 views

Where does “method” as a special term in OOP originate?

"Method" is a special term in Object-Oriented Programming. Does anyone know when the word began to be used in this particular sense, and in connection with what programming language or other branch of ...
18
votes
6answers
20k views

Why pointer symbol and multiplication sign are same in C/C++? [duplicate]

I am writing a limited C/C++ code parser. Now, multiplication and pointer signs give me really a tough time, as both are same. For example, int main () { int foo(X * p); // forward declaration ...
98
votes
9answers
18k 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?
-3
votes
2answers
495 views

Why the most popular general purpose languages have adopted more complex syntax? [closed]

Maybe this question is not going to mean a lot if C and C++ are put into context, but I kept wondering why later languages such as Java and specially C# haven't been made simpler in regards of their ...
31
votes
6answers
6k views

What good reasons are there to capitalise SQL keywords?

There seem to be a lot of developers who write their SQL by capitalising the keywords: SELECT column FROM table INNER JOIN table ON condition WHERE condition GROUP BY clause HAVING ...
2
votes
1answer
148 views

When did PHP introduce type casting?

The PHP website tells you which versions each function is supported in and often the version a function was first introduced in, but it doesn't do the same for older language features. When was type ...
1
vote
1answer
344 views

Where does the tradition of shell prompts in code snippets come from?

Most code samples I see that demonstrate shell code preface each command with $. Having a prefix makes sense, but I'm confused as to why $ is used in particular. Some other symbol, like !, that can be ...
19
votes
6answers
31k 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 ...
3
votes
1answer
200 views

Why do we use architecture-specific types in C

I think that the type names in Rust are much better than the ones in C. I'd choose f64 over double and u32 over unsigned int or uint_32t any day. Is there any reason (other than tradition) to use ...
23
votes
2answers
7k views

Why does C use the asterisk for pointers? [closed]

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 ...
4
votes
3answers
3k views

Why does C# not allow scope-local using Directive?

One thing I do not get with C#'s using Directive is why I can only "use" a namespace at file level, and not within any arbitrary block scope. (using namespace x; of C++ does allow this and ...
19
votes
1answer
8k views

Why double colon instead of dot?

It is rumoured that early C++ implementations have had dot operator for namespace access. There is an opinion that the dot is more convenient that the modern double colon operator. What was the ...
0
votes
0answers
189 views

History of the Maybe monad

A lot of languages feature something like Haskell's Maybe monad these days. I was wondering about its historic origin. Wikipedia has no problem explaining what a monad, or specifically the Maybe monad ...
35
votes
2answers
4k views

First ATMs programming language

First ATMs performed tasks like a cash dispenser, they were offline machines which worked with punch cards impregnated with Carbon and a 6-digit PIN code. Maximum withdrawal with a card was 10 pounds ...
23
votes
1answer
10k views

Where did “exit(-1)” come from?

I see in a lot of legacy software and bad tutorials on the Internet that recommend using exit(-1), return -1 or similar to represent "abnormal termination". The problem is, in POSIX at least, -1 has ...
3
votes
3answers
446 views

Why the terms used in Scrum are so strange?

I'm not a native English speaker, currently I'm reading some articles about Scrum. I was wondering if the English terms used in Scrum seem strange to you? For example, backlog instead of todo; ...
0
votes
1answer
355 views

Programs = Data Structures + Algorithms [closed]

Niklaus Wirth wrote a book that popularised the informal equation used as a title: “Data Structures + Algorithms = Programs”. I like to write this equation backwards as in the title of the question, ...
12
votes
2answers
3k 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 you're not ...
1
vote
2answers
525 views

What was the first programming language with Enumerations?

I'm reading about Swift enum's in the Swift Programming Language guide and the text was comparing the differences between Swift's enum and C's enum. This made me curious as to where enumerations came ...
1
vote
1answer
240 views

What was the first mass-produced CPU to have an instruction for multiplication?

The CPU I am most familiar with is the Z80 which was first released in 1976. The most complicated mathematical single instructions it has are integer ADD, SUB and closely related instructions, such as ...
7
votes
1answer
2k views

Why was F# created?

For my current class, I have to pick and research a Programming Language (or popular scripting language) and answer quite a few questions about it, write a paper, and do some example programs ...
1
vote
3answers
200 views

What was the first language that allowed a class to contain a member of it's own type

So, I had to create a class that had a member of it's own type. I looked into why this was possible, which is fascinating. Reading the answer, I find that a lot of work had to go into making this work,...
3
votes
0answers
560 views

What was the first mechanical Turing-complete machine ever constructed?

We know that Charles Babbage designed the first Turing-complete mechanical machine - the Analytical Engine - in the 1800s, but it was never actually built (not yet anyway). In recent history, at ...
11
votes
1answer
1k 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 ...
30
votes
11answers
3k views

Is software innovation still primarily North American and European? Why, and for how much longer? [closed]

Since this site is read by a global audience of programmers, I want to know if people generally agree that the vast majority of software innovation - languages, OS, tools, methodologies, books, etc. - ...
2
votes
1answer
303 views

What was the reason behind using quotes in Go's import statements?

The usage of quotes in Go's import statement strikes me as unnecessary. Typical Go import statements look like: import "foo/bar" import other_name "foo/bar" import ( "foo/bar" x "foo/baz/bar" ...
5
votes
1answer
546 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 science ...
4
votes
2answers
395 views

How and when did it happen that, a type is an interface?

I came from a highly functional and procedural background in programming, and never knew that a type is the same as an interface. As in the Design Patterns book by GoF, it says: A type is a name ...
0
votes
1answer
147 views

Naming choice in Java — clone vs. copy [closed]

We have "copy constructor" but "clone method". This asymmetry in naming puzzles me -- does anyone know for what reason the method was not named "copy" (and interface per analogy "Copyable")? This ...
-3
votes
4answers
495 views

Which programming language (or machine language) first used line numbers?

Fortran II (1958) was recorded using line numbers, from what I can tell. For example, the first five columns of this IBM punch card are titled "statement number". Punch card from a typical Fortran ...
2
votes
2answers
147 views

Did labelled loops pre-date for loops?

Was the first implementation of looping control flow effectively the goto (or something like a labelled JMP in assembler) or was there another syntactic construction? for (für) was introduced in ...
31
votes
10answers
9k views

Why is Math.Sqrt() a static function?

In a discussion about static and instance methods, I always think, that Sqrt() should be a instance method of number types instead of a static method. Why is that? It obviously works on a value. // ...
48
votes
13answers
12k 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 ...
65
votes
6answers
11k 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 ...
3
votes
2answers
828 views

What was the first language to support convenient user-land recursion?

What was the first programming language to support convenient user-land recursion? I know that early languages did not support it, but can find no specifics on when it was introduced.
10
votes
5answers
4k views

Why does “charset” really mean “encoding” in common usage?

Something that has long confused me is that so much software uses the terms "charset" and "encoding" as synonyms. When people refer to a unicode "encoding", they always mean a ruleset for ...
1
vote
0answers
131 views

Where did the tradition of new releases on Christmas Day start? [closed]

Perl 6 is being released on Christmas Day this year. I'm familiar with Ruby having a history of releases on Christmas Day, going back as far as Ruby 1.0 in 1996 if not further. However, a quick scan ...

1 2
3
4 5
7