Three Questions and Answers: Storage for TraPC – S/C ++ – Profest Replacement

0
3
Three Questions and Answers: Storage for TraPC – S/C ++ – Profest Replacement


The traff -developed TRAPC programming language developed by Robin Rowe is a version of C with specializing in cyber security, aimed at avoiding general memory problems and buffer overflow in C/C ++. Rowe presented its project at the final ISO-C meeting in February and the Compiler Open Source is asked to be available at the end of 2025. It processes C and TRAPC code and is also compatible with a simple C ++.

Advertisement


We talk about safety and future from Robin His ideaThe interview was led in English and in some places we refer to the original formulation.




Track’s inventor Professor Rowe, Baltimor, is the CEO of Fountain Abod, Research Institute at Maryland. He led the enhanced reality group at the World Health Organization (WHO) and prepared a 3D war game software for hospital simulation to train doctors in emergency medicine. Other Hollywood stations were the developers of real-time animation software that were used for visual effects in Disney’s Marvel Spider-Man and many other big cinema films. He also designed the first real -time AI processing of the natural language, integrated into the National Defense System of the United States.

Robin, why is TRAPC safe than C/C ++?

To think about software security, only what explains to us, we should ask ourselves some basic questions, what happens when C and C ++ code has specific errors- today’s art status.

If you use a zero indicator content, what happens, that is, reads or writes invalid memory? Or if a pile indicator is incorrectly used by a double-free or use-fry freest? When a buffer overr is overr, divide-by-zero, integer overflow, floating point naan or a wild indicator appear? No matter what C or C ++: What happens is undefined behavior.

This can lead to an accident, an exploitation zero-day security difference or other lewd behavior. C-and C ++ programmer should be careful and estimated where the mistakes can be in the code and then there can be defensive programming around it- a world that should have a programmer expert and very careful.

Expert Overview: Understanding, Control and Improvement of Software SystemExpert Overview: Understanding, Control and Improvement of Software System


Table Storage -Profate Language

Table Storage -Profate Language

Saving-proof C-Dialects in Overview

(Image: Robin Rowe)

On the other hand, TRAPC fails. It reacts to errors in a very different way compared to C and C ++ or any other programming language that I know. If an unexpected event occurs in the trapc language, it triggers a trap event. If the programmer has written a custom trap handler, TRAPC will call it. Otherwise, it calls the standard trap handler, which spends a useful error message and eliminates execution. The C-Code compiled with TRAPC does not crash and does not offer the attack area for hackers.

What to rethink developers when using TraPc?

Programmers who are familiar with C or C ++ will have to learn three new functions in TRAPC: Memory safe pointer (MSP), trap And aliasIf you know C ++, TRAPC has constructors, distraiters, member functions and standard arguments that look like C ++. Learning TRAPC is not difficult, even C or C ++ without knowledge. There are sixty major words in TRAPC, as C.

trap Similar is used catch In C ++. Unlike exceptions, TRAPC failure is argued with testing. In C ++, the programmer should be very careful with anticipating mistakes to leave something out (“throw” in original “). In trapc, a program can capture something (” fair “in origin), which has never been taken out, for example the division-by-zero.

alias This way can be used #define C. In, however, there are many more nuances alias Preprocessor provides as replacement. There is no template or operator overloading in TRAPC, and still enables alias To create containers and library that mimics C ++-STL containers and API of iOSTREAM.

Avoid intervals such as TRAPC memory safe pointer buffer overran, memory leaks, double-free and uz-fila-free. On the other hand, you can also avoid a cookingbase collection with a five -time performance loss and unacceptable sweep delay. However, the high-demonstrations of TRAPC with their memory security, the price of automated memory management that it changes traditional pointer dynamics and makes some heritage C code unusable.

MSPs work in this way: a MSP that is basically memory malloc Acquired, the initial owner is an indicator. Every other MSP that indicates the same memory block is a surname, not a owner. MSPS does not require reference calculation or garbage collection, as only one owner. There is some experience with the owner punch using C ++ programmer std::unique_ptrWhen he leaves the scope, a owner issues the indicator memory. Can more than msps unique_ptrTRAPC has rules when a surname will be promoted to withdraw the ownership of the original owner indicator. The TRAPC has all the pointers MSPS and storage-proof, although your syntax is similar to C or C ++.

TraPC can release memory and put a pointer at zero before C or C ++ programmer. C and C ++ have pile allocation malloc Or new Until they were manually released, they were created forever. C-and C ++ pointer Eleias are never adjusted, but walk around forever. MSP prevents problems with usage-free except for the owner’s pointers that release scope and set their surnames to zero. Trapc is strict in dealing with pointers in the form of C and C ++. Like a prudent practice to compile with new compilation flags with TRAPC -Wall And -Wextra Introduction under Linux.

What is your vision with TRAPC? Will this be a complete replacement for C or C ++?

The current question is how much can we rely on code generation through generic AI? The CEO of Google and NVIDIA has said that twenty percent of their code is now created by AI and this ratio continues. Generative AI was trained with source code by Microsoft Github and other repository that are not innocent. There is an AI to achieve a safe superintendent (originally “safe super intelligence”) that is better than what human programs can do, we need a failed programming language like TRAPC to disinfect the past and future code.

TRAPC is the method of “safe super intelligence”, very generous AI that creates code that may not occur. My vision for TRAPC language is that this only failure will be safe, crashed and high-demonstration programming language, which is easy to understand and exclude continuous programming errors. If TRAPC later fulfills this vision in 2025, then why should one use a different language for programming with or without AI help?

Robin, thank you very much for the answer!

In the series “three questions and answers”, IX briefly wants to achieve its current challenges – whether it is a user in front of the PC, about the manager’s approach or the daily life of a administrator. Do you have your daily practice or suggestions from your users? On which subject would you like to study briefly and crispy? So please write us or leave a comment in the stage.


(Who)

Development Environment Eclipse 2025-03 c ++ updated for 23 and Java 24Development Environment Eclipse 2025-03 c ++ updated for 23 and Java 24

LEAVE A REPLY

Please enter your comment!
Please enter your name here