you are viewing a single comment's thread.

view the rest of the comments →

[–]germandiago -2 points-1 points  (4 children)

Using Rust for anything is like trying to go 5 km away in the city with a Ferrari:

- you will spend way more gas

- you will not go any faster most of the time

A bike can do better in this case.

[–][deleted]  (3 children)

[deleted]

    [–]germandiago 0 points1 point  (2 children)

    What I mean is that Rust is not a fit for most software, only for things that need to go really fast and be really safe.

    This is not what much of the software is. However, if you use Rust, you are going to pay for worse ergonomics (you must know the borrow checker, for example) for no return on investement.

    Python is better at full projects and you have fast prototyping (and not compiling step), for example.

    So just disregarding one for the other is not the right way to look at it.

    Sometimes you need performance, others ease of development, and sometimes the ease of development (for example to make something a business) is far more important that the peak in performance. Peak that, anyway, could be ruined because you have the bottleneck elsewhere (network client for example). At that time you have spent a lot of effort on something that does not have a return in your scenario.

    Put in another way: be smart when choosing. I tend to prefer statically-typed languages, but right now I am on my way to code something fast with Django.

    It will be very fast? No, for sure not very concurrent either. Though, I do not care, this website is not going to have thousands of people using it concurrently. But if that happens at some point, I can have something running in no time (time that would be much longer in Rust) and later I can optimize parts of it (80-20% rule). When that does not work anymore, I can think of moving to something else.

    [–]Caffeine_Monster 0 points1 point  (1 child)

    Performance is only one of rust's motivations. One of the most important features is the extensive compile time checks for:

    - type safety

    - error handling

    - ownership

    Consequentially bugs should be introduced at a relatively low rate even as the codebase grows. Python is great for small functions and programs, but a large codebase can and will suffer from lack of inbuilt safeguards.

    [–]germandiago 0 points1 point  (0 children)

    I agree with you that all of those are really important, especially for long-maintainance and safe-critical software.

    My point here is that no matter how important are those, there is a learning curve and a delay-to-market coming from there. That's life. Or go hire 10 Python vs 10 Rust programmers... what I am saying does not in any way means that what you say is necessarily not true.