5 ms·
> Basically the product was developed by a bunch of Rust enthusiasts in a R&D group This is not a great starting point for any project, never mind the programm
by exDM69 4y ago
> Basically the product was developed by a bunch of Rust enthusiasts in a R&D group
This is not a great starting point for any project, never mind the programming language. It could've been C++ enthusiasts, or Haskell, Scala, Lisp or any other language that appeals to enthusiastic programmers.
I've recently been involved in two projects with the same problem - initially developed by a small team of enthusiast level programmers in language X (not Rust). Other people in the team (competent programmers) have trouble being productive as the enthusiasts had gone to the deep end with language features which were not strictly necessary to complete the task at hand.
- zozbot234 4y agoHow does "a small team" end up writing 400k LOC? My guess is that the count may be inaccurate - it probably includes a whole bunch of vendored code that got added to the project because of the high-security environment. Rust and Cargo make it challenging to develop a project in a fully "secure" fashion, C/C++ has a better story there.
- exDM69 4y ago> Rust and Cargo make it challenging to develop a project in a fully "secure" fashion, C/C++ has a better story there. Complete absence of dependency management and a myriad of incompatible build tools is a "better story"? You can have this "story" in Rust by just disabling crates.io centralized registry. Which still leaves you in a better position than C++ because you can use the build tool and dependency management locally and do whatever you're used to doing in C++ land (put 3rd party code in your repo, install them via some other packaging tool etc). Or if you insist on going the whole way, you can invoke rustc via your favorite flavor of make. On a more realistic note, if you're working with in a very safety/security conscious environment, and still depend on 3rd party code: you could set up your local package registry and have people vet the 3rd party dependencies. Yes, it costs time and money but at least you get the tools to do it from the language ecosystem. I've been professionally involved with the C/C++ way of doing things for decades and I find the Rust build and dependency management tooling a huge improvement.
- pjmlp 4y agoDepends on the platform, VC++ plus NuGET and nowadays vcpkg, make it pretty sweet, same applies to lesser extent on Apple world. Maybe others should do more that just ship compiler + linker.
- kazinator 4y agoHowever, according to grandparent, it "works great".