The Abstract Programming Language is a general-purpose system programming language
made to be easy to learn, read, write and share.
The Abstract Development Environment is planned to be pretty rich, including systems
for build, debugging, unit testing and modularity.
The philosophy of a language is one of the most important points of its development. It contains all the concepts that allows and justifies its existence.
Abstract uses these five concepts as its foundation:
Control, Readability, Security and Portability
The Abstract Development Environment is made to give the user the maximum productivity and efficiency possible as a developer. It is built around 4 components, still in development:
The Abstract compiler is the foundation of the project. It is the main program that handles the raw script files, process its syntax and semantics and control the other components to end up with an optimized and easy to share executable program or library.
The Abstract linker is a development tool that allow the programs and libraries to be compiled into final machine or byte code in the most performative way. It is also used to reduce dead code from libraries and merge the Abstract bytecode with any necessary assembly or machine code.
The Plugins are made to give freedom to the community to do whatever they want with their programs. These plugins can be used to manipulate the process during compilation or extends the linker, allowing a bigger diversity of compiling targets for different digital devices.
The Package Manager is made to allow users to build and share libraries to all purposes and compilation targets.
The Abstract Development System is still under development and should continue like this for a good time. If you have some time and good knowledge, try to contribute! (it would make me really happy :3)