From 456ee57d8ea1b9d565e77374f7443152b10cee91 Mon Sep 17 00:00:00 2001 From: Glen Whitney Date: Thu, 11 Jul 2024 20:59:28 +0000 Subject: [PATCH] Update Coding environment --- Coding-environment.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Coding-environment.md b/Coding-environment.md index 9b5bf0e..12d6f80 100644 --- a/Coding-environment.md +++ b/Coding-environment.md @@ -25,14 +25,14 @@ Other items Next let's try to collect various language options, with their pros and cons: ### Civet - + + Nicest syntax I've ever used - - - Tied to the dreadful TypeScript type system (probably disqualifying) + + 👍 Nicest syntax I've ever used + - ❌ Tied to the dreadful TypeScript type system (probably disqualifying) ### Nim - + + Nice rational syntax with lots of features - + + Compiles to JavaScript or WASM (via either C/C++ > emscripten or a third-party LLVM backend) - - - Clunky comprehensions (see the examples on the home page) and dicts not first-class with good literal notation. (Oddly, {"a": "b", "c": "d"} appears to be a literal representation for a fixed-length array of pairs of strings. So in particular, the types in each pair have to match, and all pairs must be the same type. But it's hard to find documentation about this, which is somewhat worrisome.) - - - Some odd rigidity, such as indentation for continuing expressions is only allowed in certain special places like after a binary operator or a parenthesis. Araq, the "benevolent overlord" of Nim, definitely displays his opinionated rigidity on the forums. Of course, maybe that's what it takes to see a new language through to success... + + 👍 Nice rational syntax with lots of features + + 👍 Compiles to JavaScript or WASM (via either C/C++ > emscripten or a third-party LLVM backend) + - ⇓ Clunky comprehensions (see the examples on the home page) and dicts not first-class with good literal notation. (Oddly, {"a": "b", "c": "d"} appears to be a literal representation for a fixed-length array of pairs of strings. So in particular, the types in each pair have to match, and all pairs must be the same type. But it's hard to find documentation about this, which is somewhat worrisome.) + - ⇓ Some odd rigidity, such as indentation for continuing expressions is only allowed in certain special places like after a binary operator or a parenthesis. Araq, the "benevolent overlord" of Nim, definitely displays his opinionated rigidity on the forums. Of course, maybe that's what it takes to see a new language through to success... ### Lobster * (Is this worth a more careful comparison with Nim, or is it just too small/fringe?) @@ -41,6 +41,6 @@ Next let's try to collect various language options, with their pros and cons: * (I think targeting the JVM invalidates this?) ### C++ with our own civet-like syntax mangler - - - Big con: we would have to implement this! + - ⇓⇓ Big con: we would have to implement this!