Community Digest

Top new questions this week:

Why does JavaScript use autoboxing?

JavaScript has a handful of primitive types such as strings and numbers. However, when doing something fancy, it often wraps these types inside temporary objects in order to use object methods, a ...

object-oriented javascript  
user avatar asked by Manngo Score of 8
user avatar answered by Michael Homer Score of 19

Is there something better than async in order to avoid dead or unused processing times in single thread?

I recently read about PHP's true async RFC. The initial real life "picture" (unrelated to PHP or sync processing) that I imagined was a waiter in a restaurant. He/She/It works async, taking ...

async runtime-performance  
user avatar asked by marius-ciclistu Score of 2
user avatar answered by Eric Lippert Score of 3

Greatest hits from previous weeks:

Are there good reasons to minimize the number of keywords in a language?

Are there good reasons to attempt to keep the number of keywords/reserved tokens in a language to a minimum? Such as by repurposing existing keywords for new syntax instead of adding new ones. Related:...

keywords  
user avatar asked by CPlus Score of 26
user avatar answered by Silvio Mayolo Score of 32

What language design features made Lisp useful for Artificial Intelligence research?

Lisp is often claimed to be one of the "[original] favored programming language[s] for artificial intelligence (AI) research" (source, additional reference, cross-site related question that ...

language-design lisp  
user avatar asked by lyxal Score of 44
user avatar answered by Alexis King Score of 66

How expressive of a type system is too expressive, for the average programmer?

The advantages of an expressive type system cannot be denied. The usual definition applies - how much valid behaviour a chosen system allows, while also preventing invalid behaviour. In terms of "...

type-systems type-theory polymorphism dependent-types  
user avatar asked by blueberry Score of 32
user avatar answered by Luke LaBonte Score of 40

Why would a language have a concept of undefined behavior instead of raising an error?

Certain constructs or conditions in programming just are not allowed. Languages such as Java or Swift handle these by raising an error when encountered. C and C++ on the other hand say 'Anything could ...

c error-handling c++ undefined-behavior  
user avatar asked by CPlus Score of 36
user avatar answered by Pseudonym Score of 36

What are the drawbacks of allowing implicit boolean/integer conversions?

Some languages (C, C++, JavaScript, Python) allow one to use integers as booleans and vice versa: int x; if (x) // Equivalent to: x != 0 y(); Or: ...

numbers integers booleans  
user avatar asked by CPlus Score of 20
user avatar answered by kaya3 Score of 24

Preserving backwards compatibility when adding new keywords

Inspired by Why do keywords have to be reserved words? Suppose that you're the BDFL of a programming language. Version 1 of the language becomes decently popular. A few years later, you decide to ...

keywords backwards-compatibility  
user avatar asked by dan04 Score of 22
user avatar answered by ATaco Score of 25

Return statements vs passing a pointer

Returning a value from a function like int add(int,int); allows for a subset of the functionality of simply passing a pointer ...

functions  
user avatar asked by Jonathan Woollett-light Score of 10
user avatar answered by kouta-kun Score of 13
You're receiving this message because you subscribed to the Programming Language Design and Implementation community digest.
Unsubscribe from this community digest       Edit email settings       Leave feedback       Privacy
Stack Overflow

Stack Overflow, 14 Wall Street, 20th Floor, New York, NY 10005

<3