The US has planned their move to Rust (it's wild)

  Рет қаралды 115,423

Theo - t3․gg

Theo - t3․gg

Күн бұрын

Пікірлер: 579
@Tabonx_
@Tabonx_ 5 ай бұрын
Fun fact about how government can also work. In the Czech Republic, the government created an order/contract for a highway stamps e-shop for about 17 million US dollars. People thought it was unacceptable to pay that much for an e-shop, so one company created something like Hackaton with about 60 people and said that they would have that site ready in 48 hours for free. They delivered the site after the weekend, and the government ended up using it. This not only saved 17 million dolars but another 20 for some other thing the government ended up canceling based on this.
@koisose0
@koisose0 5 ай бұрын
government everywhere is the same i think they just do it to extract the money even my government does the same lol
@dealloc
@dealloc 5 ай бұрын
Works out if you've got people who like to work for free :)
@ascensionacademy3418
@ascensionacademy3418 5 ай бұрын
Lol the people do the work for free and they pocket 17 million. Good job!
@Basil-the-Frog
@Basil-the-Frog 5 ай бұрын
It sounds like the Czech Republic learned from Google and their Summer of Code program (and hackathons). And, of course, Google is not the only company sponsoring hackathons. That said, imagine if we trained doctors by having them hack for free on people before they were licensed. Ignoring the disturbing connotations of unqualified surgeons, I'll point out that some of the software hackathon participants are among the best programmers I've seen, particularly in the hackathons where professional programmers participate because they are short and over a weekend.
@CramBL
@CramBL 5 ай бұрын
@@ascensionacademy3418 "they" being tax payers... Somehow that's a bad thing?
@Shenepoy
@Shenepoy 5 ай бұрын
rust can't save you from bad programmers
@Jason9637
@Jason9637 5 ай бұрын
It makes it so that there are far less ways for a bad programmer to cause problems, and eliminates all the serious problems
@tdk99-i8n
@tdk99-i8n 5 ай бұрын
The folly of JavaScript some might say is that it stopped gatekeeping coding from from bad programmers
@BoyoWhoGoesPoyo
@BoyoWhoGoesPoyo 5 ай бұрын
It can save you from 70% of security bugs which are due purely to memory safety issues.
@romangeneral23
@romangeneral23 5 ай бұрын
@@Jason9637 Hahahahahahahhhahaha ahahahahaha. Thanks I needed that good laugh
@EbonySaints
@EbonySaints 5 ай бұрын
​@@tdk99-i8nAs a bad programmer, I concur. But man, JS allows you to get away with such insane amounts of stuff that wouldn't fly in any other language that I kinda have a soft spot for it.
@iamtheV0RTEX
@iamtheV0RTEX 5 ай бұрын
@7:00 The KZbin Channel "No Boilerplate" described this elegantly about a few core Rust packages: "Their last updates were years ago. They're not abandoned--they're **done**". Rust lets you finish projects...when "finished" is well-defined, of course.
@ManuFortis
@ManuFortis 5 ай бұрын
That's interesting, because one of the things that's been keeping me back from really diving into coding at all, is that constant need to create updates. I mean, if the update is truly needed, then so be it, but otherwise that 'finished' aspect sounds nice.
@stupidburp
@stupidburp 4 ай бұрын
I think some zealots are required to push forward new standards.
@experimentalcyborg
@experimentalcyborg 4 ай бұрын
@@LoneHawk You are correct, but this particular take is very close to the truth: When your end goal is strictly defined, it is possible for a software package to reach a stage where it is done and needs no maintenance. Rust makes this easier than most other languages because it guarantees you that you haven't made any memory related bugs or exploits. Of course you can still have bugs in the behavior of your solution, or requirements might change, or Rust might eventually reach a point where they need to make a breaking change. This also applies to other languages, you'll just have a higher barrier to reach "done" and dependencies are often more volatile due to the chicken and egg problem (if it's harder to reach "done" then your dependencies are more likely to go through breaking changes which means your package will also need updates to leverage the improvements in your dependencies)
@tonyb3123
@tonyb3123 4 ай бұрын
You will never get javascript developers to accept this. "This library is dead, it hasn't been updating in years" "But its a test-passing implementation for a spec that hasnt been updated in a decade" "No, it needs constant updates!"
@GrandpaRanOverRudolf
@GrandpaRanOverRudolf 4 ай бұрын
he is wrong. I really hate that guy. he's the reason I ended up getting into rust eventually, when I found his videos I dived in. He lied about everything
@Mempler
@Mempler 5 ай бұрын
The US Government literally just said: "Let's rewrite C in Rust"
@niclash
@niclash 5 ай бұрын
And 500billion dollars later, the effort has lead to more bugs than before and/or it is abandoned.
@Mempler
@Mempler 5 ай бұрын
@@niclash Still Better than the military
@niclash
@niclash 5 ай бұрын
@@Mempler Yeah, I forgot that the military needs an additional trillion dollars or two to do the same for all mil software.
@AGeekTragedy
@AGeekTragedy 5 ай бұрын
@@Mempler DARPA is pretty military adjacent.
@picosdrivethru
@picosdrivethru 5 ай бұрын
Army uses LISP I think
@zactron1997
@zactron1997 5 ай бұрын
Easily the best Rust take you've had. Government software, foundational libraries like OpenSSL, software in abandoned hardware (e.g., IoT smart devices, etc.) are all places where the cost of Rust is massively outweighed by the potential costs of not using Rust. I dont think I want every developer to stop writing NodeJS apps, but i definitely want the NodeJS filesystem API to be written in Rust, as an example.
@JoseHenrique-xg1lp
@JoseHenrique-xg1lp 5 ай бұрын
I wish ElasticSearch was not written in Java
@musashi542
@musashi542 5 ай бұрын
Or goddamn jenkins @@JoseHenrique-xg1lp
@skarpanton
@skarpanton 5 ай бұрын
@@JoseHenrique-xg1lpOk, why? Its not like it has the same memory security concerns as c or c++ as it is a gc language. Are you worries about null pointers or something? Or is the speed just too slow for you?
@quantum_dongle
@quantum_dongle 5 ай бұрын
Government software acquisition is changing. There is a general recognition that the way we do it now is unsustainable. As such, most of the DoD is adopting more iterative development practices using different types of acquisitions contract constructions. If you are curious, google "bending the spoon" and "there is no spoon" (both written by will roper, a former high level DoD acquisitions lead)
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
*Will Roper - Mark Rober is the popsci KZbinr. Thanks, will check it out!
@quantum_dongle
@quantum_dongle 5 ай бұрын
@@nibblrrr7124 good catch
@r.l.royalljr.3905
@r.l.royalljr.3905 5 ай бұрын
Fed contracts at my company are still usually fixed scope but state and local municipalities love having us use continuous delivery to get critical functions rock solid.
@Croz89
@Croz89 4 ай бұрын
I do think for non safety critical code a more iterative approach would be advantageous. One of the major problems with this style of writing software is that it is very hard to adapt it to changing requirements. What happens is that fed up users develop hacks and kludges to half implement new features because it's too expensive to update the code. They may even end up using the software for things it wasn't intended for just because it's too expensive and burdensome to do things properly. This goes on until everything becomes such a tangled mess the government is finally persuaded to fund an upgrade.
@cooltrashgamer
@cooltrashgamer 5 ай бұрын
Rust began as a personal project in 2006 by Mozilla Research employee Graydon Hoare, named after the group of fungi that are "over-engineered for survival" Nothing to do with actual rust like on metals
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
Fascinating. Is there a word for this kind of thing, or more examples? I.e. guessing/reinterpreting why something was given a certain proper name, and which symbolism or metaphor the author intended to evoke. It's a special case of folk/false etymology, closely related to backronym, and maybe in the same ballpark as retronym and dead metaphor.
@xXx_Regulus_xXx
@xXx_Regulus_xXx 5 ай бұрын
​@@nibblrrr7124 sort of like Python being named for Monty Python, yet using snakes for the logo.
@CrisCheese_
@CrisCheese_ 4 ай бұрын
​@@nibblrrr7124there actually is one in linguistics, i cant think of it right now though i will do some googling
@sturdyfool103
@sturdyfool103 5 ай бұрын
The fun thing about strings is that C++’s std::string addresses most of the string based issues on a language level, but people don’t know how to validate anything properly, mega skill issue
@maxrinehart4177
@maxrinehart4177 5 ай бұрын
habits are hard to die, people for a long time used the old methods and most resources are for the old methods therefore people will keep using these same old bad habits.
@sturdyfool103
@sturdyfool103 5 ай бұрын
@@maxrinehart4177 and I’ll steal their job because of their skill issues
@P-39_Airacobra
@P-39_Airacobra 5 ай бұрын
The issue is not that there's no way to write memory safe programs, its that you CAN write memory unsafe code. Using Rust makes sure nobody has to manually go through and verify everyone's code to make sure it's ok, because the compiler does that automatically.
@dryk-sdjberg
@dryk-sdjberg 5 ай бұрын
​@@P-39_AiracobraNobody is "manually going through and verifying" code. Safety has been a solved issue in C/C++ for a long time. All of this is automated. We don't worry about this at all, which is why we didn't adopt Rust over the past decades, you know. Our problems are maintainability and interoperability. Rust is pretty much the last thing C/C++ engineers want. This detached-from-reality online-hype culture is really messing with people.
@dealloc
@dealloc 5 ай бұрын
@@P-39_Airacobra > Using Rust makes sure nobody has to manually go through and verify everyone's code to make sure it's ok, because the compiler does that automatically. This is a fallacy. Rust prevents some memory safety concerns but it does not prevent unsanitized input, memory leaks or unchecked uninitialized memory. On top of that, if you need something to be more performant and effcient, chances are that you have to resort to unsafe code in some cases - this does not mean unchecked code, but it does mean that it's allowed to work with the raw pointers and the compiler can only help you in very specific cases. Write any type of cyclic data structure in Rust, and you'll likely come to the conclusion that it's not that easy without some unsafe code, or end up with less than much less efficient solution due to the compiler adding additional runtime checks. What Rust does help with is manage unsafe code in blocks, rather than globally. But it does not prevent it.
@tinrab
@tinrab 5 ай бұрын
The lower speed of development argument is not accurate. I don't think writing Rust slows me down at all. I can even do leetcode in Rust. There was also that report from Google about how productivity doesn't suffer. Also, keep in mind that the goal of Rust is being a well-designed language without many compromises. So, it is harder to learn, but the code is healthier.
@OldKing11100
@OldKing11100 5 ай бұрын
You're just built different. I can go way faster in Go for web services. I can write Rust... just not good Rust.
@tinrab
@tinrab 5 ай бұрын
@@OldKing11100 Its difficulty is always overstated. The trick is having learned patterns and not unnecessarily complicating your solution.
@timseguine2
@timseguine2 5 ай бұрын
Yeah I don't buy it either. The only thing that is slow is a full build. But the programming workflow in rust is more compiler driven than "compile and then run it" driven. So if you are doing rust "right", you are spending a lot of your time doing incremental compiles and modeling your data in a way that if it compiles it probably works first try. You fix most of your issues by fighting with the compiler on an incremental build until it doesn't give you errors (errors that would have happened at runtime in another language). And that loop is fast. You still run tests, but it isn't the 90% of your time that a traditional test heavy workflow is in another language.
@emeraldbonsai
@emeraldbonsai 5 ай бұрын
@@OldKing11100a lot of it is just getting used to it and getting your flow down I used to be faster in python but I can now do better rust code in the same time as python. In the end it takes time to get to the speed of a lang you’ve been using for awhile
@phene-449
@phene-449 5 ай бұрын
i feel the same way as well. i think initially it can be slower but once you get comfortable it's fairly fast. i'm faster with go but i prefer writing rust code.
@pokefreak2112
@pokefreak2112 5 ай бұрын
Yeah I can't imagine this ever going well... Rust and C are completely different languages. You can't just translate a C codebase into idiomatic Rust, the right abstractions will be different for every project and should be carefully engineered by people with both domain-specific experience and experience with Rust. The code reviews on serious government projects like this should take 20x longer than the actual implementations anyways, so unless they're blindly trusting the code output by their translator I don't see how this would save any time.
@maxrinehart4177
@maxrinehart4177 5 ай бұрын
Rust cult infiltrated the government, RuSt iS SaFe LaNguaGe.
@tainicon4639
@tainicon4639 5 ай бұрын
Stop thinking and drink the cool aid
@ITSecNEO
@ITSecNEO 5 ай бұрын
It's pretty easy to translate C to Rust Code, people like you didn't even tried it once but have strong opinions xD Makes no sense. Because of Rusts abstractions it's even less Code in the end
@pokefreak2112
@pokefreak2112 5 ай бұрын
@@ITSecNEO Yeah no lol. In C we make our own data structures and string types. Even just determining wether to rewrite those to the Rust builtins or keep the bespoke implementation is an incredibly complex decision. Then you have pointer-heavy code, gotos, longjumps, custom allocators, platform-specific data types, opaque structs, inline assembly... And then in rust you need to reachitect the entire application to make use of traits, pattern matching, operator overloading, slices, modules etc, all while appeasing the borrow checker. It's not happening.
@artxiom
@artxiom 4 ай бұрын
@@pokefreak2112 You can already transpile C to (unsafe) Rust - all you have to do then is to go through all that generated code and convert it to idiomatic and safe Rust. It's a lot of work, yes but also very doable and many have done so actually. It's one of the standard Rust challenges to convert some legacy C-lib to Rust ;) Also not all code will be difficult, that really depends.
@Turalcar
@Turalcar 5 ай бұрын
8:22 Borrow checker and other types of static analysis take a minuscule amount of time compared to the actual slow parts (i.e. linking)
@starbrandX
@starbrandX 5 ай бұрын
A lot of the US military has been using Ada for a long time
@electronics-girl
@electronics-girl 4 ай бұрын
That's literally why Ada was created.
@DevynCairns
@DevynCairns 5 ай бұрын
Converting sync to async is an extreme example because Rust works very, very differently depending on which you're using. I have done it but it takes a while. Compile times are also better for sync code and there are a lot of things that you just have to know about async But I really disagree that Rust makes it harder to iterate. I think it's actually easier in some ways because the compiler catches so much of the potentially wrong behavior and it does so pretty quickly with great feedback. With an LSP you can just jump around and fix everything. By the time it compiles and you run your unit tests, the likelihood of everything just working is higher than typical for many other languages. It's a comparable experience to Haskell but with better diagnostic messages and more LSP features
@benmeehan1968
@benmeehan1968 5 ай бұрын
What can go wrong? You have a legacy code base that has largely known behaviour, and most of that is probably not codified in terms of tests (or with limited coverage), but just real world experience of its operation. You convert the code base to a new language, now what do you have? Whilst I'm sure part of the point of Tractor is to ensure equivalence, how do you prove that? Do you just ship it and hope for the best? It might well remove a class of software defects, especially around vulnerabilities to bad actors, and that might be a worthy goal, but this seems to be arguing the case against "if it ain't broke don't fix it" because we don't know the ways in which something might be broken, and indeed, it might not be broken at all. So you might just end up refactoring logic in millions of lines of code that represented no threat, in ways that you can't yet predict. The goal is good, but as with everything, the implementation is what counts, so lets hope someone did thorough risk analysis or we might see another CrowdStrike.
@stephenjames2951
@stephenjames2951 5 ай бұрын
For me the biggest challenge is how to determine if the conversions are correct. Having worked on many legacy rejects there are so many hidden behaviors that are almost impossible to test.
@tainicon4639
@tainicon4639 5 ай бұрын
They will use an LLM… what could go wrong
@arsenbabaev1022
@arsenbabaev1022 5 ай бұрын
using LLMs is a very shitty idea, you have to re-write it by hand.
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
Or Good Old-Fashioned AI that actually proves equivalence according to specified criteria, using search and formal logic. LLMs might actually be a great way to provide better heuristics (i.e. possible solutions to try out), but I hope it doesn't mostly rely on it end-to-end. Automated theorem proving & co aren't as sexy, so maybe they wanted to benefit from the ML hype?
@JeffBartlett-kj6sq
@JeffBartlett-kj6sq 5 ай бұрын
It might work if they parse the C to an abstract syntax tree, use LLM to convert to a Rust abstract syntax tree, then render to Rust source. The C preprocessor will give them grief. I wrote a 6000 subroutine C program that converted a domain specific language to another DSL and preserved the conditional compilation from the preprocessor. I was lucky that both had a preprocessor. Rust does not.
@majidaldo
@majidaldo 5 ай бұрын
I think they put it for the buzz effect
@seanaustin2404
@seanaustin2404 5 ай бұрын
@@JeffBartlett-kj6sq rust does have a preprocessor, its macro system, and it sits somewhere between a traditional c style tokenizer and template expansion build tools found in c++, but it also extends beyond that in its expressiveness. a famous example is a macro from a library that takes in an SQL query, tests it for correctness, and then produces rust code to express that query, all within rust's build tools.
@geekswithfeet9137
@geekswithfeet9137 5 ай бұрын
Don’t judge LLM’s based on prior experience if it’s not recent, I find gpt4o to actually write very decent code. Especially if I get it to debug itself. Literally 10x faster than I can actually even type it myself
@jaredvizzi8723
@jaredvizzi8723 5 ай бұрын
You had me at “the software engineering community has reached a consensus”.
@emeraldbonsai
@emeraldbonsai 5 ай бұрын
I find rust iteration time at least for proper code is actually pretty fast. Also the slowness is really only on the first builds after the first are pretty dang fast. As for the making a function that wasn’t async async the big question is why didn’t you just code it async in the first place? Pretty much haven’t touched sync rust since I started learninh
@Turalcar
@Turalcar 5 ай бұрын
Some projects were started before async
@ProgrammingWIthRiley
@ProgrammingWIthRiley 5 ай бұрын
Meh, add enough crates in and create enough or your own macros and structure and it just gets slower and slower.
@Vin50000
@Vin50000 5 ай бұрын
You should still do fully raw builds for production code
@DevynCairns
@DevynCairns 5 ай бұрын
Sync is better in some ways if you're not really going to be I/O bound, and because of the way async code is internally represented it tends to make compile times absolutely explode on large projects if you're not careful to set up some boundaries to prevent the type explosion
@michawhite7613
@michawhite7613 5 ай бұрын
@@Vin50000 That is the default behavior in Cargo
@_stix
@_stix 5 ай бұрын
Regarding compile times, the customer doesn't care how many minutes it took you to compile your code, suck it up and watch the loading bar
@pokefreak2112
@pokefreak2112 5 ай бұрын
@@_stix That's not a real solution. If you think like this developers will do the bare minimum to comply with whatever quality standard they're being held to and won't put in any effort beyond that. If you want actually good software you should create an environment where developers feel intrinsically motivated to do a good job, fast compile times are a part of that.
@ultimatedude5686
@ultimatedude5686 5 ай бұрын
@@pokefreak2112 Keep in mind that unless you have a truly massive codebase, most of the compile time will be spent on your dependencies. Because Rust uses incremental compilation, you only have to compile those dependencies once, so the effect on iteration speed isn't as high as it seems.
@5h4ndt
@5h4ndt 5 ай бұрын
You clocking out for compile times or passing that cost onto your customer? If the latter, I bet the customer cares.
@kiseitai2
@kiseitai2 5 ай бұрын
⁠@@pokefreak2112I never have been in an environment where I am intrinsically motivated to do a good job. I still exceed expectations even when I have to fight the behemoth so I am allowed to do the right thing. Maybe that’s because I am a professional and take pride in my skills and craft. I don’t know what you are smoking.
@pokefreak2112
@pokefreak2112 5 ай бұрын
@@kiseitai2 Pride is an intrinsic motivator.
@glynnec2008
@glynnec2008 5 ай бұрын
What ever happened to Ada? That was the Federal government's previous effort at software security / standardization. It's actually a pretty nice language.
@simpletongeek
@simpletongeek 5 ай бұрын
I believe it was phased out because it was an incredible pain to code in it. I remember it took 45 minutes to compile a 300 line programs. Granted it was when the student were all compiling simultaneously. It's still longer than C. Once Borland came up with TurboC, everything else faded into obscurity.
@davidwhatever9041
@davidwhatever9041 5 ай бұрын
something like this happened with a defence reaserch institute in the uk, the order came, stop using fortran and start using algol. as a result everything stoped for a year as everyone spent their time porting their fortran to algol and after a year the head of the institution was replaced and everyone went back to fortran. i hope this move works out better.
@JanVerny
@JanVerny 5 ай бұрын
It always baffles me how completely oblivious the figure heads at the top can be. Of course, change is hard and costly, and in the beginning it always looks like things are not improving. But long term, the cost of not changing is always higher. It's like if a heavy smoker started going jogging, and then after like 3 days, decided that his lungs are in poor shape because of the exercise.
@GreatWalker
@GreatWalker 5 ай бұрын
16:08 What I've noticed is that LLMs can tell you the rules of Rust but it sucks at following them. It will therefore give you code that won't compile.
@stupidburp
@stupidburp 4 ай бұрын
Sounds like a training issue
@electronics-girl
@electronics-girl 4 ай бұрын
I don't know how they're planning to do it, but personally I would use LLMs to recognize idioms in C code, and figure out which Rust idioms to translate it into. But then use a hand-written translator (that you know will produce equivalent code) to actually convert the C to Rust, using the "strategy" laid out by the LLM. That way, if the LLM fails, you'll just get "weird" code that uses very different idioms than a human programmer would, but that still compiles and still produces the same result as the original C code.
@TheTmLev
@TheTmLev 5 ай бұрын
Is it fair to assume Theo never shipped a Rust-based project to production and maintained it? If so, it's interesting to see him speculating on something he has little to none experience.
@foxwhite25
@foxwhite25 5 ай бұрын
LLM can't even generate rust codes that compiles most of the time
@fpeng3706
@fpeng3706 5 ай бұрын
I believe there’s a good saying to fit rust development: “Good things take time”
@Elesario
@Elesario 5 ай бұрын
I'm a bit dubious of the whole concept. The number of challenges to face into and whether the result code will be worth it is dubious. 1. You're just going to get Rustified C. Unless they have some very fancy tech that can take C concepts and turn them into Rust concepts, you'll get code that doesn't take best advantage of the concepts of the language. 2. It's a false premise that just by translating into Rust your code is automatically "safe". Rust is built around achieving memory safety, but there are other code flaws that could cause problems it won't auto find for you. 3. If you can write code that can turn runnable C into runnable Rust, then you're pretty much making a borrow checker to get the translation right. By the end of the project you've got a tool that can scan C and tell you were the memory errors are anyway. Most likely outcome is you make a tool that does a basic equivalent code to code translation, that probably won't compile without manual intervention. It might act as a good starting point to have a team of developers recode critical areas, while the boilerplate is taken care of by the translation tool. However, as was pointed out in the video, if you make certain choices early in Rust, it can become difficult to redirect the code later without refactoring the code to some degree, and with a tool like this, the choices come from the translation.
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
Go or (procedural-style) Java/C# would at least be more straightforward to translate, if your main concern is memory safety. Though, given my near-zero experience with production C code, maybe I'm underestimating how often it involves actually clever pointer pro gamer moves, instead of just implementing string processing and trees etc. the hard way. Embedded probably more often, and there the performance hit of these VM languages would be a concern. In either case, there you'd also have trouble translating those into Rust.
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
Those kinds of tools already exist for C anyway, both static and dynamic analysis. The paper makes the disingenuous argument that such tools aren't enough even though they're already better than what the Rust compiler provides and more feature complete.
@jakelexington7610
@jakelexington7610 5 ай бұрын
No where does it state that they are "better".
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
@@jakelexington7610 Was that supposed to be directed at me, because I see no one else even using the word better. If it was, then you may need to reread what I wrote to come to actually understand it.
@electronics-girl
@electronics-girl 4 ай бұрын
@@nibblrrr7124 I have a lot of experience with production C code, and it tends to do lots of things like casting pointers to integers and back, or using unions (sometimes just to optimize storage, but sometimes for type punning purposes). And all sorts of other stuff. Even well-written code would be difficult to translate, and the majority of "production" C code I've seen (especially if it's been around a while) is quite horrifying. There's also the fact that Go, Java, and C# use a garbage collector. C uses manual memory management, which is inherently unsafe (e. g. use-after-free bugs). Rust makes manual memory management safe, but to do so it requires coding in a certain way, and adding a lot of annotations to code (i. e. "borrowing" versus ownership).
@nicolaskeroack7860
@nicolaskeroack7860 5 ай бұрын
that's what happens when unsupervised childrens get access to an unlimited supply of money: let's rewrite 1 million lines of legacy code that already works using an llm technology that doesn't exist yet and needs to be funded(gpt cant convert 1m+ lines), even if it introduces a thousand new potential points of failure, since the code needs to be rewritten in its entirety by a black box AI transpiller
@_sjoe
@_sjoe 5 ай бұрын
Define “already works.” They’ve clearly identified the millions of lines of legacy code as a national defense liability. Do you want our power grid, communication systems, weapon systems, etc. running millions of lines of code riddled with exploitable memory bugs? The number of domestic and foreign cyber attacks will only increase going forward, and I would prefer our critical infrastructure to not be so vulnerable, thanks. Read up on DARPA. They have pulled off some of the greatest technological innovations in history. I’m very glad that people much smarter than you and me are trying to tackle these issues, just let them cook.
@kiseitai2
@kiseitai2 5 ай бұрын
Yeah, that’s the part that worries me but attempting to refactor as much of the C stack as possible is not a bad idea. I just don’t agree with using llms. They obviously do not understand machine learning.
@nicolaskeroack7860
@nicolaskeroack7860 5 ай бұрын
@@kiseitai2 "attempting to refactor as much of the C stack as possible is not a bad idea" as I said, if a billion lines of legacy code already works, why would you even think about changing it. there's nothing wrong with c. why waste the taxpayers money funding something useless that doesn't even need to exist when there's so much inflation going on for example
@No-mq5lw
@No-mq5lw 5 ай бұрын
Well, it's DARPA. If it isn't filled to the brim with scientists given all the moneys and told to channel their wildest ideas into something plausibly useful for the Pentagon, then what in the world are they actually doing? And I will also remind you that they have a bunch of AI powered projects in the works from Wikipedia, let alone stuff that's classified.
@quintrankid8045
@quintrankid8045 5 ай бұрын
Are they going to prove that the translator works?
@InternetEntreprenuer
@InternetEntreprenuer 5 ай бұрын
"Spanish and Hindi are the safest languages, we are trying to move away from English because of ideological leakage" - US government
@quintrankid8045
@quintrankid8045 5 ай бұрын
IDK about Spanish, but as to Hindi: Maya OS.
@urooj09
@urooj09 4 ай бұрын
Atleast hindi is phonetic so you don't have different pronunciation for similar spellings
@everythingisfine9988
@everythingisfine9988 5 ай бұрын
Wait, Java, C# & Python are "safe" but Go isn't?
@airkami
@airkami 5 ай бұрын
This is not the solution they think it is. This is the equivalent of having an issue with your neighbor and contacting your congressman to help pass a law that makes it illegal for your neighbor to be annoying.
@planetchubby
@planetchubby 5 ай бұрын
makes me wonder how safe "tractor" is...
@NorthstriderGaming
@NorthstriderGaming 5 ай бұрын
Code safety starts with the person writing the code. Rust is not going to change that.
@zb2747
@zb2747 5 ай бұрын
🎯
@anotherelvis
@anotherelvis 5 ай бұрын
Big companies such as Microsoft don't have enough top 10% programmers, so Rust is a great choice for them.
@_sjoe
@_sjoe 5 ай бұрын
@@anotherelvis we need to stop this myth that “it’s ok for top 10% developers (whatever that means) to use unsafe tools.” No amount of skill or experience prevents people from writing memory bugs in these languages. Tell me you’re inexperienced without telling me you’re inexperienced.
@daphenomenalz4100
@daphenomenalz4100 5 ай бұрын
It's atleast better than nothing tho, a lot of bugs go away just from using rust, but yes they do still exist. But it's better if you have less bugs than more bugs xD Not saying rust is the holy grail, async rust sucks ass. That's a reason why Prime moved on
@Ollinho12
@Ollinho12 5 ай бұрын
Slow development of governmental programs just took on a new meaning.
@dennisestenson7820
@dennisestenson7820 5 ай бұрын
In 2024, LLMs are as about as good at writing rust as they are at telling you how to drive a car.
@drilkus1312
@drilkus1312 5 ай бұрын
Dang, so where do I get me one of them lucrative Government Contract writing Rust?
@grantgreer6525
@grantgreer6525 5 ай бұрын
I had a recruiter last year with the DOD ask if I could get a top level security clearance to do something rust related. I wonder now if this is what they were preparing for.
@matt.loupe.
@matt.loupe. 5 ай бұрын
usajobs.gov, sam.gov if you are the contracting company
@ethanwilkes4678
@ethanwilkes4678 5 ай бұрын
@@grantgreer6525 which one?
@ChannelSho
@ChannelSho 5 ай бұрын
I noticed that, at least as far as dynamic memory safety, the government contractors I worked for had C projects that simply didn't include a heap. Even when there was an OS of some sort, this idea carried over to applications written on top of that. So there was no mallocing, and everything as much as possible was well defined so you could reasonably size the arrays.
@complexity5545
@complexity5545 5 ай бұрын
We already do/did this with haskell as the translator. You give Haskell the C code, and then it spits out IR, C, C--, and other languages. I guessing they're just using that in the background, but most programmers forgot.
@anotherelvis
@anotherelvis 5 ай бұрын
The automatic translation is probably a small research project that supports a larger goal.
@conceptrat
@conceptrat 5 ай бұрын
Surely the problem isn't the language but the developers/consultants they contracted to develop the systems?
@user-dx3px4iv8p
@user-dx3px4iv8p 5 ай бұрын
Thumbs up for including sources in the description!
@skeleton_craftGaming
@skeleton_craftGaming 5 ай бұрын
What DARPA really needs to do is to fire the small amount of bad programmers writing bad code. Just because rust is memory safe doesn't mean you can't introduce any bugs at all [It just means the bugs that you do introduce tend to be less critical] Also, I've heard from multiple different sources that You can leak memory in "safe" rust code. The only reason I haven't learned to rust is because C++ is just as memory safe [If with a slightly esoteric syntax] And compiles faster. And produces just as fast [if not faster] Binaries [I also find it really funny that modern c++ has all of the upsides that you praise Russ for having with none of the downsides and yet you seem like you would not call it a good language. (Maybe I'm wrong about that) I think the objective facts that you stated Are just a few reasons why they should be using rust.]
@Musicalcode313
@Musicalcode313 5 ай бұрын
think they'll change the the dollar bill to "in rust we trust"? =D
@grail9558
@grail9558 5 ай бұрын
It’s interesting that the video starts with a screenshot of 404 error code and mentioning a government website as an example of bad government software. I thought this video was about moving from C to Rust. C is not used for web development.
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
Not predominately, but it is on occasion used for web development. There are transpilers that convert to JS as well as compilers to wasm.
@grail9558
@grail9558 5 ай бұрын
@@anon_y_mousse I understand what you’re saying but that’s not what we’re talking about here. Show me 1 Web Development job post that lists C as a required skill.
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
@@grail9558 There aren't many, but they do exist. Although, most, but not all, jobs that require C and revolve around the web space are generally about maintaining old code, generally stuff that only runs on the server or is itself the server software.
@ruslansmirnov9006
@ruslansmirnov9006 3 ай бұрын
imagine artificially pushing a language which calls the same processor instructions, just does it the other way round - and naming it a revolution
@SimGunther
@SimGunther 5 ай бұрын
3:46 So why not have an alternative standard library without all those unsafe functions? Just crazy anyone would ever use strcpy today...
@freedomgoddess
@freedomgoddess 5 ай бұрын
so why not set rules for which, how, why and when things should be done? and there you go, rust is already obsolete in the hands of anyone who already has had such rules in place. fads like unsafe languages masquerading as safe ones get tiring -- and safety, mind you, is everything relating to the final product, not just whether you can do something "dangerous" in a language or not. hope the us gov't has fun with the code monkeys that can't even program strcpy() themselves.
@nosdrowia6034
@nosdrowia6034 5 ай бұрын
Unfortunately anything put forth by DARPA will fall on deaf ears by the majority of government. A great deal of development within the US government is done in silos, meaning things vary greatly by organization down to the individual offices. I was a government contractor for many years (3 different agencies, 6+ different departments within said agencies) and always heard the term "modernization" everywhere I went. It was 100% of the time lip service as budgets and office politics ALWAYS determined efforts. A whitepaper will not convince a GS14/15 or low-level SES to focus on modernizing or quality. The work that gets them recognized for a promotion will always win, and that never involves evolving tech, always how they used their budget.
@Xankill3r
@Xankill3r 5 ай бұрын
I really hope they do a proper evaluation on LLMs and end up abandoning them as a technique option as suggested in the initial description of TRACTOR. We *NEED* provable correctness for a program that is designed on the premise that auto-converted C to Rust is going to be safer than the existing codebase. LLMs cannot give us mathematical certainty for their outputs.
@thegoldenatlas753
@thegoldenatlas753 5 ай бұрын
LLMs is only one suggested option. I don't get why the comments are full of people thinking its just an LLM.
@Xankill3r
@Xankill3r 5 ай бұрын
@@thegoldenatlas753 because other methods for cross-compilation and translation are well tested and mathematically provable. That provability is critical when the entire reason for this exercise is security.
@bushidocodes
@bushidocodes 5 ай бұрын
There is similar work happening around converting government mainframe assembly and COBOL to Java. The US government version of Rust is going to be something like being pinned to the 2015 Edition and being limited to a few security-approved packages/crates installed via a private git repository. Given that we're talking about auto-translated blobs of source code, the Rust source code will very likely be large and confusing monoliths with C shared-state and weak types mapped to Rust shared state and weak types. Getting to that point is really the "starting line" for refactoring, but federal leadership will likely view this as the "finished line." As you pointed out, the actual problem is that the Federal government does not view software development as a continuous and iterative process. Federal executives generally have very poor understanding of software because that work is outsourced, so it's lawyers and contract managers and policy enthusiasts that run everything.
@ardentglazier2867
@ardentglazier2867 4 ай бұрын
At least in DoD, few 'important' systems can in fact be iterated, unless one considers deployments every 2-4 years (if you're lucky) 'iteration'. The closer you get to the pointy end of the spear, the longer the software deployment cycles, IME--except in a few restricted cases. It wasn't unusual to miss a deployment cycle because the platform wasn't available because it was redeployed to go blow something up or fill a gap due to some other mechanical failure. Furthermore the more extensive the changes, the more likely it is your accreditors will insist you go through much more extensive testing cycles, taking more time and increasing the risk in the schedule. Back in the day it was pretty amusing explaining to BigTek leetcrowds that iterative testing on missile software wasn't a good idea... they started out pretty officious and condescending towards us gubmint project managers and developers, and when it was pointed out that their 'majik bullits' weren't going to Solve World Peace they were kind of resentful. It's not like you can just push the "Reload" button over and over on the "Declare War!" web page... That being said for the stuff I was doing we'd demonstrated C2C24 (compile to combat in 24 hours) (circa 2019) on the sekret squirel system we were doing exercise demos for. Deployment these days (well, 'those' days) is rarely a technological problem, strictly speaking--it's thoroughness of testing & functional confidence and keeping various accreditation weenies happy. Good Times.
@devinlauderdale9635
@devinlauderdale9635 5 ай бұрын
It's inaccurate to say all government dev cycles are waterfall, that is just not true. There are departments of the federal government that operate like agile startups. A notable mention specifically is the IRS.
@koteelok2014
@koteelok2014 5 ай бұрын
Surely there's no unsafe code in rust codebases
@wtfisgoingon535
@wtfisgoingon535 5 ай бұрын
Rust unsafe is not that crazy. It just add 5 possibility: - Dereference a raw pointer - Call an unsafe function or method - Access or modify a mutable static variable - Implement an unsafe trait - Access fields of a union When you use unsafe its on very defined part of the code, most of the time it one line. Project that allow unsafe code, require the code to be commented, with proof that its a still safe to do it that way. And that remove 0 mechanism that make Rust great. Also most people will never use unsafe code by themself.
@dryk-sdjberg
@dryk-sdjberg 5 ай бұрын
I think it's not so much about Rust being safe, but rather Rust having the potential to work well with ML/LLMs. Nobody would touch those low-priority legacy C codebases otherwise. Too expensive. In this case it also won't matter how unreadable Rust code or generated Rust code is.
@koteelok2014
@koteelok2014 5 ай бұрын
@@dryk-sdjberg surely LLMs are safe
@anotherelvis
@anotherelvis 5 ай бұрын
@@koteelok2014 Let's give up and stop securing our IT systems. It is too difficult.
@daphenomenalz4100
@daphenomenalz4100 5 ай бұрын
People always misunderstand unsafe word in rust bruh
@ximalas
@ximalas 5 ай бұрын
Is this a parallel story to US DoD and Ada?
@johnanderson8324
@johnanderson8324 5 ай бұрын
And we were instructed by the government to move everything to type safe Ada over 30 years ago. Look at how well that went over. We really need to get over this fallacy that one language is good for all software and all software is basically the same. Polluting a language used to write operating systems and device drivers with features desired by web application developers is silly. If Rust is going to be used for operating systems and embedded software, it needs to be lean. No language designed by committee has ever been lean.
@electronics-girl
@electronics-girl 4 ай бұрын
Oh, agreed that websites shouldn't be written in Rust. There are plenty of high-level garbage-collected languages that are better suited for that. But there is a lot of low-level code written in C that could probably benefit from being ported to Rust, however it is done. I could be wrong, but personally I think the failure of Ada is that it never achieved much traction outside of government contracting, and related fields. Rust is already quite successful, so I think it makes a lot of sense for the government to use a language that others are already using, rather than inventing their own as they did with Ada.
@krumbergify
@krumbergify 5 ай бұрын
Unfortunately waterfall is used outside of the government as well :/.
@Matt23488
@Matt23488 5 ай бұрын
I worked at a defense contractor from 2014 - 2016, and even back then we were already using agile. We were targeting IE8 also, and no other browser mattered for the DOD. But we were following modern development practices. There are probably some areas that go through what you've described but that was not the case for the software we worked on. Most of government software is contracted, that part was correct. But our teams were static. If the contract changed vendors, we changed employers. We stayed with the software, it did not go to a completely different team at a completely different company. Nor did we even have to change offices, we stayed at the same office even.
@agatemosu
@agatemosu 5 ай бұрын
python and javascript are written with C
@thegoldenatlas753
@thegoldenatlas753 5 ай бұрын
Python has parts of it being rewritten in rust actually.
@brennan123
@brennan123 5 ай бұрын
Why just "memory" safe? Kinda feel like logic and type safety are important as well. I always thought Go was unsafe because if you forget to do `if err != nil` every other line (hyperbolic but somewhat true), your program can break in unexpected ways. Type safe languages with exhaustive pattern matching force you to handle all scenarios and the compiler can catch more problems at compile time.
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
I guess null pointer exceptions causing crashes is less of a condidentiality/integrity risk than e.g. buffer overflows causing memory dumps or remote code execution? Obviously just as bad for the "availability" part of the infosec trinity, and the integrity of systems if not necessarily data.
@thegoldenatlas753
@thegoldenatlas753 5 ай бұрын
Memory safety accounted for 70% of all major vulnerabilities.
@ProgrammingWIthRiley
@ProgrammingWIthRiley 5 ай бұрын
I’m a fed and I write rust. This is not everywhere just yet. I think it may be soon.
@freedomgoddess
@freedomgoddess 5 ай бұрын
guy actually just said "hi, i glow"
@ProgrammingWIthRiley
@ProgrammingWIthRiley 5 ай бұрын
@@freedomgoddess glow red white and blue
@Thegamecheats
@Thegamecheats 5 ай бұрын
@Fedsmoker come deal with this man
@ProgrammingWIthRiley
@ProgrammingWIthRiley 5 ай бұрын
@@Thegamecheats RIP kzbin.info/www/bejne/mKmXhY13opyiY6csi=xluqjVUCUnOyIwJT
@quintrankid8045
@quintrankid8045 5 ай бұрын
Can you please let us know when the legacy COBOL stuff the nice tax people use will be migrated. Again.
@TheLummen.
@TheLummen. 5 ай бұрын
No zig ?
@Zuranthus
@Zuranthus 5 ай бұрын
they can't even build a web site and you think they'll build this?
@williamkaiser6075
@williamkaiser6075 5 ай бұрын
Please Google what DARPA is before commenting
@whoknows3679
@whoknows3679 5 ай бұрын
@@williamkaiser6075thanks for this comment, I didn’t knew
@sumitpurohit8849
@sumitpurohit8849 5 ай бұрын
Image a rust programmer in a govt job.
@jonkeau5155
@jonkeau5155 5 ай бұрын
The reason planning and building takes far longer for the government is that they feel they have to give account for every dollar wasted on a cancelled project done with taxpayer money, but they don’t have to account for money spent if it just took a lot longer and went way over budget but still got done.
@MassCaMb0
@MassCaMb0 4 ай бұрын
I've never touched rust, but from your description of the language, it sounds like it could have been purpose built for dod
@TheOmfg02
@TheOmfg02 5 ай бұрын
The rust build times really aren’t that bad
@nightshade427
@nightshade427 5 ай бұрын
we have options to make c safer (shadow stack and other methods, these even can run at hardware level), that current code can be recompile with, we just choose not to, why not start there vs trying to transpile to rust?
@rcoder01
@rcoder01 5 ай бұрын
Those tools have existed for decades yet issues still arise, why not move to a language that is safe by default where these kinds of issues can't even occur?
@nightshade427
@nightshade427 5 ай бұрын
shadow stack support is new in Linux (6.6-6.10 and higher kernel i think), and fairly new at hardware level, no one enables them because its fairly new, there is soo much c code why not start by making c safer with no to little modifications, vs rewriting everything, which is practically impossible?
@dryk-sdjberg
@dryk-sdjberg 5 ай бұрын
@@rcoder01 Because the issues you feel like you are talking about don't occur as often as you think and if they do they are caught long before making it to production. Safety is a solved problem. So is performance. We worry about maintainability and interoperability. Which is why we never adopted Rust and likely never will. Rust is pretty much the exact opposite of what we need ; )
@dryk-sdjberg
@dryk-sdjberg 5 ай бұрын
Why not start there? The point is that they don't want to spend money on human resources rewriting low-priority legacy code. Rust + ML is perfect for this use-case. Honestly, I think Rust may have finally found it's niche.
@nightshade427
@nightshade427 5 ай бұрын
no need to rewrite, compile c with safety features on, increase safety of running c apps without changing code
@CaleMcCollough
@CaleMcCollough 5 ай бұрын
All of the contractors are like "sure you need to upgrade all of your C code to Rust, hire me!" Script2 (C++) compiles in 3 seconds and has an API for working with memory safely. We don't need Rust. We will port Script2 to Rust at some point as we are based on the ASCII Data Spec (AKA neo-ascii). I think the C/C++ code is just fine.
@basilefff
@basilefff 5 ай бұрын
I mean, I don't think C++ compilation speeds are much better then Rust's, would love to see a good comparison. As for the C/C++ being good enough, well, it already exists and seems to be insufficient, and if real world analysis shows that Rust will be better then it's a good move.
@CaleMcCollough
@CaleMcCollough 5 ай бұрын
@@basilefff No, it's just that people compile hundreds and thousands of translation units and that is really slow. One translation unit loads much faster. I use a 3-file header, on for a header with no code, one for header with code, and another for inline header implementation. I'm not sure how much this helps my compilation speed compared to single translation unit with inline header impl, but at one point in time it was faster..
@basilefff
@basilefff 5 ай бұрын
@@CaleMcCollough I mean, sounds insane and nightmarish to maintain, but if the benefit is there, nice
@CaleMcCollough
@CaleMcCollough 5 ай бұрын
@@basilefff C++ Has never been known for being nightmarish to maintain. C++ is harder to WRITE, but well defined systems are easier to maintain than loosely defined ones.
@basilefff
@basilefff 5 ай бұрын
@@CaleMcCollough I disagree, I personally find making changes to SFINAE code dreadful. But I wasn't talking about C++ in general, I was talking about your system of 3 headers + (presumably) source files. It sounds like A LOT to maintain
@matt.loupe.
@matt.loupe. 5 ай бұрын
And there I was going back to programming in C and really enjoying its simplicity
@ArturdeSousaRocha
@ArturdeSousaRocha 5 ай бұрын
Try Go. Similar feel, government approved. 😊
@DeadCat-42
@DeadCat-42 5 ай бұрын
Same, have you ever noticed all the fad languages evolved to look like c over time?
@AvalancheGameArt
@AvalancheGameArt 5 ай бұрын
If there are vurnerabilities, you sure did those, not the language.
@AvalancheGameArt
@AvalancheGameArt 4 ай бұрын
@@RustIsWinning what a looser, or better, what an impostor!
@AvalancheGameArt
@AvalancheGameArt 4 ай бұрын
@@RustIsWinning lol i,m not even 30 and still this rust revolution isn't happenjng. good luck converting linked lists.. internet is built on those 😁
@AvalancheGameArt
@AvalancheGameArt 4 ай бұрын
@@RustIsWinning they have it cause your rust is glued to C. i know what are cve and everyone with a beain can avoid creating vurnerabilities. it is the prigrammer's responsibility to not screw up. now go back scripting, i have some programming to do.
@AvalancheGameArt
@AvalancheGameArt 4 ай бұрын
@@RustIsWinning lmaoooo, no arguments, claim your opponent is a clown and slip aside like the worm you are. also i cry with my paycheck as an embedded engineer.
@_aNeaire
@_aNeaire 5 ай бұрын
I just had a dream last night, Theo is a judge in Hackathon with a good teaching skills providing some ideas and stuff. man i watched a lot of your video for this to occur
@mrblock1318
@mrblock1318 5 ай бұрын
The reason Carbon is being developed is because C++ has been so successful that many of the people who maintained some projects are about to die + different times. C++ is amazing, it just needs a 'refresh' - which is the facelift Carbon is providing.
@jakelexington7610
@jakelexington7610 5 ай бұрын
Wrong
@mrblock1318
@mrblock1318 5 ай бұрын
@@jakelexington7610 disagree
@okokok2141
@okokok2141 4 ай бұрын
So guaranteed jobs for Rust developers for the next 10 years?
@andylees8939
@andylees8939 5 ай бұрын
I'm sure that this will be as successful as the adoption of Ada...
@sumitpurohit8849
@sumitpurohit8849 5 ай бұрын
AI hype at DARPA. lessss goooooooooo
@peterleeh7117
@peterleeh7117 5 ай бұрын
Compile times for Rust always mentioned, but honestly it has gone thru big improvements over the last years, and it's not that bad anymore. I'm not saying it's light speed, but not nearly as inferior as it used to be.. especially if you're on Apple Silicon. Basically just don't use LTO and release level locally for development..
@JohnRukstalis-eh7dx
@JohnRukstalis-eh7dx 5 ай бұрын
I’m a government contractor in software and let me tell you, it’s the opposite. There’s very little planning, mainly an idea or goal and devs start building, give a demo and the government tells us what they like and don’t. It’s highly agile.
@adamzbucki237
@adamzbucki237 5 ай бұрын
Surprised you didn't mention cobol as well.
@keaganroos2288
@keaganroos2288 5 ай бұрын
Now they just need to replace the president with a memory safe one.
@StevenAkinyemi
@StevenAkinyemi 5 ай бұрын
Damn.
@AlbatrossCommando
@AlbatrossCommando 5 ай бұрын
Why not Ada?
@demenevdmitriy4175
@demenevdmitriy4175 5 ай бұрын
Because it's harder to find Ada programmers. Also, I'm not sure how well Ada can do meta-programming and generic code.
@nibblrrr7124
@nibblrrr7124 5 ай бұрын
"1983 - In honor of Ada Lovelace's ability to create programs that never ran, Jean Ichbiah and the US Department of Defense create the Ada programming language. In spite of the lack of evidence that any significant Ada program is ever completed historians believe Ada to be a successful public works project that keeps several thousand roving defense contractors out of gangs."
@XCanG
@XCanG 5 ай бұрын
What is "slow iteration speed", are you talking about new features added to language? Or literal slow loops like for/while/whatever else?
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
Write a piece of code, compile, test, debug, write more, repeat.
@XCanG
@XCanG 5 ай бұрын
@@anon_y_mousse I see, but I would describe that with different word
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
@@XCanG What word would you use?
@Neberheim
@Neberheim 4 ай бұрын
Consider Loopback for audio routing
@JuusoAlasuutari
@JuusoAlasuutari 5 ай бұрын
Lol. I ported rustc-hash to C because why not.
@GrandpaRanOverRudolf
@GrandpaRanOverRudolf 4 ай бұрын
LLMs can't convert code to rust in many instances. they'll tell you rust is too difference. Opus had the best output for me for rust though
@yeetdatcodeboi
@yeetdatcodeboi 4 ай бұрын
measure 3 times, cut 1 time government: measure 100 times, we might cut it 10 years
@MelvinMM
@MelvinMM 4 ай бұрын
"Most devs reality," in a best case scenario, yields KZbin (or something like it). "Government Software," in a best case scenario, yields the Internet (or something like it). It would be awesome if these polarities could meet somewhere in the middle. I like watching KZbin... on the Internet.
@dtaggartofRTD
@dtaggartofRTD 5 ай бұрын
It sounds like Ada all over again. Everything I've heard of Rust suggests that it's a good spiritual successor.
@nekesel
@nekesel 5 ай бұрын
Man I was laughing so hard because your breakdown of "government software" also applies to how projects worked in the military. They would send people from my infantry unit to test things at some other location halfway across the country for weeks. We'd hear nothing of it for years. Then we'd get some of the things, mostly ones that we weren't super excited for or wouldn't make a profound difference, out of nowhere and the original reason it was being made no longer exists or has changed. Now we have things we need to give some use to so the military higher-ups don't get blamed for waste spending.
@hanro50
@hanro50 5 ай бұрын
In my opinion. A better approach would be to rewrite the legacy code. Rip it apart, analyse it, and then rebuild it. Transcompiling badly written legacy code from one language to another won't fix the core issue of nobody understanding said legacy code or said legacy code being badly written.
@emoflowerr
@emoflowerr 5 ай бұрын
Congrats on 314k subs, pi?
@ethicalatheist1078
@ethicalatheist1078 5 ай бұрын
They were using Ada and then switched off it. And NOW they want safe code and compile time checks??? Please!
@greenfrogcoding
@greenfrogcoding 5 ай бұрын
You can write bad code in any programming language, that said I'm interested to see how this works out. Great video 👍
@Theo-qo7ov
@Theo-qo7ov 5 ай бұрын
GNI Guix code is basically ideal imo, with GNU Octave codes that encode langs like English and Esperanto using AI systems of logic
@neniugrava
@neniugrava 5 ай бұрын
Pri kio vi parolas?
@Theo-qo7ov
@Theo-qo7ov 5 ай бұрын
@@neniugrava as a duvine being of some type maybe, but idk if i understanf you fully. It's all based on the Trinity and fractals you can store in computer chips
@Theo-qo7ov
@Theo-qo7ov 5 ай бұрын
🎉😂❤​@@neniugrava
@MikeU128
@MikeU128 5 ай бұрын
Hopefully this goes better than when they tried to mandate Ada for everything back in the 1990s.
@mattiapalmese2971
@mattiapalmese2971 5 ай бұрын
I believe that the video by LLL is mostly satire. In the C community, it's widely known- as even cited in the man pages-that the proper way to manage strings is by using memory-safe versions of functions like strncpy instead of strcpy. The issue with C’s string handling is that C doesn’t inherently manage strings; they are simply pointers to characters, with the end of a string being indicated by a NULL terminator. Modern languages like Zig address this issue by incorporating bounds checking, but this is abstracted from developers and does add some overhead to the program's runtime, even if the cost is minimal.Ultimately, it comes down to how well you write your program and whether you understand dynamic memory allocation and memory safety, etc. However, I do agree that modern problems require modern solutions, and for these reasons, modern programming languages are often better suited to address these challenges.
@cstephens16
@cstephens16 5 ай бұрын
what software were you using to explain government projects? that was awesome.
@_sjoe
@_sjoe 5 ай бұрын
Excalidraw
@monkyyy0
@monkyyy0 5 ай бұрын
> its arguebly good that it makes iteration speed grind to a halt
@zoeherriot
@zoeherriot 4 ай бұрын
Even MS is rewriting some C# code for Office 365 in Rust. Why did they go with Rust? Well it could be that you get that memory safety without the additional memory overhead. This is the one question about adoption of Rust in the games industry I have - I don't know how they will deal with libraries - no 3rd party is going to want to ship a crate with source. So do you end up losing the benefit of cargo here?
@sortof3337
@sortof3337 5 ай бұрын
Rust compile times being bad is not true these days. Have you tried compiling cpp proejct, it takes at least 5x for equivalent rust project. I literally work on huge application with layered caching system for data access and over at least million lines of rust. It takes like 30 seconds to compile after the first build, which takes like 3 minutes. The only language that has better compile times are Go and Jai.
@graykimchi
@graykimchi 4 ай бұрын
What’s the note taking app called that’s being used?
@mirsella6204
@mirsella6204 5 ай бұрын
compilation time are NOT a problem for rust. - they're not as slow as you think - slow only the first compilation - when it compile it works a lot more with rust than other language (less debugging) - most of the viewever of this channel are web dev, and put web server starts up / hot reload with a compiled language, which have nothing to do together. Again, compile are rare for most rust programs and not that slow after the first time. imo, it's a small negative, which not important thanks to over rust positive like safety and types which allow for a far better likelihood of the program working and running like you want on the first try
@anon_y_mousse
@anon_y_mousse 5 ай бұрын
If you don't know what hot reloading is or why Rust is utterly incapable of the same in terms of iteration speed, then go look it up. Web servers on the other hand can be kept up once they're running and iteration is as simple as :w on the file you're editing then alt+tab to the browser window.
@the_ebdm
@the_ebdm 5 ай бұрын
Hopefully this is enough to convince Prime, we're all waiting with baited breath
@sagedoesstuff588
@sagedoesstuff588 5 ай бұрын
but like- what about their VAST NETWORK of COBOL?
I made the fastest AI chat bot ever (and it's free)
11:09
Theo - t3․gg
Рет қаралды 2 М.
zig will change programming forever
9:34
Low Level
Рет қаралды 376 М.
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 726 М.
researchers find an unfixable bug in EVERY ARM cpu
9:48
Low Level
Рет қаралды 560 М.
Why Democracy Is Mathematically Impossible
23:34
Veritasium
Рет қаралды 6 МЛН
Stop Recommending Clean Code
27:05
ThePrimeTime
Рет қаралды 562 М.
Rust Functions Are Weird (But Be Glad)
19:52
Logan Smith
Рет қаралды 145 М.
Why JavaScript Devs are Switching to Rust in 2024
10:35
warpdotdev
Рет қаралды 264 М.
The Secret Language Scaling WhatsApp and Discord
28:32
Theo - t3․gg
Рет қаралды 185 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 290 М.
Solid Programming - No Thanks
32:00
ThePrimeTime
Рет қаралды 356 М.
PirateSoftware is right, this needs to stop
15:14
Theo - t3․gg
Рет қаралды 878 М.