JavaScript Is Weird

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • decimal.js

    An arbitrary-precision Decimal type for JavaScript

    The last couple generations of POWER chips from IBM have implementations of decimal32, decimal64, and decimal128. To my knowledge, no other big-name, general-purpose CPU has these.

    To "implement decimal numbers" in .net on x86 hardware simply means writing a custom decimal implementation in software.

    JS had implicit integers since the beginning. It has had arrays of integers (what's necessary for fast decimal implementations) since BEFORE the release of WebGL a decade ago. It has also added BigInt this year. Just like .net, there's decimal libraries available if you know to use them.

    https://github.com/MikeMcl/decimal.js/

    The real takeaway is that modern processors should definitely add hardware support for decimal numbers.

  • eslint-config-standard

    ESLint Config for JavaScript Standard Style

    Eslint is the default linter. Standard is a curated list of rules with good quality.

    https://github.com/standard/eslint-config-standard

    I would start with that and tweak what you don't like

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support. Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • proposal-pattern-matching

    Pattern matching syntax for ECMAScript

  • devtools-detect

    Detect if DevTools is open and its orientation

    Devtools can actually be detected to a certain extent - https://github.com/sindresorhus/devtools-detect

  • V7

    Embedded JavaScript engine for C/C++

    https://github.com/cesanta/v7

    Languages are not all equal nor do they all function in the same way, and that's not my opinion.

    Javascript syntax itself is one thing, and you can certainly feel free to Javascriptify some C++ libraries and make it all look a certain way for specific tasks, while managing things behind the scenes, up to a point... but there is no getting around the fact that SOMEONE and some languages are needed to implement low level systems functionality.

    the power of Cython or the Python C FFI is that it allows you to script/glue modular native code.

    You then state "C++14 may have been ratified 7 years ago but it's not the target code your build chain spits out"

    no, a C++ COMPILER spits out assembler code that then gets assembled and linked into an executable.

    The C++ or C code corresponds directly to a given set of assembler instructions which correspond directly to CPU instructions.

    You claim that Python programming of microcontrollers is mainstream, but this is not true nor possible. Python SCRIPTING of code modules (that cannot be written in Python) is certainly one way to assemble a system from pre-built legos.

    If you refer to knowing what I'm talking about as gatekeeping and egoism, might I suggest that you insist less forcefully in the correctness of incorrect things you state? we could be done with this spat in short order if YOU would refrain from speaking falsehoods. lies.untrue things.

    I look forward to your lisp c compiler. make sure that it's 100% lisp from the bottom up, or I'll consider you're having ceded my point. Consider that the lisp you author in has a garbage collection system that lisp cannot have written originally, nor has any semantics for the underlying memory structures of, but hey, I guess if one is committed to pretending that all languages are equal for all tasks, who am I to question ones self-identification with a given language.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts