This portion of our computer programming language guide features Pharo, an open-source, cross-platform implementation of the classic Smalltalk-80 programming language and runtime.
Pharo was forked from Squeak in March of 2008, the year that the language first appeared. It remains under active development on GitHub by the Pharo community, with the most recent stable release being in May of 2023, as of this writing. Available under the MIT License, with portions under the Apache License, Pharo is shipped with source code compiled into a system image that contains all of the software required to run Pharo.
Like the original Smalltalk-80, Pharo provides several live programming features, such as immediate object manipulation, live updates, and just-in-time compilation. The image includes an IDE-like software that can be used to modify its components.
Although Pharo is not a mainstream programming language, it is used by universities for teaching object-oriented programming due to its elegant design and simplicity.
Pharo's lineage traces back to Smalltalk, a venerable language that pioneered object-oriented programming. Smalltalk introduced the concept of objects, classes, and dynamic typing, influencing several languages that are well-known today, such as Java, Python, JavaScript, C$, Ruby, and others. Smalltalk was also the first to offer a graphical Integrated Development Environment (IDE).
Pharo's syntax is concise and straightforward, making it easy to learn. Its model adheres to purity and elegance, emphasizing clarity and expressiveness. Pharo encourages accessibility.
Pharo's graphical IDE supports live coding and debugging, allowing developers to experiment and iterate seamlessly.
Pharo stands out for its simplicity, elegance, and focus on productivity. Because it avoids the quirks and complexities found in some other languages, many programmers find development with Pharo to be less tedious, more pleasant, and more accessible than with some of the mainstream languages.
Although Pharo was created sixteen years ago, the language continues to be under active development by the Pharo community.
 
 
Recommended Resources
Advanced Object-Oriented Design and Development with Pharo Mooc
The official website for the Pharo programming language, this Massive Open Online Course (MOOC), is entitled "Live Object Programming in Pharo." It includes a set of videos, exercises, challenges, and mini-projects covering topics related to live object-oriented programming (OOP), a distinctive feature of Pharo. As an introduction, the MOOC provides pre-sequel videos and slides about object-oriented programming for beginners. Participants validate progress through quizzes.
https://advanced-design-mooc.pharo.org
Exercism is a platform for enhancing programming skills, offering a blend of learning, practice, and mentoring for several languages. Its Pharo track features forty-five exercises with automatic analysis of the code and personal mentoring for free, although registration is required. Pharo is a programming language and environment that provides immediate feedback during runtime and can be used for web, desktop, AI, visualizations, and IoT devices. Exercises may be viewed.
https://exercism.org/tracks/pharo-smalltalk
Hosted on GitHub, this is the official GitHub repository for the Pharo programming language community. Pharo is a dynamic, reflective, pure object-oriented language that supports live programming, inspired by Smalltalk. Key repositories associated with the Pharo Project on GitHub includes Pharo, which includes the sources of the Pharo language, and Pharo-VM, which is the Pharo Virtual Machine, essential for running Pharo applications. Contributors are identified through their profiles.
https://github.com/pharo-project/
The dynamic and reflective programming language offers live programming features, such as immediate object manipulation, live update, and hot recompiling. The object-oriented programming language is an implementation of Smalltalk and the Smalltalk IDE, with additional influence from Squeak, itself an implementation of Smalltalk. Available under the MIT License and, in part, the Apache License, it is open-source, and may be freely downloaded from the site.
https://pharo.org/
Fully dubbed in French and English, with subtitles in French, English, Japanese, and Spanish, the Pharo MOOC is a set of videos, exercises, challenges, and mini-projects; the site offers a learning experience for those interested in object-oriented programming (OOP) using the Pharo programming language. The MOOC covers the basics of OOP as a prequel, while participants engage with videos, slides, and practical exercises. The course material is available for free. Testimonials are offered.
https://mooc.pharo.org/
RIP Tutorial: Getting Started with Pharo
Providing educational content across a variety of domains, including programming, RIP Tutorial is an educational resource funded through advertising, affiliate marketing, and sponsorships. Its Pharo tutorial offers comprehensive guidance on the Pharo programming language and environment, covering topics such as MMVM (Model-View-ViewModel) architecture, as well as information on obtaining and installing Pharo, the platform it runs on, and other details.
https://riptutorial.com/pharo
Why the Pharo Programming Language Could be the Future of Software Development
The App Academy article features the open-source programming language and environment known as Pharo, discussing the language's simplicity, live coding and debugging, Small talk heritage, and its community and ecosystem, which actively contributes to the language's growth, creating libraries, tools, and frameworks, offering a fresh approach to software development, emphasizing simplicity, live coding, and a vibrant community, illustrated with screenshots and third-party references.
https://www.appacademy.io/blog/pharo-future-software-development