Skip to main content

Questions tagged [history]

For questions relating to past design decisions in programming language design.

Filter by
Sorted by
Tagged with
-1 votes
1 answer
110 views

It has been over a decade since I wrote any c++ code. I started working on a project, and I am surprised that things aren't working as I thought I remembered. It may be that I am only remembering ...
Steven Thomas Hatton's user avatar
18 votes
2 answers
4k views

In a lot of languages (eg Java, C++, etc), you can use ++ and -- as increment/decrement operators. What was the origin of ...
Otakuwu's user avatar
  • 725
4 votes
0 answers
133 views

APL famously has a lot of "characters" that are really two other characters overstruck. I was surprised to read in this Multics APL manual from 1985 that this extended even to overstriking <...
Quuxplusone's user avatar
9 votes
1 answer
410 views

In his original paper on Views for Pattern Matching, Philip Wadler describes them as bidirectional: the definition of a view had both in and ...
Daphne Preston-Kendal's user avatar
6 votes
1 answer
2k views

To specify in HTML that an <a> link needs to opened in a new tab or a new window, you use the following syntax: ...
FlatAssembler's user avatar
26 votes
3 answers
7k views

Why do many programming languages use the symbol of two vertical parallel lines || to mean "or"? Is it because two switches connected in parallel form a ...
FlatAssembler's user avatar
19 votes
4 answers
4k views

C has the behaviour of doing an implicit reference to element 0 of an array whenever you attempt to use it directly. This extends to passing arrays to/from functions - they get passed by pointer and ...
Icedude_907's user avatar
13 votes
2 answers
815 views

I am NOT asking what && means. Does anyone know the history of why the symbol && was chosen? I can give some ...
sudo pkill depression's user avatar
29 votes
5 answers
4k views

In C, if you declare a struct like: struct point { int x, y; }; you also have to use ...
Paul J. Lucas's user avatar
9 votes
2 answers
1k views

After upgrading to Java 21, I realized that the promised switch expression has several surprising properties. The most surprising part is the yield keyword which ...
feldentm's user avatar
  • 2,508
9 votes
1 answer
2k views

Another design decision that baffled me. Checking if an element is in a set is the entire purpose of a set! Until C++20 I had to write stuff like ...
qwr's user avatar
  • 601
17 votes
3 answers
5k views

This is something that has slightly annoyed me for a while. A map as a mathematical object (function) is by default "unordered", and the same is for maps as a data structure AKA associative ...
qwr's user avatar
  • 601
7 votes
0 answers
361 views

Context For memory safe languages to be fast, array bounds should be checked during compilation. Some language like Java, Rust, Swift, and others eliminate array bounds checks when possible, but the ...
Thomas Mueller's user avatar
6 votes
0 answers
342 views

I assume that C didn't originate the idea that, for example, the sequence \t inside a string literal should mean a tab character, that ...
Karl Knechtel's user avatar
12 votes
1 answer
437 views

In C, fopen() uses string literals such as "r" or "r+" or ...
CPlus's user avatar
  • 10.5k

15 30 50 per page