Smalltalk VS love

Compare Smalltalk vs love and see what are their differences.

Smalltalk

Parser, code model, interpreter and navigable browser for the original Xerox Smalltalk-80 v2 sources and virtual image file (by rochus-keller)

love

LÖVE is an awesome 2D game framework for Lua. (by love2d)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Smalltalk love
24 258
260 4,378
- 6.7%
0.0 9.7
almost 3 years ago 5 days ago
C++ C++
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Smalltalk

Posts with mentions or reviews of Smalltalk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-02.
  • The Xerox Smalltalk-80 GUI Was Weird
    3 projects | news.ycombinator.com | 2 Jul 2023
    > * I'm assuming the "by the Bluebook" implementation they're referring to is this: *

    Or this: https://github.com/rochus-keller/Smalltalk/

  • The seven programming ur-languages
    4 projects | news.ycombinator.com | 4 May 2023
    > message passing and late binding combined. "Duck typing" is seriously diminishing it

    Actually even ST-72 made synchronous calls, but at least with a token stream interpreted by the receiving object (thus at least a bit of "message passing"). In ST-76 and later versions "message passing" is just nomenclature used by the ST folks for something that is just ordinary method dispatch and call (if you have doubts, you can analyze the innards of the ST-80 VM yourself e.g. with these tools: https://github.com/rochus-keller/Smalltalk ). The major difference is the dispatch based on signature hash (similar to e.g. Java interface method calls) instead of static positions, which enables late binding (at the expense of performance); and since everything including ordinary integers derive from Object, all values and objects are subject to dynamic method dispatch; it's no coincidence that Smalltalk was the first language to allow real duck typing. The unification of scalar values and references, dynamic typing, and likewise the minimal syntax where control structures are implemented by means of runtime constructs were already known from Lisp; also closures (i.e. ST blocks) were already known before they were added to ST.

  • my programming language
    2 projects | /r/ProgrammingLanguages | 15 Dec 2022
    Here is one even in Lua: https://github.com/rochus-keller/Smalltalk/
  • LeanQt – GUI is here, Widgets are near
    5 projects | news.ycombinator.com | 12 Nov 2022
    > 10kSLOC for the entire universe

    It is the nature of idealists that they see the world idealized. Smalltalk-80 itself has nearly 30 kSLOC; it's just more difficult to count, but I wrote tools which can do it (https://github.com/rochus-keller/Smalltalk/).

  • 50 years Smalltalk anniversary celebration at Computer History Museum
    6 projects | news.ycombinator.com | 30 Aug 2022
    Why should "perform" be a message? It's just a method of the Object class, which is the superclass of Integer. You can use my St80ClassBrowser and St80ImageViewer (see https://github.com/rochus-keller/Smalltalk/) to check the ST-80 source code and image if you want; there is a list of all selectors and the classes which implement them. Going up the class hierarchy when doing virtual method dispatch is a fundamental concept of all object-oriented implementations; in contrast to e.g. C++ this can be done dynamically at runtime in Smalltalk or Java (which is also called late binding). In contrast to Smalltalk in Java the class loader verifies that a method for the referenced signature actually exists; in Smalltalk you can try to dispatch any signature which can result in a call to the doesNotUnderstand method of the Object class.
  • A History of Lua
    14 projects | news.ycombinator.com | 10 Aug 2022
    > a large lua game code base, over 4000 files, 1.5 million lines of code

    Interesting; how do you manage to keep consistency? Do you have special tools to e.g. detect inadvertent global variables? I once wrote a Smalltalk VM in Lua (https://github.com/rochus-keller/Smalltalk/blob/master/Inter...) which is a much smaller code base but even with this size I quickly would have lost track of e.g. scopes and names without tools I had to write myself (https://github.com/rochus-keller/LJTools).

  • Smalltalk Squeak 6.0
    3 projects | news.ycombinator.com | 6 Jul 2022
    It is true, that there is uncollected garbage in the original Xerox ST80 image. I've built some tools to analyze the image and also a VM which can be interrupted at any time to analyze the current state of the image (see https://github.com/rochus-keller/Smalltalk).

    There are two zombie processes (OID 6662 and 19ba). There are also a couple of BlockContext and MethodContext which have a nil sender and a reference to an unknown method, but which are still referenced from somewhere (i.e. the collection is prevented even if it is not implemented by reference counting. E.g. OID 79a2 of class BinaryChoice. I have a full list if anybody is interested.

  • Celebrating 50 Years of Smalltalk
    1 project | /r/programming | 4 Jul 2022
    Integers are actually directly stored, i.e. without boxing/indirection by a pointer. The Smalltalk object memory doesn't have pointers in the C sense, but rather indices into the object table. If you're interested I've implemented a couple of tools to study the original Smalltalk-80 VM, see https://github.com/rochus-keller/Smalltalk/.
  • Ask HN: Admittedly Useless Side Projects?
    21 projects | news.ycombinator.com | 24 Jun 2022
    - https://github.com/rochus-keller/Smalltalk/ Parser, code model, interpreter and navigable browser for the original Xerox Smalltalk-80 v2 sources and virtual image file

    - https://github.com/rochus-keller/Som/ Parser, code model, navigable browser and VM for the SOM Smalltalk dialect

    - https://github.com/rochus-keller/Simula A Simula 67 parser written in C++ and Qt

    > do you regret those endeavours?

    No, not in any way; the projects were very entertaining and gave me interesting insights.

  • Minimalism in Programming Language Design
    6 projects | news.ycombinator.com | 24 May 2022

love

Posts with mentions or reviews of love. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-17.
  • Ask HN: Yo wants to build a game, I'm lost. What can I do?
    20 projects | news.ycombinator.com | 17 Jan 2024
    I've built a few games with my son over the years. The fun part for us was all about fast iteration, and then laughing at the bugs together.

    There are some other recommendations here for how to approach 3d, and he is specifically asking for 3d -- but I want to put in one more pitch for 2d: the fun-to-tedium ratio can be much higher.

    I wonder if you could spend some time prototyping some of his ideas in LÖVE https://love2d.org/ -- if you show him the smallest sketch of something working, he might have an idea about what to add next.

    Many years ago, on a flight, we went from 0 to game before we landed (with no experience).

  • Show HN: A variant of Conway's Game of Life in color you can run on your phone
    1 project | news.ycombinator.com | 13 Jan 2024
    * When a cell is born it randomly takes on the color of one of its (3) parents.

    To try it out:

    1. Install LÖVE for your device from https://love2d.org (~5MB and open source). (iOS requires building from source on a Mac, or installing the third-party Love2D Studio: https://love2d-studio.marknoteapp.com)

    2. Install my Lua Carousel from https://akkartik.itch.io/carousel (~100KB). It includes all its source code and can be edited live on a computer as it runs.

    3. Copy the ~100 lines of code from the bottom of https://akkartik.itch.io/carousel/devlog/651711/new-version-after-9-days and paste them into Lua Carousel.

  • Gearing up for Lua
    3 projects | dev.to | 1 Jan 2024
    Probably the most important piece of software we'll be playing around with is a game engine called LÖVE. Lua is well known around developer circles as being a good scripting language when it comes to making games, and this engine is one of the more popular. I'll be going through installation at the end of this post.
  • Original Sling'n'shoot Worms Game
    4 projects | news.ycombinator.com | 28 Dec 2023
    I got it – these are the steps I took:

    1. Download Love from https://love2d.org/

  • Can't make my mind about which engine to use
    2 projects | /r/gamedev | 10 Dec 2023
    libGDX is great, but I can understand if it's not for some people. This also applies to love2d, raylib and Monogame
  • How Do I Compile/Install Love 0.10.2 on Linux?
    2 projects | /r/love2d | 7 Dec 2023
    You don't need to use git if you don't want to. Try downloading the 0.10.2 source directly here (the file you want is love-0.10.2-linux-src.tar.gz); I see you've tried this already but try again just to see what happens. Extract it to a directory (e.g. love-0.10.2-linux-src) and then run:
  • Not only Unity...
    53 projects | /r/opensourcegames | 11 Nov 2023
    Love2d (MIT/C++/Lua) https://github.com/love2d/love
  • Ask HN: Released games built on FOSS engines?
    12 projects | news.ycombinator.com | 17 Oct 2023
    - Löve (doesn't have a separate page, but showcases a few games at the bottom of the page): https://love2d.org
  • How to have the coolest booth at a tech conference 🕹👾
    3 projects | dev.to | 3 Oct 2023
    The game, Wasp Escape, was built using the open-source Löve 2D game library for Lua.
  • I want to make a game but I'm scared...
    3 projects | /r/gamedev | 15 Sep 2023
    love2d (lua) is a productive, fun, good docs, and most importantly proven / field-tested 2d game library, with easy to learn fast to compile and fast to run language - lua. while lua might not have a lot of features as python, the big bonus is that its much more focused language, which is important because otherwise you can get easily distracted on bells and whistles that other programming languages provide, i know that from experience

What are some alternatives?

When comparing Smalltalk and love you can also consider the following projects:

Oberon - Oberon parser, code model & browser, compiler and IDE with debugger

raylib - A simple and easy-to-use library to enjoy videogames programming

Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

Godot - Godot Engine – Multi-platform 2D and 3D game engine

Som - Parser, code model, navigable browser and VM for the SOM Smalltalk dialect

MonoGame - One framework for creating powerful cross-platform games.

are-we-fast-yet - Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays

Godot Card Game Framework - A framework which comes with prepared scenes and classes to kickstart your card game, as well as a powerful scripting engine to use to provide full rules enforcement.

squeak.org - Squeak/Smalltalk Website

TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.

zigbee-lua - Zigbee coordinator and tools for LuaJIT

bevy - A refreshingly simple data-driven game engine built in Rust