DEV Community

Abdulazeez Abdulazeez
Abdulazeez Abdulazeez

Posted on

Introducing SIMPLE - A new programming language.

Hi devs, i'll be introducing a new programming language Simple. As the name implies, this programming language is simple.

Simple

The Simple Intelligent and Modular Programming Language and Environment
Current Version : 0.3.213
simple-repl

About Simple

SIMPLE is a plain and innovative programming with multi-paradigm. It can be embedded in C/C++ projects. The language is portable to various OS including windows, macOS, any linux and unix distros and other OS. The language is small and fast.

Features

Simple has features every programming language will have such as variable declarations, functional programming, Object oriented programming etc and more to come. It houses all these features as it parent architecture comes from C. Simple is weakly typed, no explicit end of line required and can be embedded in C and C++ projects. Portability with javascript is a major goal we're trying and going to achieve.

Downloading & Installing SIMPLE.

Simple has compilers that can be installed in our Windows/Linux/Mac systems. Simple can either be cloned, downloaded as zip or gotten from here
Below are the procedures for installing on each system respectively.

Installing on Windows.

This is quite the easiest installation. Download the windows type file from here and run.

Installing on Linux

After downloading simple from either methods listed above, unzip/move into the SIMPLE folder from your console and follow the instructions below.

# Copy make file from bootsrc/makefiles/inux to sources
$ cp bootsrc/makefiles/linux/Makefile bootsrc/sources
# install simple with the "make" command.
$ make

Wait for a few moments, probably a minute. The make file installs simple in a folder dist located in the bootsrc folder. start the SIMPLE compiler with the command

./simple
Got an error ?

Was there an error stating simple.so couldn't be found ?. Use this command everytime once you're in the folder via the console.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
Unable to add to global path.

Sadly, we're working on that issue and a fix will be issued in the next release.

Installing on Mac

To install on Mac, the same procedures are followed but some small differences. Steps to install..
After downloading the Mac package, navigate to the home folder of SIMPLE and run commands.

# Copy make file from bootsrc/makefiles/inux to sources
$ cp bootsrc/makefiles/mac/Makefile bootsrc/sources
# install simple with the "make" command.
$ make

Boom, we have simple installed.

Getting started.

You can check the unofficial documentation / guide to simple as the official documentation comes up. Get acquainted with SIMPLE's syntax HERE

Contributors.

We love and are looking for contributors that'll help in the development of SIMPLE. This is an open source project and needs the supports of the community extensively. Check out the contributing guide

Top comments (2)

Collapse
 
slaffik profile image
Slava Abakumov • Edited

What's the purpose of the language? How is it different from lots of others weakly typed language? Memory footprint? Performance? Use cases?

Collapse
 
iamthecarisma profile image
Adewale Azeez

As the name implies it is build to be very simple to adopt by novice and professionals. It is built with speed and productivity in mind with size less than 1 MB which make it easy to be use in embedded system.

The memory footprint is pretty impressive with a better control Garbage Collector (GC), all the used variable are disposed off properly. It does reference counting and any junks does is not abandon in the memory. Just like C it also support the free() function which is a destructive function to kill a variable or attribute. Object can also be free by assigning it to null e.g obj = null it will be released

In term of performance it pretty fast as code are executed line by line and it is error tolerant although an actual benchmark has not been conducted but with some test program written with it the execution speed is satifying.

The use cases is mainly for System Programming (Console and GUI), Web using cgi and web module, embedded system as it can interact fluently with C.
(it website simple-lang.sourceforge.net currently written in simple itself)