StepTalk

Last updated
StepTalk
Paradigm Object-oriented
Family Smalltalk
Designed by Stefan Urbanek
First appeared 5 September 2005;13 years ago (2005-09-05)
Last release
0.12 / 30 June 2006;12 years ago (2006-06-30)
Typing discipline Dynamic
Implementation language Objective-C
Platform GNUstep
OS GNUstep
License GPL
Website www.gnustep.org/experience/StepTalk.html
Influenced by
Smalltalk

StepTalk is the official GNUstep scripting language framework that represents separate scriptable servers or applications as a single object environment. It is meant to be independent of the programming language used. Its default language is Smalltalk running on an Objective-C runtime.

GNUstep open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

A scripting or script language is a programming language that supports scripts — programs written for a special run-time environment that automates the execution of tasks that could alternatively be executed one-by-one by a human operator. Scripting languages are often interpreted. Primitives are usually the elementary tasks or API calls, and the language allows them to be combined into more complex programs. Environments that can be automated through scripting include software applications, web pages within a web browser, usage of the shells of operating systems (OS), embedded systems, as well as numerous games. A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, it is also known as an extension language. Scripting languages are also sometimes referred to as very high-level programming languages, as they operate at a high level of abstraction, or as control languages, particularly for job control languages on mainframes.

Smalltalk programming language

Smalltalk is an object-oriented, dynamically typed reflective programming language. Smalltalk was created as the language in underpinning the "new world" of computing exemplified by "human–computer symbiosis". It was designed and created in part for educational use, more so for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and others during the 1970s.

Contents

StepTalk was ported to Mac OS X.

Introduction

The goal of StepTalk is to provide an environment for gluing applications together and to provide a framework for communication between users and objects in the applications. Other major goals are:

The default scripting language in StepTalk is Smalltalk. This is because Smalltalk is a very simple language and is easy to learn. There are just a few basic principles that a user must know to be able to use the language, and it is similar to a natural language. Smalltalk uses a similar approach to that of Objective-C, the language used in GNUstep.

Platforms

StepTalk works on any platform on which GNUstep works. Ports to native macOS Cocoa framework are being developed by various contributors.

macOS operating system for Apple computers, launched in 2001 as Mac OS X

macOS is a series of graphical operating systems developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac family of computers. Within the market of desktop, laptop and home computers, and by web usage, it is the second most widely used desktop OS, after Microsoft Windows.

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

See also

Related Research Articles

HyperCard hypermedia system for Apple Macintosh and Apple IIGS computers

HyperCard was a piece of application software and a programming tool for Apple Macintosh and Apple IIGS computers. It was among the first successful hypermedia systems before the World Wide Web.

NeXTSTEP object-oriented, multitasking operating system

NeXTSTEP is a discontinued object-oriented, multitasking operating system based on UNIX. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprietary workstation computers such as the NeXTcube. It was later ported to several other computer architectures.

OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was principally developed by NeXT with Sun Microsystems, to allow advanced application development on Sun's operating systems, specifically Solaris. NeXT produced a version of OpenStep for its own Mach-based Unix, stylized as OPENSTEP, as well as a version for Windows NT. The software libraries that shipped with OPENSTEP are a superset of the original OpenStep specification, including many features from the original NeXTSTEP.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

AppleScript scripting language created by Apple Inc

AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system automation tools. The term "AppleScript" may refer to the language itself, to an individual script written in the language, or, informally, to the macOS Open Scripting Architecture that underlies the language.

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.

F-Script is an object-oriented scripting programming language for Apple's macOS operating system developed by Philippe Mougin. F-Script is an interactive language based on Smalltalk, using macOS's native Cocoa API.

Application Kit

The Application Kit, usually called AppKit, is a graphical user interface toolkit for macOS. It comprises a collection of Objective-C classes and protocols that can be used to build an application for the Mac. These classes can also be used in Swift through its Objective-C bridge. Xcode has built-in functionality for developing a Cocoa application using AppKit, including the ability to visually design user interfaces with Interface Builder.

Class browser

A class browser is a feature of an integrated development environment (IDE) that allows the programmer to browse, navigate, or visualize the structure of object-oriented programming code.

In the macOS, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files.

In NeXTSTEP, OPENSTEP, GNUstep, and their lineal descendants macOS and iOS, a bundle is a file directory with a defined structure and file extension, allowing related files to be grouped together as a conceptually single item.

GNUstep Renaissance is a development framework that reads XML descriptions of graphical user interfaces from an application bundle and converts them into native widgets and connections at runtime under either GNUstep or Mac OS X.

Cappuccino is an open source application development framework for developing web applications that look and feel like desktop applications on Mac OS X. Cappuccino was developed by University of Southern California graduates Francisco Tolmasky, Tom Robinson and Ross Boucher, who are also the founders of 280 North, Inc. It is primarily targeted towards web applications developers.

Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. It was the main programming language supported by Apple for the macOS and iOS operating systems, and their respective application programming interfaces (APIs) Cocoa and Cocoa Touch until the introduction of Swift. The programming language Objective-C was originally developed in the early 1980s. It was selected as the main language used by NeXT for its NeXTSTEP operating system, from which macOS and iOS are derived. Portable Objective-C programs that do not use the Cocoa or Cocoa Touch libraries, or those using parts that may be ported or reimplemented for other systems, can also be compiled for any system supported by GNU Compiler Collection (GCC) or Clang.

Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, Linux and z/OS. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. It is built with the open source LLVM compiler framework and has been included in Xcode since version 6, released in 2014. On Apple platforms, it uses the Objective-C runtime library which allows C, Objective-C, C++ and Swift code to run within one program.