On 5 August 2014 22:34, H. S. Teoh via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On Tue, Aug 05, 2014 at 10:14:21AM -0700, Andrei Alexandrescu via > Digitalmars-d wrote: >> http://colinm.org/language_checklist.html > > Alright, I'll have a go at it: > > ------------------------------------------------------------------------------- > Programming Language Checklist > by [1]Colin McMillen, [2]Jason Reed, and [3]Elly Jones. > > You appear to be advocating a new: > [ ] functional [X] imperative [X] object-oriented [X] procedural [X] > stack-based > [X] "multi-paradigm" [X] lazy [X] eager [X] statically-typed [ ] > dynamically-typed > [ ] pure [ ] impure [ ] non-hygienic [ ] visual [ ] beginner-friendly > [ ] non-programmer-friendly [ ] completely incomprehensible > programming language. Your language will not work. Here is why it will not > work. > > You appear to believe that: > [ ] Syntax is what makes programming difficult > [X] Garbage collection is free [ ] Computers have infinite > memory > [X] Nobody really needs: > [ ] concurrency [X] a REPL [X] debugger support [X] IDE support [ ] > I/O > [ ] to interact with code not written in your language
I resent you ticking the debugger support box. ;-) But is is true that debugging comes as a second class citizen. By way of example, currently if you want to make a break point at an optimisation pass in GCC, you have to break at '(anonymous namespace)::pass_xxxx::execute' - this is post conversion to C++! > > Taking the wider ecosystem into account, I would like to note that: > [X] Your complex sample code would be one line in: _APL :-)_______________ > [X] We already have an unsafe imperative language > [X] We already have a safe imperative OO language > [X] We already have a safe statically-typed eager functional language > [ ] You have reinvented Lisp but worse > [ ] You have reinvented Javascript but worse > [ ] You have reinvented Java but worse > [ ] You have reinvented C++ but worse At least you didn't tick these three bottom boxes. ;) Iain.