You are viewing a single thread.
View all comments
93 points

Rewrite it in rust. Now get a lifetime of problems

permalink
report
reply
22 points

Is this just humor or there’s a reason why people dislike rust? I’m curious.

permalink
report
parent
reply
21 points

There are many who are pushing rust as a religion tan that turns people off.

permalink
report
parent
reply
6 points

Ah, I see lol. Thanks.

permalink
report
parent
reply
5 points

One thing I always liked about the various flavors of BASIC was that nobody ever pushed that shit as a religion.

permalink
report
parent
reply
1 point

religion-tan

permalink
report
parent
reply
57 points

i think it’s just humour, i assume it’s referring to rust’s lifetimes which is a feature (mostly) unique to rust

permalink
report
parent
reply
6 points

Both. The people who promote Rust can be very annoying. They trumpet Rust’s memory safety while turning a blind eye to any problems with the language, let alone the effort required to rewrite a large system and all the bugs such a rewrite will introduce.

permalink
report
parent
reply
12 points

Half joking. Lifetimes can be hard but once you understand the concept it’s quite easy.

The second joke is about you never learn Rust. You’re always on the learning rollercoaster. Always one step away but each time it makes you rethink the whole language.

Don’t get me wrong, I’m a rust main. But does issues does exist

permalink
report
parent
reply
4 points
*

just started out rust and made a massive thing with sqlx only to find out the latest versions don’t have mssql support anymore and the last version that did doesn’t support decoding DateTime<Utc> 😭😭😭

had to rewrite the whole thing again with Tiberius, painful yet educational

permalink
report
parent
reply
1 point

@bappity @RustyNova I was stuck on the same thing, there’s no way to make it compatible? How do you handle dates?

permalink
report
parent
reply
1 point
*

I switched to using tiberius

bit different but not too hard don’t have my code on hand atm but this is how I started with it

    let mut config = Config::new();
    config.host("your_server_name");
    config.database("your_database_name");
    config.authentication(tiberius::AuthMethod::sql_server("your_username", "your_password"));
    config.trust_cert();

    let tcp = TcpStream::connect(config.get_addr()).await?;
    tcp.set_nodelay(true)?;
    
    let mut client = Client::connect(config, tcp.compat_write()).await?;

then I did something along the lines of

fn main() {
        let stream = client.query(&query, &[]).await?;
        let rows = stream.into_first_result().await?;

        let db_data: Vec<MyObject> = rows.into_iter().map(mapping_function_i_made_for_myobject).collect();
}

fn mapping_function_i_made_for_myobject(row: Row) -> MyObject {
    MyObject {
        my_date_field: row.get::<NaiveDateTime, _>("my_date_field").map(|dt| Local.from_local_datetime(&dt).unwrap()),
    }
}

permalink
report
parent
reply
2 points
*

No idea for Tiberius, but for SQLite I’m stuck with converting to timestamp and back. Ugly but works

P.S. add a getter to your data struct and you can be “seamless”

permalink
report
parent
reply
2 points

Sadly sqlx seems to have gone semi-proprietary with their MSQL driver. Personally never understood the appeal of mssql when there’s Postgres and SQLite, but hey, it does work.

I’ve started using welds as my new ORM of choice as SeaORM and Diesel is just not a friendly experience, and supports Mssql OOB. So it’s nice there’s still options for it.

permalink
report
parent
reply
4 points

And some people get “bored” in life smh

permalink
report
parent
reply
17 points
*
Deleted by creator
permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 5K

    Monthly active users

  • 1.5K

    Posts

  • 33K

    Comments