|
|
Subscribe / Log in / New account

Proper Community Engagement

Proper Community Engagement

Posted Sep 1, 2024 12:52 UTC (Sun) by rc00 (guest, #164740)
In reply to: Proper Community Engagement by ralfj
Parent article: Rust-for-Linux developer Wedson Almeida Filho drops out

> Many of us think that Rust is a much better choice for a first language than C.
> But change is slow, so it'll take a while until CS departments pick up teaching Rust. Some already did, and more will follow I am sure.

This is problematic. How do you define your mission statement? There are literally hundreds of job postings for Rust while there are thousands for Go, or C, or Java, etc. (Indeed claims 400 currently. LinkedIn lists 300. Actual data.) Also, these Rust jobs are mostly in Blockchain or Crypto. (I'm hard-pressed to find anyone worth their salt who doesn't believe these industries to be junk but would love to hear your thoughts.) And this is approaching nearly a decade of Rust being "the future." Is your goal to teach the undergrads Rust so they have no useful skills before sending them into the labor market?

Call it anecdotal data, but I can barely recall meeting any professor who thought that it was more important to focus on a specific greenfield language rather than to adequately structure the curriculum to best prepare the student body with useful skills and knowledge to enter the labor force and find immediate success. This is why programs partner with companies.

You could present some of the challenges with teaching C and say that other employable languages make more sense or offer more approachable teaching opportunities. How do you justify using an unemployable language for students without calling it a disservice?

P.S. Some small background information about myself. The reason I engage with professors from various local universities is not only for my own curiosity but because I regularly conduct speaking engagements with both undergraduate and graduate students. I've also taken on mentorship roles with quite a few over the years and to this day, these are some of my most cherished relationships. The only scope of bias is that these are all private universities and colleges. While I am curious about public universities and colleges, I don't have much in the way of experience or connections at that level.


to post comments

Proper Community Engagement

Posted Sep 1, 2024 15:12 UTC (Sun) by excors (subscriber, #95769) [Link]

> How do you define your mission statement?

I'd hope their mission is to teach students the fundamentals that will make them effective at learning all the other technologies they'll need to use over their career, many of which haven't been invented yet, rather than training them in one specific language.

(The first language taught at my university was ML, specifically because it demonstrated the fundamentals of computation without all the distractions that C/Java/etc introduce, and because (being a practically useless language) it was unlikely any students had prior experience with it and everyone would start from a similar level. Then they taught maybe five other languages to varying extents, some more practical and some less.)

> There are literally hundreds of job postings for Rust while there are thousands for Go, or C, or Java, etc. (Indeed claims 400 currently. LinkedIn lists 300. Actual data.)

LinkedIn tells me there are 3000+ jobs for "Rust software engineer" in the US, so I'm not sure where you're getting 300 from. Certainly it's more niche than many other languages, but from an employability perspective it's not an extreme niche like e.g. Zig (4 jobs on LinkedIn).

For serious (non-blockchain) tech companies, Amazon alone has 173 job adverts that mention Rust - sometimes explicitly requiring Rust experience, though mostly asking for e.g. "Experience programming with at least one modern language such as Python, Ruby, Golang, Java, C++, C#, Rust". Knowing any of those will put you in a good position to learn the specific languages you need for the job. Microsoft has 97 mentioning Rust, e.g. "4+ years of experience with coding in one of C#, Python, Go, Rust, Java, C or C++", or "Knowledge/experience programming in RUST or other memory safe languages is highly desirable".

Google rarely mentions Rust in job adverts, but they've said over 1000 Google developers committed Rust code in 2022 and over 500 took a Google-developed training course. So I think that doesn't indicate they don't believe Rust experience is valuable, just that it's rare enough they don't bother calling it out in job ads, and they believe it's worthwhile to invest in training developers for their Rust-based projects, which could be seen as even stronger support than asking for prior experience.

Proper Community Engagement

Posted Sep 1, 2024 16:08 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

> This is problematic. How do you define your mission statement? There are literally hundreds of job postings for Rust while there are thousands for Go, or C, or Java

And yet there are even more jobs that require JavaScript. Let's rewrite the kernel as a NodeJS module.

Rust will never be as popular as Go or Java, simply because it's not the best language for regular server-side applications.

Proper Community Engagement

Posted Sep 1, 2024 16:18 UTC (Sun) by Wol (subscriber, #4433) [Link]

> Call it anecdotal data, but I can barely recall meeting any professor who thought that it was more important to focus on a specific greenfield language rather than to adequately structure the curriculum to best prepare the student body with useful skills and knowledge to enter the labor force and find immediate success. This is why programs partner with companies.

And this comment embodies everything I think is WRONG with the current education system. That attitude belongs with the UK polytechnics of old, not what Universities are SUPPOSED to be for. Not blaming Universities, it's the politicians who are desperate to see everybody educated, when maybe the majority of people are incapable of benefiting from education!

What the parent has just described is what I would describe as TRAINING, not Education, and that does not belong in a traditional University. That's what Polytechnics did - they prepared people for the world of work, they trained them, and that's fine.

Going back to a study I came across, apparently the ability to think *logically* is acquired at about age 14, and maybe half of all people never acquire the ability. Yet education - higher education certainly - is all about logical thought! So why on earth are the politicians (I think this is the UK Conservatives pre Tony Blair, so that dates it) desperate to send half the population to Uni? It's coming home to bite them now, as a lot of people see Uni as loading them up with debt to acquire worthless qualifications. And for so many, that actually is the case.

Uni should be for education. Uni should be for teaching people how to use their brains. To quote a lady from years back on Radio 4 - "I didn't send my son to school to do Domestic Science so he could cook. I sent him to school to learn Latin so he knew how to read a recipe book and follow instructions". Too many people think education is doing Domestic Sci. IT ISN'T. THAT'S TRAINING. Education is learning Latin and Maths, so you can get a career as a programmer (like I did).

Cheers,
Wol

Proper Community Engagement

Posted Sep 2, 2024 11:41 UTC (Mon) by taladar (subscriber, #68407) [Link]

As someone who had to (20 years ago) sit through lectures of trying to explain Kernel memory management in Java (a language without pointers or references as a language construct) I would consider the "employers want this" method of choosing a teaching language as tried and failed at this point.

Proper Community Engagement

Posted Sep 2, 2024 18:35 UTC (Mon) by ralfj (subscriber, #172874) [Link] (1 responses)

We're not teaching students the language/framework of the day, we're teaching them the underlying concepts. Even if they have to write C or Java later, having learned Rust will teach students how to structure large, concurrent programs in a way that scales. It's a transferable skill, but to learn that skill it is extremely valuable to have the compiler automatically check your work. "Learning Rust made me a better C/C++ programmer" is a common phenomenon.

Thinking in terms of "(un)employable languages" is entirely the wrong way of thinking. Any CS graduate worth their salt is able to quickly pick up a new language and transfer the concepts they are familiar with -- that is what truly makes them employable.

Proper Community Engagement

Posted Sep 2, 2024 19:02 UTC (Mon) by pbonzini (subscriber, #60935) [Link]

In 2008-2009 I taught a C/C++ course at a university and I was already explaining how callees could "take ownership" of an argument or return a "shared pointer". Universities rarely teach this stuff because traditionally it's something that you learn by doing, and it's very rare to find it explicitly mentioned in C textbooks. In my case I had to substitute for someone else and decided that screw everything, I was going to explain C the way *I* used it since there was no textbook anyway.

If the language _forces_ the teachers to include the concepts of shared/exclusive reference or passing ownership, all the better, even if the students end up writing C and these three things all become a T*.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds