Hackworth is a software development company whose purpose is to make programming more relevant to children. Our long-term goal is to integrate programming into domains with wide appeal, instead of just the usual computing applications.
Primer
To support our long-term goal, we're developing Primer, a novel pedagogical programming language.
Design principles
Primer has been designed exclusively for educational purposes:
- It's first and foremost a teaching langauge, not a general purpose programming language. Educational goals have been prioritized over performance and real-world applicability. That said, because Primer focuses on teaching fundamental aspects of programming and computation, we believe that Primer students will be well prepared for learning real-world programming languages, especially strongly-typed modern programming languages such as Haskell, Rust, and TypeScript.
- It's designed to be embedded into interactive applications and games, in order to motivate children to learn to program by applying programming to other, potentially more interesting activities.
- Primer is a modern functional programming language, featuring a strong type system that helps students write correct programs.
- Structure editing is built into the language's semantics, supporting both visual and text-based programming, with the ability to switch between the two representations with equal fidelity.
- Primer is designed for modern computing devices with touch-based interfaces, including phones and tablets. Very little keyboarding is required.
- Most of Primer's compute-intensive tasks can be run on a Primer server, so students can develop Primer programs on inexpensive devices, so long as they have a network connection and can run a web broswer.
- Primer was designed to be independent of any particular human language, with the goal of making it accessible to children around the world.
Availability
Primer is currently in development. Both the programming language and its web-based programming environment are licensed as open source software, and are free for anyone to use, modify, and redistribute. The source code for both the Primer language server and the web-based programming environment are available on GitHub.
Primer is not yet ready for serious classroom use, but we expect to start testing it in limited settings in the near future. If you're interested in participating in our testing program, please contact us.