For questions about the history of programming and computing.

learn more… | top users | synonyms

51
votes
10answers
15k 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 ...
3
votes
1answer
269 views

Why did Shannon's outguessing machine beat Hagelbarger's?

I'm reading "Rock Breaks Scissors", which describes two "outguessing machines" built at Bell Labs that try to exploit human non-randomness in the game of matching pennies. There was an outguessing ...
5
votes
4answers
278 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 ...
9
votes
7answers
1k 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 ...
19
votes
3answers
2k views

“Ever change the value of 4?” - how did this come into Hayes-Thomas quiz?

In 1989 Felix Lee, John Hayes and Angela Thomas wrote a Hacker's test taking the form of a quiz with many insider jokes, as “Do you eat slime-molds?” I am considering the following series: 0015 Ever ...
2
votes
0answers
263 views

Why does the .NET framework have no concept of classes as first-class types?

It's well known to those familiar with the history that C# and the .NET framework started out as essentially "Delphi rewritten to feel like Java," architected by the chief developer behind Delphi, ...
16
votes
1answer
672 views

Where did the notion of 'calling' a function come from?

I've always wondered why one calls a function as opposed to, for example, executing it. A Google search for function call etymology and similar terms turns up nothing useful, Wikipedia doesn't ...
27
votes
4answers
3k views

What is the origin of the negative term “legacy code”

Everyone talks about legacy code in software development and I have heard the term over the last ten years used to paint any codebase as being bad. Where did this term, which has such powerful ...
12
votes
5answers
2k views

In what programming language did “let” first appear?

I was wondering about the origins of the "let" used in Lisp, Clojure, and Haskell. Does anyone know which language it appeared in first?
2
votes
1answer
207 views

Origin of letter “X” for close icon

Who exactly presented the idea that letter "X" should be used for closing/exiting a window or an application? According to Medium.com, The first appearance of [x] in GUI design was likely the ...
0
votes
2answers
107 views

Should you avoid adding unecessary stack frames?

I have been working with laravel (PHP) recently, and there is an option when using their fluent ORM to define where clauses using closures. This gives us two, functionally equivalent, ways to specify ...
4
votes
1answer
362 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 ...
4
votes
4answers
311 views

Which language introduced the idea of private (hidden) variables? [duplicate]

I know C++ had private variables inside classes, and Java, C#, Javascript, and others picked up on that and ran with it. Aside from variable scope, most languages before that just made everything ...
1
vote
2answers
153 views

Who are the 1st and 2nd parties?

So, this is pure curiosity. I've heard the term 3rd party, as in, "3rd party library" for quite a while. I wonder why we say 3rd and not 2nd (or 4th)? Who are the first and second parties and where ...
2
votes
5answers
206 views

Why doesn't the HTML\DOM specification allow hyperlinks to set an accept header?

The purpose of the Accept header from the client is to tell the server what kind of data it will accept as a response to its request. We can set this header in asynchronous HTTP calls in Javascript, ...
48
votes
9answers
7k 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 ...
60
votes
14answers
9k views

Why is 0 false?

This question may sound dumb, but why does 0 evaluates to false and any other [integer] value to true is most of programming languages? String comparison Since the question seems a little bit too ...
13
votes
8answers
701 views

Why does C have no competitors in low level stuff? [duplicate]

As far as I know, C is by far the most widely used language for low level stuff such as systems programming and embedded. Sometimes assembly is used, but that's when you really need to be close to the ...
28
votes
5answers
4k 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 ...
66
votes
4answers
14k 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?
0
votes
4answers
244 views

What is the “1620's multiplication operation”?

I was stumbling through Wikipedia when I came across the entry for FLOPS, specifically the table in this section. The first entry is for a computer from 1961, the comment on the right reads The ...
5
votes
1answer
290 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?
28
votes
2answers
1k 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 ...
12
votes
2answers
725 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 ...
9
votes
2answers
639 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 ...
31
votes
3answers
897 views

Origins of code indentation

I am interested in finding out who introduced code indentation, as well as when and where it was introduced. It seems so critical to code comprehension, but it was not universal. Most Fortran and ...
29
votes
2answers
2k views

Why did the Haskell committee choose monads to represent I/O?

The Clean language uses uniqueness types to handle I/O in a purely functional setting. Why did the Haskell committee go with monads instead? Were there other proposals for handling state that the ...
42
votes
22answers
8k 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 ...
0
votes
2answers
301 views

What was before MVC? [closed]

MVC is used a lot (not only in web apps) and it seems it's the 'go to' approach when designing software. There are also a lot of MVC versions. My question is: what was before MVC? How did people ...
3
votes
4answers
415 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 ...
12
votes
13answers
1k views

Is it true that first versions of C compilers ran for dozens of minutes and required swapping floppy disks between stages?

Inspired by this question. I heard that some very very early versions of C compilers for personal computers (I guess it's around 1980) resided on two or three floppy disks and so in order to compile ...
0
votes
5answers
198 views

Computer Science and the IT industry [duplicate]

I have a Computer Science degree and I'm employed as a software engineer. I'm regularly approached by recruiters on LinkedIn with "programmer", "software developer", or general "software and/or ...
2
votes
6answers
2k views

How did programmers implement Linked list ideas before the object oriented paradigm?

Linked lists, as far as I have seen, are largely implemented using object-oriented ideas. (having an object that holds some information and the address of the next link). How were Linked-lists ...
42
votes
4answers
2k 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?
17
votes
6answers
3k views

What made BASIC profitable? [closed]

In the 1970s, a man called Bill Gates developed an interpreter for BASIC: the Altair BASIC. Per my understanding, he was able to persuade the guy in charge of a microcomputer company to include the ...
264
votes
9answers
61k 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?
26
votes
4answers
2k views

What language was “standard” for Apple development before Objective C?

I don't think Objective C was in use from the beginning of Apple hardware development. What languages did app developers use for the earlier Apple computers, such as Apple II or Mac Classic?
0
votes
1answer
68 views

How did the “abnormal” options in shell commands appear?

These options which obscure me are like ps aux, route -ee, gcc -fPIC xxx, find . -name xxx and so on. The examples above aren't comprehensive. I.e., I don't think that the argument handle ...
7
votes
2answers
170 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 ...
1
vote
3answers
389 views

Why did the Sun engineers decided to make Java only call by value? [closed]

Is there any specific reason they decided to go with Call by value? Is it for simplicity?
2
votes
2answers
139 views

Can the Jacquard loom be considered stateless?

Can the Jacquard loom, pictured below complete with its chains of paper cards be considered stateless? As far as I can tell I can tell, each operation is not dependant on the previous. Or did it ...
27
votes
3answers
2k views

Why does the boolean type in C++ support `++` but not `--`?

Why does the operator -- not exist for bool whereas it does for operator ++? I tried in C++, and I do not know if my question apply to another language. I will glad to know also. I know, I can use ...
8
votes
2answers
2k 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?
11
votes
3answers
787 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 ...
15
votes
2answers
1k views

What happened to Concurrent C?

I recently checked out a fantastic book from my college library. It is a bit old at 1989, but the language it describes sounds rather nice. And even while I may not be using it soon, I wanted to ...
6
votes
3answers
414 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 ...
5
votes
2answers
239 views

Is Lisp the first language to adopt structured programming?

I couldn't find any links or books claiming that Lisp is the first programming language to adopt structured programming (actually, most of them don't even mention Lisp at all), but if conditionals ...
22
votes
7answers
2k views

What were the Design Patterns of the procedural programming era? [closed]

Similar: How was programming done 20 years ago? OOP is quite fashionable nowadays, having its roots in Simula 67 in the 1960s, and later made popular by Smalltalk and C++. We have DRY, SOLID, many ...
4
votes
1answer
273 views

What is the historical reason why Python uses the double underscore for Class Private members

In python a module private function or variable is named _foo. If it is private to a class it is names __foo, The mechanics behind how these work are different, however that is of little relevance to ...
256
votes
4answers
96k 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 ...