1
0
Fork 0
forked from fun/fun

Added blog post. No code changes. (0.41.10)

This commit is contained in:
Johannes Findeisen 2026-05-10 02:24:35 +02:00
commit cc03c915fc

View file

@ -0,0 +1,70 @@
---
layout: post
published: true
author: hanez
author_email: hanez@fun-lang.xyz
author_url: https://hanez.org
noToc: false
title: What is Fun?
description: Fun is a serious, focused programming language and VM aimed at professional environments — used for serial and smartcard communication and, potentially, TCP/Unix sockets.
date: 2026-05-10
categories:
- project
- language
- vision
tags:
- fun
- language
- serial
- smartcard
- sockets
- vm
---
Fun is a programming language and virtual machine I originally started for fun — but I take it seriously and build it for professional environments. It is not an esoteric language. The current focus areas are:
- Serial communication
- Smartcard communication
- Potential TCP/Unix socket communication
This post gives you a concise picture of what Fun is (and is not), why it exists, and where it is going.
### What Fun is
- A compact language with a small, pragmatic core
- Backed by a lightweight VM designed for reliability
- Geared toward IO-centric tasks where predictability matters
- Built with maintainability in mind, aiming for clear semantics and straightforward tooling
### What Fun is not
- Not an esoteric toy — while the project began “for fun,” it has serious goals and standards
- Not a kitchen-sink runtime — we prefer a focused, composable core over bloat
### Primary use cases (today and near-term)
- Talking to devices over serial interfaces (industrial/embedded scenarios)
- Smartcard interactions where exact byte-level control is required
- Explorations around TCP and Unix domain sockets for simple networked services
### Design values
- Focus: solve concrete communication problems well
- Simplicity: keep concepts minimal and understandable
- Reliability: deterministic behavior over clever shortcuts
- Portability: aim to run in constrained and varied environments
### Project status
Fun is evolving quickly. Some components are production-ready, others are still experimental. The direction is clear: practical features that make day-to-day, low-level communication tasks easier and safer.
### Get involved
- [Browse features](/features/)
- [Read the documentation](/documentation/)
- Try examples from the repository and site
- Send feedback and ideas — they directly shape priorities
If you work with serial devices, smartcards, or lightweight networked tools and want a focused, no-nonsense environment, Fun might fit you well. It started as a project for fun — and it stays fun — but the goals are serious.
— Johannes Findeisen (hanez) · hanez@fun-lang.xyz