{"id":37661,"date":"2019-10-31T22:18:53","date_gmt":"2019-10-31T19:18:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel\/"},"modified":"2019-10-31T22:18:53","modified_gmt":"2019-10-31T19:18:53","slug":"rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel","title":{"rendered":"\u00abRust \u2014 the future of systems programming, C \u2014 the new Assembly\u00bb \u2014 a presentation by one of Intel's leading engineers","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>At the recently held Open Source Technology Summit (OSTS),&nbsp;<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/josh_triplett\/media\">Josh Triplett<\/a><\/noindex>Intel's lead engineer discussed how his company is interested in ensuring that Rust achieves \"parity\" with the still-dominant language C in the field of systems and low-level development in the near future. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=l9hM0h6IQDo\">In his presentation<\/a><\/noindex> Under the title \"Intel and Rust: The Future of Systems Programming,\" he also talked about the history of systems programming, how C became the default systems programming language, what advantages Rust offers over C, and how it may fully replace C in this programming area in the near future.<\/p>\n<p><img decoding=\"async\" alt=\"\u00abRust \u2014 the future of systems programming, C \u2014 the new Assembly\u00bb \u2014 a presentation by one of Intel&#039;s leading engineers\" src=\"\/wp-content\/uploads\/2019\/09\/808f43997681e59a5918f05b681ebfc1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Systems programming is the development and management of software that serves as a platform for creating application programs, ensuring the interaction of the latter with the processor, RAM, input-output devices, and network equipment. Systems software creates a special abstraction in the form of interfaces that help create application software without delving into the details of how the underlying hardware works.<\/p>\n<p>Triplet defines systems programming as \"everything that is not an application.\" It includes things like BIOS, firmware, bootloaders, and operating system kernels, various types of embedded low-level code, as well as implementations of virtual machines. Interestingly, Triplet believes that a web browser is also a form of systems software, as it has long become greater than \"just a program,\" evolving into a standalone \"platform for websites and web applications.\"<\/p>\n<p>In the past, most system programs, including BIOS, bootloaders, and firmware, were written in assembly language. In the 1960s, experiments began to provide hardware support for high-level languages, leading to the creation of languages such as PL\/S, BLISS, BCPL, and ALGOL 68.<\/p>\n<p><center><\/center><\/p>\n<p>Then, in the 1970s, Dennis Ritchie created the C programming language for the Unix operating system. Developed from the B programming language, which lacked even type support, C was filled with powerful high-level features that were ideally suited for writing operating systems and drivers. Several components of UNIX, including its kernel, were eventually rewritten in C. Subsequently, many other system programs, including the Oracle database, a significant portion of Windows source code, and the Linux operating system, were also written in C.<\/p>\n<p>C received tremendous support in this direction. But what exactly motivated developers to switch to it? Triplett believes that, in order to motivate developers to transition from one programming language to another, the latter must first offer new features without losing old functionality.<\/p>\n<p>First, the language must offer \"impressively enough\" new features. \"It can't just be a little better. It needs to be significantly better to justify the effort and time engineers will expend to switch,\" he explains. Compared to assembly language, C offered many advantages. It supported some degree of safe typing, ensured better portability and performance with high-level constructs, and generated overall much more readable code.<\/p>\n<p>Secondly, the language must support older capabilities, meaning that in the transition to C, developers had to be sure it was at least as functional as assembly language. Triplett explains: \"The new language cannot just be better; it also has to be no worse.\" In addition to being faster and supporting any data types that the assembly language could use, C also had what Triplett called an \"emergency exit,\" meaning it supported code snippets in assembly language.<\/p>\n<p><img decoding=\"async\" alt=\"\u00abRust \u2014 the future of systems programming, C \u2014 the new Assembly\u00bb \u2014 a presentation by one of Intel&#039;s leading engineers\" src=\"\/wp-content\/uploads\/2019\/09\/7f380b960f6eaab9903dc3dc42da2869.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Triplett believes that C is becoming what assembly language was many years ago. \"C is the new Assembly,\" he states. Now, developers are looking for a new high-level language that not only addresses the accumulated issues in C, which have become impossible to fix, but also offers new impressive features. Such a language must be compelling enough to convince developers to switch to it, be secure, provide automatic memory management, and much more.<\/p>\n<p>\"Any language that wants to be better than C needs to offer much more than just protection against buffer overflow if it really wants to be a convincing alternative. Developers are interested in ease of use and performance, in writing code that requires no explanation and does more work in fewer lines. Security issues also need to be addressed. Usability and performance are inherently linked. The less code you need to write to achieve something, the fewer opportunities you have to make any security-related mistakes or not,\" explains Triplett.<\/p>\n<p><strong>Comparison of Rust and C<\/strong> <\/p>\n<p>Back in 2006, Graydon Hoare, an employee at Mozilla, began writing Rust as a personal project. In 2009, Mozilla started sponsoring the development of Rust for its own needs and expanded the team for further language development.<\/p>\n<p>One reason Mozilla became interested in the new language is that Firefox was written in over 4 million lines of C++ code and had quite a few critical vulnerabilities. Rust was created with security and concurrency requirements in mind, making it an ideal choice for rewriting many components of Firefox as part of the Quantum project to completely overhaul the browser's architecture. Mozilla also uses Rust for the development of Servo, an HTML rendering engine that will eventually replace the current Firefox rendering engine. Many other companies have started using Rust for their projects, including Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu, and many others.<\/p>\n<p>Rust addresses one of the most critical issues of the C language. It provides automatic memory management, so developers do not need to manually allocate and then free memory for each object in their applications. What sets Rust apart from other modern languages is that it does not have a garbage collector to automatically remove unused objects from memory, nor does it have a runtime environment like the Java Runtime Environment for Java. Instead, Rust employs concepts of ownership, borrowing, references, and lifetimes. \"Rust has a system for declaring object usage, allowing you to specify whether it is owned or simply borrowed. If you are only borrowing the object, the compiler will track this and ensure that the original remains in place while you reference it. Furthermore, Rust will ensure that the object is removed from memory immediately after its usage by inserting the corresponding call into the code at compile time without any additional time cost,\" explains Triplett.<\/p>\n<p>The lack of its own runtime can also be considered an advantage of Rust. Triplett believes that languages executed with such a runtime are challenging to use as tools for systems programming. As he explains, \"You have to initialize this runtime before you can call any code; you have to use this runtime to call functions, and the runtime itself may run additional code behind your back at unexpected times.\"<\/p>\n<p>Rust also aims to ensure safe concurrent programming. The same features that make it memory-safe also track things like which thread owns which object and which objects can be passed between threads, and which need to be locked.<\/p>\n<p>All these features make Rust compelling enough for developers to choose it as a new tool for system programming. However, in terms of parallel computing, Rust still lags behind C.<\/p>\n<p>Triplett is set to create a special working group that will implement the necessary functions in Rust so that it can fully match, surpass, and replace C in the field of systems programming. In <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/rust\/comments\/cupayl\/intel_and_rust_the_future_of_systems_programming\/\">a discussion on Reddit<\/a><\/noindex>, concerning his talk, he stated that \"the FFI\/C Parity group is in the process of being created and has not yet begun work,\" but he is currently ready to answer any questions and will definitely publish upcoming plans for the development of Rust within his initiative for all interested parties.<\/p>\n<p>It can be assumed that the FFI\/C Parity group will primarily focus on enhancing multithreading support in Rust, implementing support for BFLOAT16, a floating-point number representation format that has emerged in new Intel Xeon Scalable processors, as well as stabilizing code insertions in Assembly.<\/p>\n<p><center><\/p>\n<p><\/center><\/p>\n<p>\t\t\t\t<center><br \/>\n\t\t\t\t\t\t\t\t<\/center><br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.3dnews.ru\/993325\">3dnews.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u0421\u0430\u043c\u043c\u0438\u0442\u0435 \u043f\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c (Open Source Technology Summi &mdash; OSTS)&nbsp;\u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442\u0442 (Josh Triplett), \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 Intel, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443\u0449\u0435\u043c Rust \u0434\u043e\u0441\u0442\u0438\u0433 &laquo;\u043f\u0430\u0440\u0438\u0442\u0435\u0442\u0430&raquo; \u0441\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u0434\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f\u0437\u044b\u043a\u043e\u043c C. \u0412 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u0434 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28264,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u0421\u0430\u043c\u043c\u0438\u0442\u0435 \u043f\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c (Open Source Technology Summi \u2014 OSTS) \u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442\u0442 (Josh.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u00abRust \u2014 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0421 \u2014 \u043d\u043e\u0432\u044b\u0439 \u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u00bb \u2014 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 Intel | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u0421\u0430\u043c\u043c\u0438\u0442\u0435 \u043f\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c (Open Source Technology Summi \u2014 OSTS) \u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442\u0442 (Josh.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:18:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:18:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\"Rust is the future of systems programming, C is the new Assembly\" \u2014 a presentation by one of Intel's leading engineers | ProHoster","description":"At the recently held Open Source Technology Summit (OSTS), Josh Triplett","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u00abRust \u2014 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0421 \u2014 \u043d\u043e\u0432\u044b\u0439 \u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u00bb \u2014 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 Intel | ProHoster","og:description":"\u041d\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u0421\u0430\u043c\u043c\u0438\u0442\u0435 \u043f\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c (Open Source Technology Summi \u2014 OSTS) \u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442\u0442 (Josh.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/rust-budushhee-sistemnogo-programmirovaniya-s-novyj-assembler-vystuplenie-odnogo-iz-vedushhih-inzhenerov-intel","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:18:53+00:00","article:modified_time":"2019-10-31T19:18:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37661","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 18:46:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:23:06","updated":"2026-01-23 18:46:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/37661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=37661"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/37661\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/28264"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=37661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=37661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=37661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}