{"id":1031,"date":"2022-12-02T17:56:32","date_gmt":"2022-12-02T17:56:32","guid":{"rendered":"https:\/\/infobip.com\/developers\/?p=1031"},"modified":"2023-09-11T14:32:34","modified_gmt":"2023-09-11T14:32:34","slug":"how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","status":"publish","type":"post","link":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","title":{"rendered":"How Rust provides a better developer experience, and safer and faster software"},"content":{"rendered":"\n<p>You probably know that Rust has been voted &#8220;The Most Loved&#8221; programming\nlanguage according to Stack Overflow developer surveys for seven years. Rust is\nstarting to dominate every area of software. The software industry is\ninterested in it because it needs a language like that. Now it&#8217;s also creeping\ninto the cloud-native world thanks to the benefits brought by WebAssembly and\nWASI, technologies that are particularly Rust-friendly. The reasons Rust is\nliked and needed are multiple. I will tell you some of the main things that\nimprove development experience, enhance the safety and increase the speed\nof your programs. I will also tell you how Rust can make you more productive. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-rust\">Why Rust?<\/h2>\n\n\n\n<p>Let&#8217;s start by exploring why the software industry needs a language like Rust.\nThis may help us realize why it&#8217;s so loved, too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"it-helps-us-fallible-humans\">It helps us, fallible humans<\/h3>\n\n\n\n<p>When we are new programmers, we make a lot of mistakes (remember the times when\na for loop was mystical?). Over time, we gain experience. We get to know our\ntools, algorithms, and data structures. We also get used to working with\ncomplicated software architectures. The problem with that is that it enables us\nto make more complex mistakes. These mistakes cost millions to companies\ninvesting time and money into finding and fixing complicated, subtle memory\nerrors occurring in complex environments that, with Rust, are entirely avoided.\nSo, we need more help from our tools to write code more safely and achieve\nreliable software from the ground up. We need a trainer, like Yoda, Rust trains\ndevelopers.<\/p>\n\n\n\n<p>Personally, I used to get many runtime errors when I used to write C\nor C++. I may be a bad programmer, but with Rust, once I understood its\nprinciples, I got fewer errors, and that made me enjoy programming more and\neven helped me feel more competent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"it-makes-you-more-productive\">It makes you more productive<\/h3>\n\n\n\n<p>To answer the question of why Rust is so nice, we should first consider the\nfollowing:<\/p>\n\n\n\n<p><strong>Why did we create programming languages and compilers in the first place?<\/strong><\/p>\n\n\n\n<p>In the 50s, we wrote programs with assembler, which was extremely difficult to\nwrite and read, while making mistakes was extremely <em>easy<\/em>. Over time, tools\nhave evolved. For example, in the 70s, we got C, which is still widely used. It\nis much better than assembler; it&#8217;s much easier to write and read, and you get\nsome help from the compiler to find mistakes in your code.<\/p>\n\n\n\n<p><strong>We needed more developer productivity.<\/strong><\/p>\n\n\n\n<p>So the reason we created programming languages and compilers is fourfold:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easy language &#8211; We need something concise, easy to write and read, and more\nlike English or mathematics.<\/li>\n\n\n\n<li>Make a program portable &#8211; We need to run our program on different platforms.<\/li>\n\n\n\n<li>Optimize &#8211; We wanted faster programs that take advantage of our hardware.<\/li>\n\n\n\n<li>Finding Errors &#8211; We wanted to find mistakes we made while writing our code.<\/li>\n<\/ul>\n\n\n\n<p>It&#8217;s in these last two items where Rust really shines, especially in the\n&#8220;Finding Errors&#8221; area. Rust produces exceptionally safe programs.<\/p>\n\n\n\n<p>Because Rust has a rich and strong type system and a deeper, stricter compiler,\nprogramming is challenging for a beginner, but if code compiles, it probably\nworks! This <strong>teaches us delayed gratification:<\/strong> at the beginning it&#8217;s\ndifficult and slow; over time, it&#8217;s an enjoyable process, and we have fewer\nbugs to fix, so we are <em>more productive<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"its-a-low-and-high-level-language\">It&#8217;s a low and high-level language<\/h3>\n\n\n\n<p>I love that Rust gives you a sweet balance between capability and abstraction.\nThat is, it&#8217;s both a low-level and a high-level language. At the low-level, you\nget things like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Raw memory pointers (though for advanced programmers, as this breaks safety\nguarantees.)<\/li>\n\n\n\n<li>Can run embedded<\/li>\n\n\n\n<li>Compiles to machine code. No intermediaries overhead.<\/li>\n\n\n\n<li>Customizable memory <code>Drop<\/code><\/li>\n<\/ul>\n\n\n\n<p>On the high-level side, you get things like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatic memory <code>Drop<\/code><\/li>\n\n\n\n<li>Functional patterns (e.g., iterators, combinators, pattern-matching)<\/li>\n\n\n\n<li>Traits (similar to interfaces)<\/li>\n\n\n\n<li>Easy multi-threading libraries<\/li>\n\n\n\n<li>Memory safety<\/li>\n\n\n\n<li>Hygienic macros meta-programming (to extend the syntax of the language at\nwill)<\/li>\n<\/ul>\n\n\n\n<p>The language has nice abstractions because it learns from other languages,\nespecially the functional ones. You can write elegant, concise code that does\ncomplicated stuff. Rust is an <em>eclectic<\/em> language.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"its-fast\">It&#8217;s fast<\/h3>\n\n\n\n<p>Compared to C, Rust is about 10 percent slower, similarly to C++, and much faster than other languages like Java. Why not use C if you want performance, then? Because apart from being the king of speed, it&#8217;s also the king of bugs! In the case of other popular languages like Python, Rust programs run up to 20 times faster, according to the <a href=\"https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/index.html\">Programming Language Benchmark<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"398\" src=\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\" alt=\"\" class=\"wp-image-1035\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-300x117.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-768x299.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1536x597.png 1536w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-2048x797.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The speed of Rust comes from having a good optimizer, compiling to native code,\nand many zero-cost abstractions, like iterators, which give the developer sweet syntax for free. No runtime costs are implied.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"the-garbage-collector-is-garbage\">The garbage collector is garbage<\/h4>\n\n\n\n<p>One exciting and special way Rust achieves its speed and reliability is by\nditching the garbage collector. This helps in two ways: more speed and more\nreliability. This is because when you have a garbage collector, you don&#8217;t have\nguarantees of whether the memory will be freed. When it <em>is<\/em> freed, it happens\nat a <em>random<\/em> time. In addition, the garbage collector is an extra program that\nhas to stop your code, do the cleaning, and then continue. Rust is able to\nremove the GC by using stricter rules about the lifetime of data and how to\ndrop memory. In Rust, memory is dropped when a variable goes out of scope. If\nyou need something different, you need to tell that to the compiler through a\nthing called lifetime annotations. This makes you aware of how data lives\nthrough your program&#8217;s execution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"it-has-excellent-tools\">It has excellent tools<\/h3>\n\n\n\n<p>Apart from the abstractions, Rust comes with great tools that give you a modern\nand well-integrated experience while working on a project.<\/p>\n\n\n\n<p>When working with Rust, you usually use Cargo, its project manager, which is\nwell-designed, has many features, and can be extended easily. Cargo helps you\ncreate a new project, manage compilation targets, run tests, generate\ndocumentation, and so on.<\/p>\n\n\n\n<p>Thanks to the type system and thorough compiler, editors give awesome hints\nwhile coding. There are advanced plugins for the most popular IDEs, like the\nRust plugin for JetBrains IDEs, and RustAnalyzer for Visual Studio Code and\nNeoVim. In terms of code quality and standards, you get easy, automated\nformatting with <code>rustfmt<\/code> and extra linting with <code>Clippy<\/code>. This leaves out any\npotential dispute about style out so that you can stay friends with your\ncoworkers! Another cool thing is that Rust code plays nicely with GitHub\ncopilot and other AI autocompletion tools, so much of the verbosity of the\nlanguage or boilerplate doesn&#8217;t need to be typed if you are OK with some AI\ncode, of course.<\/p>\n\n\n\n<p>The Rust community is great and growing a lot. Because of that, it&#8217;s easy to\nfind help online, in official forums, Discord servers, and documentation. And\nthe core team developing the language delivers significant enhancements every\ncouple of months. Another exciting thing is that, even with this fast-paced\nevolution of the language, you don&#8217;t have problems with compatibility between\nversions. Rust guarantees the compatibility of a project with dependencies that\nrun an older or newer version of the compiler. That removes a lot of the hassle\nof dependency management.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"its-versatile\">It&#8217;s versatile<\/h3>\n\n\n\n<p>Though Rust is known as a language for writing systems software only, it&#8217;s\nactually more versatile and general-purpose. It can compile to embedded\ndevices, to x86, ARM, and thanks to technologies like WebAssembly, Rust can be\nused for front-end development in a browser. The ecosystem is growing, and\nRust is used for things like games, microservices, front-end, blockchain, CLIs,\nGUIs, and so on.<\/p>\n\n\n\n<p>All these aspects infatuate developers, which is a key factor because when you\nlove what you do and how you do it, you become more productive and careful with\nthe quality of what you deliver.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cool-stuff-is-being-made-with-rust\">Cool stuff is being made with Rust!<\/h3>\n\n\n\n<p>Due to the industry&#8217;s need for a programming language like Rust in the\nindustry, and its cool features, big companies have started using it. Among\nthem are Meta, Microsoft, Google, Amazon, Mozilla, JFrog, and now even Infobip!<\/p>\n\n\n\n<p>Apart from that, important projects are embracing the language. Among the most\nnotable is the Linux kernel. After more than 30 years, they finally convinced\nLinus Torvalds to include a second language, apart from C, to develop the\nkernel. That speaks about the language!<\/p>\n\n\n\n<p>Apart from that, a lot of interesting projects have been started to enhance the\nsafety and speed of the overall software industry. Some of them are Dino, the\nevolution of Node.js, and WASI, which allows you to run general programs in\nWebAssembly with access to operating system resources. Cloud-native systems are\nstarting to benefit a lot from the minimal performance impact and safety that\nWebAssembly and WASI bring to the table.<\/p>\n\n\n\n<p>Rust is also well suited for blockchain systems, and many of them use it,\nincluding Solana and DFinity&#8217;s Internet Computer. Another factor contributing\nto loving Rust is that you get to work on cool projects!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-rust-achieves-safety\">How Rust achieves safety<\/h2>\n\n\n\n<p>The primary way in which Rust achieves safety is by giving your code more order. In other languages, for example, you could have a variable passed as a reference to different functions, which can modify its value. That may have side effects because you could have multiple functions writing and several others reading, which may cause difficult-to-track bugs. In contrast, Rust is strict in how you can pass values to functions, so they aren&#8217;t written by multiple functions. It also promotes immutability, which means the language itself prefers you to have values that cannot be changed, to remove nasty surprises.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"466\" src=\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-1024x466.png\" alt=\"\" class=\"wp-image-1033\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-1024x466.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-300x137.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-768x350.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-1536x699.png 1536w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-memory-2048x932.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Another way in which Rust achieves safer software is by making you aware of what can fail. You must handle the cases of failure. Otherwise, your code looks ugly, with many <em>unwraps()<\/em>. When a function can fail, you must be explicit about handling the case of success and the possibility of failure by wrapping the Result of that function in a <code>Result&lt;T, E&gt;<\/code> enum. That enum has two possible elements, a success type, and a failure type. This is just like a Schroedinger box! If you had a function to buy a cat online, the cat might arrive just fine, or it might be dead. In Rust, you must write code to handle the two cases, you become aware, which makes your program more robust.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"411\" src=\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result-1024x411.png\" alt=\"\" class=\"wp-image-1034\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result-1024x411.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result-300x120.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result-768x308.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result-1536x617.png 1536w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-result.png 1957w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a-brighter-future\">A brighter future<\/h2>\n\n\n\n<p>The reason I like to advocate for Rust is that I believe that it presents a\nreal opportunity for the software industry in general to improve. We can have a\nsafer and faster world of computing. This opportunity comes from the context it\nhas. Mainly, Rust is relevant because it comes with excellent tools and a\nmodern experience, which makes more people use it. The language also offers\nunique benefits that are very valuable to the industry. In the past, we had\nother languages with similar offers, but they didn&#8217;t have the characteristics\nthat may make Rust a dominant language in the future. For example, we had C,\nwhich is a bit faster but very error-prone. We had Haskell, which has nicer\nabstractions but never got widely adopted and doesn&#8217;t have the same ecosystem\nof tools. We had others like APL, which had much cleaner syntax but were\ndifficult to read and didn&#8217;t have a big community. We even had other possibly\nsafer languages like SPARK Ada. Still, the same problems haunt them: they don&#8217;t\nhave good adoption, they don&#8217;t have the same performance, they don&#8217;t have a\ngreat ecosystem of tools, and there&#8217;s a tiny community behind them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-use-infobips-communication-channels-with-rust\">How to use Infobip&#8217;s communication channels with Rust<\/h2>\n\n\n\n<p>We recently added the <a href=\"https:\/\/crates.io\/crates\/infobip_sdk\">Infobip API Rust SDK<\/a>, which enables you to use Rust if you have a use case for communication channels! (e.g., WhatsApp, Email, SMS) You can get access to all the coolness mentioned above! See <a href=\"https:\/\/infobip.com\/developers\/blog\/what-makes-a-good-rust-library\/\">What aspects go into a good Rust library<\/a> to get some ideas of what this SDK does for you. If you are interested in learning Rust, you can check the code in our <a href=\"https:\/\/github.com\/infobip-community\/infobip-api-rust-sdk\">GitHub repository<\/a>, where you are welcome to send PRs and suggest improvements.<\/p>\n\n\n\n<p>Thanks for reading!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You probably know that Rust has been voted &#8220;The [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[28,254],"tags":[146,256],"coauthors":[156],"class_list":["post-1031","post","type-post","status-publish","format-standard","hentry","category-blog-post","category-engineering-practices","tag-development","tag-programming"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rust: Better developer experience, safer software<\/title>\n<meta name=\"description\" content=\"Rust has been voted &quot;The Most Loved&quot; language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rust: Better developer experience, safer software\" \/>\n<meta property=\"og:description\" content=\"Rust has been voted &quot;The Most Loved&quot; language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\" \/>\n<meta property=\"og:site_name\" content=\"Infobip Developers Hub\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/infobip\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-02T17:56:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-11T14:32:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\" \/>\n<meta name=\"author\" content=\"Erick Corona\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:site\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erick Corona\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\"},\"author\":{\"name\":\"Erick Corona\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/9e52e4d22fb53cc9a87adc54825c5e5c\"},\"headline\":\"How Rust provides a better developer experience, and safer and faster software\",\"datePublished\":\"2022-12-02T17:56:32+00:00\",\"dateModified\":\"2023-09-11T14:32:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\"},\"wordCount\":2031,\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\",\"keywords\":[\"development\",\"programming\"],\"articleSection\":[\"Blog Post\",\"Engineering Practices\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\",\"name\":\"Rust: Better developer experience, safer software\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\",\"datePublished\":\"2022-12-02T17:56:32+00:00\",\"dateModified\":\"2023-09-11T14:32:34+00:00\",\"description\":\"Rust has been voted \\\"The Most Loved\\\" language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage\",\"url\":\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\",\"contentUrl\":\"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.infobip.com\/developers\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Rust provides a better developer experience, and safer and faster software\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"name\":\"Infobip Developers Hub\",\"description\":\"Build meaningful customer relationships across any channel\",\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.infobip.com\/developers\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\",\"name\":\"Infobip Developers Hub\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"width\":696,\"height\":696,\"caption\":\"Infobip Developers Hub\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/infobip\/\",\"https:\/\/x.com\/InfobipDev\",\"https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ\",\"https:\/\/github.com\/infobip-community\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/9e52e4d22fb53cc9a87adc54825c5e5c\",\"name\":\"Erick Corona\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/1d096b53aac31da0002a2066ab28c0f1\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c59cdedbf2c066d0ebbb15c5b1da56b1c5b5e7c49e3c4aaf7410dd1462a7b74c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c59cdedbf2c066d0ebbb15c5b1da56b1c5b5e7c49e3c4aaf7410dd1462a7b74c?s=96&d=mm&r=g\",\"caption\":\"Erick Corona\"},\"description\":\"Erick has been in the software industry for more than 10 years. Currently, he works as a Developer Experience Engineer at Infobip. He's interested in software development, writing, and racing car simulators in his free time.\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/author\/erick\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rust: Better developer experience, safer software","description":"Rust has been voted \"The Most Loved\" language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","og_locale":"en_US","og_type":"article","og_title":"Rust: Better developer experience, safer software","og_description":"Rust has been voted \"The Most Loved\" language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.","og_url":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","og_site_name":"Infobip Developers Hub","article_publisher":"https:\/\/www.facebook.com\/infobip\/","article_published_time":"2022-12-02T17:56:32+00:00","article_modified_time":"2023-09-11T14:32:34+00:00","og_image":[{"url":"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png","type":"","width":"","height":""}],"author":"Erick Corona","twitter_card":"summary_large_image","twitter_creator":"@InfobipDev","twitter_site":"@InfobipDev","twitter_misc":{"Written by":"Erick Corona","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#article","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software"},"author":{"name":"Erick Corona","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/9e52e4d22fb53cc9a87adc54825c5e5c"},"headline":"How Rust provides a better developer experience, and safer and faster software","datePublished":"2022-12-02T17:56:32+00:00","dateModified":"2023-09-11T14:32:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software"},"wordCount":2031,"publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage"},"thumbnailUrl":"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png","keywords":["development","programming"],"articleSection":["Blog Post","Engineering Practices"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","url":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software","name":"Rust: Better developer experience, safer software","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage"},"thumbnailUrl":"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png","datePublished":"2022-12-02T17:56:32+00:00","dateModified":"2023-09-11T14:32:34+00:00","description":"Rust has been voted \"The Most Loved\" language in the Stack Overflow Developer Surveys for seven years. Our Rust enthusiast Erick explains why.","breadcrumb":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#primaryimage","url":"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png","contentUrl":"https:\/\/infobip.com\/developers\/wp-content\/uploads\/2022\/12\/rust-speed-1024x398.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-rust-provides-a-better-developer-experience-and-safer-and-faster-software#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infobip.com\/developers\/"},{"@type":"ListItem","position":2,"name":"How Rust provides a better developer experience, and safer and faster software"}]},{"@type":"WebSite","@id":"https:\/\/www.infobip.com\/developers\/#website","url":"https:\/\/www.infobip.com\/developers\/","name":"Infobip Developers Hub","description":"Build meaningful customer relationships across any channel","publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infobip.com\/developers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infobip.com\/developers\/#organization","name":"Infobip Developers Hub","url":"https:\/\/www.infobip.com\/developers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","width":696,"height":696,"caption":"Infobip Developers Hub"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/infobip\/","https:\/\/x.com\/InfobipDev","https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ","https:\/\/github.com\/infobip-community"]},{"@type":"Person","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/9e52e4d22fb53cc9a87adc54825c5e5c","name":"Erick Corona","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/1d096b53aac31da0002a2066ab28c0f1","url":"https:\/\/secure.gravatar.com\/avatar\/c59cdedbf2c066d0ebbb15c5b1da56b1c5b5e7c49e3c4aaf7410dd1462a7b74c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c59cdedbf2c066d0ebbb15c5b1da56b1c5b5e7c49e3c4aaf7410dd1462a7b74c?s=96&d=mm&r=g","caption":"Erick Corona"},"description":"Erick has been in the software industry for more than 10 years. Currently, he works as a Developer Experience Engineer at Infobip. He's interested in software development, writing, and racing car simulators in his free time.","url":"https:\/\/www.infobip.com\/developers\/blog\/author\/erick"}]}},"_links":{"self":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/1031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/comments?post=1031"}],"version-history":[{"count":7,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/1031\/revisions"}],"predecessor-version":[{"id":2529,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/1031\/revisions\/2529"}],"wp:attachment":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media?parent=1031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/categories?post=1031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/tags?post=1031"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/coauthors?post=1031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}