# Introduction to Push

**URL:** <https://discourse.pushlanguage.org/t/introduction-to-push/794>\
**Category:** Orientation\
**Created:** [April 15, 2017, 2:51am UTC](https://discourse.pushlanguage.org/t/introduction-to-push/794 "2017-04-15T02:51:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lspector](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.pushlanguage.org/lspector/32/4_2.png) [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Post date:** [April 15, 2017, 2:51am UTC](https://discourse.pushlanguage.org/t/introduction-to-push/794/1 "2017-04-15T02:51:22Z")

</div>

The best “first thing to read” about the Push programming language is the [Push Redux](https://erp12.github.io/push-redux/). This presents Push’s core ideas in the context of recent versions of the language, with concrete examples.

Following that, you might want to check out the [Push project page](http://faculty.hampshire.edu/lspector/push.html), the [first journal article on Push](http://faculty.hampshire.edu/lspector/pubs/push-gpem-final.pdf) (which describes an outdated version of the language, but provides an introduction to some of the goals of the Push project), and the [Push3 conference paper](http://faculty.hampshire.edu/lspector/pubs/push3-gecco2005.pdf) (which introduced the `exec` stack, which is central to more recent versions of the language). You might also find these tutorial slides to be helpful: [spector-tutorial-gecco2016.key.pdf](https://us1.discourse-cdn.com/flex016/uploads/pushlanguage/original/1X/9e842187d2fbd9220ee28ae356a8638066c92995.pdf) (1.5 MB)

---

<div class="post-metadata">

**Author:** ![lspector](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.pushlanguage.org/lspector/32/4_2.png) [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Post date:** [April 15, 2017, 2:58am UTC](https://discourse.pushlanguage.org/t/introduction-to-push/794/2 "2017-04-15T02:58:36Z")

</div>


