Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
An 8-bit CPU running at 1 megahertz. Kilobytes of RAM. The Apple II was released in the 1970's and many people first learned to program on it using the built in BASIC. Surely it is impossible to fit a language as complicated as Ruby on such a limited machine… right? Come see Ruby running where it has never run before, and learn how such a rich language can be squeezed down to fit on the humble Apple II. RubyKaigi 2019 https://rubykaigi.org/2019/presentations/PeterQuines.html#apr20
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this engaging talk from RubyKaigi 2019, Colin Fulton explores the audacious goal of running the Ruby programming language on the vintage Apple II, a computer with a mere 1 megahertz CPU and limited RAM. The presentation begins with a demonstration using a custom assembly slide presentation software loaded from a floppy disk, highlighting the stark differences in computer programming between now and the late 1970s. Key points include: - **Historical Context**: Fulton emphasizes how programming was done in the early days of the Apple II, where languages like BASIC were prevalent, and programmers had to write in machine code due to the lack of sophisticated tools. - **Assembly Language Overview**: The speaker demonstrates writing a simple program in assembly language, showcasing the challenges of low-level programming, including debugging and memory management. - **Ruby’s Compatibility Issues**: Fulton discusses the significant barriers to running Ruby on the Apple II, including the interpreter's size exceeding the system's memory capacity and modern functional requirements like file systems and Unicode support. - **Development of 'n Ruby'**: Recognizing the limitations, he introduces the concept of 'n Ruby', a minimal version of Ruby designed specifically for the 8-bit architecture. This version sacrifices some features while preserving the language’s core principles, allowing for object-oriented programming and key Ruby functionalities like method calls and memory management. - **Challenges and Solutions**: Fulton describes the journey of learning assembly and the iterative process of simplifying Ruby to fit within the constraints of the Apple II. He emphasizes the importance of managing memory effectively, limiting object creation, and facilitating object allocation and garbage collection. - **Final Vision**: The talk concludes with excitement over the ongoing development of 'n Ruby' and its potential adaptability to various limited platforms, aiming to keep the spirit of Ruby alive while embracing the quirky limitations of older technology. Fulton invites questions and engagement from the audience, encouraging collaboration on this unique programming challenge.
Suggest modifications
Cancel