- Report this article
Lance Harvie Bsc (Hons)
Lance Harvie Bsc (Hons)
18k+ followers | Engineer & Founder @ RunTime | Engineering Recruitment | Connecting Top Engineering Talent with Top Engineering Companies
Published Feb 22, 2023
+ Follow
In the ongoing debate over which programming language is superior, C or Rust, I take a contrarian view and argue that C is, in fact, the better language. Despite Rust’s growing popularity and impressive features, C remains the gold standard for systems programming, and I will explain why.
First and foremost, C has a long and storied history, having been developed by Dennis Ritchie at Bell Labs in the early 1970s. Its legacy has been cemented through its use in the development of UNIX, the operating system that has had a profound impact on the computing industry. C is a proven language with decades of use in everything from embedded systems to operating systems.
In contrast, Rust is a relatively new language, having been developed by Mozilla in 2010. While it has certainly made waves in the programming community, its youth and lack of a substantial track record make it a less reliable choice for serious systems programming.
Furthermore, C is a simple language with a relatively small and straightforward syntax. This simplicity makes it easy to learn and understand, particularly important for systems programming where the potential for bugs and errors is high. On the other hand, Rust has a much more complex syntax, with many unique features that can be difficult for programmers to master. This complexity makes Rust more prone to errors and difficult to debug.
C also offers greater control over memory management, which is critical in systems programming. With C, the programmer is responsible for managing memory manually, which allows for a higher level of control over memory usage and ensures that the program is as efficient as possible. Rust, on the other hand, uses a sophisticated memory management system that can be difficult to understand and lead to memory leaks and other errors.
Recommended by LinkedIn
Another key advantage of C is its portability. C code can be compiled on virtually any platform, from embedded systems to supercomputers. This portability has made C the language of choice for developing operating systems and other low-level software. While Rust is also portable, its reliance on a sophisticated toolchain and its relative youth make it less widely used in industry.
In addition to its technical advantages, C also offers a strong and active community of developers. There are countless resources available online for learning and using C, and the community is always eager to help newcomers. While Rust has a passionate community, it is still a smaller and less established community than C.
Of course, it’s important to acknowledge that Rust does offer some advantages over C. Rust’s ownership model, for example, ensures that programs are free from data races and other common bugs. It also offers better support for concurrency and multithreading, which is increasingly important in modern systems programming.
However, these advantages come at a cost. Rust’s complex syntax and sophisticated memory management system make it more difficult to learn and use than C, and can lead to more errors and bugs in code. In addition, Rust’s relative youth and lack of a substantial track record make it a less reliable choice for serious systems programming.
While Rust may offer some advantages over C in certain areas, C remains the superior language when it comes to systems programming. Its simplicity, control over memory management, portability, and strong community make it the go-to choice for serious systems programming projects. So the next time you’re deciding which language to use for your next project, remember that the tried-and-true C may be the better choice.
Help improve contributions
Mark contributions as unhelpful if you find them irrelevant or not valuable to the article. This feedback is private to you and won’t be shared publicly.
Contribution hidden for you
This feedback is never shared publicly, we’ll use it to show better contributions to everyone.
Monthly Embedded News & Jobs
6,029 followers
+ Subscribe
Like
Celebrate
Support
Love
Insightful
Funny
63
20 Comments
Miroslav Valenta
Tech Pilgrim: Embarking on Holistic Computer Exploration
6mo
- Report this comment
agree... C combo with Zig :)
1Reaction 2Reactions
Wynand Marais MIEAust
Hello
1y
- Report this comment
I know performance is not the the be-all end-all measure, but this seems like a decent comparison: https://www.youtube.com/watch?v=pSvSXBorw4ALink to the github project with all the reference implementations are in the comments.
1Reaction 2Reactions
Pavel Berdashkevich
Founder, Principal Engineer, Fabricator and Cleaner at Mephisto Engineering
1y
- Report this comment
I would try Rust. I have not read even a wiki article on it, so it makes it even more interesting.Not sure, when it happens, though.
1Reaction 2Reactions
Tiago Manczak
Principal Firmware Engineer at Infineon Technologies
1y
- Report this comment
Rust is definitely joining the game for systems programming as a main player. At first glance it is more complex than C but actually what happens is that Rust exposes the complexity of memory management to the compiler time what C hides on its relaxed, or non-existent sanity checks in the compiler. Arguing that a more strict compiler will lead you to errors is a rookie mistake. If that was the case the industry would not have created standards like MISRA or CERT and tools to check and enforce those in a static way. Of course C will continue as the main language for some time coexisting with Rust. And Rust has a long road to go in terms of improving the ergonomics and toolchain to support different platforms. Nevertheless the same change happened when moving from assembly programming to C in the 80s/90s we will see now from C to Rust.
3Reactions 4Reactions
Wayne Thompson
Applying AI to B2B supply chain and skills matching @ BenchOn
1y
- Report this comment
C# for productivity!
1Reaction
See more comments
To view or add a comment, sign in
More articles by this author
No more previous content
- July Embedded News and HOT Jobs Jul 31, 2024
- July Embedded News and HOT Jobs Jul 16, 2024
- June Embedded News and HOT Jobs Jun 28, 2024
- June Embedded News and HOT Jobs Jun 13, 2024
- May Embedded News and HOT Jobs May 31, 2024
- May Embedded News and HOT Jobs May 16, 2024
- April Embedded News and HOT Jobs Apr 30, 2024
- April Embedded News and HOT Jobs Apr 17, 2024
- March Embedded News and HOT Jobs Mar 28, 2024
- March Embedded News and HOT Jobs Mar 15, 2024
No more next content
Sign in
Stay updated on your professional world
Sign in
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
Insights from the community
- Computer Science How can programming languages teach problem-solving skills?
- Software Engineering How can you maintain programming language integrity in software development?
- Artificial Intelligence How can programming languages be designed to include diverse groups?
- Telecommunications Systems Here's how you can master new programming languages in the telecommunications industry.
- Information Systems What do you do if you want to master advanced programming languages for Information Systems?
- Computer Science What are formal methods and how can they improve programming language theory?
- Information Technology Here's how you can master new programming languages with speed and efficiency.
- Electronic Engineering You’re struggling to learn a new programming language. How can you overcome the challenge?
- Computer Hardware How can you resolve conflicts with coworkers who have different programming language backgrounds?
- Programming How can you ensure your code is portable and runs on different systems?
Others also viewed
- What will be the Main Programming Languages in 2023? HireOtter 1y
- C Programming Vigneshwaran R 7mo
- Introducing Matteo Nardi Rust System Developer at Exein Exein 1y
- "My Programming Language" Poul Krogh 8y
- 11 Programming Advice From World's Best Programmers - Bill Gates, Dennis Reitchie, Linus Torvalds, And More... The Internet Folks Careers (SaaS 🚀) 2y
- Script ML™: decoding programming languages in the lab Dr. Ward Hills 8y
- RUST PROGRAMMING LANGUAGE Jayasrinivasan S 1y
- GURU KIT: Crafting your programming skills to the next level Kevin Maina 1y
- 8 Lessons you MUST learn from a programmer life! Mohammed Al Shibli 8y
- 5 Reasons to Choose Rust as Your Next Programming Language Remesh Govind N M 1y
Explore topics
- Sales
- Marketing
- Business Administration
- HR Management
- Content Management
- Engineering
- Soft Skills
- See All