Remix.run Logo
hyperbolablabla 5 days ago

I tried contributing but its too c++-y for me to understand it unfortunately.

net01 5 days ago | parent [-]

This is the way to start learning.

Look at a WPT test and try to focus on it.

Look at the web spec

Ask questions in the Discord about where it would be, and people are gladly willing to help. :)

its-kostya 4 days ago | parent [-]

Unfortunately for c++, the industry is moving towards Rust. Even conservative gray-suit Corps are using rust for their new projects. The limiting factor is available rust devs. Writing c++ is a sure way to get hired maintaining a legacy codebase.

Ladybird is an outlier and there are probably a few more project like it, but anyone looking to be employed should pick up the new skill that is rust. Contribute to ladybird and learn c++ if the project interests you, but don't learn it for a career.

zarzavat 4 days ago | parent | next [-]

You may live in a bubble. Rust is great and all but C++ is still dominant in its space. The web browser you're using right now? C++. The OS you're using? Probably some unholy mixture of C and C++. Console and computer games? Written in C++ as a rule.

its-kostya 4 days ago | parent | next [-]

https://news.ycombinator.com/item?id=44768882

andrepd 4 days ago | parent | prev [-]

The commenter talked about new projects, why are you talking about the web browser and the OS?

Thaxll 4 days ago | parent | next [-]

New games are not made in Rust. Rust has been trying hard and it's going nowhere.

Wintamute 4 days ago | parent | prev [-]

Working on a major new project right now in C++. In our case, it’s a high performance 2D GPU accelerated drawing application - C++ and many of its battle hardened/established libs are the only game in town. Rust is a non-starter for a large range of apps

ndiddy 4 days ago | parent | prev | next [-]

Out of curiosity, where are you located where large companies are desperately trying to snap up every available Rust developer? Everywhere I've looked, the few Rust job postings I've seen have mainly been from cryptocurrency startups. All of the non-crypto Rust job postings I've seen are from companies trying to get experts in a particular niche. Must have 8 years of Linux kernel development experience plus 3 years of Rust experience, must have 5 years of network driver development experience plus 4 years of Rust experience, that sort of thing. Even including crypto startups, I see far more C++ jobs than Rust jobs.

its-kostya 4 days ago | parent [-]

https://news.ycombinator.com/item?id=44768882

rs186 4 days ago | parent | prev | next [-]

The industry is not moving to Rust. There are projects here and there, but mostly for safety critical code and other situations where it makes sense, see chromium and Windows kernel. I don't know any major project stopping active development in C++ and switching to Rust instead.

its-kostya 4 days ago | parent [-]

https://news.ycombinator.com/item?id=44768882

saidinesh5 4 days ago | parent | prev | next [-]

There are plenty of embedded projects still being started with c. C++ also has a lot of demand where i am at.

The advice about career is very geography and industry dependent. Almost no one hired Node.js developers in my city back when i started.

its-kostya 4 days ago | parent [-]

https://news.ycombinator.com/item?id=44768882

desdenova 4 days ago | parent | prev | next [-]

I wish I lived in the same world as you.

There's basically 0 rust jobs available that aren't scam startups.

its-kostya 4 days ago | parent [-]

https://news.ycombinator.com/item?id=44768882

rvz 4 days ago | parent | prev | next [-]

> The limiting factor is available rust devs. Writing c++ is a sure way to get hired maintaining a legacy codebase.

Anyone looking to be extremely employable in this market should really learn both.

Otherwise, you are not going to see a migration to Rust from C++ shops at all.

> Ladybird is an outlier and there are probably a few more project like it. but anyone looking to be employed should pick up the new skill that is rust.

Then I suggest you prepare for Leetcode hards on Rust code, if you want to show that you are highly experienced in solving DSA problems that are found in systems software.

Also, why does Ladybird get a pass and the others don't?

xdfgh1112 4 days ago | parent | prev | next [-]

They're likely moving to swift not rust.

landdate 4 days ago | parent | prev | next [-]

I don't understand the hate towards C++. Many of the aspects criticized for are non-issues in modern C++. I am not to knowledgable about Rust, but what reason is there to use Rust? Memory safety isn't much of a problem in C++ anymore with smart pointers, std::move. Implicit typing exists in C++ with std::auto. Functional programming with lambda, std::functional, std::map, etc. C++ does everything I have wanted it to do, has a huge ecosystem of libraries, and great tools.

lII1lIlI11ll 4 days ago | parent | next [-]

> Memory safety isn't much of a problem in C++ anymore with smart pointers, std::move.

Of course it is! You can still access an object after std::moving it somewhere, return references to local stack variables from functions, double-delete (or zero!), use uninitiated variables and do bunch of other things that rightfully caused notoriety C++ has got. And am saying it as someone who writes C++ every workday, unfortunately.

throwaway18373 4 days ago | parent [-]

You "write C++ every workday" and don't even know that moved-from objects are guaranteed to be valid?

> return references to local stack variables from functions

> use uninitiated variables

Any properly configured compiler will catch and warn about those errors.

> double-delete (or zero!)

Not a real issue if you're using smart pointers.

Sure, you can program with no compiler warnings and no smart pointers—but nothing is stopping you from wrapping your entire Rust program in "unsafe" and doing all those things there as well. Programming languages can only do so much to save people from their own incompetence.

lII1lIlI11ll 3 days ago | parent [-]

> You "write C++ every workday" and don't even know that moved-from objects are guaranteed to be valid?

I'm getting strong Dunning–Kruger vibes from your reply. Yes, moved-from objects are in valid but often unspecified state even in STL, not to mention custom code in most C++ projects I had experience with [0][1].

> Any properly configured compiler will catch and warn about those errors.

No true Scotsman compilers...

> Not a real issue if you're using smart pointers. Sure, you can program with no compiler warnings and no smart pointers...

Yeah, the good-old tried-and-true "just always manage your memory correctly and avoid having bugs" way of writing C++ software that have been working out so well.

[0] https://wiki.sei.cmu.edu/confluence/display/cplusplus/EXP63-...

[1] https://stackoverflow.com/a/17735913

thegrim33 4 days ago | parent | prev | next [-]

This'll be an "out there" comment but after coming to the conclusion long ago that governments have infrastructure built to manipulate online communities with mass propaganda, usually to impart typical political/social messaging, and then realizing that a few years ago the NSA put out an official statement about wanting people to not use C++, I finally put two and two together and realized that, being a government entity, they could have easily just tacked on an "anti-C++" campaign to the list of active propaganda farm campaigns, and viola, anti-C++ comments start appearing on forums everywhere.

saidinesh5 4 days ago | parent | prev [-]

The issue with modern c++ is ecosystem. It is still full of legacy c++ libraries. Even though people have mostly settled on cmake, it's still common to run into friction when integrating third-party libraries. Nothing as streamlined as cargo. Vcpkg, hunter, conan, vendoring in libraries etc...

Don't get me wrong. Number of C++ libraries is far bigger than number of rust libraries. But number of modern c++ libraries is still not that high i feel. So once you have integrated legacy code into your project, there's a lot of scope for newbies to create memory leaks/double free/etc ...

1718627440 3 days ago | parent [-]

That's why I only use POSIX make and shell scripts.

its-kostya 4 days ago | parent | prev | next [-]

There are a lot of comments that I unfortunately cannot address individually so I'll make a single reply and try to address them all. A lot of valid call outs pointing out flaws in my claim and even extrapolating from my claim, please understand my coarse answer balanced brevity and thoroughness. I'll do my best to expand and provide evidence:

I am plugged into an alumni network (based in the US) so I'd say I have a decent sample size to draw conclusions/trends from. Yes, these trends don't apply to every market or locality so there are loads of counter examples. The demographics of the alum network appear to be mostly mid-to-senior level ICs and management from backgrounds being engineers in the private sector and gov contractors. The start-up scene is grossly under-represented.

The tell-tale sign of a mature technology that has the momentum to last is if businesses that do a lot of gov contracts finally adopt a technology. We've seen this pattern with virtualization, then with containers, then with clouds + micro-services. Gov contractors are very conservative to adopt and rely on technology because ultimately their customer (gov agencies) maintain the service. And their pay are not like big tech so they cannot compete on that front and need a healthy and established pool of talent to pick from.

Every successful project is staffed with leads who know the problem space and the technology that is used in the solution. When planning for a project, you HAVE to account for how easy it will be to find talent to support the project given your budget. For short-term or "high-risk-of-being-on-time" projects the talent pool is obviously larger for established technologies like c++ and so that is what has historically been chosen. Obviously where it is appropriate to use c++. For those of you claiming I am in a bubble... perhaps. But keep in mind that companies with a "first to market" mentality are not the majority :)

The point of inflection for Rust I am continually noticing, and why I am confident it is an excellent for career-growth, it is NO LONGER being labeled as a "high risk" for new medium to long-term projects/efforts. When there is runway to grow/find Rust developers and there is runway to develop a missing library that is a dependency, Rust seems to be favored. Yes, if your industry is dependent stable and battle tested libraries then that is a case when Rust might not displace it. But another trend that backs up my claims is seeing parts of such libraries/projects being refactored out into its own thing written in Rust - and all that lives in parallel. So perhaps the dev that knows both languages is the better career advice. Lean toward one language or another based on your interests.

One final thing I will add is there is a good deal of "internal learning" opportunities for already employed folks to learn rust and start on the new project. These are folks that know memory management, know the problem space, know the company tooling, etc. Compare that with a new hire that will also learn rust, and you can see which an employer will favor. Internal folks moving to Rust opportunities and back-filling them with new c++ devs is a common tactic. But that being said, talent still needs to be found and often times casting a wider net by looking for c++ folks that are willing to transition to Rust is a tactic used on job postings. Rust is in demand for systems programmers and zero trust applications, btw.

simion314 4 days ago | parent | prev [-]

[flagged]