Dinfio 3.1 is on the Way.

Your beloved language is about to come with 10x faster performance.
And... Welcome, Linux and macOS!

Coming this Fall  Try Online


What is Dinfio?

Dinfio is a high-level, general-purpose, interpreted, minimalist, and simple programming language. Dinfio's design philosophy is "code simple!". Here is an example of "Hello world" program 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 functions, Mathematical functions, File I/O, and Graphical User Interface (GUI).

So, let's get started!

  1. Download and install the Dinfio Programming Language
  2. Launch your favourite text editor and code this:
    ' My first program
    
    start
        for i, 1, 5
            writeln("Hello, I'm Dinfio")
        endfor
    stop

  3. Save your code with .fio extension, for example we'll save it as D:\Greeting.fio
  4. Launch command prompt and type dinfio-console "D:\Greeting.fio". You'll see the greeting:
    Hello, I'm Dinfio
    Hello, I'm Dinfio
    Hello, I'm Dinfio
    Hello, I'm Dinfio
    Hello, I'm Dinfio

  5. Viola! You have created your first program using Dinfio.

Download

You can download the latest version of Dinfio and Dinfio IDE[?] here:

Download Dinfio + Dinfio IDE Download Dinfio Only Download Dinfio IDE Only

Current Dinfio version: 3.0.12, current Dinfio IDE version: 3.0.22.
For this time, Dinfio only supports Windows operating system.

See Release Notes

Examples

The Dinfio IDE[?] comes with many great Dinfio program examples. You can find them on <Dinfio IDE installation path>\examples\ folder. And here is an example of great GUI Programming in Dinfio with very simple code lines:

' GUI Programming

import gui
 
start
    create_gui()
stop
 
function create_gui()
    global gui_window: window
    global gui_label: label
    global gui_textbox: textbox
    global gui_button: button
 
    window = gui_window("Hello!", gui_window_sizable, 260, 130)
 
    label = gui_label("Your name: ", window, 20, 20)
    textbox = gui_textbox("", window, 100, 17)
    button = gui_button("OK", window, 99, 50, 60)
 
    button.setdefault(true)
    button.addevent(gui_onclick, "button_click()")
 
    window.show()
stop
 
function button_click()
    messagebox(textbox.gettext())
stop

It's very simple, isn't it? You can even find more great and fun Dinfio program examples on the Dinfio Playground.

Dinfio 3.0. A Big Upgrade

Dinfio has been upgraded with a big change in version 3.0! A reference variable and function is now like a primitive variable and function as well. No more @ in front of a reference. It makes your beloved language is now even simpler. Here is the difference:

' Dinfio 3.0

a = array()
window = gui_window("Hello")
 
 
' Dinfio 2.0

@a = @array()
@window = @gui_window("Hello")

Declaration of a function is also simplified:

' Dinfio 3.0

function get_adjacent(vertex: v, max)
 
 
' Dinfio 2.0

function @get_adjacent(vertex @v, max)

And many more changes and additions! See Release Notes for the complete changes and additions.

The IDE

Dinfio IDE is the default Integrated Development Environment (IDE) for creating your Dinfio programs. You can directly run your programs from the IDE. Dinfio IDE comes with so many features, including Syntax highlighting, Auto completion, Code hint, Editor theming, and many more.

Here are some of Dinfio IDE screenshots:

The overview





 

Run program





 

Auto completion





 

Dark theme





 

Editor style customisation