For questions about the history of programming and computing.

learn more… | top users | synonyms

7
votes
3answers
300 views

Origin of “a method should return a value or have side-effects, but not both”

I read once that a method should either have a return value (and be referentially transparent), or have side-effect(s), but not both. I cannot find any references to this rule, but want to learn more ...
0
votes
0answers
54 views

What flavor of MUMPS does InterSystems Caché descend from?

I've been reading through an old-ish book on MUMPS ("M Programming", by Walters) to try and get some historical perspective on the language. The book was published in 1997, and provides the following ...
8
votes
1answer
138 views

Why does Apache have two separate tools for build and dependency management?

Apache has two separate tools: Apache Maven Apache Ant + Apache Ivy They seem to both fill the same niche. I have two questions: What are the highlights of the main differences between the two ...
0
votes
2answers
165 views

Why can't I use an operator like plus sign to concatenate strings? [closed]

Why in Objective-C we should be typing explicit references to methods like stringByAppendingString to concatenate strings, when in some other languages we can use operators for that? For example, ...
2
votes
1answer
125 views

What is the etymology of the “dot” operator for string concatenation?

Some languages have a . operator for string concatenation. The oldest language I could find that supports it is Perl. Was Perl the first to use it? Why was it chosen?
3
votes
1answer
131 views

What was the date of the Java Alpha and Beta releases

The date of the public 1.0 release of Java is easy to find: January 23, 1996. But there were public Alpha and Beta releases before that, and in December 1995 Java already appeared on the list of Time ...
2
votes
0answers
170 views

Have any C compilers ever *defined* `unsigned short x=-3; x*=x;` to yield anything other than 9

In a C implementation where int can hold all values of type unsigned short, standard integer promotion rules dictate that given the code: unsigned short x=(USHORT_MAX+1)-3; // Or just -3 x*=x; a ...
3
votes
2answers
294 views

Why was the AT&T assembly syntax designed this way?

The AT&T assembly syntax, often called the GAS syntax, keeps surprising me. For example, its parameter order: mov $100,%eax /* Destination after source */ This just seems so counter-intuitive! ...
33
votes
6answers
1k 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
2answers
74 views

What is the origin of the tag property in UI toolkits?

I've seen the tag property in all UI frameworks I worked with: UIKit, Forms, OpenStep, even Delphi 6. Was it in the original Macintosh Toolbox or Xerox's framework? WhAt was the original idea behind ...
8
votes
2answers
560 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. ...
0
votes
2answers
126 views

Origin of naming generic types as T? [closed]

I've noticed that most people use the name T for generic types, instead of any other names. What's the origin of this convention? And.. why T (for type)? why not TYPE or Variable or any other name? ...
1
vote
1answer
155 views

What is the name/origin for this C code indentation style?

Look at the formatting of the variable declarations. I haven't encountered this indentation style in the past, but lately I stumbled upon two different code examples which use this style. Where does ...
35
votes
4answers
3k 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, ...
0
votes
1answer
146 views

Origin of the “array” term in computer science [closed]

Starting from this wikipedia page, and exploring the linked pages, I have tried to find the origins of the word "array" in the context of computer science. I have so far come nowhere, and am pursuing ...
6
votes
1answer
226 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 ´ ("ACUTE ...
4
votes
2answers
343 views

How did people write end-user software in Smalltalk?

There is something I've never understood about Smalltalk, since reading about it in a book when I was a child, tho' I have never used it "in anger". I know that it is turtles-all-the-way-down, that ...
-3
votes
3answers
198 views

Are there any programming languages that don't descend from C? [closed]

I mean descend as in languages who's original compiler/interpreter was written in C or in a language that descends from C. If you don't count assembly, the only thing that comes to my mind is B. Are ...
-2
votes
1answer
174 views

Why are mostly 9999, 99999… are used for making comparisons [closed]

I (I am sure everyone else also) have always seen comparisons of some value to 999 or 9999 .... etc. for e.g.: in CSS z-index: 9999 or some times str.length < 99999 I wonder if there is some ...
3
votes
5answers
858 views

Why lambda/closures expressions came so late to C++?

I was reading a really great Bjarne Stroustrup's article where he exposes some C++ myths. I look at code that focus my attention, because I wouldn't know that C++ supports this kind of expressions. ...
5
votes
2answers
285 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, ...
3
votes
3answers
297 views

Why is Win32 API's WM_MOVE being called while dragging the window?

I have two callbacks for WM_MOVE and WM_MOVING. Oddly enough, WM_MOVE is being called while dragging the window. I expected WM_MOVE to be called only when I'm done dragging the window. MSDN says that ...
10
votes
4answers
972 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. ...
0
votes
1answer
50 views

How can I determine which version of Python introduced a particular module to the std lib? [closed]

Is there a single timeline-style resource available showing the history of the modules available in different versions of Python? I'd like to, for instance, easily determine which version of Python ...
1
vote
1answer
269 views

Why does GCC use AT&T syntax by default?

I think title says it all :) Is there any particular practical reason (I guess it's mostly historic, but I'm unable to find it on my own) why GCC uses AT&T/GAS syntax? Note: I know this is just ...
1
vote
1answer
140 views

Why are Apache 2.0 works excluded from OpenBSD?

From http://www.openbsd.org/policy.html The original Apache license was similar to the Berkeley license, but source code published under version 2 of the Apache license is subject to additional ...
39
votes
9answers
7k 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 ...
4
votes
9answers
680 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 ...
2
votes
3answers
186 views

How was the system clock first used in early computers?

This question is about the clock that keeps current time, not about the signal that sequences the circuitry (the wall clock, not the metronome). First computers were pure calculators, just very ...
7
votes
1answer
421 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/): ...
-2
votes
1answer
194 views

Who first used the phrase “Those who only live by the GUI, will die by the GUI” [closed]

I have heard a similar quote several times, as either "Live by the GUI, die by the GUI" or "Those who only live by the GUI, will die by the GUI". The first time I heard this was in an ...
0
votes
4answers
1k views

Why was Fortran never used to develop an Operating System?

I'm not a Fortran developer myself, but I'm about to use it a little and found myself wondering why, if it is much older than C but equally as performant as C, was it never used to develop any ...
1
vote
1answer
293 views

Which programming language first came up with the finally block?

Which programming language first came up with the finally block? I ask purely out of curiosity. It is a very useful piece of syntactic sugar, and whoever first created it surely has a very ...
10
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 ...
6
votes
4answers
346 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 ...
21
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 ...
3
votes
0answers
465 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, ...
17
votes
1answer
739 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 ...
2
votes
1answer
271 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
125 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 ...
15
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 ...
1
vote
2answers
217 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 ...
5
votes
4answers
350 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 ...
65
votes
10answers
10k 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 ...
2
votes
5answers
301 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, ...
13
votes
8answers
884 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 ...
0
votes
4answers
347 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
337 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?
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 ...
3
votes
1answer
448 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 ...