People use the most convenient way to collaborate, and that's for me currently Github. Really hope, some day a better alternative with ForgeFed becomes reality.
Drew Devault’s Hare language
Ok, they say "use your distros package-manager", that's basically asking for the same disaster as C or C++. I think cargo is one of the selling points of Rust.
At least say something like we use "Nix" for default package-management (which does a lot of things right)...
I’d be hesitant to suggest it for most backend application just due to the ramp up time for new developers.
I would probably suggest Rust for that exact reason, you'll have to fight the language a little bit at the beginning (at least if you'll have a very "interior mutable" experience instead of a functional background), but it teaches you how to write your code in a nicely relatively uniform compositional safe style, that IMHO can be read quite well between different people (team) and I think is easier to review (as long as it's not some super magic trait-heavy/proc-macro code of course, but I think for actual applications (vs libraries) that part will be rather low)
Also I think nowadays the barrier into the language is much lower than it was a few years ago. The tooling, specifically rust-analyzer (and probably Intellij Rust too, never tried it though) and the compiler itself got really good in the meantime (I actually think Rust-analyzer is by now the best LSP for any language I know of), so that getting into Rust is likely not that hard anymore (you'll have to learn/understand a few concepts though, like heap/stack and the lifetime system, but I think that it's not that hard to learn).
Go just often feels very hacky to write with a lot of quirky things like handling errors, and a lot of missing features like pattern matching or a relatively good type system, I don't think it really promotes that nice architectures (or limits the programmer kinda).
Depends on what you mean exactly with "file format".
If declarative functional programming falls under that, I think something like Nickel, the already mentioned Dhall or Nix. Though Nix more so for packaging and some kind of system management (NixOS?), it's not easily embeddable into a runtime (your app?). Nickel or Dhall is better for that, as they are built from ground up with that in mind, Nickel is maybe the successor of Nix as it is inspired by Dhall and Nix (one goal is to use Nickel as frontend).
The reason why I recommend a simple declarative language, is that they are IMHO much better composable as it lets the user hide boilerplate via functions. I almost always feel limited by static configuration formats like yaml, json etc..
Hmm pretty sure, it's not vim, as that would be u
and C-r
Yeah the whole situation is a little bit fucked, Google has too much power (over Mozilla) and browser engines in general. But I'm optimistic about the open source community, e.g. brave integrates their own ublock compatible rewrite (in Rust ^^) into chromium. So I think sooner or later there are patched/forked chromiums and if Mozilla indeed makes the move towards WebDRM then also Firefox forks.
I really hope servo under the umbrella of the Linux Foundation proves to be a viable alternative in the future, that's a little bit more independent than Firefox.
yeah as nice as it is what you can achieve with trait-bounds there are definitely trade-offs, being compile time and error messages, and sometimes mental complexity, understanding what the trait-bounds exactly mean... I really hope, that this area gets improvement on at least the error-messages and compile time (incremental cached type-checking via something like salsa)
Fortunately, there are other good browsers that don't follow this bullshit. I'm lucky that I haven't seen ads in ages (and I absolutely don't miss them). Websites/Services should just find different ways to monetize their work, ads are the worst way IMHO (collecting data, promoting often useless consumption in a world where we need to reduce consumption, annoying etc.).
Yet it still feels sloppy (and I couldn't find why to the defense of Jerboa, I skimmed through the relevant code but couldn't find immediate issues and there's an open issue: https://github.com/dessalines/jerboa/issues/445)
I don't get why, with so much hardware power we still have these issues...
Yep it's like maintaining a codebase that's getting increasingly better. It's a rabbit-hole and a timesink (kind of because you're trying to get the best out of it, and thus configure likely more) but I think it's worth it. It gets better overtime as well
And yet I wouldn't touch C nowadays if I can avoid it anyhow. Zig (simple low level) and Rust (where e.g. C++ would be used, and for large higher level projects, as it really composes nicely) are IMHO the way modern systems programming is done
but effectively it's bash, I think
/bin/sh
is a symlink to bash on every system I know of...Edit: I feel corrected, thanks for the information, all the systems I used, had a symlink to bash. Also it was not intended to recommend using bash functionality when having a shebang
!#/bin/sh
. As someone other pointed out, recommendation would be#!/usr/bin/env bash
, or!#/bin/sh
if you know that you're not using bash specific functionality.