Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Pico (programming language)

From Wikipedia, the free encyclopedia
For other uses, seePico (disambiguation).
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
The topic of this articlemay not meet Wikipedia'sgeneral notability guideline. Please help to demonstrate the notability of the topic by citingreliable secondary sources that areindependent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to bemerged,redirected, ordeleted.
Find sources: "Pico" programming language – news ·newspapers ·books ·scholar ·JSTOR
(July 2025) (Learn how and when to remove this message)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Pico" programming language – news ·newspapers ·books ·scholar ·JSTOR
(December 2023) (Learn how and when to remove this message)
icon
This articlerelies largely or entirely on asingle source. Relevant discussion may be found on thetalk page. Please helpimprove this article byintroducing citations to additional sources.
Find sources: "Pico" programming language – news ·newspapers ·books ·scholar ·JSTOR
(March 2024)
icon
This articleonly references primary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "Pico" programming language – news ·newspapers ·books ·scholar ·JSTOR
(March 2024) (Learn how and when to remove this message)
(Learn how and when to remove this message)

Pico
ParadigmsReflective,procedural
FamilyLisp
Designed byTheo D'Hondt
Wolfgang De Meuter
DeveloperVrije Universiteit Brussel
First appeared1995; 30 years ago (1995)
Stable release
2.0 / 2007; 18 years ago (2007)
Implementation languageScheme
PlatformIA-32,x86-64
OSMac OS 9,macOS;LinuxBSD,Windows
Websitepico.vub.ac.be
Influenced by
Scheme,Smalltalk

Pico is aprogramming language developed at the Software Languages Lab atVrije Universiteit Brussel, intended to be simple, powerful, extensible, and easy to read.[1] The language was created to introduce the essentials of programming to non-computer science students.

Pico can be seen as an effort to generate a palatable and enjoyable language for people who do not want to study hard for the elegance and power of a language. They have done it by adaptingScheme'ssemantics.

While designing Pico, the Software Languages Lab was inspired by the Abelson and Sussman's book "Structure and Interpretation of Computer Programs". Furthermore, they were influenced by the teaching of programming at high school or academic level.

Pico should be interpreted as 'small', the idea was to create a small language for educational purposes.

Language elements

[edit]

De Meuter, Gonzalez, and D'Hondt describe the Pico syntax as being "two-tiered."[1] The first layer consists of simple rules for writing small programs in afunctional programming style.

Comments

[edit]

Comments are surrounded bybackquotes ("`").

Variables

[edit]

Variables are dynamicallytyped; Pico uses staticscope.

var: value

Functions

[edit]

Functions, like everything in Pico, arefirst-class objects, meaning they can be assigned to variables and passed to and returned from functions. Also, there are no anonymous functions in Pico; functions must have a name.[1] For example, a function,func, with two parameters,param1 andparam2, can be defined as:

func(param1, param2): ...

Functions can be called with the following syntax:

func(arg1, arg2)

Operators

[edit]

Operators can be used as prefix or infix in Pico:

+(5, 2)5 + 2

Data types

[edit]

Pico has the following types:string,integer,real andtables.

It does not have a nativechar type, so users should resort to size 1 strings.

Tables are compound data structures that may contain any of the regular data types.

Boolean types are represented by functions (as inlambda calculus).

Control structures

[edit]

Conditional evaluation

[edit]

Only the usual if statement is included

if(condition, then, else)

Code snippets

[edit]
display('Hello World', eoln)
max(a, b): if(a < b, b, a)
`http://www.paulgraham.com/accgen.html`foo(n): fun(i): n := n+i

Implementations

[edit]

Mac OS, Mac OS X

[edit]

Windows

[edit]

Linux

[edit]

Cross-platform

[edit]

References

[edit]
  1. ^abcD'Hondt, Theo; Gonzalez, Sebastian; De Meuter, Wolfgang (1 January 1999)."The design and rationale behind pico".Programming Technology Lab, Department of Computer Science, Vrije Universiteit Brussel. Retrieved3 December 2023.

External links

[edit]


Features
Object systems
Implementations
Standardized
Common
Lisp
Scheme
ISLISP
Unstandardized
Logo
POP
Operating system
Hardware
Community
of practice
Technical standards
Education
Books
Curriculum
Organizations
Business
Education
People
Common Lisp
Scheme
Logo
POP
Retrieved from "https://en.wikipedia.org/w/index.php?title=Pico_(programming_language)&oldid=1299886146"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp