People want "Python" \+ static execution + structural capabilities. If Nim 
strieves to deliver the former, then with: > The fact that newer CPUs are not 
going up in clock speed but in number of cores means that performance can only 
come from effective multi-threading. Given Nim plays in the performant side of 
programming languages, having a competitive strategy for multi-threading is 
crucial to longterm success.

we have a contradiction.

"Python" should be replaced with "model-based language". A language that adapts 
easily to different types (and/or data). C as a purely static language was 
quickly extended with "C++" and "Objective C" . The dynamic part of C++ came 
from virtual methods aka vtables, the structural parts of C++ are templates and 
classes. Objective C was an early implementation of a prototype-based language. 
Therefore, Objective C stands for "highly dynamic". The recent successor of 
ObjC is Swift, but any scripting language (python,ruby,javascript) adapts 
ObjC's properties too.

Given the execution speed of Nim, people would accept easily a loss of 40% 
speed due to a garbage collector. As long as they can work with a "dynamic" 
Nim. Nim could be made even more dynamic with vtables. Some structural 
capabilities could be added, e.g. ADTs, GADTs, and/or type classes.

Reply via email to