Categories
Featured

Google elogia el paso a Rust por reducir significativamente las vulnerabilidades de la memoria

[ad_1]

Google Él tiene Saluda al óxidoque es un lenguaje de programación seguro para la memoria, como un factor importante en su capacidad para reducir las vulnerabilidades como parte de Codificación segura iniciativa.

Las vulnerabilidades de acceso a la memoria a menudo ocurren en lenguajes de programación que no se consideran seguros para la memoria. En 2019, los problemas de seguridad de la memoria representaron el 76% de todas las vulnerabilidades de Android.

[ad_2]

Source Article Link

Categories
Business Industry

The Crow Remake 2024 prohíbe las armas reales después de las tragedias de Brandon Lee y Rust

[ad_1]





The Crow, del director Alex Proyas, basada en la serie de cómics de James O'Barr, se estrenó en mayo de 1994, pero su oscuro legado sigue vivo hasta el día de hoy. Un infame accidente con arma de fuego en el set de “The Crow” se cobró la vida de la estrella Brandon Lee, lo que hace que el thriller de venganza artísticamente diseñado sea aún más trágico. La historia cuenta que el arma había sido cargada con balas “ficticias” al principio del rodaje, una práctica común en la filmación de primeros planos de armas. Las balas “ficticias” contienen proyectiles y balas, pero no pólvora. Se puede apretar el gatillo, pero la bala, como máximo, se separará del proyectil.

Se disparó dicha pistola de utilería y la bala falsa salió y se atascó en el cañón. Más tarde, durante el rodaje, la misma arma debía cargarse con munición de fogueo para una secuencia de disparo real. La munición de fogueo no contiene plomo pero sí pólvora, provocando una auténtica explosión. Desafortunadamente, cuando se descargó la bala vacía dentro de dicha pistola de propaganda, la saqué y la disparé al cuerpo de Brandon Lee. Recibió un disparo en el abdomen y lo hirieron de muerte.

La película se completó con un reemplazo de Brandon Lee. – el futuro director de “John Wick”, Chad Stahelski – y su última película se estrenó póstumamente. La tragedia causó tanta pena y dolor en los corazones de los realizadores y del público que O'Barr maldijo haber inventado “El Cuervo” en primer lugar. Los realizadores recordaron bien la muerte de Lee. La nueva versión de la novela “El Cuervo” Protagonizada por Bill Skarsgård. En realidad, Según un nuevo informe de la revista VarietyLas armas fueron explícitamente prohibidas en el set de la nueva versión de la película.

“The Crow”, “Rust” y la seguridad de las armas en el set

Rupert Sanders fue el director del remake de “El Cuervo” y tuvo que plantearse dos tragedias. Lee no solo fue asesinado a tiros durante el rodaje de la película de 1994, sino que muchos recuerdan vívidamente la tragedia que ocurrió en el set de “Rust” en octubre de 2021. En el set de la película del oeste, al actor Alec Baldwin le entregaron un arma que Tampoco fue inspeccionado adecuadamente. Cuando disparó el arma, una bala atravesó el cañón y salió por la boca del arma. Golpea a la directora de fotografía Halina Hutchins y la mata. Este incidente ha provocado un debate continuo sobre el uso de armas reales en los sets de filmación y sobre cuántas producciones cinematográficas no son lo suficientemente seguras con respecto a las armas de fuego.

Sanders quería asegurarse de que nadie saliera herido durante el rodaje de “The Crow”, por lo que instituyó la prohibición de las armas de fuego. Fue citado diciendo:

“La seguridad es la prioridad número uno. Los decorados son muy peligrosos. Hay coches que se mueven rápidamente con grúas encima. Hay especialistas que hacen acrobacias y caen sobre cables altos y escaleras. Hay máquinas de lluvia y luces, se trabaja en un entorno industrial”. Así que hay que estar seguro. El primer día conocí al departamento de efectos especiales y al armero, que fue genial, fueron muy cuidadosos con la seguridad. , pero ni siquiera quería “A riesgo de hacerlo”.

Esto significa que Sanders encontró formas creativas de representar armas de fuego sin tener que preocuparse por tener armas reales en el set. Todas las armas vistas En “El cuervo” de Sanders Son de plástico o goma y ninguno de ellos está cargado.

No se realizan disparos en el set.

Sanders continuó:

“Dije categóricamente: 'No tendremos armas de fuego en el grupo', lo que significaba que no teníamos ni una sola arma que pudiera contener una munición real o una de fogueo cerca de él, de modo que ningún proyectil pudiera entrar. […] “Todas son armas de airsoft, algunas son simplemente herramientas de goma o metal que son funcionales pero no tienen mecanismo de disparo”.

No se habría disparado ningún tiro en el set de “El Cuervo”. Sanders incluso dijo que las pistolas de airsoft de juguete podrían servir como réplicas de rifles. Parecen disparar balas, incluso moverse y vibrar como armas reales, pero no pueden disparar nada más que una ráfaga de aire. Todo lo que se necesitaba para que las armas de airsoft parecieran armas reales era un destello de boca, y Sanders dijo que esto se manejó fácilmente después del disparo. Como él mismo lo expresó:

“Había que añadir fogonazos y humo, pero era un precio que valía la pena pagar. Eso me quitó una buena cantidad de dinero de mi muy limitado presupuesto para efectos visuales, pero creo que valió la pena. Los efectos visuales de esta película fueron Básicamente, filmamos en el set con decoración, así que tienes que equilibrar dónde gastas el dinero y no tienes un gran presupuesto para hacer VFX, pero para mí, fue un gasto que valió la pena por la seguridad y comodidad de todos. en este proyecto”.

“The Crow” se estrenará en cines el 23 de agosto de 2024 y es la quinta película Se basará en los cómics de James O'Barr. En una franquicia que también incluye videojuegos, libros y series de televisión.


[ad_2]

Source Article Link

Categories
News

Why JavaScript developers are switching to Rust in 2024 and why not

Why JavaScript developers are switching to Rust in 2024

It is becoming apparent that developers who typically work with JavaScript are now turning their attention to Rust, a programming language that stands out for its efficiency and safety. Rust is unique because it doesn’t have a runtime environment and requires that code be compiled before it can be executed. This language has won the hearts of many, as evidenced by its top ranking in the StackOverflow survey for several years. Its growing presence in the JavaScript community is noteworthy, with developers using Rust to boost the performance of various tools and frameworks. This article delves into the key aspects of Rust that are attracting JavaScript developers and provides guidance for those who are eager to learn this robust language.

Rust offers several features that are particularly appealing to JavaScript developers. First and foremost, Rust is a compiled language, which is a stark contrast to JavaScript’s interpreted nature. This means that Rust code must be transformed into a standalone program before it can be run, which contributes to its remarkable speed and efficiency. Another standout feature is Rust’s approach to memory management. It employs a distinctive ownership model that enforces strict rules, effectively preventing common issues such as memory leaks and data races that plague other languages.

JavaScript developers learning Rust

Here are some other articles you may find of interest on the subject of AI coding and programming assistants :

When it comes to working with functions, Rust allows developers to use references and borrowing. This means you can use values in functions without giving away their ownership, promoting safer code reuse and improved concurrency. Additionally, Rust enforces that variables are immutable by default. Once a value is set, it cannot be altered unless explicitly declared as mutable, which helps to reduce unintended consequences in your code.

Rust

  • Primary Use: Systems programming, including web assembly, embedded systems, and performance-critical applications.
  • Language Type: A compiled, statically-typed language.
  • Execution Environment: Compiled to machine code, it runs directly on operating systems or embedded systems.
  • Syntax and Learning Curve: Has a steeper learning curve due to its strict type system and ownership model.
  • Static Typing: Strong and static typing ensures many types of errors are caught at compile time.
  • Concurrency Model: Employs a unique ownership model for safe concurrency without data races.
  • Ecosystem and Community: Growing ecosystem, with a focus on safety and performance; not as vast as JavaScript’s.
  • Performance: Offers high performance, on par with C and C++, due to its low-level control and lack of garbage collection.
  • Memory Management: Manual memory management, guided by its ownership model, which ensures memory safety without a garbage collector.

Rust also comes with its own package manager, Cargo, which offers functionalities akin to NPM but with added features that streamline dependency management and project compilation. Furthermore, Rust is both a statically and strongly typed language, which means that it performs type checking at compile time. This eliminates ambiguous types like ‘any’ or ‘null’, allowing developers to catch errors early in the development process. Lastly, Rust provides robust error handling capabilities, distinguishing between recoverable and unrecoverable errors and offering comprehensive tools to manage them effectively.

For JavaScript developers ready to embark on their Rust learning journey, there are several structured resources available. The Rust Book is an in-depth guide that includes interactive elements and projects, providing a thorough understanding of Rust’s principles. The Official Rust Course is another resource that focuses on syntax and can be accessed through your terminal or browser, catering to different learning styles. Rust by Example is a practical way to learn Rust through documented examples, reinforcing knowledge with real-world scenarios. Lastly, the Standard Library Documentation offers detailed descriptions and examples of Rust’s standard library, expanding your understanding and skill set.

JavaScript

  • Primary Use: Primarily used for web development, both on client-side (front-end) and server-side (with Node.js).
  • Language Type: A high-level, interpreted scripting language.
  • Execution Environment: Runs in web browsers and on servers (using Node.js).
  • Syntax and Ease of Use: Known for its flexible and forgiving syntax, making it accessible for beginners.
  • Dynamic Typing: Uses dynamic typing, which can lead to runtime errors but offers flexibility in development.
  • Concurrency Model: Event-driven and non-blocking I/O model, particularly effective for web servers and interactive web applications.
  • Ecosystem and Community: Has a vast ecosystem with numerous libraries and frameworks (like React, Angular, Vue.js).
  • Performance: Generally slower than compiled languages; performance depends on the JavaScript engine (like V8 in Chrome).
  • Memory Management: Automated garbage collection.

The versatility of Rust is evident in the wide range of applications it can be used for. Developers can create full-stack websites using frameworks like Yew or Rocket, or develop command-line tools with the help of Clap. Rust even makes its way into game development, with engines like Amethyst providing the tools necessary to create games.

  • Compiled Language Without Runtime: Rust requires code compilation into an executable, differing from JavaScript’s interpreted nature. This contributes to Rust’s efficiency and performance.
  • Memory Management through Ownership: Rust’s ownership model enforces rules to prevent memory management errors, a contrast to JavaScript’s automated garbage collection.
  • References and Borrowing: Rust uses references and borrowing for function values without transferring ownership, promoting safer code reuse, unlike JavaScript’s more flexible approach to variable referencing and manipulation.
  • Immutable Variables by Default: In Rust, variables are immutable by default, with mutability being a choice. This contrasts with JavaScript’s flexible variable assignment and mutability.
  • Cargo vs. NPM: Rust’s package manager, Cargo, includes additional functionalities compared to JavaScript’s NPM, streamlining dependency management and project compilation.
  • Static and Strong Typing: Rust’s statically and strongly typed system, with enforced types at compile time, stands in contrast to JavaScript’s dynamic typing. Rust’s approach eliminates ambiguous types like ‘any’ or ‘null’.
  • Error Handling: Rust categorizes errors as either recoverable or unrecoverable, with tools to address all possible errors, unlike JavaScript’s less structured error handling.
  • Applications of Rust: The reference text highlights Rust’s applications in full-stack website development (using frameworks like Yew or Rocket), command-line tools (with Clap), and game development (with Amethyst). This shows Rust’s versatility beyond JavaScript’s traditional domain of web development.
  • Emphasis on Clarity and Strong Typing: Rust’s explicitness and strong typing are advantageous for writing clear and error-free code, a departure from JavaScript’s more flexible and forgiving nature.

For those who are accustomed to JavaScript, exploring the world of Rust can significantly enhance your coding practices. The language’s emphasis on clarity and strong typing leads to the creation of code that is both more understandable and reliable. By familiarizing yourself with the core features of Rust and following the suggested learning path, you can tap into the potential of Rust to improve your programming abilities and contribute to cutting-edge projects.

Filed Under: Technology News, Top News





Latest timeswonderful Deals

Disclosure: Some of our articles include affiliate links. If you buy something through one of these links, timeswonderful may earn an affiliate commission. Learn about our Disclosure Policy.