Ctalk Programming Language

Ctalk code from the Analogclock demo application, which is part of the Timepieces package.
Ctalk is an evolution of the C language that brings object-oriented features first implemented in the Smalltalk language to a development environment: classes, methods, inheritance, constructors, and instance and class data.

The Ctalk language provides the advantages of both language families—the speed and efficiency of low-level, procedural languages, and flexibility, reuse, and rapid prototyping of high-level, object oriented languages—to address the concepts of programming. With the advantage of C, Ctalk provides efficient compilation and integration into existing systems, as well as detailed and fast language structures to limitlessly address programs' data and code at any level that the machine supports.

With its class library, methods, inheritance, and all the rest, Ctalk also provides the traditional advantages of object oriented languages: superior prototyping and code reuse, and easy-to-understand, polymorphic and introspective uses of instance and class data.


Graphical programs bring another dimension to the world of objects.

Here are some of Ctalk's features:

- Ctalk works in any environment that requires a compiled language. It uses the standard GNU Application Binary Interface, and extensions to standard calling conventions, so it works easily with existing programs, libraries, and object modules.

- Just-in-time compilation, so the compiler does much more of the work of organizing source code than traditional compilers. Methods can be prototyped just like functions are, providing easier organization for multi-file projects. And the compiler is intelligent enough to defer an expression's evaluation until run time when needed.

- Ctalk objects provide a solid foundation for networking and interprocess communication chores. Ctalk can also take advantage of client/server architecture and styled web pages.

- Support for the GLUT and Mesa GL 3d modeling libraries and GLX visuals. Ctalk allows you to use either the OpenGL API directly, or take an object and method approach to application development.

- And Ctalk is flexible and powerful enough to support graphical widgets, including a text editor, a file selection dialog, message boxes, buttons, checkboxes, and lists for grapical application requirements -- this native widget class family is built on the universally installed X libraries, so it compatible with any system that uses X, and there is no need to use another high-level graphical toolkit.

- Ctalk and C code may be intermingled without any additional syntactic restrictions, so you are free to select the tool that is best suited to your task.

Download ctalk