• letsgo@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 hours ago

    Personally I wouldn’t abuse a language like that. If you want to write Python, write Python. Don’t pretend some other language is Python, because it isn’t. The braces need to be in the “correct” place, i.e. { at the end of a line or on a line on its own, and } on its own line, with both braces indented correctly for the code they contain. Braces are important visual and logical indicators in C-like languages and are critical in understanding the flow of the code.

    That said, if this is some silly little noddy program that only you will ever see then you can write it however you want. Don’t expect to be taken seriously as a competent dev though if this is going to be part of your public profile.

  • PowerCrazy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    5 hours ago

    Why does even a modern language syntax insist on having end of line characters like semi colons. Surely we have moved beyond that. What is even the point of those characters?

  • umbrella@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    5 hours ago

    what are some good resources for learning rust by the way?

    is documentation good/up to date?

  • Natanox@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    14 hours ago

    For a moment I wondered why the Rust code was so much more readable than I remembered.

    This would make a nice VS Codium plugin to deal with all the visual clutter. I actually like this.

    • Tlaloc_Temporal
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      8 hours ago

      I wish I could do this with every IDE. Get rid of all the semicolons and most curly braces and replace them with structural whitespace. You could even save the files with the punctuation and compile that to whitespace when editing.

      • verdigris@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        4 hours ago

        You people are insane. Languages with meaningful whitespace are my personal hell. Don’t you value being able to space/tab/newline as you please?

      • PeriodicallyPedantic
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        6 hours ago

        For a long time we’ve said it’s important to separate semantics and presentation (eg html vs css).

        I’ve always wondered why we never followed our own advice when creating new programming languages. Let the IDE present whatever TF you want, and in the background it’s simply building an Abstract Syntax Tree and serializing that to a file in whatever serialization format it prefers.

        I’ve dreamed of making my own data-flow language that follows that principle, but I have neither the knowledge of compilers nor the free time to try.

    • boobies@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 hours ago

      Depends on how fast you memorize and understand its 5 rules for ownership (3) and borrowing (2), and how much effort you put into memorizing its types.

      The biggest hurdle I had with it is not reflexively understanding how the intermediate types it has work and how to bounce between them. For example: String -> &str -> String. Collection -> filtered/split slice of it -> back to Collection… It’s often not just 1 type either, it’s multiple types which you get by functions declared in traits… Just typing this is giving me a headache.

      Combine unintuitive types/not knowing them all by heart with not fully understanding borrow/ownership rules, and you’re going to have a bad time.

      Long story short: it’s a fantastic language, and I hope I never touch it ever again. I don’t really need types or memory safety for what I do, but I appreciate it for what it is.

    • Chais@sh.itjust.works
      link
      fedilink
      arrow-up
      11
      ·
      15 hours ago

      I don’t like this type of question. In my experience knowing one language has little impact on learning another. What matters much more is understanding the underlying concepts.
      If you grok OOP it doesn’t matter if you go from Java to C# or from C++ to Python. Yes, there are differences, but they’re mostly syntactic in nature.
      So assuming you got the hang of imperative programming and maybe had some exposure to functional programming, too, the concept you’re likely to struggle with the most is ownership. Simply because it’s a concept that’s fairly unique to Rust.
      Having come from Java, via C++ and Python and having dabbled with Haskell a bit, I feel like The Book does a decent job of explaining Rust in general and its oddities in particular.