A tag for questions related to the design of any aspect of programming languages.
Why is Python assignment a statement rather than an expression? If it was an expression which returns the value of …
python python-3.x language-designSome languages like Ruby and JavaScript have open classes which allow you to modify interfaces of even core classes like …
javascript ruby oop language-design monkeypatchingThis benchmark appears to show that calling a virtual method directly on object reference is faster than calling it on …
c# .net performance language-designDisclaimer: I am not asking if the upper-bound stopargument of slice()and range() is exclusive or how to use these …
python language-design sliceThe Java compiler seems to have support for let expressions in com.sun.tools.javac.tree.* (look for LetExpr). One …
java compiler-construction language-design letIf I return nothing explicitly, what does a php function exactly return? function foo() {} What type is it? What value …
php function variables language-designWhy is new/override required on abstract methods but not on virtual methods? Sample 1: abstract class ShapesClass { abstract public int …
c# virtual language-design abstract-methodsIf I create a bool within my class, just something like bool check, it defaults to false. When I create …
c# language-design local-variablesIn all programming languages supporting optional parameters that I have seen there is a imitation that the optional parameters must …
c# java language-agnostic language-design optional-parametersLua occupies a good place in the space of languages that can be embedded. Are the primary ideas behind Lua's …
lua language-design