Deutsch English Français Italiano |
<vbdaj7$gkt6$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.arch Subject: Re: Computer architects leaving Intel... Date: Thu, 5 Sep 2024 15:16:05 -0700 Organization: A noiseless patient Spider Lines: 74 Message-ID: <vbdaj7$gkt6$1@dont-email.me> References: <2024Aug30.161204@mips.complang.tuwien.ac.at> <memo.20240830164247.19028y@jgd.cix.co.uk> <vasruo$id3b$1@dont-email.me> <2024Aug30.195831@mips.complang.tuwien.ac.at> <vat5ap$jthk$2@dont-email.me> <vaunhb$vckc$1@dont-email.me> <vautmu$vr5r$1@dont-email.me> <2024Aug31.170347@mips.complang.tuwien.ac.at> <vavpnh$13tj0$2@dont-email.me> <vb00c2$150ia$1@dont-email.me> <505954890d8461c1f4082b1beecd453c@www.novabbs.org> <vb0kh2$12ukk$1@dont-email.me> <vb3smg$1ta6s$1@dont-email.me> <vb4q5o$12ukk$3@dont-email.me> <vb6a16$38aj5$1@dont-email.me> <vb7evj$12ukk$4@dont-email.me> <vb8587$3gq7e$1@dont-email.me> <vb91e7$3o797$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 06 Sep 2024 00:16:08 +0200 (CEST) Injection-Info: dont-email.me; posting-host="036d8e7d2f74c5eb41569f4eb438368f"; logging-data="545702"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ryzfuD1YYsdKNbb1XHRvLRVj8y2rhYoU=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ju1jg7hbNVGEDsgAooEk0Vuank8= Content-Language: en-US In-Reply-To: <vb91e7$3o797$1@dont-email.me> Bytes: 4753 On 9/4/2024 12:15 AM, Terje Mathisen wrote: > David Brown wrote: >> On 03/09/2024 18:54, Stephen Fuld wrote: >>> On 9/2/2024 11:23 PM, David Brown wrote: >>>> On 02/09/2024 18:46, Stephen Fuld wrote: >>>>> On 9/2/2024 1:23 AM, Terje Mathisen wrote: >> >>>>>> Anyway, that is all mostly moot since I'm using Rust for this kind >>>>>> of programming now. :-) >>>>> >>>>> Can you talk about the advantages and disadvantages of Rust versus C? >>>>> >>>> >>>> And also for Rust versus C++ ? >>> >>> I asked about C versus Rust as Terje explicitly mentioned those two >>> languages, but you make a good point in general. >>> >> >> I want to know about both :-) >> >> In my field, small-systems embedded development, C has been dominant >> for a long time, but C++ use is increasing. Most of my new stuff in >> recent times has been C++. There are some in the field who are trying >> out Rust, so I need to look into it myself - either because it is a >> better choice than C++, or because customers might want it. >> >> >>> >>>> My impression - based on hearsay for Rust as I have no experience - >>>> is that the key point of Rust is memory "safety". I use >>>> scare-quotes here, since it is simply about correct use of dynamic >>>> memory and buffers. >>> >>> I agree that memory safety is the key point, although I gather that >>> it has other features that many programmers like. >>> >> >> Sure. There are certainly plenty of things that I think are a better >> idea in a modern programming language and that make it a good step up >> compared to C. My key interest is in comparison to C++ - it is a step >> up in some ways, a step down in others, and a step sideways in many >> features. But is it overall up or down, for /my/ uses? >> >> Examples of things that I think are good in Rust are making variables >> immutable by default and pattern matching. Steps down include lack of >> function overloading and limited object oriented support. >> >> There are some things that some people really like about Rust, that I >> am far from convinced about - such as package management. I could be >> misunderstanding (since I don't have the experience), but for /my/ >> work, I am very much against anything that encourages an "always get >> the latest version" attitude. Stability is much more important to >> me. (I dislike the rate at which Rust changes - every two weeks or so >> for small things, and every couple of years for breaking changes.) > > That's yet another of the things cargo (the rust package manager, as > well as lots of other stuff) get right: > > Yes, by default you'll pick up the latest of every package/module you > "cargo add foo" to your project, but then you can edit the resulting > text-format configuration file, and lock down exact versions of some or > all of those packages. > > This is similar to how we always freeze python packages: Any changes are > something we decide to employ. [...] An interesting package manager for MSVC: https://vcpkg.io/en/ Works pretty nice.