Lemmy.World
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Andy@programming.devM to Concatenative Programming@programming.devEnglish · 18 days ago

Teaching Kids Forth

gracefulliberty.com

external-link
message-square
0
link
fedilink
  • cross-posted to:
  • [email protected]
7
external-link

Teaching Kids Forth

gracefulliberty.com

Andy@programming.devM to Concatenative Programming@programming.devEnglish · 18 days ago
message-square
0
link
fedilink
  • cross-posted to:
  • [email protected]
Forth is uncommonly used to teach programming to kids. Scripting languages like Python and visual environments like Scratch are far more popular options. But when I got the opportunity to introduce middle and high school students to programming, I chose the stack-oriented concatenative language from 1970. I was ecstatic about this opportunity. I'm passionate about giving people just a bit more control over the potential locked up in the devices they carry with them every day. When people know more about computers in general and about making their own software in particular, whole worlds open up. This gave me the chance to pry the door to that world open for people who likely would have never discovered it otherwise.

cross-posted from: https://lemmy.bestiver.se/post/1249849

Comments

alert-triangle
You must log in or register to comment.

Concatenative Programming@programming.dev

concatenative@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]

Hello!

This space is for sharing news, experiences, announcements, questions, showcases, etc. regarding concatenative programming concepts and tools.

We’ll also take any programming described as:

  • pipelined
  • stack-oriented
  • tacit
  • postfix / reverse Polish notation (RPN)
  • fluent
  • cascading
  • chained

From Wikipedia:

A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition. Concatenative programming replaces function application, which is common in other programming styles, with function composition as the default way to build subroutines.

For example, a sequence of operations in an applicative language like the following:

y = foo(x)
z = bar(y)
w = baz(z)

…is written in a concatenative language as a sequence of functions:

x foo bar baz


Active Languages

Let me know if I’ve got any of these misplaced!

Primarily Concatenative

  • Forth
  • Factor
  • Retro
  • min
  • Joy
  • Uiua
  • kcats
  • iNet
  • mlatu
  • Execline

Concatenative-ish, Chain-y, Pipe-y, Uniform Function Call Syntax, etc.

  • Nim
  • Roc
  • Unix Pipes
  • Cognate
  • D Programming Language
  • Koka

Cheat Sheets & Tutorials

  • Learn Factor in Y minutes
  • A panoramic tour of Factor
  • Factor Tutorial Video

Discord

  • Concatenative
  • Factor

IRC

  • #concatenative on irc.libera.chat

Wikis

  • concatenative wiki

Wikipedia Topics

  • Reverse Polish Notation
  • Uniform Function Call Syntax
  • Stack-Oriented Programming
  • Tacit Programming
  • Method Chaining
  • Method Cascading
  • Fluent Interface

Subreddits

  • r/concatenative
  • r/factor

GitHub Topics

  • Stack-Based Language
  • Concatenative
  • Concatenative Language
  • Concatenative Programming Language
  • Concatenative Interpreting Language
  • Fluent Interface
  • Method Chaining

Blogs

  • planet-factor

Practice

  • Codewars (Forth, Factor, Nim)
  • Advent of Code
  • Code Golf (Forth, Factor, Nim)
  • Project Euler
  • Exercism (8th, Nim)
  • Perl Weekly Challenge
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1 user / day
  • 1 user / week
  • 11 users / month
  • 51 users / 6 months
  • 20 local subscribers
  • 208 subscribers
  • 245 Posts
  • 114 Comments
  • Modlog
  • mods:
  • Ategon@programming.dev
  • Andy@programming.dev
  • UI: 0.19.20-5-ga406e80b
  • BE: 0.19.19-9-gc55dd700c
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code
  • join-lemmy.org