cl-sdl2 VS processing

Compare cl-sdl2 vs processing and see what are their differences.

cl-sdl2

Common Lisp bindings for SDL2 using C2FFI. (by lispgames)

processing

Source code for the Processing Core and Development Environment (PDE) (by processing)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
cl-sdl2 processing
7 456
288 6,448
1.0% 0.2%
2.9 0.0
3 months ago 4 months ago
Common Lisp Java
MIT License 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.

cl-sdl2

Posts with mentions or reviews of cl-sdl2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-10.
  • The Embeddable Common Lisp [pdf]
    2 projects | news.ycombinator.com | 10 Jun 2023
    I can build it in C with sdl2-config, or use cl-sdl2 with SBCL by following some steps I found online to fix macbook m1 quirks (see below), but I’m trying to load it from an ECL repl- not really knowledgeable enough about where sdl2-config would be used in that situation.

    https://github.com/lispgames/cl-sdl2/issues/154#issuecomment...

  • Blocking event loop in CL/SBCL?
    1 project | /r/lisp | 28 Apr 2023
    Have you considered using SDL2 wrappers? e.g. cl-sdl2. It works on Windows and Linux, amongst other platforms.
  • Dev on Windows
    2 projects | /r/Common_Lisp | 1 Apr 2023
    You can write SDL2 cffi interface files by hand but any package dependent on https://github.com/lispgames/cl-sdl2/ is going to be blocked by this on Windows.
  • History of Lisp Parentheses (2019)
    5 projects | news.ycombinator.com | 1 Feb 2023
    I dunno, my Lisp code comes back in pretty frequently, but I'm defining new functions, using CLOS, making use of let* or other nifty macros (uiop:nest is occasionally useful), and refactoring when a function gets too large. But compared to horrors I've frequently seen in JavaLand (especially in older code when the more modern practice of extract function refactoring was less common, more laborious, and not really automated), tons of Lisp code I come across from others has been pretty sane as far as indentation and spacing goes.

    It seems like a problem mostly handled by style, just because you can easily represent the whole expanded AST in one function definition doesn't mean you should. And sure there are plenty of (in my opinion) not so great examples out there, like it's rather unfortunate that this is the first example for the cl-sdl2 project: https://github.com/lispgames/cl-sdl2/blob/main/examples/basi... (Though on another metric, the longest line is only 96 characters; most of my lines happen to be under 80 but I don't hold myself to that limit, my screen and editor windows support wide lines by default, like >200 characters wide.) The huge nest of with-macros further impedes runtime redefinition and modification, because now sure you can change code and redefine the function, but your game loop isn't going to see any of that on further iterations. At least the other renderer.lisp example is moving in a better direction splitting the game loop up into several draw functions, and you see those have a normal pattern of going out and then back in.

    Urbit docs for its language Hoon once called the phenomenon something like "attacking the right margin". I recalled this fosdem paper describing it more https://archive.fosdem.org/2018/schedule/event/urbit/attachm... especially in 6.3.2:

    > There are two common syntactic problems in functional languages: closing terminator piles (eg, right parens in Lisp) and indentation creep. A complex function will have a deep AST; if every child node in that AST is indented past its parent, any interesting code tends to creep toward the right margin. To solve terminator piles, there are two forms of every Hoon twig: “tall” and “flat”, ie, multiline and single-line. Tall twigs can contain flat twigs, but not vice versa, mimicking the look of “statements” and “expressions” in an imperative language. Flat form is enclosed by parentheses and separated by a single space; tall form is separated by multiple spaces or a newline, and (in most cases) not enclosed at all. ...

    > Right-margin creep is prevented by backstep indentation; where a classical

  • sketch, sdl2, c2ffi on M1 Mac?
    6 projects | /r/Common_Lisp | 26 Nov 2022
    First thing, I followed the instructions here: https://github.com/lispgames/cl-sdl2/issues/154
  • Using Common Lisp to do GPU accelerated animations
    2 projects | /r/Common_Lisp | 31 Mar 2022
    Use CL-SDL2 (https://github.com/lispgames/cl-sdl2) for simple 2d rendering. It's both GPU-accelerated and portable to many platforms. You can use CL-SDL2 along with CL-OPENGL (https://github.com/3b/cl-opengl) for OpenGL programming, provided you have knowledges about 2d/3d graphics programming.

processing

Posts with mentions or reviews of processing. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-26.
  • Our tools shape our selves
    1 project | news.ycombinator.com | 4 Apr 2024
    reply

    I disagree. There are so many creative tools that are now online that you can access from your browser that were not envisioned in the original web. It is obviously true that not EVERY website is about creation (but to expect that seems unreasonable?), but even Wikipedia is a collaborative project.

    Examples include products from big vendors like Adobe's Photoshop, to smaller products like SketchUp, to more indy generative art tools like https://processing.org and Strudel (https://news.ycombinator.com/item?id=39924210).

  • Let's compile like it's 1992
    4 projects | news.ycombinator.com | 26 Feb 2024
    Would processing[0] be a good fit? It's designed to be easy to use and learn but powerful enough for professional use. Very quick to get cool stuff moving on a screen and the syntax is Java with a streamlined editing environment.

    [0] https://processing.org/

  • VVVV – A Hybrid Visual/Textual Development Environment
    6 projects | news.ycombinator.com | 23 Feb 2024
  • Random Animations
    5 projects | news.ycombinator.com | 18 Jan 2024
  • Penrose – Penrose
    13 projects | news.ycombinator.com | 12 Jan 2024
  • Program a "Weakest link" for myself IRL game
    1 project | /r/learnprogramming | 9 Dec 2023
    I would personally use the language Processing. It's the one I use the most. And it's relatively easy to start drawing text, squares, and do other kinds of things. (It's kind of like java, but without all the boilerplate code)
  • Turbo Pascal Turns 40
    8 projects | news.ycombinator.com | 30 Nov 2023
    Processing (P5) had this: you can select any string of text in its IDE anl search for it in the docs, and if it's one of the built-in functions or constants it will open the associated static html page that came installed with the software, so no internet nor server required. And despite being offline you can still navigate the docs too. This feels a lost basic skill in static site generation these days.

    It was the only creative coding framework that had complete, offline documentation like that at the time I might add. OpenFrameworks is still mostly autogenerated stubs for example.

    IMO it was one of the things that gave Processing an edge in educational contexts over all alternatives. I was pretty sad to see p5.js not fully continue that tradition and require that you go online to read the docs, and that it's not a static website but that text is rendered with javascript when you open it (still complete and with examples though).

    https://processing.org/

    https://p5js.org/

  • Ben Fry Resigns from the Processing Foundation
    1 project | news.ycombinator.com | 3 Oct 2023
    Processing is very cool, especially if you like graphics.

    https://processing.org/

    Processing is a flexible software sketchbook and a language for learning how to code. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.

  • Arduino raises $22M Series B round
    1 project | news.ycombinator.com | 7 Sep 2023
    And it's not even their IDE. They just slapped some AVR compilers into Processing

    https://processing.org/

  • Što dati djetetu da uči/radi?
    2 projects | /r/CroIT | 6 Jul 2023

What are some alternatives?

When comparing cl-sdl2 and processing you can also consider the following projects:

cl-opengl - cl-opengl is a set of CFFI bindings to the OpenGL, GLU and GLUT APIs.

OpenFrameworks - openFrameworks is a community-developed cross platform toolkit for creative coding in C++.

cl-sdl2-ttf - A common lisp wrapper for SDL2_TTF used for loading fonts and creating text assets

manim - A community-maintained Python framework for creating mathematical animations.

urbit - An operating function

Pygame - 🐍🎮 pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.

history-of-lisp-parens - a history of Lisp's most notorious artifact, parentheses

kaboom.js - 💥 JavaScript game library

c2ffi - Clang-based FFI wrapper generator

openrndr - OPENRNDR. A Kotlin/JVM library for creative coding, real-time and interactive graphics

static-vectors - Allocate SIMPLE-ARRAYs in static memory

love - LÖVE is an awesome 2D game framework for Lua.