9/18/2023 0 Comments Rust language to take it intoRust, as a compiled language, is super fast at run-time. Less relevant for data engineers, but super helpful: speed. Defining expectations with data types and having vigorous checks at coding and compile time will prevent many errors. This makes it very good for data engineers as we have many moving parts such as incoming data sets that we do not control. borrow checking, and does things to your code that other compilers don't do-check out rust-analyzer for bringing them into your IDE of choice. This does not obsolete testing of course, but for example, the rust compiler will analyze e.g. Rust is the opposite it forces you to define types (or does it implicitly with type inference) and enforces them. But that takes a lot of time, and you must foresee all potential errors to write a test for it. Python is dynamically typed (with only recent support for type hints) and requires writing extensive tests to catch these costly errors. Rust's developer experience goes much further than just offering a language specification and a compiler many aspects of creating and maintaining production-quality software are treated as first-class citizens in the Rust ecosystem What Rust Does Well The go-to language for data engineers is Python, which isn't the most robust or safe language, as many engineers working with data will agree. Rust will show you errors and improvements while coding and fails as much as possible at compile-time, which is less costly than later in production at run-time. When you write any code, the goal is that the code doesn't break during the weekend or at night when you sleep. Concepts such as Ownership for memory safety, Reference Borrowing, and many more, but this article is not meant to be a deep dive into Rust, but rather map it to the field of data engineering. □ There are much more specifics that differentiate Rust from other programming languages. Additionally, the Rust community puts a lot of effort into making the error messages super informative.Īn example of how Rust surfaces an error during development and suggests changes It can be frustrating to fight every single mistake before being able to test or run a quick script, but at the same time, a prominent feature like the compiler is much faster at finding bugs than me. With Rust being a compiled programming language, strong type and system checks are enforced during compile-time-meaning pre-runtime! Unlike Python's interpreted way, most errors only surface during the coding phase. Rust solves pain points from other programming languages with minimal downsides. The goal of Rust is to be a good programming language for creating highly concurrent, safe, and performant systems. Rust is a multi-paradigm programming language that supports imperative procedural, concurrent actor, object-oriented and pure functional styles, supporting generic programming and metaprogramming statically and dynamically. The first stable release, Rust 1.0 was released on May 15, 2015. What is Rust?įormer Mozilla employee Graydon Hoare initially created Rust as a personal project. Let's explore why Rust has potential for data engineers, what it does well and why it has become the most loved programming language for 7 years running. Rust may not replace Python outright, but it has consumed more and more of JavaScript tooling and there are increasingly many projects trying to do the same with Python/Data Engineering. Betteridge's Law strikes again!īut then again, you have to ask: was Python made for Data Engineering in the first place? Will Rust kill Python for Data Engineers? If you only came here to know this, my answer is no.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |