Top "Language-design" questions

A tag for questions related to the design of any aspect of programming languages.

What does void mean in C, C++, and C#?

Looking to get the fundamentals on where the term "void" comes from, and why it is called void. The intention …

c# c++ c language-design terminology
"Least Astonishment" and the Mutable Default Argument

Anyone tinkering with Python long enough has been bitten (or torn to pieces) by the following issue: def foo(a=[]): …

python language-design default-parameters least-astonishment
Why doesn't Python have a sign function?

I can't understand why Python doesn't have a sign function. It has an abs builtin (which I consider sign's sister), …

python language-design
Why is there no multiple inheritance in Java, but implementing multiple interfaces is allowed?

Java doesn't allow multiple inheritance, but it allows implementing multiple interfaces. Why?

java oop inheritance interface language-design
Why does Lua have no "continue" statement?

I have been dealing a lot with Lua in the past few months, and I really like most of the …

loops lua language-design
Why doesn't Java support unsigned ints?

Why doesn't Java include support for unsigned integers? It seems to me to be an odd omission, given that they …

java language-design unsigned integer
Why are C++ inline functions in the header?

NB This is not a question about how to use inline functions or how they work, more why they are …

c++ inline theory language-design c++-faq
Why can't I have abstract static methods in C#?

I've been working with providers a fair bit lately, and I came across an interesting situation where I wanted to …

c# .net language-design
Why does Java have an "unreachable statement" compiler error?

I often find when debugging a program it is convenient, (although arguably bad practice) to insert a return statement inside …

java language-design unreachable-statement