John Scholes: Difference between revisions

Jump to navigation Jump to search
6,622 bytes added ,  11:47, 11 December 2023
m
Miraheze>Adám Brudzewsky
(Created page with "John Morley Scholes (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He co-founded what eventually became Dyalo...")
 
 
(39 intermediate revisions by 7 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 co-founded what eventually became [[Dyalog]] and kept working for the company until his death. 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 [[GNU APL]], [[ngn/apl]], and [[dzaima/APL]]. He also advocated for simplicity in computer systems.
[[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 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://en.wikipedia.org/wiki/John_M._Scholes_(computer_scientist) Wikipedia]
* [https://www.youtube.com/watch?v=a9xAKttWgP4 ''Game of Life'']
* [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 programming language}}
== References ==
<references/>
{{APL community}}{{DEFAULTSORT:Scholes}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]

Navigation menu