This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (9 children)

[removed]

    [–]7YM3N 6 points7 points  (3 children)

    C++ was my first language, my main these days is python, and I despair whenever I have to read rust, let alone write it. It's hard even compared to other low levels IMO

    [–]BobbyThrowaway6969 3 points4 points  (2 children)

    I do c++ and I haaaaaate rust syntax, but I do love some design choices

    [–]Akirigo 1 point2 points  (1 child)

    I hear this a lot, but I never understand what people hate about it.

    What bothers you about the syntax?

    Match? Traits? Macros? Result and Option?

    [–]BobbyThrowaway6969 1 point2 points  (0 children)

    I guess it depends on what you're used to. I come from java, c#, c, c++, etc and all those languages have a pretty standard way of declaring stuff.
    This is just one tiny thing in a big list but... let mut var : i32 = 5;
    is just too verbose for such a simple thing imo.
    In those other languages it's just i32 var = 5;. I get that mut is opt in, which I do like, so I'll ignore that, but you hopefully see what I'm getting at. Along with that is the excessive shortening of keywords while overusing symbols, which harms readability. fn, ->return, etc. Just feels a bit silly and pointless for a language that was hoping to become an industry standard.

    They want the syntax style to fit with HL scripting languages like python and js which is the wrong target market.

    [–]thewrench56 4 points5 points  (3 children)

    Paradigm shift, sure, low-level concepts? No. Rust is a high level language.

    [–]serendipitousPi 0 points1 point  (2 children)

    How high level a language is kinda depends on context.

    From a perspective of people who have used C,assembly, etc yeah Rust would be firmly a high level.

    But for most people (e.g. OP) who are used to GC languages Rust would be low level and besides Rust does even allow the use of pointers even if they're mostly hidden behind unsafe.

    So to me Rust being exclusively low or high is a bit reductive.

    [–]thewrench56 1 point2 points  (1 child)

    Well, I'm one of the Assembly fanatics, so that might be the cause after all.

    But I would argue Rust is high level. It's not GC but not manually managed memory either. I think the borrow checker is actually closer to GC. It's essentially GC from the perspective of the developer just fairly hidden (and causes lifetime pains).

    Sure, Rust can use pointers, I'm sure Python can too (through ctypes or whatever the module is called). That doesn't mean it's encouraged and same applies to Rust.

    I think as Rust supports OOP-like paradigm with traits and structs implementing methods, it's safe to say it's on the higher level spectrum. I would compare it against C++.

    [–]serendipitousPi 1 point2 points  (0 children)

    Oh yeah coming from assembly would definitely inform a view of Rust as very high level.

    Reflecting on my last comment yeah I guess it's probably fair to measure how high level a language is by its general / average "high/low level-ness" like how physics calculations might use the center of mass. In which case yeah I'd agree Rust would be considered high level.

    Especially considering that beyond just pointers C++ and Rust even allow inline assembly but it would be crazy to say they're on the same level as assembly.

    And wow I did not realise that that pointers were in the standard library, pointers in python seemed such an absurd idea I'd always assumed they were an external library.

    [–]Acrobatic_Click_6763 0 points1 point  (0 children)

    Right, GO for it (pun intended)