Gang Of Coders
Home
About Us
Contact Us
All Language Design Solutions on Gang of Coders
Total of 107 Language Design Solutions
"Least Astonishment" and the Mutable Default Argument
Python
Language Design
Default Parameters
Least Astonishment
Why doesn't Java support unsigned ints?
Java
Language Design
Unsigned
Integer
Why is "final" not allowed in Java 8 interface methods?
Java
Language Design
Java 8
Default Method
Jsr335
Why must we define both == and != in C#?
C#
Language Design
Why doesn't Python have a sign function?
Python
Language Design
What does DIM stand for in Visual Basic and BASIC?
Vb6
Language Design
Basic
Benefits of prototypal inheritance over classical?
Javascript
Oop
Inheritance
Language Design
Prototype Programming
Function overloading by return type?
Programming Languages
Language Design
Overloading
Function Calls
What blocks Ruby, Python to get Javascript V8 speed?
Javascript
Python
Ruby
Performance
Language Design
How does "this" keyword work within a function?
Javascript
Language Features
Language Design
Why can't I have abstract static methods in C#?
C#
.Net
Language Design
Why is an array not assignable to Iterable?
Java
Language Design
Why are arrays covariant but generics are invariant?
Java
Arrays
Generics
Language Design
Covariance
Why doesn't a python dict.update() return the object?
Python
Dictionary
Language Design
Language Features
Why does C++ need a separate header file?
C++
Language Design
Why is there no multiple inheritance in Java, but implementing multiple interfaces is allowed?
Java
Oop
Inheritance
Interface
Language Design
When someone writes a new programming language, what do they write it IN?
Language Design
What does void mean in C, C++, and C#?
C#
C++
C
Language Design
Terminology
Why does Lua have no "continue" statement?
Loops
Lua
Language Design
Why was the statement (j++); forbidden?
C#
Syntax
Expression
Language Design
Parentheses
Why doesn't Java allow generic subclasses of Throwable?
Java
Generics
Exception
Language Design
Why is there "data" and "newtype" in Haskell?
Haskell
Types
Language Design
Type Systems
Why aren't variables declared in "try" in scope in "catch" or "finally"?
C#
Java
Exception
Scope
Language Design
Why are private fields private to the type, not the instance?
C#
Oop
Language Design
Language Features
Private Members
Why can't variable names start with numbers?
C++
Variables
Programming Languages
Language Design
Variable Names
Why was the switch statement designed to need a break?
C
Language Design
Why are C++ inline functions in the header?
C++
Inline
Theory
Language Design
C++ Faq
Why does Ruby have both private and protected methods?
Ruby
Language Design
Access Specifier
Why do local variables require initialization, but fields do not?
C#
Language Design
Local Variables
Why doesn't String switch statement support a null case?
Java
Switch Statement
Language Design
Why doesn't Ruby support i++ or i-- (increment/decrement operators)?
Ruby
Operators
Language Design
Conventions for exceptions or error codes
Language Agnostic
Language Design
Why does C# disallow readonly local variables?
C#
Immutability
Language Design
Readonly
Why is Multiple Inheritance not allowed in Java or C#?
C#
Java
Language Design
Multiple Inheritance
Why are C# 3.0 object initializer constructor parentheses optional?
C#
Syntax
Types
Language Design
Initializer
Why are const parameters not allowed in C#?
C#
Language Agnostic
Language Design
Does R have an assert statement as in python?
R
Assert
Language Design
Assertions
Calling Java varargs method with single null argument?
Null
Language Design
Java
Variadic Functions
PHP global in functions
Php
Language Design
Zero-based month numbering
Date
Language Agnostic
Language Design
implementing type inference
Compiler Construction
Functional Programming
Language Design
Type Inference
Why do we need break after case statements?
Java
Switch Statement
Case
Language Design
Break
Why does C++ not allow inherited friendship?
C++
Inheritance
Language Design
Friend
Factors in R: more than an annoyance?
R
Language Design
Internals
R Factor
Why are there no sorted containers in Python's standard libraries?
Python
Language Design
Sortedset
Sortedmap
Would replacing ' :: ' with ' . ' create ambiguities in C++?
C++
Language Design
Can't set attributes on instance of "object" class
Python
Attributes
Language Design
Why design a language with unique anonymous types?
C++
Types
Rust
Language Design
What are Haskell's strictness points?
Haskell
Language Design
Lazy Evaluation
Strictness
Why function template cannot be partially specialized?
C++
Language Design
Template Specialization
Partial Specialization
Function Templates
Does any other language other than JavaScript have a difference between brace start locations (same line and next line)?
Javascript
Language Agnostic
Programming Languages
Language Design
Why must the last part of an Objective-C method name take an argument (when there is more than one part)?
Objective C
Selector
Language Design
Why is there no base class in C++?
C++
Language Design
Why can't your switch statement data type be long, Java?
Java
Switch Statement
Long Integer
Language Design
Why does Java have an "unreachable statement" compiler error?
Java
Language Design
Unreachable Statement
Why does C# allow {} code blocks without a preceding statement?
C#
Syntax
Language Design
Why are references not reseatable in C++
C++
Pointers
Reference
Language Design
What's the difference between __builtin__ and __builtins__?
Python
Python 3.x
Python 2.7
Language Design
Python Module
Why does Java not allow foreach on iterators (only on iterables)?
Java
Syntax
Iterator
Language Design
Iterable
Which classes cannot be subclassed?
Python
Class
Inheritance
Python 3.x
Language Design
Why can't you have multiple interfaces in a bounded wildcard generic?
Java
Generics
Language Design
Bounded Wildcard
what does a php function return by default?
Php
Function
Variables
Language Design
What are C macros useful for?
C
Macros
C Preprocessor
Language Design
Language Features
Why is there no sub-class visibility modifier in Java?
Java
Language Design
Visibility
Why can't I inherit from int in C++?
C++
Inheritance
Integer
Language Design
Strong Typing
Why does Ruby have TrueClass and FalseClass instead of a single Boolean class?
Ruby
Language Design
Why can't we define a variable inside an if statement?
C#
Language Design
Scope
Using variable keys to access values in JavaScript objects
Javascript
Language Design
Purpose of Scala's Symbol?
Scala
Syntax
Language Design
Symbols
Literals
Why isn't Array a generic type?
C#
Generics
Types
Language Design
Purpose of "let expression" (LetExpr) in the Java compiler?
Java
Compiler Construction
Language Design
Let
Why not call nullptr NULL?
C++
C++11
Language Design
Why can't Java constructors be synchronized?
Java
Constructor
Language Design
Synchronized
Is there a better PHP way for getting default value by key from array (dictionary)?
Php
Arrays
Key
Default Value
Language Design
Why does Python assignment not return a value?
Python
Python 3.x
Language Design
Why does the power operator in F# only work for floating point numbers?
F#
Language Design
Why are there no ||= or &&= operators in C#?
C#
Operators
Language Design
Assignment Operator
Compound Assignment
Bounding generics with 'super' keyword
Java
Generics
Language Design
Super
Why is F#'s type inference so fickle?
F#
Language Design
Type Inference
Performance of "direct" virtual call vs. interface call in C#
C#
.Net
Performance
Language Design
design of python: why is assert a statement and not a function?
Python
Language Design
Assert
Why is adding null to a string legal?
C#
Language Design
Why doesn't Rust support trait object upcasting?
Oop
Rust
Language Design
Liskov Substitution-Principle
Why do the C++ language designers keep re-using keywords?
C++
C++11
Keyword
Language Design
How does a stackless language work?
Stack
Language Design
Stackless
Is Lua based primarily on well-established programming-language ideas?
Lua
Language Design
Why does the TypeScript compiler compile its optional chaining and null-coalescing operators with two checks?
Typescript
Language Design
Why can't C# member names be the same as the enclosing type name?
C#
Language Design
Why is Clojure dynamically typed?
Dynamic
Functional Programming
Clojure
Language Design
Paradigms
What is the operator "" in C++?
C++
Operators
Language Design
What is the difference between a class and a type in Scala (and Java)?
Java
Class
Scala
Types
Language Design
Why are slices in Python 3 still copies and not views?
Python
Python 3.x
Language Design
Slice
Why are slice and range upper-bound exclusive?
Python
Language Design
Slice
Could a final variable be reassigned in catch, even if assignment is last operation in try?
Java
Try Catch
Language Design
Final
Lua operators, why isn't +=, -= and so on defined?
Lua
Language Design
Assignment Operator
Compound Assignment
James Gosling's explanation of why Java's byte is signed
Java
Types
Language Design
Byte
Why aren't C# static class extension methods supported?
C#
Linq
Language Design
New language on top of PHP?
Php
Programming Languages
Language Design
Why does Python's itertools.permutations contain duplicates? (When the original list has duplicates)
Python
Algorithm
Language Design
Permutation
Why must I provide 'operator ==' when 'operator <=>' is enough?
C++
Language Lawyer
C++20
Language Design
Spaceship Operator
What is typestate?
Rust
Language Design
Rust Obsolete
Why doesn't Scala have static members inside a class?
Class
Scala
Static
Language Design
Static Members
OptionalInt vs Optional<Integer>
Java
Generics
Java 8
Language Design
What is the point of make_heap?
C++
Stl
Language Design
C++ iterators considered harmful?
C++
Iterator
Language Design
C# static member "inheritance" - why does this exist at all?
C#
Inheritance
Static
Language Design
Why are await and async valid variable names?
Javascript
Async Await
Specifications
Language Design
Ecmascript 2017