The SQLite Rewrite In Rust

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ •

  • @ThiagoRochaA1
    @ThiagoRochaA1 11 годин тому +322

    Limbo is not the best place to leave your data

    • @77696b
      @77696b 10 годин тому +24

      yeah, the name is not the best

    • @thtcaribbeanguy
      @thtcaribbeanguy 10 годин тому +27

      i know they will rename but for now....
      its pretty funny

    • @SimGunther
      @SimGunther 6 годин тому +2

      Or your soul

    • @Kane0123
      @Kane0123 2 години тому

      Love their sense of hunour

    • @worldspam5682
      @worldspam5682 2 години тому

      @@SimGunther idk, better than hell, for sure.

  • @randomexplosion6527
    @randomexplosion6527 11 годин тому +431

    Everything that can be rewritten in rust will eventually be rewritten in rust

    • @randomexplosion6527
      @randomexplosion6527 11 годин тому +65

      Whether it should be is another thing entirely

    • @dkr91
      @dkr91 11 годин тому +7

      @@randomexplosion6527 Prisma went from Rust to TS

    • @JasonKingKong
      @JasonKingKong 11 годин тому +44

      Your [Rust programmers] were so preoccupied with whether they could, they didn’t stop to think if they should.

    • @apatterndarkly
      @apatterndarkly 11 годин тому +8

      Partially because there's a whole heck of a lot of former JS devs writing rust these days. (see also: Atwood's Law)

    • @Mihaugoku
      @Mihaugoku 11 годин тому +16

      "I am currently rewriting politics to Rust"

  • @YvesBlatti
    @YvesBlatti 10 годин тому +80

    Also : Chaos Godzilla is implemented for free by CrowdStrike

  • @augustdahlkvist3998
    @augustdahlkvist3998 10 годин тому +119

    Everybody is gangsta until their favourite library gets rewritten in rust

    • @NotAFanMan88
      @NotAFanMan88 8 годин тому +7

      if it exists, there will be a Rust version of it.

    • @thegrumpydeveloper
      @thegrumpydeveloper 8 годин тому +1

      Unless it’s written in go

  • @dirkschannel5817
    @dirkschannel5817 9 годин тому +74

    SQLite is the one project written in C that I would consider to be one of the most scrutinized open source code and thus put it on the bottom of the list of projects in need of a rewrite in Rust.
    However I love Rust and enjoy using it.
    Thanks to everyone involved :-)

    • @guillemgarcia3630
      @guillemgarcia3630 7 годин тому +7

      this is for using io uring, so it might be worth the rewrite

    • @dirkschannel5817
      @dirkschannel5817 6 годин тому

      @guillemgarcia3630 I see. IO uring offers a lot of benefits. Thanks for pointing this out.

    • @dirkschannel5817
      @dirkschannel5817 6 годин тому +1

      @@guillemgarcia3630 I see. Thanks for pointing that out

    • @OnFireByte
      @OnFireByte 4 години тому

      Turso really like sqlite but they need some of somewhat niece features for their usage, so they decide to rewrite it in rust.

    • @mynameisshadywhat
      @mynameisshadywhat 3 години тому +5

      ​@@OnFireByteas opposed to nephew features?

  • @username7763
    @username7763 9 годин тому +50

    One very nice thing about sqlite is that it will compile on a large number of C compilers. This includes compilers available for older platforms, or embedded or more specialized use. Not everyone is running the latest MacOS / Windows / Linux. Rust is llvm compiler only and is available for far fewer platforms. Maybe that doesn't matter to your project, but it does matter.

    • @user-sb5vt8iy5q
      @user-sb5vt8iy5q 9 годин тому +7

      llvm is basically available anywhere, it probably works on your smart fridge too

    • @hanifarroisimukhlis5989
      @hanifarroisimukhlis5989 8 годин тому +2

      I mean, if you _really_ needs arcane embedded, you can use WASM as intermediate. Rust -> WASM -> machine code. Translating WASM instruction to machine code is _almost_ trivial.

    • @anonymousalexander6005
      @anonymousalexander6005 8 годин тому +4

      @@hanifarroisimukhlis5989noooo if you aren’t using my niche C compiler you aren’t doing it right 😭. Meanwhile COBOL and MIPS ASM sitting there like 😒

    • @username7763
      @username7763 8 годин тому +8

      I did some looking into it and there are far more llvm targets than I was aware of. They'll always be something that isn't supported, but I'm impressed at how much is.

    • @AlexMax2742
      @AlexMax2742 7 годин тому +10

      @user-sb5vt8iy5q LLVM is absolutely NOT available for everything. GCC is the most widely compatible compiler out there, and even then there are many targets where your only option is an ancient in-house fork of GCC that will likely never see support for anything modern.

  • @thtcaribbeanguy
    @thtcaribbeanguy 9 годин тому +24

    primeagen is messing with my OCD when he highlights perfectly each time everything except the first letter and last letter!!!!!!!!!!!!!!!!!

    • @nathanfranck5822
      @nathanfranck5822 8 годин тому +5

      It's how he aim trains

    • @thtcaribbeanguy
      @thtcaribbeanguy 7 годин тому

      @@nathanfranck5822 normally my OCD is not that strong anymore but it triggered by it. but since he doing it to train himself , question i have now why?

  • @BrettW
    @BrettW 11 годин тому +84

    Im here so fast I must be written in Rust.

    • @albizutoday2754
      @albizutoday2754 10 годин тому +3

      @@BrettW And you need a Code of Conduct!

    • @_kostant
      @_kostant 10 годин тому +2

      If you were written in rust you would’ve been much slower to comment and would not have missed the apostrophe.

    • @gg-gn3re
      @gg-gn3re 10 годин тому +2

      @@_kostant hahah owned

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 8 годин тому +4

      @@_kostant why would he have been slower? And Rust doesn't prevent logic bugs, so the missing apostrophe aligns with Rust.

    • @chrisdaman4179
      @chrisdaman4179 8 годин тому

      @ClimateChangeDoesntBargain He would still be in development for another 4-5 years, and then get dropped because the basement coders working on it would have gotten tired and moved on well before 0.7 release.

  • @2loafabread
    @2loafabread 9 годин тому +39

    Elevator pitch: I am upset there are so many different SQL type syntaxes I've learned to use throughout the years... so lets just make fun of this first world problem with a new syntax called: YASS - "Yet another SQL syntax"

  • @OREYG
    @OREYG 3 години тому +6

    Rust people lack imagination, and can only try to rewrite established software, but are unable to invent something new

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      said from a kid. irrational comment, purely a mental problem. by rewriting in rust, it ensures there are no hidden memory and pointer bugs that have not been caught, while using a modern architectural design. it also makes it easier to maintain in the long run, maintenance on rust is much easier than c/c++, writing it is also much easier because it is assisted by the compiler so that it does not forget so that it does not make mistakes related to memory and pointers, and does not dive into debugging and debugging for a long time like in c/c++

  • @shadergz
    @shadergz 11 годин тому +128

    It's faster cause it doesn't have 1/3 of the SQLite features...

    • @mysterry2000
      @mysterry2000 10 годин тому +16

      Tbf I don't mind having a less feature-rich, faster software over a bloated one, as long as the basic features are around

    • @_Verac
      @_Verac 10 годин тому +1

      @@shadergz How so as they're fork of it with backward merge so they should have all its features plus some more?

    • @TheRealCornPop
      @TheRealCornPop 10 годин тому +39

      ​@@mysterry2000What's bloated about sqlite? Limbo doesn't even have the basics yet. It's currently unusable and a wip

    • @aqua-bery
      @aqua-bery 9 годин тому +2

      ​@@TheRealCornPop how can it not have features if it's a fork?

    • @paxcoder
      @paxcoder 9 годин тому +2

      @@mysterry2000 Until you need that one feature?

  • @eltreum1
    @eltreum1 8 годин тому +7

    An educational exercise or self-torture. I bet the word "unsafe" appears often in the repo.

  • @tate_rs
    @tate_rs 11 годин тому +111

    We should make a page like the js framework one "Days Since Last Rust Rewrite" (I'm a Rust dev myself but this is kinda getting out of hands)

    • @monsterhunter445
      @monsterhunter445 10 годин тому +7

      Is it gettign of hand? Sqlite in rust makes sense.

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 10 годин тому +11

      This _is_ the kinda software that actually makes sense in Rust though. Front-end frameworks in Rust is where I'd say it becomes a bit unnecessary (I'm a hypocrite in this sense because the only mildly serious UI I've ever written is a web extension who's UI and logic is both in Rust).

    • @HYDROGEN_OS
      @HYDROGEN_OS 10 годин тому +4

      its make sense, rust enforce safety whether the progammer is junior skill, medium skill, or senior skill where c++ will be crazy in junior skill programmers

    • @tate_rs
      @tate_rs 10 годин тому +4

      Don't get me wrong, i'm part of this rust rewriting community but i just find it funny. I also do agree it makes total sense regarding the speed and safety. It will just take some time till it's somewhat usable in production.

    • @MiaChillfox
      @MiaChillfox 9 годин тому

      Just make it a static html page stuck on 0 days. It will always be correct.

  • @PakRoc-dev
    @PakRoc-dev 11 годин тому +17

    I'll take the database protected by the Rule of St. Benedict, thanks.

  • @mrpocock
    @mrpocock 7 годин тому +4

    It will be interesting to see how they do the very core indexing data structures in rust. My understanding is that to make databases work well, they use very unsafe structures!

    • @da40au40
      @da40au40 4 години тому

      This is very interesting now you've commented it.

    • @giorgos-4515
      @giorgos-4515 Годину тому

      unsafe is not inherently bad it is required for core stuff, it just indicates that more attention is required

  • @RogerValor
    @RogerValor 10 годин тому +22

    we really dont need sqlite reimplemented in a C variant, it is fine if it is in rust, as it allows to have a clean rust alternative to bindings, so i am glad they stayed on track.

    • @worldspam5682
      @worldspam5682 2 години тому

      dude, it's a db. What in the name of purist zealot is this?

  • @georgecrisan9499
    @georgecrisan9499 10 годин тому

    so nice you approached this on a serious manner

  • @maxlee3838
    @maxlee3838 5 годин тому +1

    That lib file with the unsafe is just the bindings, not the core code. Any ffi is fundamentally unsafe since the compiler can’t control what outside callers are doing.

  • @geoffl
    @geoffl 5 годин тому +17

    sqlite is one of the best codebases available. I question this company's priorities to rewrite something that is already excellent.

    • @tomorrow6
      @tomorrow6 2 години тому +2

      The only way from excellence is down

    • @maf_aka
      @maf_aka Годину тому

      the closed source nature prevents natural extension of the project (vector db, wasm, etc.). did you not watch the video?

    • @kuhluhOG
      @kuhluhOG 45 хвилин тому

      yeah, one would think they have other dependencies which they would focus on first

  • @freeideas
    @freeideas 9 годин тому +14

    I wonder why zig was rejected in favor of rust? Usually you hear the other way around, e.g. "it became super difficult with rust, so we switched to zig".

    • @freeideas
      @freeideas 9 годин тому +2

      As a corollary to my question, I wonder if the following statement is true: "anything you can write in rust, you can write the exact equivalent code in zig, translating almost line-for-line... but the reverse, of course, is not true".

    • @smile4cs
      @smile4cs 9 годин тому +3

      id imagine rewriting something in Rust wouldn’t be too hard (compared to writing something new), since you would already know exactly what you’re building.

    • @hanifarroisimukhlis5989
      @hanifarroisimukhlis5989 9 годин тому +4

      Zig isn't 1.0 yet, so...

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 8 годин тому +3

      @@freeideas you are probably talking about Rust without unsafe, as you can write anything in Rust

    • @oserodal2702
      @oserodal2702 8 годин тому +6

      Tsoding : "The typical zigooner..."

  • @allesarfint
    @allesarfint 10 годин тому +1

    Prime forgot to mention Chaos Grizzly, which goes a step further and kills the entirety of Netflix.

  • @reybontje2375
    @reybontje2375 10 годин тому +1

    I'm thrilled if this can evolve into a maintained project.
    There are so many cool embedded databases in Rust, but they also generally don't have a stable file format or become abandoned adter a few versions.
    I basically am stuck with RocksDB as the best worst choice.

    • @xpusostomos
      @xpusostomos 10 годин тому

      Presumably the file format is stable since they're copying.

  • @neerajrajpal
    @neerajrajpal 11 годин тому +6

    Here before the title change o7

  • @zappellin2398
    @zappellin2398 9 годин тому +1

    I read somewhere that you can access the SQLite test suite, but you need to be a contributor and that require a screening process or that you are a big company willing to provide contributions

    • @seanwoods647
      @seanwoods647 2 години тому

      And not, say, a hacker looking to find exploits.

  • @todd.mitchell
    @todd.mitchell 18 хвилин тому

    A clever name that St. Benedict would surely approve.

  • @h7hj59fh3f
    @h7hj59fh3f 11 годин тому +16

    i miss the dyslexic title of this video 😭

  • @mberlinger3
    @mberlinger3 8 годин тому +3

    As a business engineer it's hard to hear Squeal. I've only heard SQL or Sequel never Squeal 🐷

    • @HerbieBancock
      @HerbieBancock 6 годин тому

      The people who know what they're doing/talking about don't have time to make these shitty videos.

  • @robchr
    @robchr 9 годин тому +1

    DST sounds a lot like property based testing which has been around for along time.

  • @TeDynef
    @TeDynef 9 годин тому +3

    This will be pain in the ass with 3 implementations of sqllite which are not feature identical... The same shit was done to the sass precompiler and now you have to lookup the correct software to just precompile css. Great... Just name it different...

  • @seanwoods647
    @seanwoods647 2 години тому +1

    Deterministic Testing is not the same thing as 100 branch testing. The aircraft industry demands that every possible branch in the code is exercised in testing. Sqlite's current test suite does that. Also chaos monkey/gorilla/kaiju isn't really applicable to an embedded database.

  • @TheXanien
    @TheXanien 10 годин тому +1

    Necessity is the mother of invention.

  • @LutherDePapier
    @LutherDePapier 8 годин тому +1

    You should apply, Prime. And "get a real job again."

  • @tomorrow6
    @tomorrow6 2 години тому +1

    Everything rewritten in rust will eventually be rewrittten in stainless.

  • @dezly-macauley
    @dezly-macauley 5 годин тому +1

    I'm starting to wonder who is more. Unhinged.... The average JS/React dev or the average Rust dev

  • @a_rugau
    @a_rugau 10 годин тому

    Hey was waiting for you to talk about that!

  • @HomeEngineer-wm5fg
    @HomeEngineer-wm5fg 2 години тому

    Keep the free nature of SQLite, completely free in all aspects and I am sold!

  • @ryanb509
    @ryanb509 4 години тому

    I think Chaos Godzilla would be to simulate an entire cloud provider going down if they ever went with a multi cloud deployment.

  • @modolief
    @modolief 3 години тому

    Pro tip for Finnish names: You say the double consonant *twice.*
    So "Pekka" is not PEKA, but PEK-KA. Accent on the first syllable.

  • @rjScubaSki
    @rjScubaSki 6 годин тому +3

    Really find promoting Zig over Rust for this completely incomprehensible

    • @maniacZesci
      @maniacZesci 6 годин тому +3

      Database in language that is not stable yet. Remember he thinks Linux kernel should have used Zig too. People take these UA-cam pundits way to seriously.

    • @TheCommunistRabbit
      @TheCommunistRabbit 6 годин тому +3

      Them zigooners

  • @bertram-raven
    @bertram-raven 3 години тому

    Now I know what to call the testing paradigm I have been using since 1997. DST.

  • @alst4817
    @alst4817 Годину тому

    Everything rewritten in Rust will eventually be re-rewritten in Lisp

  • @albizutoday2754
    @albizutoday2754 7 годин тому

    Thats a new license, you rewrite it in Rust and it’s yours! ⭐️

  • @dewaldesterhuysen712
    @dewaldesterhuysen712 11 годин тому +7

    The issue is that they are rewriting it for computer use but a large part of SQLite is how well it works one embedded. On some embedded projects even C++ is to resource inefficient compared to C. I doubt Rust will be as efficient with ram as C is

    • @theultimateevil3430
      @theultimateevil3430 10 годин тому +5

      Can't you just write C++ without C++ features that introduce tons of indirection, and in a data-driven manner to minimize copying/allocations?

    • @oserodal2702
      @oserodal2702 10 годин тому +2

      Rust is as efficient on RAM as C is, if not even more since a lot of conventions in C is the passing of object heap pointers. Unlike in C where resources (in this case, memory) have non-deterministic lifetimes, Rust has an explicit destructor called et the end of each scope.

    • @galbatrollix5125
      @galbatrollix5125 10 годин тому

      @@theultimateevil3430 You can. C with templates can be written just fine. Though C++ forces malloc casts which can be really annoying.

    • @lennymclennington
      @lennymclennington 10 годин тому +5

      C++ isn't "too resource inefficient compared to C". Shows you have no idea what you're talking about when you frame it like that. What in C++ has an inefficient memory layout compared to the equivalent in C? If you need to perform whatever task in C or C++, you're still doing the same stuff. If you make inefficient design choices then that's on you, not on the language.

    • @dewaldesterhuysen712
      @dewaldesterhuysen712 10 годин тому

      @@theultimateevil3430 Yes you can, which is not a bad idea since you will always have the option to make use of an expensive functionality if you have resources left.

  • @roccociccone597
    @roccociccone597 7 годин тому

    Yeah I've been investigating DST at work. It sounds cool I just gotta get used to testing like that...

  • @dataolle
    @dataolle 7 годин тому

    Are they planning on doing the Safety critical stuff with DO-178b and testing all branches?

  • @TankorSmash
    @TankorSmash 10 годин тому +1

    What is the difference between Deterministic Simulation Testing and Property Based Testing?

  • @Spaztron64
    @Spaztron64 10 годин тому

    Fitting title for where your data will end up :)

  • @daviyen
    @daviyen Годину тому

    That Microsoft team btw was Excel.

  • @adsick_ua
    @adsick_ua 6 годин тому

    7:58 - always selects excluding boundary characters😀

  • @gc1959
    @gc1959 10 годин тому +1

    2026: RustGo ®

  • @fluxcaruso345
    @fluxcaruso345 11 годин тому

    At this point, i should rewrite myself in rust

  • @maniacZesci
    @maniacZesci 6 годин тому +1

    Recommending Zig just because you like it is not feasible.

    • @worldspam5682
      @worldspam5682 2 години тому

      Rewriting everything in rust is not feasible too, and yet here we are.

    • @maniacZesci
      @maniacZesci 24 хвилини тому

      @@worldspam5682 Who said that everything should be rewritten in Rust? Those things that get rewritten are feasible because Rust is stable unlike Zig, and offers lots of benefits in terms of safe parallelism and concurrency, memory safety, no UB in safe Rust, good interop with other languages etc., it gets chosen for multiple reasons.
      This is not just rewrite but adding additional features on top of it.

  • @InternetKilledTV21
    @InternetKilledTV21 7 хвилин тому

    I've been kind of inclines to say "go with rust" for the real-world benefits rust brings plus a little bit of I want to see a Mozilla W streak

  • @JeremiLorenti
    @JeremiLorenti 11 годин тому

    I'm only 15 seconds in, and I already want to Pekka Prime's Glauber

  • @ThePandaGuitar
    @ThePandaGuitar 7 годин тому +1

    Speaking of Spolksy, Things You Should Never Do, Part I never felt more relevant.

  • @henriknordquist8086
    @henriknordquist8086 3 години тому

    When rewriting SQLite, I expect the same amount of tests. 500x more test code than source code. Millions and millions of tests.

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      rust is different, it doesn't need a lot of testing like in c/c++ to make sure they are safe, sometimes there are still bugs that slip through without being caught. that's the difference in safety level, like heaven and earth

  • @susiebaka3388
    @susiebaka3388 10 годин тому +9

    sqlite is getting the femboy treatment

  • @I_am_who_I_am_who_I_am
    @I_am_who_I_am_who_I_am 11 годин тому +1

    where does libsql fit in?

  • @_Verac
    @_Verac 10 годин тому

    They had to go with the devil as the logo.😂

  • @ambhaiji
    @ambhaiji 4 години тому

    1:57 I don't mind that color scheme

  • @wing-it-right
    @wing-it-right 5 годин тому

    i am watching this on the side like squirrel what?

  • @LutherDePapier
    @LutherDePapier 8 годин тому

    Twitch comments literally went "Hawk tuah." 😂😂😂😂

  • @DM-pg4iv
    @DM-pg4iv 10 годин тому

    You have any resources for simulation testing? How to get started? I can't find anything

  • @psychoedge
    @psychoedge 6 годин тому

    Rule 34r: every program can and will eventually be rewritten to Rust

  • @karaloop9544
    @karaloop9544 9 годин тому

    what happened to squeel? liked that pronounciation. :)

  • @LutherDePapier
    @LutherDePapier 8 годин тому

    "If I were to get a real job again..." 😂😂😂

  • @emonadeo
    @emonadeo 2 години тому

    OMG Jeppe Carlsen mentioned!!!11

  • @chickenduckhappy
    @chickenduckhappy 2 години тому

    C isn't an unsafe language. You just need to implement a memeory-safe language in C and use that.

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      good joke, c is cute half-finished hammer, prone to breakage

  • @pxkqd
    @pxkqd 3 години тому

    How complete is it?

  • @YvesBlatti
    @YvesBlatti 10 годин тому

    Chaos Godzilla is implemented at Meta (BGP)

  • @RobData
    @RobData 2 години тому

    SQL is pronounced, or has been for years, as either S.Q.L or Sequel, never as Squeal

  • @asmod4n
    @asmod4n 7 годин тому

    How did they solve the issue that you cant use async rust with io_uring?

    • @HYDROGEN_OS
      @HYDROGEN_OS 5 годин тому

      lmao since when rust cant use async in io uring lol, compio is one of io uring based async runtime, lmao

    • @asmod4n
      @asmod4n 4 години тому

      @@HYDROGEN_OS the type system of rust aint capable of safely using io_uring. it makes all kinds of assumptions which io_uring broke.

    • @HYDROGEN_OS
      @HYDROGEN_OS 4 години тому

      @@asmod4n you are totally wrong. many io uring async runtime exist, tokio, compio, glomio, etc, and they are all safe unlike c/c++.

    • @asmod4n
      @asmod4n 4 години тому

      @@HYDROGEN_OS rust makes the assumptions all syscalls happen in userspace and immediately return their result. io_uring doesn't work that way. you cant use async await with io_uring till rust is patched for that. you are leaking file descriptors all over the place and no crate can solve that, it has to be solved on a type system level. Rust Futures are not capable of handling io_uring doing syscalls in a kernel thread out of control of rust.
      look here: github.com/ethe/io-uring-is-not-cancellation-safe/blob/master/src/main.rs

    • @asmod4n
      @asmod4n 4 години тому

      @@HYDROGEN_OS just search for io_uring is not cancellation safe with rust.

  • @gregorymoore2877
    @gregorymoore2877 4 години тому

    Chaosgodzilla would not be turning the world off. That would be chaosghidora. Chaosgodzilla would be the one trying to stop him probably with help from chaosmothra and chaosrodan. Just saying.

  • @dunebuggy1292
    @dunebuggy1292 11 годин тому +24

    This is just obnoxious.

  • @nikitasavelyev9171
    @nikitasavelyev9171 3 години тому

    Why is ffmpeg unhinged?? What did I miss?

  • @VolodymyrMoon
    @VolodymyrMoon 9 годин тому

    Have heard about RocksDB?

  • @OneShore
    @OneShore 4 години тому

    I'd rather see reasonable data types in SQLite

  • @ivesmacedo
    @ivesmacedo 5 годин тому

    Chaos Godzilla is turning DNS off

  • @PikesPeace
    @PikesPeace 3 години тому

    Rewriting things in Rust is only ever an improvement when multithreading is not being utilized usually by old C utilities. Rust is going to be markedly SLOWER than a properly written multithreaded C++ library by the very nature of it having significantly less overhead and being far more optimized in most compilers. I would like to see a real heavy speed torture test of this library. So far such tests are unimpressive with Rust and likely would be less than suitable for database purposes... which by nature often times cannot be parallelized due to ACID standards etc. In other words ... ok it's neat that more people can work on this but the choice of language is bad. (It also might be cheating if it's using something like compiled assembly for it's data structure backend. To my knowledge you cannot write a proper B-tree in Rust at all.)

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      from your comment implies you actually don't know anything you type but pretend to know, it's very funny to read. both rust arc and c++ use atomic operation for multithreading in their smart pointers, so they have the same overhead, but rust has the advantage of safety while c++ doesn't. but rust has other smart pointer that zero overheat while c++ smart pointers still have higher overheat, not zero overhead. unique_ptr for examplet, it is not trivially movable or trivially destructible, there are numerous optimizations that every current C++ compiler does not perform, for example being able to pass a unique_ptr in a register.
      unique_ptr is reasonable given C++'s limitations, but it doesn't come close to being as good as Rust's Box, which is genuinely zero overhead and also guarantees that there's only 1 mutable reference to the object at any given time. uniq_ptr can’t be passed in registers (mentioned upthread) for ABI reasons, but Box doesn’t have that restriction. Another one is what happens when you move a value out, in C++ it’s in an “indeterminate state”, but in Rust you can’t access a value after move. Which means that you can get a null pointer exception in C++, but not in Rust, and means that destructors for uniq_ptr have to check for this case, whereas in Rust they don’t. and rc, it doesnt do atomic operation, hence its much more performant than any c++ smart pointer because all of c++ smart pointer needs atomic operations.

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      and there are many btree implementations in rust since long time ago, don't know but pretend to know, awikwokwok

  • @krunkle5136
    @krunkle5136 Годину тому

    Yes, more code that's exponentially hard to dive into unless you're an AI (eventually).

  • @AshesWake-sf7uw
    @AshesWake-sf7uw 2 години тому

    Prime, Zig still isn't 1.0
    That's reasonable enough to not use it yet. It's great tho, but we have to wait ig

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      zig is a joke, sometime after i free a memory, i can still access it lmao, gives use after free bugs, etc. it's not close to rust at all, zig safety is still in c/c++ class

  • @MunishMummadi
    @MunishMummadi 6 годин тому

    So prime uses a pixel

  • @HrHaakon
    @HrHaakon 9 годин тому

    I mean, Derby is written in Java, and that's perfectly memory safe.

    • @leito1996
      @leito1996 9 годин тому

      Yes, you do not manage memory in Java or C# yourself (I know, there are unsafes but who uses them) so it is memory safe.

    • @HYDROGEN_OS
      @HYDROGEN_OS 9 годин тому

      Don't you know what the garbage collector is for? And Java can still experience other bugs like null pointers, data races, so it takes more effort because you have to find and fix it yourself, while Rust is assisted by the compiler

    • @HrHaakon
      @HrHaakon 8 годин тому

      ​@@HYDROGEN_OS
      If you get a null pointer and can't figure out where it is, when the stack trace will tell you exactly where in the code you got the null pointer, and the entire call stack that led you to this decision, then you need to learn how to read a call stack.
      Never had data races either. Java comes with a robust set of data structures for multithreaded applications, so this is just the skilliest of issues on your part.

    • @HYDROGEN_OS
      @HYDROGEN_OS 8 годин тому +3

      @HrHaakon that's not me. the point is java is not safe for all programmers, learn by reading. junior dev programmer can break java project with null pointer and data race. you don't program alone, are you just doing hobby project? in industry 1 big project is done by many programmers. each programmer has different skill, if there is a programmer who lack skill, it can break java project with the mistake they make, make people spend time in debugging instead of making feature. java can't catch null pointer in compile time. what you said is in runtime which is dangerous lmao

    • @HrHaakon
      @HrHaakon 8 годин тому

      ​@@HYDROGEN_OS
      A shit developer will not be better in say, Rust. Except that their code won't compile so the damage will be zero.

  • @xpusostomos
    @xpusostomos 10 годин тому +2

    Squeal lite? Not sequel lite?

  • @blackt0wer
    @blackt0wer 11 годин тому +14

    If it ain't broke don't fix it...

    • @LaysarOwO
      @LaysarOwO 10 годин тому +2

      theyre not "fixing" it. have you watched the video?

    • @AshesWake-sf7uw
      @AshesWake-sf7uw 2 години тому

      Try to make it actually open source

    • @worldspam5682
      @worldspam5682 2 години тому

      @@LaysarOwO it's the same as uglification/race swap that happens with twitter art. They all are "fixing it"

    • @LaysarOwO
      @LaysarOwO Годину тому

      @@worldspam5682 so we're racist... alrightttt

    • @worldspam5682
      @worldspam5682 Годину тому

      @@LaysarOwO oh, so now it's not racist to change race of something?
      Or is it not racist only if it was changed from one specific race to another?

  • @NikosKatsikanis
    @NikosKatsikanis 2 години тому

    why rewrite a 20 years battle tested staple?

  • @kevinkkirimii
    @kevinkkirimii 10 годин тому +1

    Why rust though and not zig ?

    • @HYDROGEN_OS
      @HYDROGEN_OS 10 годин тому +1

      rust enforce safety, so even junior programmers or noob programmers willnt able to break the project by making mistakes or bugs

    • @HYDROGEN_OS
      @HYDROGEN_OS 10 годин тому +1

      zig doesnt has many to offer

    • @johndoe2-ns6tf
      @johndoe2-ns6tf 9 годин тому +3

      @@HYDROGEN_OS that's BS, with capital letters. How rust prevents bugs and mistakes? If that's was true, then rust would be the first programming language to achieve the impossible and everyone would be using it. Don't spread lies.

    • @HYDROGEN_OS
      @HYDROGEN_OS 9 годин тому +3

      @johndoe2-ns6tf lmao, learn before talk. rust prevents memory leak, dangling pointer, data races, etc. the leave possible bug is only business logical bugs which is unrelated to language

    • @HYDROGEN_OS
      @HYDROGEN_OS 9 годин тому

      @johndoe2-ns6tf learn so that you have high skill

  • @Danielo515
    @Danielo515 8 годин тому

    For the gos shake, stop highlighting text!

  • @reubendeleon-ji6up
    @reubendeleon-ji6up 9 годин тому

    An tith uh sis, not anti thesis

  • @SXZ-dev
    @SXZ-dev 11 годин тому +28

    Why though? What is this push to just rewrite everything in Rust? I think it's just such a complex language that everyone learning it has to create a project like this as a learning mechanism and we just end up with people trying to rewrite literally everything in Rust lol
    But it's such a mindf*** to see so many new projects spring up where you ask "did you add something? no. did you change something? no. WTF did you do then? Oh it's written in a different language now!"

    • @oserodal2702
      @oserodal2702 10 годин тому +3

      Because everything is better written in Rust /j

    • @_kostant
      @_kostant 10 годин тому +11

      The entire video was a “here’s why”.. I’m so confused by your comment.
      It’s a rewrite + features. ¯\_(ツ)_/¯

    • @monsterhunter445
      @monsterhunter445 10 годин тому +4

      Because rust lets you define explicit types, guarantees some safety. Its modern, it has a learning curve but odds are if you are a good c++ dev you can definitely move to rust

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 10 годин тому +6

      Brother, the whole video is meant to just answer this question.

    • @mkabilly
      @mkabilly 10 годин тому +6

      Rust devs are annoying. With SQLite it’s even funnier, because the whole reason it took off is its ubiquity, and that’s in part because it’s in C and binding C is generally super easy. I severely doubt any rust rewrite will take off.

  • @TheCloneAcc
    @TheCloneAcc 10 годин тому

    Wait, it's all rust?
    Always has been.

  • @test-y1p7r
    @test-y1p7r 5 годин тому +3

    This Rust rewrite pandemic needs to be tamed.

  • @Samurai-Kit
    @Samurai-Kit 3 години тому

    Sqlite devs are fanatics. Limbo is new shiny staff made with new shiny staff. My prediction - sqlite will last, limbo will be adhd abandone , like shiny js frameworks 😊

  • @gustavojoaquin_arch
    @gustavojoaquin_arch 9 годин тому

    Average Rust enjoyer ⚡⚡🗿

  • @yaminnather521
    @yaminnather521 7 годин тому

    How are u saying libsqueal with a straight face lol

  • @CommanderRiker0
    @CommanderRiker0 9 годин тому +8

    This is such a waste of productivity.

  • @Mtylgd
    @Mtylgd 5 годин тому +2

    The 3 maintainers of SQlite:
    1. NSA
    2. CIA
    3. FBI

    • @da40au40
      @da40au40 4 години тому

      Lol😂

    • @worldspam5682
      @worldspam5682 2 години тому

      sounds more like a rust thing, as this cult is just like those cults that were controlled by cia...

  • @albizutoday2754
    @albizutoday2754 8 годин тому

    Prime is looking for a job already?
    😂😂😂😂😂😂😂😂😂😂😂

  • @DynamicalisBlue
    @DynamicalisBlue 2 години тому

    I’m all for rust rewrites but converting C/C++ code to Rust is just pointless imo.

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      its not, it ensures there are no hidden bugs that haven't been caught, even microsoft rewrote the windows core in c++ to rust

    • @DynamicalisBlue
      @DynamicalisBlue Годину тому

      @ Static analysers, like Clang, would detect most bugs that Rust would ‘pick up’ anyways.

    • @HYDROGEN_OS
      @HYDROGEN_OS Годину тому

      @DynamicalisBlue awikwok that's just a fairy tale, they are not equal at all, if so Microsoft and Google wouldn't have many bugs related to memory and pointers in their programs, and the Linux kernel wouldn't have tge said bugs either, now cry more

  • @chrisdaman4179
    @chrisdaman4179 8 годин тому

    Rusts memory model is not great for databases. It is not great for web, and it is not great for UI in general. Rust people have this conquering attitude that makes is very easy to root against them. The type system also doesn't play well with other applications and programs.

    • @HYDROGEN_OS
      @HYDROGEN_OS 5 годин тому

      said from a kid that doesn't know anything he said. rust memory model is the best for anything, its the best for both short runs and long runs. the best, the heaven language that is complete and has anything, performance, safety, confidence in building complex app with many different skill people working together, dont need to deep dive in debugging like others that will spend way way way many time in debugging, and then they have hidden bugs hides elsewhere that is not catched

    • @chrisdaman4179
      @chrisdaman4179 5 годин тому

      @HYDROGEN_OS the best for anything is why people hate rust and it will die on the vine. Know your limitations and trade offs. Rust is hot ass for large teams and large projects.