TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Learn C++11 or Rust in 2022?

71 点作者 sharedptr大约 3 年前
Python&#x2F;Golang&#x2F;C (ye, C) day-to-day job here.<p>I am interested in either updating myself on (C++11&gt;) or going the Rust way. I see a lot of criticism&#x2F;hate of C++ lately (mostly due to the comittee), but the tooling and libraries are there for multiple areas.<p>Rust is also interesting to me from a security standpoint.<p>So I don&#x27;t really have time to invest in both languages; any directions?

44 条评论

qiskit大约 3 年前
The smart thing to do is to bet against the herd on HN. Otherwise, facebook would&#x27;ve ceased to exist, everybody would be using ruby and crypto would be worth $0. Bookies love to bet against the herd for a reason.<p>&gt; I see a lot of criticism&#x2F;hate of C++ lately<p>Should tell you something. It&#x27;s not like agenda driven PR campaigns are new to social media. Whenever I see a wave of criticism or praise on social media, I think to myself, what would paul graham do?<p>If your job is Python&#x2F;Golang&#x2F;C why do you want to learn C++ or Rust? Learn neither. Why not learn a functional language or SQL instead? Or delve deeper into python or go or c.
taylodl大约 3 年前
I remember when Stroustrup&#x27;s C++ came out in 1986. I used to be able to cite the Annotated Reference Manual (ARM) by chapter and verse. But if I were a young programmer in 2022 and looking at learning either C++ or Rust I&#x27;d choose Rust in a heartbeat.<p>Why?<p>Many reasons. For starters, C++ is 40 years old at this point and embodies software engineering practices from the late 70&#x27;s to early 80&#x27;s (for you young folks, structured programming was the new hotness in the 70&#x27;s!) C++ was also designed to take advantage of C&#x27;s tooling, or lack thereof. C had incredibly simplistic dependency management. It worked well for the time since there were very few external dependencies, almost the entirety of the codebase was hand-built by the entity creating the software. There were very few libraries outside of the standard libraries.<p>C++ has an object model making it difficult to use and extend objects from different code bases&#x2F;libraries. Never mind the inheritance patterns leading to lots of confusion. Just remember, Java and later C# were created to address these issues with C++. They were both touted to be better versions of C++ (which was true in the application development space where a GC could be tolerated)<p>Finally, the C++ type system is barely a type system as we understand them today. That&#x27;s just history - C++ reflects our best thinking from the 70&#x27;s and the modern type systems started emerging in the 80&#x27;s. The simplicity makes some things unduly burdensome to implement.<p>Don&#x27;t get me wrong - I&#x27;ve programmed in C++ for decades and I like it, warts and all. But I&#x27;m also practical and I recognize its days are numbered. Will C++ be around in 20-30 years? Absolutely! But so is Cobol, and would you start a major project today using Cobol? No. You can see we&#x27;re shifting from C++ to Rust. C++ is the past and the lion&#x27;s share of the present but Rust is gaining on the present and is the future. If I did&#x27;t know either Rust or C++ in 2022 then I would focus my efforts on learning Rust.
评论 #31243957 未加载
评论 #31238706 未加载
jorangreef大约 3 年前
Between C++ and Rust, my bet would be that you decide Rust.<p>But—also learn Zig in addition to Rust.<p>Having seen first-hand how so many threat vectors these days are now supply chain attacks, having reported CVEs and earned P1 bounties in memory safe languages, and having worked on static analysis systems to detect zero day exploits—I&#x27;m also impressed by Zig&#x27;s overall approach towards safety, as being more than only memory safety.<p>For example, this comes through in Zig&#x27;s extreme simplicity and explicitness, and also how Zig enables checked arithmetic by default for safe builds. For people who haven&#x27;t worked in security, integer overflow and wraparound may seem like small things, but they increase the probability of exploits such as buffer bleeds, i.e. attacks like OpenSSL&#x27;s Heartbleed, which are often remotely accessible and easier to pull off than a UAF.<p>In fact, no language is 100% memory safe, i.e. able to prevent a memory buffer bleed, because these are logic errors with respect to the protocol. However, explicit control flow and checked arithmetic do help to close semantic gaps and minimize ambiguity, which is what good security comes down to.<p>Of course, Zig only offers spatial memory safety, and not temporal memory safety like Rust. So Zig is more memory safe than C, and less memory safe than Rust or JavaScript. Nevertheless, Zig is safer than Rust when it comes to being able to handle memory allocation failure.<p>Again, Rust&#x27;s borrow checker is also valuable for concurrency safety, i.e. for multithreaded systems, but if you&#x27;re using io_uring for fast I&#x2F;O, then multithreading is less of the necessary evil that it used to be a few years ago.<p>Zig is something you can pick up in a week, with state of the art tooling, and fantastic C-ABI interop for libraries.<p>So... learn both!
评论 #31233163 未加载
评论 #31235906 未加载
评论 #31243141 未加载
sk1pper大约 3 年前
Here’s a fun way to decide. Do Raytracing in One Weekend[1] in one of them. Then rewrite it again in the other. That should give you a good sense for which one you want to invest in.<p>Spoiler: I did this exercise myself. I found Rust to be more convenient in some ways. The Rayon crate made adding parallelism (threads) pretty easy. Some other crates made things pretty terminal output easier.<p>C++ feels more familiar to me in many ways though - I also write C fairly often. Implementing parallelism was more difficult. (I tried `pragma omp` stuff which should work similarly to Rayon, but couldn’t get it to work.) But just getting something working seems a little more straightforward.<p>I find myself fighting Rust somewhat often. In C&#x2F;++, if you know what you’re doing, and you just want something working as a fun side project, it usually takes less dev time in my experience. Maybe that’s because I’m still learning it. Some folks will argue that the Rust compiler forces you to write better code and actually makes dev faster because it catches your mistakes. I haven’t found this to be true.<p>For example trying to implement simple polymorphism in Rust that was analogous to the implementations in Raytracing Weekend got ugly very fast. I ended in a weird hell of having to add annotations to everything to support generics. Again maybe I don’t understand the language enough, but adding polymorphism was a 5-minute straightforward exercise in C++, even as someone who doesn’t write it often.<p>I like a lot of stuff about Rust but I’m doing my hobby dev stuff in C instead nowadays, mostly for dev speed like I said, and probably would opt for using a subset of C++ for higher-level projects.<p>[1] <a href="https:&#x2F;&#x2F;raytracing.github.io&#x2F;books&#x2F;RayTracingInOneWeekend.html" rel="nofollow">https:&#x2F;&#x2F;raytracing.github.io&#x2F;books&#x2F;RayTracingInOneWeekend.ht...</a>
评论 #31239829 未加载
评论 #31257211 未加载
评论 #31243299 未加载
dgellow大约 3 年前
Not for everybody, and I’m sure it’s not the most efficient way to approach it, but I personally felt that learning modern C++ was a good intermediate step before learning Rust.<p>Going to rust directly has been a very frustrating experience and made me give up.<p>Instead I spent time learning C++, I found out I could more easily transfer my knowledge&#x2F;skills there. Once you become more proficient with the basics you learn about move, copy, smart punters, ownership, etc.<p>After some point you start to notice that you are basically doing in your mind exactly what a borrow checker enforce. So that made me curious and I tried rust again, and this time everything made complete sense and the language has been incredibly refreshing to work with.<p>This intermediate state was very useful for me to build my mental model and develop a better intuition, C++ made it simpler to do it in a more progressive way. And Rust is a fantastic langage if you can wrap your mind around it’s semantic and learn to work with the borrow checker.
评论 #31238982 未加载
评论 #31234097 未加载
评论 #31242480 未加载
cue_the_strings大约 3 年前
I&#x27;d say C++ at this point in time. It&#x27;s getting better by the day, yet it has decades of high quality projects and libs you can rely on. Each new version is better than the last. It may be irritating that few things are ever hard-deprecated, and you have to keep a list of current best practices. On the other hand, concepts, ranges, previously auto and constexpr, are all godsend and make for an expressive language that&#x27;s still very powerful.<p>With Rust, depending on what you&#x27;re working on, you may lose almost no time integrating C and C++ (with an extern C interface) libraries, or you may lose 50% of it. Sure, you don&#x27;t have to know CMake at least (which is a hard requirement for C++ nowadays), but using any extraordinary library dependency in Rust may prove to be a nightmare. Essentially: if someone else didn&#x27;t already package it, prepare to lose some serious time. The language is nice, but the ecosystem is immature.<p>Things are probably going to change, and Rust will become more viable over time, but C++ is also improving at a rapid pace so I guess Rust will never completely outcompete it.
评论 #31244092 未加载
nsajko大约 3 年前
Yeah, the unreasonable C++ hate is real. That said, from the modern perspective, the old versions of C++ do suck very much. If you&#x27;re not even acquainted with C++11 yet, you should definitely check out C++20.<p>Rust is less expressive than C, but likewise it does give less chances to shoot yourself in the foot.<p>C++ is often derided for its complexity, arising from its long development. While it&#x27;s true that C++ allows many wrong ways to do something, I don&#x27;t think that should really be a problem. The language&#x27;s main problem is societal: C++ (and C) is often used by people who haven&#x27;t bothered to learn the language. E.g. one can&#x27;t rely on random unknown C++ code handling integer overflow and type punning correctly, so in such cases it&#x27;s wise to compile with<p><pre><code> -fno-strict-aliasing -fno-strict-overflow </code></pre> A part of the problem is that C&#x2F;C++ is so <i>traditionally</i> established, it&#x27;s taught as as an introductory language at universities, for example. But it&#x27;s usually taught wrong, because there&#x27;s no incentive to teaching it right, and trying to teach it right could in fact be counterproductive, if the goal is merely to introduce someone to programming. This is why I think it would be best to teach Python or Julia as the introductory programming language, and (modern) C++ only afterwards.<p>Rust&#x27;s advantage in this regard is that it&#x27;s more centralized, it&#x27;s lead by a foundation instead of being standardized, so everyone who learns Rust, learns the one, correct way to do things.
评论 #31233462 未加载
评论 #31233639 未加载
评论 #31293973 未加载
moth-fuzz大约 3 年前
C++ has a myriad of wonderful language features that exist entirely within C++ and cross no language boundaries. I really adore C++ as a language but unfortunately I find little pragmatic use for it unless I&#x27;m working 100% inside C++ and using native APIs only. If you&#x27;re doing that, it&#x27;s a dream. Rust, on the other hand, speaks the same ABI as C, and with serde, can read and write to most formats and&#x2F;or APIs with utmost ease.<p>C++ I find can get a little unwieldy quite fast, but is generally easier to keep simple. It maps to higher-level concepts in easy and intuitive ways. Rust, I hate to say it, but unless you know best practices &#x2F; idiomatic Rust from the start, you&#x27;ll have to do a <i>lot</i> of refactoring as you learn the language. Some constructs simply <i>aren&#x27;t possible</i> using safe Rust. Many embrace the limitations, many else frustrate themselves again and again until &#x27;the Rust way&#x27; drills into their heads. But, of course, once you get a feel for it, it&#x27;s pleasant to write in.<p>How much difficulty you&#x27;ll have with Rust or C++ depends on what problems you try to solve, and what your approach to programming is generally. If you&#x27;re more of a pragmatic &quot;I write simple programs that actually <i>do</i> things&quot; I don&#x27;t think you&#x27;ll have any problems with Rust. It&#x27;s very straightforward. And the tooling is second-to-none. If you like to partake in exploratory programming, trying out different theoretical models and different abstractions, C++ caters to that by allowing you to write more elegant designs than in Rust, with the downside that it also lets you make worse mistakes.<p>The wider cross-language library ecosystem is mostly C-based I&#x27;ve found, so, in C++ you can just use those libraries directly with no hassle (the only hassle being the build system, or lack thereof). Rust can use those libraries as well (as long as you don&#x27;t have a gut-reaction &quot;ew&quot; to using `unsafe` everywhere) but unfortunately the safe and idiomatic Rust library ecosystem is kind of on the bleeding edge at the moment. Hopefully things will stable out soon, and all these hip new technologies will come to fruition, but that day is not today.<p>I know this isn&#x27;t really nudging in one way or another but really it comes down to what you value in a language and what projects you want to see through using these technologies that will determine which one you like better. Have fun!
评论 #31233623 未加载
jjice大约 3 年前
For current job availability, C++. For enjoyment (in my case) and potential future jobs (not guaranteed), Rust. C++ is tried and true and it&#x27;s proven itself for sure. Rust is just more fun to work with for me though. Lots of good tooling and documentation for both as well.
评论 #31243286 未加载
GuB-42大约 3 年前
It depends on which direction you want to go.<p>Rust is probably a better bet for web-related things. There is not much C++ there, and Rust seems to get some popularity. After all, Rust was originally made for Firefox.<p>For more industrial applications, or game dev, C++ is likely the way to go. Where I work, we do a lot of industrial applications and we have a lot of C++ projects, including new ones. Rust is not even on the radar. [Edit: C++ here is mostly C++11 now, with some C++98 and not much C++14 and later, I expect that we will get to C++17 soon enough but C++20 probably has a long way to go]<p>Forget about the criticism&#x2F;hate of C++ and hype of Rust, it has little to do with practical applications.
ncmncm大约 3 年前
In a word: Yes!<p>Learn Rust because it has things to teach. Learn C++ for what it has, too, and because it is the language work gets done in.<p>They are much more similar than different. Rust builds in prescribed solutions for what its designers have deemed the most pressing problems. C++ builds in more power for library designers to address what each considers the most pressing problems.<p>There is broad agreement on what are problems, but with different solutions. Both languages work. I <i>personally</i> find Rust unable to express what I want to write, but it is evident not everybody wants to write those things.<p>Knowing both will make you a better programmer in either.<p>Practically all of the highest-paid coding work is conducted in C++. That will be true for many years to come. More people pick up coding C++ professionally, in any given week, than the total paid to code Rust. That has been going on for years, and is accelerating: attendance at C++ conventions, and the number of them, is exploding.<p>So, keep up with C++, and keep an eye on Rust.
jll29大约 3 年前
I assume you know an older form of C++; the language changed a lot over the years, and the more recent features are &quot;better&quot; but they also make C++ (even) more complex. It suffers from ugliness, non-orthogonality, over-complexity, among other diseases, but it is still somewhat practically relevant. Rust is worth learning for its 1. avoidance of null and memory leaks 2. great error handling 3. excellent compiler error messages 4. concise notation (perhaps except macros, Common LISP wins here IMHO).<p>So first learn Rust, later learn C++11+ (by the time there will be a successor of C++11 that may look even less like the C++ you know).<p>Learning Rust will develop your thinking and taste, and this will then help you judge the flavour of C++ that you will be learning later (and because you&#x27;d update your C++ skills later, you may skip another C++ legacy flavour in the process).
flohofwoe大约 3 年前
I think you should tinker enough with both languages to learn their main concepts and then let &#x27;outside requirements&#x27; guide you from there. E.g. if you&#x27;re looking for a C++ or Rust job, or want to contribute to a C++ or Rust open source project, or just generally enjoy one language more than the other for weekend projects.<p>Also, if you&#x27;re already fluent in another imperative programming language, it shouldn&#x27;t take more than one or two weeks of a few hours after work to get an initial grip on both languages and decide whether you like them or not.<p>Personally, I find both languages equally frustrating for &#x27;spare time stuff&#x27; (for different reasons though) and prefer simpler languages like C, Zig, Go, Python or Typescript (depending on the problem at hand).
mkl95大约 3 年前
&gt; I see a lot of criticism&#x2F;hate of C++ lately (mostly due to the comittee), but the tooling and libraries are there for multiple areas.<p>I like C++ and my main caveat is that you don&#x27;t just write C++. You also have to get good at tools like Valgrind and develop a deep intuition and understanding of what the language does under the hood. That&#x27;s going to require a significant time investment and some people just don&#x27;t have the right energy for it.<p>Nowadays the only reason I would learn C++ instead of Rust would be if I wanted to benefit from the much bigger C++ ecosystem, for example to build a game engine from scratch.
评论 #31244908 未加载
sudo_chmod777大约 3 年前
It&#x27;s a bit of a dilemma if we are talking about landing a job here.<p>With C++ you&#x27;ll have more offers, but you are more likely to be unsatisfied with your job: in large corps you&#x27;ll usually have to untangle lots of messy legacy codes; while in start-ups things are more likely to be done quick and dirty and the flexibility C++ provides doesn&#x27;t make it any better.<p>With Rust unless you are in the US, it&#x27;s gonna be extremely difficult for you to find an opportunity; even in the US I gather there are not many chances and I _guess_ recruiters would expect higher proficiency as Rust is known for its steep learning curve.
DennisL123大约 3 年前
Learn Rust. When you get to C++ later on, it will make you write much better C++ code. The other way, not so much.
b20000大约 3 年前
I am personally not a fan of learning a language that does a bunch of &quot;magic&quot; behind the scenes for you, and basically tells you that you don&#x27;t need to understand what is going on behind the scenes. That is the impression I get from Rust. I also have no interest in investing in a language that might no longer be hot in a few years. At least with C or C++ it will be here, until I&#x27;m retiring. The volume of software out there written in those language is massive and most &quot;new&quot; software engineers will not be able to deal with it as they have been brought up on python, javascript, java or whatever the new flavor of the day is.
评论 #31243272 未加载
xiphias2大约 3 年前
There is just not enough information in your post in what you want to do with your knowledge.<p>If you have a long time horizon, Rust is the safer bet, if you want a job fast, C++ has probably more job offers.
评论 #31233302 未加载
评论 #31244528 未加载
junon大约 3 年前
C++20 is going to be much friendlier. If you&#x27;re new to C-like languages though, perhaps start with C and work up to C++. The foundations are important to understand, and you&#x27;ll appreciate why RAII is important.<p>EDIT: Ah yes, the &quot;crawww C is unsafe, use rust crawww!&quot; downvote crowd is out in full force today.
评论 #31240247 未加载
评论 #31233753 未加载
评论 #31233776 未加载
blub大约 3 年前
Since it looks like you want to use it for some personal projects and you’re already comfortable with C, I’d suggest C++.<p>I’ve found that Rust requires more careful design to satisfy the borrow checker, whereas in C++ you’d just copy or use a smart pointer and move on with life. Additionally, when in Rust you have to change that careful design, the changes tend to cascade and spread.<p>All of the above could be largely avoided by using copying and smart pointers also in Rust, except that goes against the culture and what everyone else is doing. Most of the APIs you’re using will probably want you to use references…<p>To me Rust is the kind of language you’d use if you have your solution figured out and you want to implement a robust program based on that. Flexibility and development speed are not its strengths.
the__alchemist大约 3 年前
Rust - assuming something these languages are uniquely-suited to, like embedded, drivers, OS programming, or 3D graphics. It&#x27;s a smoother experience in most areas. For example, I find it to have cleaner, more explicit syntax, good included tooling, and is easier to compile. Things like blocking implicit number conversions, and specifying array types (or array references) instead of pointers are nice.<p>A warning: Rust as a language has a large surface area, and there are some features and design paradigms that can make it messy to read and write. I would treat generics as a tool to be used sparingly, vice as a default API, for example. Same with Async and Tokio.
moomin大约 3 年前
I’ll remark that _both_ of them have a very different aesthetic from Python, Golang &amp; C, all of which aim for a certain simplicity of syntactic structure, whilst Rust and C++ both go for “power through the type system”. If you want a language that shares that aesthetic, you might be better off looking at JavaScript.<p>As others have remarked, there’s a lot more C++ gigs out there. I don’t think knowing C is actually much of an advantage to learning C++ though, the idioms and libraries are too different. Personally, I like Rust, it’s got a great community and the language feels “next-gen” in a way C++ never will.
binarynate大约 3 年前
Today, I think it comes down to what you want to build and what dependencies or SDKs (if any) that requires. If you want to build something greenfield with simple dependencies, I would go Rust. However, if you want to build something that depends on existing software, there&#x27;s a good chance that you&#x27;re going to have an easier time today doing that with C++ due to its dominant ecosystem.<p>For example, one of my products embeds Chromium (via CEF), which itself is a huge C++ project. I&#x27;m interested in working with Rust, but it&#x27;s simpler for me to just use C++ rather than working against the grain.
pjmlp大约 3 年前
Depends on which area you want to work on, anything related with GPGPU, HPC&#x2F;HFT, GUI tooling, LLVM&#x2F;GCC infrastructure will be focused on C++ for at least one decade, or more still.<p>For Cloud Native stuff, Rust might be a better option, specially due to the security focus.
sheunl大约 3 年前
Look at the practical side of things, C++ is going nowhere and its improving. C++ is simple just write and compile. No rustc, cargo and rustup combo. Both languages are good but one is tested and tried.
rramadass大约 3 年前
No contest !<p>Just go with C++11&#x2F;14&#x2F;17&#x2F;20 and you will be set <i>for life</i>.
kibwen大约 3 年前
What is your objective? If it&#x27;s to be exposed to new ideas, I suspect that you will find Rust more interesting. In general Rust&#x27;s notions of ownership&#x2F;borrowing will be new to anyone, but to a Python&#x2F;Go&#x2F;C programmer like yourself I suspect you will also enjoy learning about tagged unions (what Rust calls &quot;enums&quot;), pattern matching, and expression-oriented programming (e.g. how `if` can be used directly as a ternary operator).
nly大约 3 年前
Just learn both. Find the time.<p>From a practical perspective, if you&#x27;re short on time and want a return on your investment, C++ will open up more opportunities on the job front.
phendrenad2大约 3 年前
It depends on what your objective is. I assume you want to expand your skillset for the future. C++ is good because there&#x27;s tons of legacy C++ code out there, and companies will need people to maintain it for decades to come. Rust is good because it&#x27;s trendy and looks good on a resume. Do note, however, that C++ and Rust skills are unlikely to be valuable at the same kinds of companies.
pietromenna大约 3 年前
I would choose Rust. Today it might be that the market has more jobs on C++ and there are more codebases.<p>In the future, those codebases will only be the legacy ones and you will end up doing more maintenance with C++.<p>With Rust your investment of today will pay off in a few years.<p>Deciding what to learn today is an investment decision and you should look into what you think the future will look like. To me it looks Rusty. :-)
评论 #31233671 未加载
评论 #31244920 未加载
stefanos82大约 3 年前
TLDR; Learn both and choose the right tool for the right job.<p>Now, for C++ I can share some links I personally follow:<p><pre><code> https:&#x2F;&#x2F;github.com&#x2F;AnthonyCalandra&#x2F;modern-cpp-features https:&#x2F;&#x2F;www.youtube.com&#x2F;c&#x2F;lefticus1&#x2F;videos https:&#x2F;&#x2F;www.fluentcpp.com&#x2F; https:&#x2F;&#x2F;www.cppstories.com&#x2F; https:&#x2F;&#x2F;hackingcpp.com&#x2F; https:&#x2F;&#x2F;www.modernescpp.com&#x2F; </code></pre> About Rust, this link <a href="https:&#x2F;&#x2F;www.rust-lang.org&#x2F;learn" rel="nofollow">https:&#x2F;&#x2F;www.rust-lang.org&#x2F;learn</a> shares far too many goodies that any level of programmer can benefit out of it.<p>Enjoy!
tpoacher大约 3 年前
&gt; So I don&#x27;t really have time to invest in both languages; any directions?<p>Why not? It&#x27;s not like &quot;two languages == double the time&quot;.<p>In this particular case, learning both side by side and comparing design choices may well lead to a better understanding and even be faster than just learning one of them.
krageon大约 3 年前
Learn Rust, I write both and I find it and the tooling around it to be an absolute delight. It has a decent amount of traction and jobs too. It being relatively young I think this is the language in that space to watch.
str3wer大约 3 年前
my personal opinion is to learn Rust and something like zig or nim
评论 #31232994 未加载
summo大约 3 年前
It depends on the direction&#x2F;industry you want to move in - depending on that you have to learn. The solution of the task will show you which language is more suitable.
yodsanklai大约 3 年前
Learn both. You&#x27;re likely to encounter both of them at some point in your career. I also find it easer to go from modern C++ to Rust than the other way around.
bytematic大约 3 年前
Build something small in each, you’ll know instantly.
webmobdev大约 3 年前
Neither. Program in D - <a href="https:&#x2F;&#x2F;dlang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dlang.org&#x2F;</a>
bullen大约 3 年前
C(+) on client and Java on Server, for eternity.
throwawayffffas大约 3 年前
To really appreciate Rust you have to understand the problems with C++ that it solves. I would say learn Rust but you will learn C++ along the way.
Parker_Powell大约 3 年前
While it may be tempting to learn C++11 now, the current industry standard is Rust.<p>C++11 is a well-known and popular language for software engineering, but was released in 2011. Most programs written in C++11 are being updated or rewritten in Rust because of its simpler syntax, more modern features, and generally easier development process. Additionally, many companies will hire programmers that specialize in Rust over those who specialize in C++11.<p>Although it is possible to find jobs doing C++11 development, we would recommend learning Rust instead.
评论 #31245656 未加载
s9w大约 3 年前
If you go for C++, don&#x27;t start lower than C++20. MSVC has a chunk of C++23 done already
altun大约 3 年前
I don&#x27;t understand why someone who has so much open source information, has the intelligence to learn C-level languages, and has a certain experience in the industry, would ask such a question.
评论 #31233710 未加载
theshrike79大约 3 年前
Unless you&#x27;re going to be doing something that specifically requires C++ (some game engine related code comes to mind), go with Rust. Most real-world code (by number of codes and lines of code) is something else than C&#x2F;C++ nowadays, just because of developer velocity and a larger hiring pool.<p>Yes, you can get that last cycle of power from a piece of hardware by going with C or C++, but on the other hand finding people who can do that is time-consuming and expensive. And in many cases eventually not worth it.<p>&quot;C++&quot; is such a big concept toi grasp fully, that I don&#x27;t see the point of studying it unless you&#x27;re getting paid for it.
评论 #31233317 未加载
评论 #31233799 未加载
评论 #31233173 未加载