Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [history]

For questions about the history of programming and computing.

-3
votes
2answers
150 views

Why was the caret used for exponentiation in BASIC?

As far as I have been able to find, the first language to use ^ for exponentiation was BASIC, in 1964. Earlier languages, such as Fortran, used other symbols such as ** for exponentiation (although in ...
0
votes
2answers
265 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 ...
3
votes
0answers
79 views

The programming paradigm behind beginFill/endFill

The only place I have really noticed this sort of programming style is with the graphics engines. Essentially like this: graphics.clear() graphics.setStrokeStyle(myStrokeWidth) graphics.beginStroke(...
45
votes
8answers
12k 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 ...
148
votes
7answers
23k 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 ...
4
votes
2answers
422 views

Was Java the first programming language to support inner classes?

The Wikipedia article on the subject of inner classes enumerates a number of programming languages that support nested class definitions. Historically speaking, which programming language first added ...
2
votes
2answers
179 views

Measuring File Churn Over Entire Project History in Git

I'm looking for a way to quantify where my team should spend it's time addressing technical debt in our codebase. One idea for this is to measure file churn (edits over time). I got the idea from this ...
0
votes
1answer
134 views

Why “typeof null == object” will stay in javascript?

I was reading a article about front-end development on Medium, when I stumbled upon an interesting piece of information, which is as follows: The type of a variable can be determined by using the ...
-1
votes
3answers
289 views

How did scientists “source control” hardware switches?

I'm putting together a talk of the history of best practices in software development and we're trying to put together a bit of a timeline of how good practice has evolved. This question talks about ...
8
votes
2answers
598 views

How did the custom of using square brackets for array elements develop?

Many programming language use the syntax a[i] to refer to the i'th element of an array, sequence, or vector a - specifically, C and Pascal (from the late 1960s and early 1970s) do this. On the other ...
2
votes
4answers
608 views

Why is the ampersand (&) a HTML Entity?

I understand the rationale behind why most of the HTML character Entities were created, but I don't understand the purpose behind the ampersand HTML entity. & contains more bits than a & ...
0
votes
0answers
74 views

Why is overloading called overloading? [duplicate]

I have problems with the term "method overloading". I know that overloading is the ability to create multiple methods of the same name with different implementations. My problem is however, that the ...
67
votes
10answers
8k 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 ...
0
votes
0answers
84 views

Why does GNU AS use different characters for single-line comments depending on the architecture?

The GNU Assembler as uses different characters depending on the architecture to specify single-line comments, such as # on x86, ; on 29k, or @ on ARM. Moreover, regardless of platform, C-style ...
2
votes
1answer
888 views

Does i in for loops means iteration or index? [duplicate]

Does i in for loops means iteration or index? How could I know the original meaning? Some programmers say it's iteration, some say it's index. It seems to me more of an index we start from --- we go ...
1
vote
1answer
193 views

Has the profession of programming gentrified over the years? [closed]

I have the vague sense that programming now is a more high-status job than it was in previous decades; that it used to be looked upon as more rote, manual work. The sense is that, while today fresh ...
17
votes
3answers
816 views

When & why did pointers start to become viewed as risky?

It seems that there has been a gradual shift in thinking about the use of pointers in programming languages such that it became generally accepted that pointers were considered risky (if not outright "...
3
votes
4answers
362 views

Why is it common for naming 2 axis dimensions as width and height instead of length and width?

Pretty much almost all frameworks I use in programming uses the height and width when identifying a flat dimension (without Z axis), but when in math, a 2 axis object is always measured by length and ...
4
votes
3answers
357 views

Why is there both logical operators <> and !=?

The are two operators '<>' and '!=' used in programming languages with the same general meaning. '<>' can be used in PHP, SQL, and Pascal. '!=' seems to be more commonly used. What is the ...
1
vote
4answers
334 views

Why do we prepend the “A” in “API”?

I'm writing some pedagogic material and when I started explaining what an API is I realized I didn't know why we say "application programming interface" instead of just "programming interface". Does ...
0
votes
0answers
145 views

Where did the lambda “it” construct originate from?

I'm learning Kotlin for work right now and I noticed the lambda it construct like: (arrayOf(1, 2, 3)).map { it * 2 } Where the parameter isn't explicitly named and it is implicitly given the it name....
-1
votes
1answer
475 views

Why are we using mutable collections but immutable strings

In three popular platforms I'm familar with(.NET, java, python) strings are immutable but lists are by default mutable. In all languages there is some functional support(linq, streams, list ...
1
vote
0answers
179 views

What programming language first used the 'Safe navigation operator' (?.)?

What programming language first used / invented the 'Safe navigation operator' (?.) ? Unfortunately, the Wikipedia page on this subject does not have information on it and googling yielded no readily ...
0
votes
2answers
607 views

How did software engineers test their code in 19xx? [closed]

There is a plethora of tools available for engineers to test their code these days. However, frameworks like Mocha.js came around only in 2011 with the ascent of NPM. So I wonder what were the ...
1
vote
2answers
99 views

Is artificial complexity commonplace the larger a company or community gets?

It always seemed normal to me that the larger a company gets the less amount of work is put by its employees into making the company profitable. There are obviously no clear marks for this, but I ...
0
votes
1answer
469 views

When was STL formally introduced into C++ standard?

I fail to infer the exact point of historical introduction of STL into actual C++ standard library from the wikipedia article: https://en.wikipedia.org/wiki/Standard_Template_Library It appears to me ...
0
votes
1answer
205 views

When were unsigned types first introduced in programming languages?

Recently I learned that standard Fortran does not support unsigned integers. Fortran is a language with a very long history. I suppose that when Fortran was first designed, there simply wasn't any ...
1
vote
1answer
228 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
61 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 ...
97
votes
10answers
16k 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'...
0
votes
1answer
157 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. ...
7
votes
0answers
398 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 ...
26
votes
1answer
2k 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 ...
59
votes
14answers
13k 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 ...
26
votes
2answers
4k views

Code development process for Voyager mission?

Voyager 1 reached interstellar space in August 2012 and is the most distant human-made object in existence. Launched just shortly after its twin spacecraft, Voyager 2, in 1977, Voyager 1 explored the ...
15
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 ...
-3
votes
2answers
430 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 ...
2
votes
1answer
137 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 ...
3
votes
1answer
181 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 ...
17
votes
1answer
2k 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 ...
6
votes
4answers
1k views

What is the origin of counting from zero in programming languages?

This is a question which I have wondered (and been asked) about for a long time. In (most? all?) programming languages, an index begins at zero for an array, string, etc. I recognize it became ...
0
votes
0answers
136 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 ...
3
votes
3answers
1k 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 certainly ...
21
votes
1answer
4k 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 ...
14
votes
1answer
4k 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
1answer
289 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, ...
1
vote
1answer
155 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 ...
31
votes
7answers
2k views

How did version control work on microcomputers of the day in the 80s and 90s?

I'm curious to know how programmer teams typically managed their software development back in the 80s and early 90s. Was all the source code simply stored on one machine which everyone worked on, or ...
1
vote
3answers
190 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,...
92
votes
9answers
15k 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?