kylepdavis
Bun v0.7.3
Bun v0.7.2
Rust 1.71.1
FreeCAD v0.21 Release Notes
Rust Type Conversion (Part 1)
For getting started fast I can't recommend MakeCode[2] enough. It's a web IDE with a compiler and device simulator for programming microcontrollers with blocks or JavaScript/Python.
That said, for more complex projects CircuitPython might be a better choice. There are tons of docs and lots of great examples. It re-runs your code every time you save so you get instant feedback. Also, the vscode-circuitpython[3] plugin has been really nice too.
[1]: https://www.adafruit.com/product/4333
[2]: https://maker.makecode.com
[3]: https://marketplace.visualstudio.com/items?itemName=joedeviv...
I liked jq but liked json, a similar npm package, a little bit better for simple tasks.
You can find more about it here: https://github.com/trentm/json
As a JS dev I tend to have node installed anyhow so I just use a shell alias to wrap ‘node -pe’ these days. It’s not really for shell scripts but it’s great for quick every day usage. Plus you can use JS if needed instead of their DSL.
Here the code for the alias in my shell profile: https://github.com/KylePDavis/dotfiles/blob/master/.profile#...
Basically, if you want to use ES6 (or ES7) features and are targeting an environment that might not have native support (browsers) or inconsistent support (browsers, io.js, node.js) then you will inevitebly need or want a build step at some point. You could probably get by with some on-the-fly transpiling for a little bit but I would avoid that as a long-term solution except for maybe in tests.
I highly recommend setting up a build step in any project for BabelJS to ES5, TypeScript to ES5, or my favorite, TypeScript to ES6 to BabelJS to ES5.
Not only will you get awesome language features, you will also get some really great tooling in VS Code or Atom.
Also, it's worth noting that all of these language features are pretty much all optional so you can ease into them.
It works really well for me and the TypeScript tooling is really good (VS Code or Atom).
A few more that you might consider: CoffeeScript, TypeScript, BrightScript, Nim, Vala, XSL, awk, sed
Also, there is a nice list on Wikipedia for more: https://en.wikipedia.org/wiki/List_of_programming_languages_...
I've found that the hybrid approach in the MongoDB aggregation framework works really well.
It optimizes things around the first $match to create an optimized initial read (the selectivity of your initial stages is really important). Once you're past the initial read the rest of the pipeline is fully imperative.
This makes things really nice when debugging complex aggregation pipelines. For example, you can simply omit the rest of your pipeline at any point to debug (with a $limit), see what you're dealing with, fix them, and move on to the next one.