The wait is over, the next-gen Dinfio has been released!
Now comes with new Garbage Collector—makes your programmes free from memory leaks.
Dinfio is a high-level, general-purpose, interpreted, minimalist, simple, and open source programming language. Dinfio's design philosophy is "code simple!". Here is an example of "Hello world" programme in Dinfio:
start
writeln("Hello world!")
stop
Or just:
writeln("Hello world!")
Dinfio supports multiple paradigms, including imperative, procedural, object-oriented, and event-driven programming. Dinfio comes with great built-in modules, like Standard I/O, String manipulation functions, Mathematical functions, Date and Time, Regular expression, File I/O, Graphical User Interface (GUI), HTTP requests, JSON functions, and more.
So, without further ado, let's get started!
start
var name = "Chérie"
writeln("Hello, my name is " & name)
stop
.fio
extension, for example save it as hello.fio
on your home directorydinfio hello.fio
. You'll see the greeting:
Hello, my name is Chérie
Let's go download and install Dinfio! Select your operating system below and follow the instructions to download and install Dinfio
Download Dinfio 3.2.0 for Linux
dinfio-3.2.0-linux-gtk3.tar.gz
):
$ tar -xzf dinfio-3.2.0-linux-gtk3.tar.gz
dinfio-3.2.0-linux-gtk2.tar.gz
instead. And extract it:
$ tar -xzf dinfio-3.2.0-linux-gtk2.tar.gz
$ cd dinfio-3.2.0/
$ ./install.sh
$ dinfio -v
Download Dinfio 3.2.0 for macOS (Apple Silicon)Download Dinfio 3.2.0 for macOS (Intel)
$ dinfio -v
Download Dinfio 3.2.0 for Windows
dinfio-3.2.0-windows.exe
) and follow the wizard to install Dinfio> dinfio -v
Download Dinfio 3.1.06 for Raspberry Pi
dinfio-3.1.06-linux-armv7.tar.gz
):
$ tar -xzf dinfio-3.1.06-linux-armv7.tar.gz
$ cd dinfio-3.1.06/
$ ./install.sh
$ sudo apt install libwxgtk3.0-dev
$ dinfio -v
# curl -o dinfio-3.2.0.tar.gz \
https://dinfio.org/releases/files/3.2.0/dinfio-3.2.0-linux-docker.tar.gz
# tar -xzf dinfio-3.2.0.tar.gz
# cd dinfio-3.2.0/
# ./install.sh
# dinfio -v
Here is an example of beautiful GUI programming in Dinfio with very simple lines of code:
' GUI Programming
import gui
start
window = gui_window("Hello!", 260, 130)
label = gui_label("Your name: ", window, 20, 20)
textbox = gui_textbox("", window, 100, 17)
button = gui_button("OK", window, 100, 56)
button.addevent(event.click, button_click())
window.show()
stop
function button_click()
messagebox(textbox.gettext())
stop
Output:
It's very simple, isn't it? You can even find more great and fun Dinfio programme examples on the Dinfio Playground and on the GitHub Repository.
You can download Dinfio syntax highlighting extension/package for your beloved text editors here:
Download Visual Studio Code Extension
Install the extension file you have downloaded (dinfio-vscode-0.0.3.vsix
):
$ code --install-extension dinfio-vscode-0.0.3.vsix
dinfio-vscode-0.0.3.vsix
)
Download Atom Package
Extract the .zip file you have downloaded (dinfio-atom-0.0.2.zip
) and then copy folder language-dinfio
to:
On Linux: $HOME/.atom/packages/
On macOS: $HOME/.atom/packages/
On Windows: %APPDATA%\atom\packages\
Download Sublime Text 3 Package
Extract the .zip file you have downloaded (dinfio-sublime-0.0.2.zip
) and then copy folder dinfio-sublime
to:
On Linux: $HOME/.config/sublime-text-3/Packages/
On macOS: $HOME/Library/Application Support/Sublime Text 3/Packages/
On Windows: %APPDATA%\Sublime Text 3\Packages\
Download Language Spec
Install the .lang file you have downloaded (dinfio.lang
):
$ sudo cp -f dinfio.lang /usr/share/gtksourceview-3.0/language-specs/
$ sudo cp -f dinfio.lang /usr/share/gtksourceview-4/language-specs/