John Scholes: Difference between revisions
(Undo revision 268 by 24.84.228.210 (talk)) |
m (link to John Scholes' Conway's Game of Life) |
||
(34 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
John Morley Scholes (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He | [[File:01 gen 010-2014 staff photo.jpg|thumb|right|John Scholes]] | ||
{| class=wikitable style="float:right" | |||
|{{quote | "Humour is but the exercise of abstraction."|John Scholes. [http://dfns.dyalog.com/n_humour.htm ''Humour''], dfns workspace.}} | |||
|} | |||
'''John Morley Scholes''' (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He was the first lead developer at what eventually became [[Dyalog Ltd.]] and kept working for the company until his death, since when he has dedicated himself to the art of writing perfect programs.<ref>[http://dfns.dyalog.com/n_beyond.htm ''The Beyond''], dfns workspace.</ref> He was the designer and implementer of [[Dyalog APL]]'s direct functions ([[dfn]]s, pronounced "dee funs"), a major distinguishing advance which was since copied by all new APLs; [[NARS2000]], [[GNU APL]], [[ngn/apl]], [[dzaima/APL]], etc. He also advocated for simplicity in computer systems. | |||
In 2009, Scholes produced an explanatory video of his implementation of John Conway's "Game of Life". It has since gathered | In 1995 he and [[Pete Donnelly]] received the [[Iverson Award]] for their role in creating and promoting Dyalog APL. | ||
In 2009, Scholes produced an explanatory video of [[John Scholes' Conway's Game of Life|his implementation of John Conway's "Game of Life"]]. It has since gathered over 200 000 views. He has also produced numerous, always well-received, presentation and papers on various subjects from the technical to the [[humor]]ous. | |||
== Publications == | |||
* [https://doi.org/10.1145/75144.75159 "YSM: a full-screen manager for Dyalog APL"] at [[APL89]]. With S. D. Curtin. | |||
* [http://dfns.dyalog.com/downloads/howcomp.pdf Article: ''How to Write Computer Programs''] | |||
=== Dyalog user meetings === | |||
{{Main|Dyalog user meeting}} | |||
<div style="column-width:30em"> | |||
* [[Dyalog '06]] 04: Language Extensions | |||
* Dyalog '06 07: Functions as Results ([https://www.dyalog.com/uploads/conference/dyalog06/presentations/07_Scholes_FuncsAsResults materials]) | |||
* [[Dyalog '07]] 09: Version 12.0 Performance Enhancements (with [[Nic Delcros]]) | |||
* Dyalog '07 10: An Investigation into Higher Level Operators | |||
* [[Dyalog '08]] 06: Interpreter Performance (with [[Nic Delcros]]) | |||
* Dyalog '08 08: [https://dyalog.tv/Dyalog08/?v=TwvgyNOtoK8 Journaled Files] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/08_SmithScholes_JournaledFiles.ppt materials]) (with [[Richard Smith]]) | |||
* Dyalog '08 [https://dyalog.tv/Dyalog08/?v=vUS0t-z1-iA A Plea for Simplicity] | |||
* [[Dyalog '09]] 19: [https://dyalog.tv/Dyalog09/?v=8ic0ctto1HU Complex Numbers] | |||
* Dyalog '09 C03: Introduction to D-Functions (dfns) ([https://dyalog.tv/Dyalog09/?v=OZARVrGQQho VIDEO 1 (124 mins)], [https://dyalog.tv/Dyalog09/?v=RQNSe9s_3eE VIDEO 2 (67 mins)]) | |||
* [[Dyalog '10]] P01: APL# – An APL for Microsoft .NET, Mono, Silverlight and Moonlight ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P01_KrombergScholesManktelow_APLSharp.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow) | |||
* Dyalog '10 P02: [https://dyalog.tv/APL2010/?v=Tq144y6DrME Unifying Traditional Functions and Dfns in APL#] ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P02_KrombergScholesManktelow_UnifyingFns.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow) | |||
* Dyalog '10 WS2: Introduction to Dfns ([https://dyalog.tv/APL2010/?v=-xsP154fE0o VIDEO 1 (67 mins)], [https://dyalog.tv/APL2010/?v=DkLxe9z1BKs VIDEO 2 (34 mins)]) | |||
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[Roger Hui]]) | |||
* Dyalog '11 D06: Function Trains for Dyalog APL | |||
* Dyalog '11 D07: Closures | |||
* Dyalog '11 D08: [https://dyalog.tv/Dyalog11/?v=mZ_qkXb_tV8 APL#] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp materials]) (with [[Morten Kromberg]] and Jonathan Manktelow) | |||
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[Roger Hui]]) | |||
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[Roger Hui]]) | |||
* Dyalog '12 D06: [https://dyalog.tv/Dyalog12/?v=L5rYVxPXV70 State-free Programming] | |||
* [[Dyalog '13]] D09: [https://dyalog.tv/Dyalog13/?v=7-93GzDqC08 Train Spotting in Version 14.0] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D09_Train_Spotting_in_Version_14.pdf slides]) | |||
* Dyalog '13 D13: [https://dyalog.tv/Dyalog13/?v=3qGsCrkWT-4 Social Skills for Programmers] | |||
* [[Dyalog '14]] D09: [https://dyalog.tv/Dyalog14/?v=pVrNT2lGUUo Distractions] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D09_Distractions.pptx slides]) | |||
* [[Dyalog '15]] D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[Roger Hui]]) | |||
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[Roger Hui]]) | |||
* Dyalog '16 L04: [https://dyalog.tv/Dyalog16/?v=WsmS4XBFvH0 Dyalog Implementation – The Early Years] (with Stephen Taylor and [[Geoff Streeter]]) | |||
* [[Dyalog '17]] D04: [https://dyalog.tv/Dyalog17/?v=74xrZkVlns0 A Case Study – Recoding from Procedural to Denotative Style] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D04_Recoding_from_Procedural_to_Denotative_Style.pdf slides]) | |||
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[Roger Hui]]) | |||
* Dyalog '17 D17: Prefix Agreement: A Proposal for an Extension to the <syntaxhighlight lang=apl inline>@</syntaxhighlight> Operator ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D17_Extension_to_the_At_Operator.pdf slides]) | |||
* [[Dyalog '18]] D10: [https://dyalog.tv/Dyalog18/?v=y33XDD6ANt0 Dfns – Past, Present and Future] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D10_Dfns_Past_Present_Future.pdf slides]) | |||
</div> | |||
=== Other talks === | |||
* [[Dyalog webinar]]: [https://dyalog.tv/Webinar/?v=OeOpdGF1bnc A closer look at the new primitives in version 16.0] (with [[Morten Kromberg]]) | |||
== External links == | == External links == | ||
<div style="column-width:30em"> | |||
=== Websites === | |||
* [[wikipedia: John_M._Scholes_(computer_scientist)|Wikipedia: John Scholes]] | |||
* [[Wikipedia: Direct functions]] | |||
* [http://johnscholes.rip/ Memorial website] | |||
=== Selected videos === | |||
* [https:// | * [https://www.youtube.com/watch?v=a9xAKttWgP4 ''Game of Life''] | ||
* [https://www.youtube.com/watch?v= | * [https://www.youtube.com/watch?v=DmT80OseAGs ''A Sudoku Solver in APL''] | ||
* [https://www.youtube.com/watch?v=DsZdfnlh_d0 ''Depth-first search in APL''] | |||
* [https://www.youtube.com/watch?v=grTobtCpRUE ''Calling Alan Turing''] | |||
</div> | |||
{{APL community}}[[Category:People | == References == | ||
<references/> | |||
{{APL community}}{{DEFAULTSORT:Scholes}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]] |
Latest revision as of 11:47, 11 December 2023
|
John Morley Scholes (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He was the first lead developer at what eventually became Dyalog Ltd. and kept working for the company until his death, since when he has dedicated himself to the art of writing perfect programs.[1] He was the designer and implementer of Dyalog APL's direct functions (dfns, pronounced "dee funs"), a major distinguishing advance which was since copied by all new APLs; NARS2000, GNU APL, ngn/apl, dzaima/APL, etc. He also advocated for simplicity in computer systems.
In 1995 he and Pete Donnelly received the Iverson Award for their role in creating and promoting Dyalog APL.
In 2009, Scholes produced an explanatory video of his implementation of John Conway's "Game of Life". It has since gathered over 200 000 views. He has also produced numerous, always well-received, presentation and papers on various subjects from the technical to the humorous.
Publications
- "YSM: a full-screen manager for Dyalog APL" at APL89. With S. D. Curtin.
- Article: How to Write Computer Programs
Dyalog user meetings
- Main article: Dyalog user meeting
- Dyalog '06 04: Language Extensions
- Dyalog '06 07: Functions as Results (materials)
- Dyalog '07 09: Version 12.0 Performance Enhancements (with Nic Delcros)
- Dyalog '07 10: An Investigation into Higher Level Operators
- Dyalog '08 06: Interpreter Performance (with Nic Delcros)
- Dyalog '08 08: Journaled Files (materials) (with Richard Smith)
- Dyalog '08 A Plea for Simplicity
- Dyalog '09 19: Complex Numbers
- Dyalog '09 C03: Introduction to D-Functions (dfns) (VIDEO 1 (124 mins), VIDEO 2 (67 mins))
- Dyalog '10 P01: APL# – An APL for Microsoft .NET, Mono, Silverlight and Moonlight (materials) (with Morten Kromberg and Jonathan Manktelow)
- Dyalog '10 P02: Unifying Traditional Functions and Dfns in APL# (materials) (with Morten Kromberg and Jonathan Manktelow)
- Dyalog '10 WS2: Introduction to Dfns (VIDEO 1 (67 mins), VIDEO 2 (34 mins))
- Dyalog '11 D04: Introducing the Dyalog '11 Conference Edition (with Roger Hui)
- Dyalog '11 D06: Function Trains for Dyalog APL
- Dyalog '11 D07: Closures
- Dyalog '11 D08: APL# (materials) (with Morten Kromberg and Jonathan Manktelow)
- Dyalog '11 D18: What is Functional Programming? (with Roger Hui)
- Dyalog '12 D04: Potential Version 14.0 Language Features (materials) (with Roger Hui)
- Dyalog '12 D06: State-free Programming
- Dyalog '13 D09: Train Spotting in Version 14.0 (slides)
- Dyalog '13 D13: Social Skills for Programmers
- Dyalog '14 D09: Distractions (slides)
- Dyalog '15 D16: Future Operator Proposals: Cut, Under, Merge (materials) (with Roger Hui)
- Dyalog '16 D06: New Primitive Functions and Operators (materials, demo script) (with Roger Hui)
- Dyalog '16 L04: Dyalog Implementation – The Early Years (with Stephen Taylor and Geoff Streeter)
- Dyalog '17 D04: A Case Study – Recoding from Procedural to Denotative Style (slides)
- Dyalog '17 D15: TAO – Total Array Ordering (materials) (with Roger Hui)
- Dyalog '17 D17: Prefix Agreement: A Proposal for an Extension to the
@
Operator (slides) - Dyalog '18 D10: Dfns – Past, Present and Future (slides)
Other talks
External links
Websites
Selected videos
References
- ↑ The Beyond, dfns workspace.
APL community [edit] | |
---|---|
Activities | Conferences ∙ User groups and meetups ∙ Iverson Award ∙ Exercises |
Chat rooms and forums | APL Farm ∙ APL Orchard ∙ APL Wiki |
People | Phil Abrams ∙ Brian Becker ∙ Bob Bernecky ∙ Larry Breed ∙ Charles Brenner ∙ Jim Brown ∙ Adám Brudzewsky ∙ Gitte Christensen ∙ Peter Donnelly ∙ John Earnest ∙ Adin Falkoff ∙ Garth Foster ∙ Lib Gibson ∙ Aaron Hsu ∙ Roger Hui ∙ Ken Iverson ∙ Morten Kromberg ∙ Dick Lathwell ∙ Marshall Lochbaum ∙ Eugene McDonnell ∙ Roger Moore ∙ Trenchard More ∙ Alan Perlis ∙ Raghu Ranganathan ∙ Henry Rich ∙ Al Rose ∙ John Scholes ∙ Ian Sharp ∙ Bob Smith ∙ Geoff Streeter ∙ Joey Tuttle ∙ Arthur Whitney |
Other | APL Trust ∙ APL Quote Quad ∙ Blogs ∙ Books ∙ Case studies ∙ Famous APL users ∙ Humour ∙ Jobs ∙ Merchandise ∙ Papers ∙ Podcasts ∙ TryAPL ∙ Try It Online ∙ Video channels |