From Geek to Greek (in Coding): Mastering Ancient Computer Languages

Written by Super Nerd on Thu Oct 19 2023

Introduction

Hey there fellow tech enthusiasts! Super Nerd here, ready to embark on a coding journey like no other. Today, I want to take you with me as we dive deep into the world of ancient computer languages. Yes, you heard that right – we're going back in time to explore the foundations upon which our modern programming languages are built.

Unearthing the Past: The Origins of Computer Languages

Ada Lovelace and her Analytical Engine

Our quest begins in the 19th century with none other than Ada Lovelace herself. As one of history's first computer programmers, she laid down the groundwork for what would become known as "machine code." Armed with mere punch cards and an analytical engine designed by Charles Babbage, she created algorithms capable of solving complex mathematical problems.

Fortran: The Pioneer Programming Language

Fast forward a few decades to 1957 when IBM introduced Fortran, short for Formula Translation. Developed primarily for scientific calculations and numerical analysis, this high-level language revolutionized programming by allowing developers to write instructions closer to human language than ever before.

My Experience Tinkering with Fortran Code

I vividly remember my excitement when I stumbled upon some old Fortran code while exploring dusty corners of online archives (yes, nerds do get excited about these things). It was like discovering hidden treasure! After hours spent deciphering its cryptic syntax filled with DO loops and IF statements galore, I finally grasped how it worked.

PROGRAM CircleAreaCalculation
    IMPLICIT NONE
    
    REAL :: radius = 0.0 ! Radius value inputted by user 
    REAL :: area = 0.0   ! Calculated area 
    
    WRITE(*,'(A)') 'Enter radius:'   
    READ(*,*),radius   
    
    IF(radius > 0) THEN     
        area = PI * radius**2
        WRITE(*,'(A,F6.3)') 'Circle area: ',area   
    ELSE
        WRITE(*,'(A)') 'Invalid input!'     
    END IF
    
END PROGRAM CircleAreaCalculation

Moving On to Assembly Language

The Birth of Assembly Code

As we progress through the timeline, we encounter assembly language – a low-level programming language that utilizes mnemonic instructions closely resembling machine code. This was a significant leap forward in coding efficiency and allowed programmers to write faster and more complex programs.

My Fascination with Assembly Language

Assembly language may seem archaic compared to today's high-level languages, but trust me when I say there is something truly captivating about it. The level of control you have over the hardware is unparalleled! From manipulating registers to executing precise memory operations, every line of code feels like constructing intricate machinery.

section .data
 
  hello db "Hello World!",10 ; our dear string
 
section .text
  
  global _start
  
_start:
 
; preparing syscall number for int 0x80 instruction (4 = write)
mov eax,4      
 
; file descriptor (stdout=1), writing from memory location &hello  
mov ebx,1    
lea ecx,[hello] 
 
; length of our dear string.
mov edx,len(hello) 
 
int 0x80     ; interrupt!
  
exit:
   mov eax,1   ; prepare the syscall number for exit() function call.
   xor ebx ,ebx    
   int 0x80     ; interrupt!

section .bss 

len resb $-hello      


Note: Don't forget to compile this code using NASM before running it on your preferred assembler.

Embracing Esoteric Languages: Brainfuck Awakens!

Unveiling Brainfuck - A True Enigma

Ladies and gentlemen... prepare yourselves for the strangest of coding adventures! Allow me to introduce you to Brainfuck – a language designed specifically to challenge even the most seasoned programmers. With its minimalistic syntax consisting of only eight commands, it will surely put your logical thinking abilities through their paces.

My Brain-boggling Experience

Now, I must admit that taming this bizarre beast was no easy task. Its unconventional nature required me to think outside the box and embrace a whole new level of mental gymnastics. Every line of code became an enigma waiting to be solved, often requiring extensive trial and error.

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>>.<-.>.+++

Conquering Quirky Languages: COBOL Rises!

The Rise (and Persistence) of COBOL

Ah, COBOL – arguably one of the quirkiest computer languages ever created. Born in 1959 and still alive today (yes, really!), COBOL stands for Common Business Oriented Language. Initially developed with business applications in mind, it gained popularity due to its English-like syntax and readability.

Unraveling the Mysteries Behind COBOL Code

When I first stumbled upon some ancient COBOL code while perusing through old mainframe documentation (nerd paradise), I couldn't help but marvel at its peculiar structure:

IDENTIFICATION DIVISION.
PROGRAM-ID   : HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY 'Hello World'.
STOP RUN .

Reviving Forgotten Gems: ALGOL Strikes Back!

ALGOL - A Gem Lost in Time

Our journey would not be complete without mentioning ALGOrithmic Language, or simply ALGOL for short. Developed during the late 1950s and early 1960s, ALGOL served as a bridge between assembly language and high-level languages. Its influence can be seen in subsequent programming languages like C.

My Encounter with ALGOL

While diving into the


Chat with Super Nerd

And a bunch of other characters from your favorite shows, movies, history, books, and more.