Board Thread:Suggestions/@comment-30638561-20160202015629/@comment-25998654-20160203194030

Firstly: what in the world is this doing in the suggestions board when it contains no feature requests or anything that could be even tangentially related to one?

Riiiight so there are some misconceptions present here. In the interests of preventing confusion...

1. Lua is not compiled to C++ or assembly. Lua is a scripting language, meaning it is not compiled to machine code. Instead, it is converted to an intermediate language called bytecode. When a script is run, this bytecode is interpreted and executed by the Lua interpreter. It is not translated to machine code, either on the fly or ahead of time.

Incidentally, this process is similar to how Java and C# are compiled and executed. Java compiles to Java bytecode and C# (and VB.NET, as well as other languages that use the CLI) compiles to CIL, or Common Intermediate Language. Both of these, however, compile further to machine code when they are executed. In most CLR and JVM implementations this is done using a Just In Time compiler, which compiles the intermediate code as it's called. There are a lot of other steps involved too - these compilers often do a lot of machine-specific optimizations to eke out even more performance.

2) Assembly is not the lowest level of programming. That distinction goes to machine code, a binary sequence whose behavior is defined using microcode and the layout of the transistors on the processor itself, which varies across processor models. Assembly is an abstraction to allow the same instruction set to be used across multiple, similar processors.

3) C++ is not a 'core language', whatever that means. Considering that all I can find on the term refers to individual parts of a language or some sort of translation service I can only assume you meant low-level languages, of which C++ is not one. A low-level language is defined as a language that does not abstract away the details of the hardware. The only languages to fall into this category are assembly and machine code.

C++ is not a low-level language because it does abstract away the details of the instruction set and processor architecture from the perspective of a developer. This has two consequences: firstly, it makes it easier for programmers to work with C++, and it makes it a high-level language. In general, the same C++ code can be compiled for x86 and ARM processors and run without any changes to the original code. This is a very complicated subject and there is more to this. Do not assume that this applies everywhere, because it doesn't.

4) "can manipulate data similar to how assembly can" This is the basic functionality of all programming languages: to manipulate and operate upon data contained within a system. It is not unique to C++ and it is not unique to assembly. C++ and assembly have more freedom to act on the hardware than say, Lua or Python, but this behavior is still apparent.

5) DLL files are library files used to share code across multiple applications. There are methods to allow you to execute code when the library is loaded, which is how these exploits are executed when injected with Cheat Engine or an equivalent. They do not tell files 'how to work'; they provide tools that executable files can use to perform work.

6) An API is an Application Programming Interface. The ROBLOX API is the set of Lua objects and their behaviors that developers use to interact with the ROBLOX client and server to achieve desired results. ROBLOX has patched exploits without changing the API on many occasions.

and I'm done.