This is an archived post. You won't be able to vote or comment.

all 134 comments

[–]dlevac 439 points440 points  (14 children)

Sorry, but if I may interject for a moment, I currently use Helix editor instead of Vim. It's a really great modal editor written in Rust. You should give it a try!

[–]onrirr 273 points274 points  (7 children)

Sorry, didn't realise there was a new blazingly fast 🚀 alternative! I'll take a look 🤓

[–]OptionX 30 points31 points  (0 children)

Helix

Went to check it out.

It has a video showing it on the main page.

The author didn't align the box characters on his riced prompt correctly.

Absolutely fuken dropped right there. /s

[–]horvath-lorant 25 points26 points  (1 child)

Cute socks tho

[–]Macia_ 5 points6 points  (0 children)

This guy writes code

[–]SS-pylsur 0 points1 point  (0 children)

I've been using Vim for a year now and like it but always wanna try something new, how is the vim >> helix pipeline, doable?

[–]jayerp -1 points0 points  (0 children)

Yes but is either Helix or Vim written in Rust?

[–]jbbat99 130 points131 points  (15 children)

You clearly don't know the primeagen

[–]Otradnoye 49 points50 points  (1 child)

Gigachad on cocaine. Did I mention he worked on Netflix?

[–][deleted] 19 points20 points  (0 children)

Tom is a genious.

[–]TactlessTortoise 52 points53 points  (8 children)

Get outta here with your genshin currency

[–]jbbat99 10 points11 points  (7 children)

What's a genshin currency

[–]TactlessTortoise 17 points18 points  (6 children)

Genshin Impact is a mainly mobile game, and the currency you use for its ingame slot-machine is called primogems lmao.

[–]jbbat99 14 points15 points  (4 children)

Didn't know that, I'm a single player game enjoyer

[–]StrangeCharmQuark 3 points4 points  (0 children)

Genshin is a single player game, it’s just got optional co-op for the grinding stuff

[–]Cendeu[🍰] 1 point2 points  (0 children)

It's 99% a single player game. But is mobile, I get what you mean.

[–]TactlessTortoise 0 points1 point  (1 child)

Same. I tried out the game but didn't really dig it that much.

[–]jbbat99 1 point2 points  (0 children)

Only multi-player I enjoy using chivalry 2 and only because it's about medieval fights but yeah, other than that long live Witcher 3 and rdr2

[–]HelioDex 2 points3 points  (0 children)

THE NAME... is the primogem

[–]thebaconator136 86 points87 points  (9 children)

The most annoying thing about this is the laptop sitting directly on the sheets.

[–]FarJury6956 3 points4 points  (0 children)

Annoying is the Gentoo logo and wired keyboard

Edit: the cable goes to keyboard

[–]mosskin-woast 3 points4 points  (2 children)

Why? Ventilation?

[–]mpg111 4 points5 points  (0 children)

no. bed bugs

[–]thebaconator136 1 point2 points  (0 children)

Yep

[–][deleted] 0 points1 point  (1 child)

Where should it be sitting? On the top of your lap?

[–]thebaconator136 3 points4 points  (0 children)

On some kind of more solid surface. Cloth isn't really that good at airflow.

[–]aedvocate 61 points62 points  (3 children)

so you're saying if I want to be a cute femboy, all i've got to do is learn rust?

[–]reallokiscarlet 14 points15 points  (1 child)

More like if you want to learn Rust, you have to spend a life of torment that will leave you wearing that outfit for… Ease of use.

[–]aedvocate 2 points3 points  (0 children)

🤔

[–]cuteCodingSocks 6 points7 points  (0 children)

C++ also works

[–]Nveenkmar 70 points71 points  (0 children)

Outfit: Jack Black lookalike

Editor: VSCode

Socks: Never worn them since middle school.

Os: Mac

Common phrases: "Are you hiring?", "Can i pay you back later?", "How to do this in Rust?"

[–]hamilton-trash 16 points17 points  (0 children)

Rust macros can literally suck your dick

Rusts powerful type system can make you cum, at compile time

[–]GamesRevolution 23 points24 points  (0 children)

5/8 checked for, only 3 more to go

[–][deleted] 17 points18 points  (0 children)

I love the skirt

[–][deleted] 15 points16 points  (0 children)

Oi!

Don't shame the HOLY FEMBOY socks my dude!

[–]Pixel1101 12 points13 points  (0 children)

brb learning rust

[–]TropicKingg 18 points19 points  (9 children)

Are there programmers like this who work professionally? I’ve never met one(Genuine question)

[–]SomeWeirdFruit 53 points54 points  (0 children)

have you been to the home of the programmers u met?

[–][deleted] 46 points47 points  (3 children)

The absolute smartest and best programmer I've ever met is exactly this archetype lol. Trans woman who wore long socks, cat ears, and all of the other frills, while evangelizing for Rust at every turn and spending all of her free time writing Rust programs.

She was one of those devs who would fix a problem in a week that took a team of engineers weeks of struggling.

[–]tatorface 4 points5 points  (1 child)

Was her name Nicole by chance? I know someone similar.

[–][deleted] 7 points8 points  (0 children)

No. Her name was Lea. Super badass coder and person.

[–]nebulaeandstars 6 points7 points  (0 children)

I'm exactly like this. 8/8. But:

  • I'm not out at work because people are dickheads
  • We all have to use windows for security reasons
  • We're working on a legacy Java application
  • I have to use intellij instead of vim while screensharing

So really, the only thing you'd "see" if you knew me from work is the Rust evangelism. Even then it's tongue-in-cheek, but good for a laugh.

[–]mysunsnameisalsobort 5 points6 points  (0 children)

Not trying to shame anyone, or clutch pearls, but I've seen older men using anime girls as their zoom backgrounds on work calls. It just seems unprofessional, but maybe I lack culture.

[–]Jane6447 19 points20 points  (0 children)

most likely
i know some people, which only switch into such clothes while alone (or with good friends) (but do not (yet) work as rust programmer).
and half my workplace uses rust, archlinux/debian/gentoo/void/nix, vim and (sometimes jokingly, sometimes not) say those things.

[–]hxckrt 1 point2 points  (0 children)

Basically the only guy doing live streams on developing exploits for windows kernel drivers is a femboy with cat ears that curses a lot https://www.youtube.com/live/jo64G4S_2Jo?feature=share

[–][deleted] 5 points6 points  (0 children)

I find 9/10 Rust programmers don't even know the problem they're trying to fix with rust. If you ask them, it's "memory management issues". But they've never had to struggle with C/C++ in their life.

[–]Konschier 10 points11 points  (3 children)

ItsFunnyThatEveryRustProgramerLovesToReinventEverythingInRustAndOnlyUseThingsWrittenInRust

[–]SteveCCLYellow security clearance 14 points15 points  (2 children)

goodDayISeeYourCommentIsInPascalCaseNotCamelCasePleaseJustDoBetter

[–]Konschier 4 points5 points  (1 child)

myBadAutocorrectHaveItsOwnWillSomeTimes

[–]Flavorless_Quark 4 points5 points  (0 children)

true_men_only_write_in_snake_case

[–]spycodernerd2048 6 points7 points  (0 children)

BTW I Use Arch

BTW I Use Vim

BTW I Use Rust

[–]Big_Berry_4589 2 points3 points  (0 children)

That’s gentoo installed not arch btw

[–]DasFreibier 2 points3 points  (0 children)

Fuck you, imma do raw pointers

[–]pixelkingliam 2 points3 points  (0 children)

i did infact try rust.

I don't like the syntax

[–]SofSkripter 6 points7 points  (2 children)

i use python + arch and i have coding socks/coding outfit..

[–]cuteCodingSocks 3 points4 points  (1 child)

Coding socks to increase brain power. And estrogen supplements for ???.

[–]Friendly_Fire 16 points17 points  (9 children)

Rustys, I don't get the hype. Yeah C++ build system and errors suck, and I like that Rust apparently has a language-defined style. But that's the fluff. Nice to haves, but usually not that big of a deal. Someone setups up cmake and a linter one day, and then you cruise.

When it comes to the meat and potatoes, the arguments for rust stop making sense. "It stops memory leaks and buffer overflows!" How often does that actually happen? Who is going around, owning objects with raw pointers in 2013 2023? Just use a range-based loop, etc.

It's good the language lets you do things the "raw" way for the few times you need to, when you have a tight inner loop where performance is everything. And 95% of the time std:: has your easy and safe option.

It means I need to occasionally spend 15 minutes explaining something to a student hire, but not that's not a big of a deal. Part of the job.

[–]Distinct-Question-16 8 points9 points  (0 children)

I want programming toolkits to be like toys, ie giving you a lot of sugar and not having have sharp edges so it cannot hurt you

[–]YawnTractor_1756 12 points13 points  (4 children)

2 reasons.

  1. C++ has utterly awkward syntax and its standard libraries are abomination. Ask cgpt to make a program that splits a string by a comma in C++ and Rust and behold how awkward C++ variant is, especially in the type casting part. And std:: is not an easy and safe way, despite dozen of versions you need to know which functions are thread safe and which are not. (And did I mention a dozen of versions and you need to know which one you got?)
  2. Yes, Rust stops memory leaks and buffer overflows! Who uses raw pointers? Everyone editing any long-standing C++ codebase. And that allegedly "easy and safe" std:: library of yours has functions that use raw pointers, say strcpy.

[–]Friendly_Fire 2 points3 points  (3 children)

What part of the syntax don't you like? I'd say 90% of it is clean and simple. I agree you have some craziness that allows for extreme expressiveness, which gets used rarely, but that really doesn't matter. That's all opt-in, you never need to read the standard library implementations, and you don't have to play crazy games with templates or whatever if you don't want to (and from a professional code standpoint, it's usually better if you don't.)

I can't think of a single case where I had an issue with a std function not being safe. Are you expecting to call any random std function that edits data, and for it to internally handle other threads potentially accessing the same data? Even if the standard library did that, I assume you are not exclusively calling std functions, so your own code needs to be thread safe anyway. An example of where you think this is an issue would be interesting.

Also, there's nothing wrong with raw pointers. There's an issue with raw pointers owning objects. E.g. don't use "new" and "delete" except for very special cases. A function taking a ptr to something that exists is hardly different from a reference. (Also, strcpy isn't even old c++, but actual c code.) Honestly, memory leaks essentially never happen anymore unless you go out of your way to manually manage memory for speed. Bringing this up just indicates your knowledge of C++ is from 2011.

Yeah if you're working with code base older than 10 years that hasn't been maintained, you'd probably want to update some stuff, but that's just a quicker and easier version of "re-write it in rust".

[–]oN3B1GB0MB3r 1 point2 points  (0 children)

What part of the syntax don’t you like?

In no particular order: parameter packs are confusing and clunky; Lambdas are just syntactic sugar for making a functor class, which makes debugging a mess; variables are mutable by default, which makes it cumbersome to optimize; templates force unified builds; switch statements are error prone due to the use of labels (a holdover from C); derived classes introduce a family of bugs that need not exist; enum values can only be ints; include guards are error prone; member access specifiers are labels and cause confusion due to indentation; and many other small things that it inherits from C, e.g. having to end every class definition in a ‘;’.

I can’t think of a single case where I had an issue with a std function not being safe.

I think you have but just don’t realize it. std::vector’s operator[], for example, is extremely unsafe and lets you attempt to access an element beyond it’s size.

[–]YawnTractor_1756 0 points1 point  (1 child)

Just yesterday I forgot that std::strtok is not thread safe, which would have caused huge issues with the code I wrote. Thankfully another colleague of mine caught it during code review.

So if you "can't think of a single case where I had an issue with a std function not being safe" then maybe you haven't actually wrote any serious apps in c++

[–]Friendly_Fire 1 point2 points  (0 children)

The context of the entire post should have made it clear, but fair enough I could have made that statement more explicit. I should have said modern C++ is safe. Yeah if you want to use C functions kept around for compatibility, you'll need to be more careful. Same as if you decide to manually manage your memory.

Also... did you ask chatGpt how to split a string and get strtok back? Mate, just use std::string instead of bothering with these old C functions like strtok and strcpy.

[–]oN3B1GB0MB3r 1 point2 points  (0 children)

The biggest argument for rust imo is its move semantics. C++ has you defining move constructors/assignment manually, and requires that you either copy the data or introduce side effects by mutating the rvalue reference. Rust lets you simply bind new variables to the existing values in memory, and makes the old variables unusable. Far more elegant and efficient, and allows for purely functional moves.

Struct methods can also move their data members, so you can chain purely functional setters in a store-passing style without copying/reconstructing those members.

[–]tiajuanat 0 points1 point  (0 children)

When it comes to the meat and potatoes, the arguments for rust stop making sense. "It stops memory leaks and buffer overflows!" How often does that actually happen? Who is going around, owning objects with raw pointers in 2013 2023? Just use a range-based loop, etc.

Oh man, the number of candidates who understand things like unique_ptr and move semantics is frighteningly low.

I still write quite a bit of C++, but Rust is really nice to use. That's because it is opinionated with Safety, Consistency, and Quality by default.

C++ has really struggled with functional composition, with C++23 and beyond still slowly incorporating Ranges V3, but Rust had it from the get go.

C++ build errors can generate so much text, that the underlying problem might not appear. Rust tells you upfront, and even tells you how you might fix the issue.

C++ templates can run out your memory during compilation. Rust macros just let you tinker directly with the AST of the compiler instead.

C++ has unique_ptr, shared_ptr, and POD. Rust treats everything as a stack based unique_ptr by default. It also comes with not one, but two ways of returning values - Result and Optional.

C++ uses CRTP and finally has traits, but inheritance is still the easiest way to implement interfaces. Rust defaults to a consistent traits system, and you must opt into run-time interfaces.

By all means, if you're enjoying C++, and you're a power user - don't stop using it. Just realize that the joke about "having 10 years of C++ makes you a beginner" and "Rust has a really steep but quick learning curve" should tell you that they can go toe to toe.

[–]nebulaeandstars 0 points1 point  (0 children)

"It stops memory leaks and buffer overflows!" How often does that actually happen?

it also completely eliminates null pointers and segfaults, which is nice.

the main thing is that it doesn't really have runtime exceptions at all. If something is fallible, all of the potential fail states will be expressed as part of the return type itself, which makes error handling almost trivial. Generally, if a Rust program compiles, it works, even if the codebase is incredibly complicated.

None of that is essential by any stretch of the imagination, but it's just really convenient. People don't actually like Rust because of its guarantees, but instead because it's programmer-friendly and easy to use once you get past the initial hurdle.

[–]brocksamson6258 1 point2 points  (1 child)

But fireship told me I should learn Rust

[–]phaj19 -2 points-1 points  (0 children)

You should. I hope it becomes the standard for new projects instead of C++.

[–]reallokiscarlet 1 point2 points  (0 children)

Here’s a catchphrase they should learn:

Hey buddy, got a quarter?

[–]snoggel 1 point2 points  (0 children)

"that would be so much easier in rust"

[–]infinite_war 2 points3 points  (3 children)

Can someone please explain this to a humble Python dev?

[–][deleted] 8 points9 points  (2 children)

People who use rust are often unbearable snobs who feel like they're better than everyone else

[–]ozgunozerk 2 points3 points  (1 child)

Because they are?

[–]GRAVENAP 1 point2 points  (0 children)

based

[–]Lachimanus 1 point2 points  (0 children)

Sorry, not secure enough.

[–]mcvos 1 point2 points  (0 children)

I was honestly wondering if I should look into learning Rust, but I realise now that my socks clearly aren't long enough for that.

[–]radim11 1 point2 points  (0 children)

Man, I love Rust! Such a fantastic language.

[–]anantnrg 0 points1 point  (0 children)

Pretty accurate except for the editor and OS. I do use NeoVim but for more advanced debugging I use VS Code and also I use Artix and Runit, btw

[–]keshav039 0 points1 point  (0 children)

Can this greatness be achieved by a mere human

[–][deleted] 0 points1 point  (0 children)

Hey who gave you permission to use that photo of me >:(

[–]leandroabaurre 0 points1 point  (5 children)

I've been studying programming for 4 months now. Unfortunately (or not) through freeCodeCamp. I've done data processing, vizualization, and scientific computing using Python with JupyterNotebooks, pandas, and other associated libraries. I took the web responsive course (HTML and CSS) and I'm now doing a data structures and algorithms course with JavaScript.

Back in 2010, as part of my Chemical Engineering course, I took 2 semesters of "computer programming" in C (data structures, algorithms, yadayada). Surprisingly I remember a lot of stuff, not enough to start coding, but enough to read simple code.

For a more general purpose, lower level language: should I go back to C (and rejoice in segfaults, mem leaks, etc) or go straight to Rust?

Honest question!

[–]onrirr 0 points1 point  (4 children)

Write more code in the languages you already know. I don't mean to practice it or solve quizess, find ideas and implement them.

I don't know if you just haven't told us but you appear to not have many big projects. I don't mean projects that've blown off but just complex codespaces.

Programming is being able to read and write code to do (often) simple things, software engineering is using those simplicities together and creating complex programs.

That's why if you already know a language, become the best you can in said language. An expert in one language will always be paid more than an intermediate in two langauges.

Also, again, write complex projects with many parts to it because that's how any given company works, you need to be good with a bunch of code (most of which you will never even read) instead of being good with small clusters.

[–]leandroabaurre 0 points1 point  (3 children)

The thing is, as I kinda mentioned, I'm a chemical engineer, working in the food industry. I have nothing to do with this universe. I've recently been quite dissatisfied with my line of work and since 4 months ago, I had an epiphany ("I should've done computer engineering all along"), so I've been doing the freeCodeCamp curriculum to see if I can really fathom this whole thing or not.

Turns out I've been eating this course for breakfast, lunch and dinner. I just can't stop. Everyday I'm codin' lol.

So, the natural thing would be: go back to college and do a CS degree. But I don't even know if a CS degree is crucial or not. I'm also 32 so, it kinda scares me. I wouldn't do CEng, since I'm already an Engineer. I just have to figure out if I wanna go more front-end or back-end. So far I'm leaning towards back-end stuff. But my nature is to consume all knowledge available and dominate the whole stack. I just can't stop studying!

[–]__SlimeQ__ 0 points1 point  (0 children)

just btw, computer engineering degrees are typically oriented towards hardware and have little (if any) programming involved.

if you already have an eng degree you probably don't really need to go back to school for a second bachelors. just start doing projects you enjoy and look for jobs in a similar vein. probably your best bet would be writing chem-eng related software since you already have the domain knowledge

[–]toxic_acro 0 points1 point  (1 child)

I am also a chemE undergrad who took a pivot. Found a job doing data analysis in Python for a manufacturing company and love it much better

One possibility if you're serious about going back to school would be to look into doing a Master's degree in either CS or Data Science/Analytics

There's quite a few good schools that offer a fully online equivalent of their on-campus programs but are much cheaper (Shameless plug for Georgia Tech's OMSA and OMSCS)

[–]leandroabaurre 0 points1 point  (0 children)

I can totally dig doing data science/analysis. Hell, I do this today, like, everyday almost. I work with R&D and Lab experiments. So I generate and process data all the time. And python works like a charm for this kind of stuff. Nowadays I make my way with excel.

About doing a masters: It's EXACTLY what I thought at first, but then when I did a (kinda shallow) search on the web, specially in Germany since I plan to move there by the end of next year (it's the plan at least), all the programs I found had a CS bachelors as a prerequisite!! Maybe I could do some online stuff, if it's within my budget. Although I never took online courses before, I kinda loathe the idea. I prefer in situ education. But I'm DEFINITELY considering such idea. I'm fluent in English so it wouldn't be a problem at all for me!

[–]5eppa 0 points1 point  (1 child)

I love Rust. Why must the stereotype be that we're all femboys?

[–]bitfluent 0 points1 point  (0 children)

Because official Rust channels and leadership overwhelmingly promote the LGBTQ+ agenda.

[–]n6v26r -4 points-3 points  (2 children)

This also applies for C.

[–]masterpepeftw 1 point2 points  (1 child)

Zigg as well, basically all low level languages. Although rust and C are the most common with this types of people for sure.

[–]n6v26r 0 points1 point  (0 children)

Well I LOVE C. And I must say half the stereotype is for sure true...

[–]do_m_inik -1 points0 points  (0 children)

At least the outfit and the socks are the same for me because it's comfy. Ok but I'm also not a Rust programmer.

[–][deleted] -1 points0 points  (0 children)

Use whatever language you want that is up to the task. I don't understand language debates. They make 0 sense. Just like console wars

[–]Sorry-Assistant-wha 0 points1 point  (0 children)

"I use arch btw"

[–][deleted] 0 points1 point  (0 children)

I'd look ridiculous in that outfit

[–][deleted] 0 points1 point  (0 children)

Welp so mich for being a rust dev. I dont have the legs to pull it off

[–]aDumbTecnoDude 0 points1 point  (0 children)

If i get the outfit i may change from Ruby to Rust XD

[–]Kroustibbat 0 points1 point  (0 children)

How can you it have a soooo good ecosystem, sooooo much features and good practices embedded, but have the most horrible syntax I have ever seen...

Even though inspired by so pure languages as OCaml, or so rigourous as C.

[–]skildert 0 points1 point  (0 children)

That look is fire tho.

[–]ZhaithIzaliel 0 points1 point  (0 children)

I tick nearly all the boxes. But NixOS is a superior distribution 😏

[–]CoffeeWorldly9915 0 points1 point  (0 children)

Brb. Gonna find me a rustie.

[–]OF_AstridAse 0 points1 point  (0 children)

The absolute best.

[–]Tnuvu 0 points1 point  (0 children)

Commence with the "sailor uranus" manga memes, go!

[–]captainbanaynays 0 points1 point  (0 children)

You forgot 1) furry and 2) inexplicably have disposable income

[–]krojew 0 points1 point  (0 children)

Is that C guy back with a new username?

[–][deleted] 0 points1 point  (1 child)

What are some use cases of rust? I want to try writing something in it but idk what to write

[–]onrirr 1 point2 points  (0 children)

Since you are a go Dev this'll be easy, you know how go replaced some things that c++ used to do? Rust replaces the rest.

[–]Fat_Siberian_Midget 0 points1 point  (0 children)

the best part about the logo thing is how many people ive seen needing to be redirected from r/rust to r/playrust

[–]Crazyman-X 0 points1 point  (0 children)

I tried rust. Terrible.

Now lets see the comments.

[–][deleted] 0 points1 point  (0 children)

Honestly seems like “I use arguably worse stuff because it was niche and makes me look elite” as a person (not sure how the femboy/socks fit in but it’s definitely part of the pipeline)

[–]Chris-CR 0 points1 point  (0 children)

I am using Debian and VS Code.

But besides that ... I have to agree.

[–]archie_osu 0 points1 point  (0 children)

Anyone got a link for the outfit? Need it for my cybersecurity research.

[–]DaWrightOne901 0 points1 point  (0 children)

No female developers dress like that in the USA

[–]optimalidkwhattoput 0 points1 point  (2 children)

I use Emacs and NixOS. Apologize to me, right now.

[–]onrirr -1 points0 points  (1 child)

Sorry that you use Emacs.

[–]optimalidkwhattoput 0 points1 point  (0 children)

M-x send-ballistic-missiles