Re: Complete the checklist! :o)

2014-08-06 Thread Kagamin via Digitalmars-d
On Tuesday, 5 August 2014 at 21:36:30 UTC, H. S. Teoh via 
Digitalmars-d wrote:

[X] stack-based


Probably not what you thought.


Re: Complete the checklist! :o)

2014-08-06 Thread Iain Buclaw via Digitalmars-d
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_::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.


Re: Complete the checklist! :o)

2014-08-06 Thread eles via Digitalmars-d
On Wednesday, 6 August 2014 at 07:44:39 UTC, Iain Buclaw via 
Digitalmars-d wrote:

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



 [ ] You have reinvented Javascript but worse


What could be worse than Javascript? Seriously.



Re: Complete the checklist! :o)

2014-08-06 Thread Brian Schott via Digitalmars-d

On Wednesday, 6 August 2014 at 08:12:57 UTC, eles wrote:

What could be worse than Javascript? Seriously.


Serious questions call for serious answers.

http://en.wikipedia.org/wiki/Malbolge
http://en.wikipedia.org/wiki/INTERCAL
http://en.wikipedia.org/wiki/MUMPS


Re: Complete the checklist! :o)

2014-08-06 Thread eles via Digitalmars-d

On Wednesday, 6 August 2014 at 08:16:56 UTC, Brian Schott wrote:

On Wednesday, 6 August 2014 at 08:12:57 UTC, eles wrote:



http://en.wikipedia.org/wiki/Malbolge


(=`#9]~6ZY32Vx/4Rs+0No-Jk)Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

(no, I wasn't cursing you!)


http://en.wikipedia.org/wiki/INTERCAL
http://en.wikipedia.org/wiki/MUMPS


OMG, this one is not intended to be a joke!

Thanks for the answer. It is always useful to learn new things...


Re: Complete the checklist! :o)

2014-08-06 Thread Brian Schott via Digitalmars-d

On Wednesday, 6 August 2014 at 08:44:57 UTC, eles wrote:

OMG, this one is not intended to be a joke!


http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx
http://thedailywtf.com/Articles/Avoiding-MUMPS--Arcadius.aspx

I interviewed with this company once. (I'm not the one who wrote 
in to TDWTF) When we started talking about MUMPS I was very 
tempted to do this: http://i.imgur.com/ZfIH6Dd.gif


Re: Complete the checklist! :o)

2014-08-06 Thread eles via Digitalmars-d

On Wednesday, 6 August 2014 at 09:39:10 UTC, Brian Schott wrote:

On Wednesday, 6 August 2014 at 08:44:57 UTC, eles wrote:

OMG, this one is not intended to be a joke!


http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx
http://thedailywtf.com/Articles/Avoiding-MUMPS--Arcadius.aspx

I interviewed with this company once. (I'm not the one who 
wrote in to TDWTF) When we started talking about MUMPS I was 
very tempted to do this: http://i.imgur.com/ZfIH6Dd.gif


Impressive is the least I can say. I really look forward for 
Managed extensions for MUMPS by guessWho Inc.


Re: Complete the checklist! :o)

2014-08-06 Thread Wyatt via Digitalmars-d

On Wednesday, 6 August 2014 at 09:39:10 UTC, Brian Schott wrote:

On Wednesday, 6 August 2014 at 08:44:57 UTC, eles wrote:

OMG, this one is not intended to be a joke!


http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx
http://thedailywtf.com/Articles/Avoiding-MUMPS--Arcadius.aspx

I interviewed with this company once. (I'm not the one who 
wrote in to TDWTF) When we started talking about MUMPS I was 
very tempted to do this: http://i.imgur.com/ZfIH6Dd.gif


Oh, I have a friend who works at Epic. ;)

He gave me a tour of their campus last year; it's really super 
bonkers, considering what they do: 
http://jgweb.sx3.atl.publicus.com/storyimage/JG/20101231/ARTICLES/312319978/EP/1/2/EP-312319978.jpg


The filled-in part of the backwards S on the left side is their 
company auditorium.  It seats about 5,000 (IIRC), but they're 
building a new one because _it's not big enough_.  I believe the 
new one (not pictured) was built into the hill along the bottom 
of the photo.


I hear they've been doing more VB and C# lately, incidentally.

-Wyatt


Re: Complete the checklist! :o)

2014-08-06 Thread Kagamin via Digitalmars-d

On Wednesday, 6 August 2014 at 08:16:56 UTC, Brian Schott wrote:

http://en.wikipedia.org/wiki/MUMPS


Ah, I remember, Caché ObjectScript, a superset of MUMPS is a 
scripting language for Caché database which InterSystems claims 
to be the fastest object-oriented database.


Complete the checklist! :o)

2014-08-05 Thread Andrei Alexandrescu via Digitalmars-d

http://colinm.org/language_checklist.html

Andrei


Re: Complete the checklist! :o)

2014-08-05 Thread H. S. Teoh via Digitalmars-d
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
 [ ] The entire world speaks 7-bit ASCII
 [X] Scaling up to large software projects will be easy
 [X] Convincing programmers to adopt a new language will be easy
 [ ] Convincing programmers to adopt a language-specific IDE will be easy
 [ ] Programmers love writing lots of boilerplate
 [X] Specifying behaviors as undefined means that programmers won't rely on 
them
 [ ] Spooky action at a distance makes programming more fun

 Unfortunately, your language (has/lacks):
 [X] comprehensible syntax  [ ] semicolons  [ ] significant whitespace  [X] 
macros
 [ ] implicit type conversion  [X] explicit casting  [X] type inference
 [X] goto  [X] exceptions  [X] closures  [ ] tail recursion  [ ] coroutines
 [X] reflection  [ ] subtyping  [ ] multiple inheritance  [X] operator 
overloading
 [X] algebraic datatypes  [ ] recursive types  [ ] polymorphic types
 [ ] covariant array typing  [X] monads  [X] dependent types
 [ ] infix operators  [X] nested comments  [X] multi-line strings  [X] regexes
 [ ] call-by-value  [ ] call-by-name  [ ] call-by-reference  [ ] call-cc

 The following philosophical objections apply:
 [ ] Programmers should not need to understand category theory to write Hello, 
World!
 [ ] Programmers should not develop RSI from writing Hello, World!
 [ ] The most significant program written in your language is its own compiler
 [X] The most significant program written in your language isn't even its own 
compiler
 [X] No language spec
 [X] The implementation is the spec
[ ] The implementation is closed-source  [ ] covered by patents  [ ] not 
owned by you
 [ ] Your type system is unsound  [ ] Your language cannot be unambiguously 
parsed
[ ] a proof of same is attached
[ ] invoking this proof crashes the compiler
 [X] The name of your language makes it impossible to find on Google
 [ ] Interpreted languages will never be as fast as C
 [ ] Compiled languages will never be extensible
 [ ] Writing a compiler that understands English is AI-complete
 [ ] Your language relies on an optimization which has never been shown possible
 [ ] There are less than 100 programmers on Earth smart enough to use your 
language
 [ ]  takes exponential time
 [X] _The color of the bikeshed__ is known to be undecidable

 Your implementation has the following flaws:
 [ ] CPUs do not work that way
 [ ] RAM does not work that way
 [ ] VMs do not work that way
 [ ] Compilers do not work that way
 [ ] Compilers cannot work that way
 [ ] Shift-reduce conflicts in parsing seem to be resolved using rand()
 [ ] You require the compiler to be present at runtime
 [X] You require the language runtime to be present at compile-time
 [X] Your compiler errors are completely inscrutable
 [ ] Dangerous behavior is only a warning
 [X] The compiler crashes if you look at it funny
 [ ] The VM crashes if you look at it funny
 [ ] You don't seem to understand basic optimization techniques
 [ ] You don't seem to understand basic systems programming
 [ ] You don't seem to understand pointers
 [ ] You don't seem to understand functions

 Additionally, your marketing has the following problems:
 [X] Unsupported claims of increased productivity
 [X] Unsupported claims of greater ease of use
 [ ] Obviously rigged benchmarks
[ ] Graphics, simulation, or crypto benchmarks where your code just calls
handwritten assembly through your FFI
[ ] String-processing benchmarks where you just call PCRE
[ ] Matrix-math benchmarks where you just call BLAS
 [X] Noone really believes that your language is faster than:
 [X] assembly  [X] C  [X] FORTRAN  [X] Java  [ ] Ruby  [ ] Prolog
 [ ] Rejection of orthodox programming-language theory without justification
 [ ] Rejection of orthodox systems programming without justification
 [ ] Rejection of orthodox algorithmic theory without justification
 [ ] Rejection of basic computer science