Cello: A High-Level C Library for Experimental Programming

Added:

Exploring Cello
Runtime Tricks
Size Comparison
Core Concepts
Garbage Collector
Formatting Bug
Data Structures
Functional Style
Real App Build
File Handling

Exploring Cello

0:00
Playing Section
  • 1

    Introduces Cello, a library bringing high-level features to C.

  • 2

    Mentions garbage collection, polymorphism, and interfaces as key features.

  • 3

    Positions it as a fun, experimental project rather than a production tool.

Proficiency in standard C programming, including manual memory management (malloc/free), pointers, and structs.
Core concepts of Object-Oriented Programming (OOP) such as polymorphism, interfaces, and garbage collection.
Familiarity with the C preprocessor and macros, which Cello heavily relies on to extend C's syntax.
Basic understanding of text processing and standard data structures (like hash maps or associative arrays) used in challenges like word counting.
Advanced C metaprogramming and the use of GNU C compiler extensions to implement custom language features.
In-depth study of manual polymorphism and Object-Oriented patterns in pure, standard C (e.g., implementing virtual method tables manually).
Comparative analysis of Cello's performance and safety trade-offs against native high-level languages like C++, Go, or Rust.
Design and implementation of custom memory management strategies, such as reference counting and garbage collection, in systems languages.
63.4K views1.9Klikes2:06:38@TsodingDailyOriginal Release: 2024-09-26

Cello is a recreational programming library that brings JavaScript-like features to C, including garbage collection, dynamic typing, reflection, and functional programming capabilities, achieved through a runtime system that modifies the C language's behavior at compile time and runtime.