[–] 95 points 5 days ago (1 child)

Not only yes, but imo, hell yes. I think a lot of what is missing from the dialog these days is talk about fundamentals. And all though that is for a reason practically (as things get higher level, we think of low level things less often), it loses out on some really fascinating topics. For example, how processors actually do cache, endianness, instruction sets, algorithms, etc., are all just fascinating topics to think about.

So my vote is, more of that.

  • source
  • [–] 1 point 6 days ago

    Make is fine unless you want to build on Windows. Then you kind of need something else.

    I agree, you kind of need something else instead of Windows if you want to build software.

    It is the very slow process creation infrastructure that kills Make as a tool on Windows.

    s/Make as a tool on //

  • source
  • parent
  • context
  • [–] 1 point 6 days ago*

    Give me a Make that

    • properly handles filenames with arbitrary names (Make today breaks if filenames contain whitespace)
    • uses space-based indentation level (Make today depends on the invisible difference between U+0008 TAB versus other whitespace, and refuses to process any other indentation)

    Give me that, and... well, I'd probably still stick to current-day Make, because those improvements would cause my Makefiles to be backward incompatible. Make is just reliably available on pretty much any arbitrary system, unlike any candidate replacement.

  • source
  • [–] 1 point 6 days ago

    I wish there were good alt-shells on Linux. Murex and Nushell are both still pretty nascent to actually use (not for portable scripts but just general day-to-day tasks) - and if it's something you care about it's annoying that Nushell is MIT-licensed instead of a free license, which kind of also precludes zsh.

    I genuinely kind of miss working a job that required using Windows because PowerShell is genuinely nice to use for throwaway tasks and working in a shell to do things like parsing json, fetching data from a http server, whatever.

  • source
  • parent
  • context
  • [–] 7 points 6 days ago (1 child)

    Yeah maybe, but usually if I'm using Make it's because my use case is "I want users to be able to build stuff without having to install any more build tools". The curse of network effects. That's the only reason I'd ever use Bash too. Otherwise I'd switch to Nushell in a second.

  • source
  • [–] 3 points 6 days ago

    Conan and vcpkg are the two big ones I'm familiar with, but some projects use CMake FetchContent (with github acting as the CDN/registry), and depending on your requirements you can also just use system package managers on Linux, maybe Homebrew or Nix/Guix, or more niche ones like Spack. I've seen projects packaged using self hosted Pacman registries, and that works surprisingly well.

  • source
  • parent
  • context
  • [–] 6 points 6 days ago (1 child)

    You can find a paperback copy for under $12 with shipping, and the pdf version is widely available on the internet. The kindle version is purely a "I really want the kindle version" purchase.

  • source
  • [–] 4 points 6 days ago

    Thank you for the answer!

    I have not previously heard Meson described as a reinvention of Cmake or a CMake clone, nor that it was meant to be. I would think that Meson being as opinionated as it is, including for example the fact that it does not and will not support user-defined functions, precludes it from being a CMake clone. It seems instead to be a build-system with a rather different philosophy and feature-set compared to Cmake. But if that philosophy or that feature-set does not match your needs, then there's obviously no reason to pick it over CMake

  • source
  • parent
  • context
  • view more: ‹ prev next ›