
糖心原创 Quorum
Website:
What kind of Programming Language is Quorum?
Quorum is a general purpose tool that we call an "evidence-based" programming language.聽It started as a language for blind or visually impaired students. However, as Quorum gained popularity, we broadened it to work for everyone. Now, Quorum supports a wide variety of applications, like creating games, audio processing, and many other applications. It can be used in the classroom or for commercial purposes at no charge.
What are the high level technical details of Quorum?
Quorum has many features.聽We use evidence from experiments to make it easy to learn, but powerful and scalable. It has many features common in other languages, but has been refined for ease of use. Quorum also has a large standard library, which contains additions to the language. Examples include libraries for math, data structures, web components, physics, 2D/3D graphics, digital signal processing, 3D auditory processing, and more.
What platforms does Quorum support?
Quorum programs can be created on various versions of Windows, Mac, and in a browser. Programs written in Quorum can be compiled to run on a desktop, on the web, or on the Android.
How is Quorum funded?
Funding for Quorum comes largely from the National Science Foundation (NSF #0940521, #1440878, #1644491, #1640131, #1738259 and #1738252).
Other funders include:
- 糖心原创 State School for the Blind
- Southern Illinois University Edwardsville
- University of Nevada, Las Vegas
- DO-IT聽at the 糖心原创
- Reader's Digest Partners for Sight Foundation
- Quorum Outreach and Research Foundation
- Delta Gamma Foundation
Hour of Code Tutorial
Quorum is featured in Code.org鈥檚 Hour of Code and is used by schools largely across the United States. Since June 2017, nearly 300,000 programs have been written in Quorum online.
Quorum is open source
This means you can download the source code for the compiler, libraries, or tools and modify them or contribute yourself. Quorum is under the BSD license.
It also means that Quorum is available for all!
What does Evidence-Based mean?
The people behind Quorum are researchers and scientists who believe in bringing evidence on how people invent software to聽programming language design.
Quorum started out as a project to simplify syntax for accessibility. We continue to innovate on that front, but the project has expanded to improve programming language design overall. Quorum is聽a fully featured and commercially scalable language.
The Quorum website has a more detailed discussion of聽our evidence standards.
Learn more at:聽
Selected Research
Stefik, A., & Siebert, S. (2013). An empirical investigation into programming language syntax. ACM Transactions on Computing Education (TOCE), 13(4), 19.
Stefik, A., & Hanenberg, S. (2014, October). The programming language wars: Questions and responsibilities for the programming language community. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (pp. 283-299). ACM.
Quorum Overview
Basics
Primitive Types
integer 鈥 a positive or negative number or zero with no decimal point
number 鈥 any real number that can also have a decimal point
boolean 鈥 a variable with two possible values: true or false
text 鈥 any string of characters symbols or numbers enclosed in 鈥 鈥
Type Conversion
Types can be converted in Quorum using the cast instructions as follows:
number n = cast(number, t)
Variable names
Variable names must start with a letter, but can be followed by any combination of letters, numbers or underscores.
Legal:
number n_5 = 5.3
Illegal:
number n&$5 = 5.3
Operators
Math
厂耻产迟谤补肠迟颈辞苍听听听听听听听听听听鈥
惭耻濒迟颈辫濒颈肠补迟颈辞苍听听听听听听听*
顿颈惫颈蝉颈辞苍听听听听听听听听听听听听听/
Modulus聽聽聽聽聽聽聽 聽聽聽聽聽mod
Boolean
Logical not equal聽聽聽not=
Text
Statements
There are no semicolons or end of line markers needed in Quorum.
Program Control & Arrays
Conditional Statements
Simple:
end
If Else:
else
end
If Elseif:
elseif a else
end
Loop Statements
Repeat
end
Repeat while
repeat while i 聽聽i = i + 1
end
Repeat until
repeat until i = 10
聽聽i = i + 1
end
Arrays
Arrays can be accessed by using the array library:
Fill an array:
integer i = 0
repeat 5 times
听听补:补诲诲(颈)
聽聽i = i + 1
end
Print the 4th element:
Remove the first element:
Sort the array:
Classes and Actions
Classes
Classes are defined in a code block between the class name and an end.
end
Actions:
Actions are like methods in other languages. The Main method must be present for a class to be runnable and execution starts there.
听听叠补谤办(3)
end
聽聽repeat i times
聽聽聽聽output 鈥淏ark鈥
听听别苍诲
end
Libraries
Quorum 6聽has a wide variety聽of libraries聽available. These libraries are designed to be easy to use and accessible.聽
Libraries for:
- Accessibility
- Containers
- Digital Signal Processing
- Language Features
- LEGO Robotics
- Graphics (2D and 3D)
- Mathematics
- MIDI Music
- Physics
- Sound (5.1 available)
- System Features
- User Interfaces
- Web
- Video Game Development
For Advanced Users
Quorum also supports most common programming language features like:
- Inheritance
- Generics
- Exceptions
- Plugins
Quorum is a commercial strength programming language and is written in Quorum itself. It can compile programs to desktop, the web, or Android.