.. Decision Copyright (C) 2019-2020 Benjamin Beddows This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ************ Introduction ************ Who is Decision? ================ Original Author --------------- Hi, I'm **Ben Beddows**, a.k.a. **drwhut**, and I'm a second-year Computer Science student at Durham University. What is Decision? ================= Inspired by Unreal Engine 4's *Blueprints* and the programming language *Lua*, Decision is a programming language that is: * **General-purpose**: You can use Decision in almost any environment, whether it's on its own, or as a scripting language for another program. * **Visual**: The syntax of the source code is in the form of a flowchart - data flows from nodes through wires into other nodes. * **Compiled**: The language compiles source code into its own bytecode that is then executed. Decision allows you to run compiled bytecode directly for performance-heavy applications. Where is Decision? ================== Decision is being developed on `this GitHub respository `_. When is Decision? ================= Decision is currently in version 0.3.0 The version format is ``[Major Build].[Minor Build].[Patch]``, where an increase in the major build indicates a major rework, an increase in the minor build indicates new features, and an increase in the patch number indicates bug fixes with each minor build. I'll do you one better... why is Decision?? =========================================== One day in 6th form, I had just learnt the 5 stages of compilation in an A-Level Computer Science lesson. Shortly after this lesson, I got bored and wanted a big programming project to work on, so I decided to use what I learnt in the lesson, plus some research of my own to create Decision. However, for this project, I wanted to set some goals for myself: * Decision should have lots of **documentation**, so if contributors wanted to help improve the project, that process is as easy as possible. * Decision should be **adaptable**, so that you could find a use for it in any environment or situation. * Decision as a language (including GUI editors) should be **intuitive** to use, so even if you've never programmed before, or can write code in a billion different languages, you would enjoy using this language. How is Decision? ================ Good, you? Decision is made purely with the C programming language. This is so you can include it into any C or C++ project and will guarantee that the language is small and as efficient as possible. (It also means pain where there shouldn't be any...) The project itself is set up with `CMake `_. This guarantees that the language is cross-platform. See the ``README.md`` file at the root directory of the project for instructions as to how to compile the project on your local machine from the source.