Software engineering, Rust, Zig, embedded

  • 0 Posts
  • 46 Comments
Joined 4 months ago
cake
Cake day: July 1st, 2024

help-circle






  • What are your goals?

    If you want to learn another language just for the fun of it (the best reason) than learn both.

    Of you want to improve your tool set to be able to land a job, then there is no good answer. Probably some other high level language like Python, Java, JavaScript, C#. Etc.

    Also: Zig bay be easier to get started when coming from C, because it is mostly imperative.

    Rust introduces concepts from functional programming. This could be interesting for you, of you don’t have any experience in functional programming to get in touch with other programming styles. Or not, of you explicitly don’t want to learn such things.

    I use both languages, and I enjoy both. Shameless plug: I’ve written a blog post ~ 2 years ago what I like about each language: https://zigurust.gitlab.io/blog/posts/three-things/






  • From my opinion it is more computer science sorcery than math sorcery.

    For true random generation you usually need some specialized hardware for it, that uses sone natural source of random. One could use the decay of a radioactive material as such a source or the noise one can get from audio input. Unfortunately, I don’t know what actual hardware uses.

    For pseudo random generation, you usually use a seed (ideally a true random value or something with a high entropy) which you feed into an algorithm like Linear Congruental Generator (LCG) or Mersenne Twister (there are lots of algorithms).

    One further important note: Tge use case forvwhich you need random numbers is important. A video game could accept a random number generator with “lower” quality while a cryptographic algorithm always needs a cryptographic secure random number generator (don’t forget: “don’t roll your own crypto”).

    Finally there are quasi randim number generators, however this name is very misleading. The mathematical correct term is low discrepancy sequence. There are not random at all but can be used and have useful properties in some settungs where pseudo random number generators can be used. Never in a cryptographic algorithm, though.









  • My understanding of the whole “being beneficial for humanity” is that:

    1. It’s kind of a meme that you need to have as a silicon valley start-up. Like Google’s niw dropped “don’t be evil”.
    2. If the founders and the investors, the share holder, get rich or richer, then this is already beneficial to humanity. In a net positive way similar to trickle-down-economics. At least thatvis what I think their line of thinking is.

    Having said that, I think LLMs or Machine Learning can be used for useful things but I also think - as stated - the message " being beneficial for humanity" is hollow in a broader sense.