Galaksija picture
20B05 — Galaksija

A collection of notes on programming languages.

Software freedom is the freedom to run the program as you wish, for any purpose, to study how the program works, and change it, to redistribute copies and your modified versions so you can help others.

Improvement means deterioration.

programming practices

programming links


A binary number is a number expressed in the base-2 numeral system, which uses only two symbols: 0 and 1. Each digit is referred to as a bit. Because of its straightforward implementation in digital electronic circuitry using logic gates, the binary system is used by almost all modern computers and computer-based devices.

—Akane is upset


Assembly is any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture's machine code instructions. An assembler translates the assembly language syntax into their numerical equivalents.

This page focuses on the assembly language for the 6502 processor, targetting the Famicom. Prior to learning assembly, I would recommend learning the basics of binary numbers. To explore a system with minimal instructions set, try the Gyo virtual machine. To see a simple example of a complete 6502 assembly project, see Spacetime.



A Forth environment combines the compiler with an interactive shell, where the user defines and runs subroutines called words. Words can be tested, redefined, and debugged as the source is entered without recompiling or restarting the whole program.

Forth programmers enjoy the immediacy of an interpreter while at the same time the performance and efficiency of a compiler. Forth is used in space applications such as the Philae spacecraft.

—Forth Programming Aesthetics

I use a custom version of the lbforth.c REPL, modified to work on Plan9 ARM which can be downloaded here. A graphical way of learning Forth is to play with Postscript which also follows the Reverse Polish Notation.


My main interest in the language is building little macintosh applications such as graf3dscene, and exploring the THINK Pascal 4.0.2 environment. I have saved many example files in the Macintosh Cookbook repository.

THINK Pascal is a development system for the Macintosh, released by Think Technologies in 1986 as Lightspeed Pascal. Think Technologies was bought by Symantec, and the name was changed to Think Pascal. The last official update came 1992, and the product was officially discontinued in 1997.


Hypertalk can be emulated easily using a Macintosh emulator, the default Hypercard canvas size is 512x342.

For most basic operations including mathematical computations, HyperTalk favored natural-language ordering of predicates over the ordering used in mathematical notation. For example, in HyperTalk's put assignment command, the variable was placed at the end of the statement:

put 5 * 4 into theResult


This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.



The Postscript language uses a postfix syntax similar to Forth. The Dotgrid language was designed to be a subset of the Postscript toolkit.

incoming(2): language assembly

Last update on 20B05, edited 26 times. +68/153fh-----+