User:Edmund: Difference between revisions

From Rosetta Code
Content added Content deleted
mNo edit summary
mNo edit summary
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
In my day job(s), a translator from Russian to English specializing in arts and technology-related material; also a philosopher / descriptive logician. My first book, <i>Towards a Science of Belief Systems</i>, was published by Palgrave Macmillan in 2014. My second is scheduled to appear in late 2016.
In my day job(s), a translator from Russian to English specializing in arts and technology-related material; also a philosopher / descriptive logician. My first book, <i>Towards a Science of Belief Systems</i>, was published by Palgrave Macmillan in 2014. My second is scheduled to appear in late 2016.


Hobbyist programmer. Given how many people use computers every day, I think it's a shame more don't know at least the rudiments of how they work and how to program them. To encourage more to learn, I've written a very short tutorial called <i>Programming Degree Zero</i>, to be used with a minimal computer that can be programmed in binary machine code from a simulated front panel in a browser window. If you're interested, check out the tutorial at http://www.edmundgriffiths.com/degreezero.html and the minimal computer at http://www.edmundgriffiths.com/czero.html. The implementation of the iterated prisoner's dilemma with AI opponent in 32 bytes of code and data is probably the one program I've ever written that I'm genuinely proud of.
Hobbyist programmer. I find programming to be a profoundly educational activity, and I think it's a shame more non-professionals don't do it—especially given how much many of us rely on computers. To encourage more people to learn, I've written a very short tutorial called <i>Programming Degree Zero</i>, to be used with a minimal computer that can be programmed in binary machine code from a simulated front panel in a browser window. If you're interested, check out the tutorial at http://www.edmundgriffiths.com/degreezero.html and the minimal computer at http://www.edmundgriffiths.com/czero.html. The implementation of the iterated prisoner's dilemma with AI opponent in 32 bytes of code and data is probably the one program I've ever written that I'm genuinely proud of.

The programming languages I like the best tend to be ones that embody a clear model of computation and a clear aesthetic vision. (In Larry Wall's terms I am a doctrinaire 'modernist'.) I enjoy the verbosity of COBOL, and the terseness of APL. In fact, I think I've liked every language I've ever seen that <i>didn't</i> obey normal operator precedence—because that's always a sign that a language is built according to some coherent principle. I also approve strongly of languages created for educational purposes and for non-specialists, such as BASIC and Logo.


{{mylangbegin}}
{{mylangbegin}}
{{mylang|360 Assembly|beginner}}
{{mylang|360 Assembly|beginner}}
{{mylang|6502 Assembly|rudimentary}}
{{mylang|6502 Assembly|intermediate}}
{{mylang|APL|rudimentary}}
{{mylang|APL|intermediate}}
{{mylang|BASIC|quite proficient}}
{{mylang|BBC BASIC|proficient}}
{{mylang|BBC BASIC|proficient}}
{{mylang|C|reading knowledge}}
{{mylang|C|reading knowledge}}
{{mylang|COBOL|quite proficient}}
{{mylang|COBOL|quite proficient}}
{{mylang|Forth|a bit rusty}}
{{mylang|EDSAC order code|beginner}}
{{mylang|Fortran|rusty}}
{{mylang|Forth|ok}}
{{mylang|Fortran|a bit rusty}}
{{mylang|Haskell|intermediate}}
{{mylang|Haskell|intermediate}}
{{mylang|Icon|very rusty}}
{{mylang|Icon|very rusty}}
Line 19: Line 23:
{{mylang|JavaScript|intermediate}}
{{mylang|JavaScript|intermediate}}
{{mylang|LC3 Assembly|intermediate}}
{{mylang|LC3 Assembly|intermediate}}
{{mylang|Logo|rudimentary}}
{{mylang|Lua|intermediate}}
{{mylang|Lua|intermediate}}
{{mylang|Pascal|rudimentary}}
{{mylang|Pascal|rudimentary}}
Line 27: Line 32:
{{mylang|SNOBOL4|rudimentary}}
{{mylang|SNOBOL4|rudimentary}}
{{mylang|SQL|beginner}}
{{mylang|SQL|beginner}}
{{mylang|x86 Assembly|intermediate}}
{{mylang|x86 Assembly|lower intermediate}}
{{mylang|XLISP|quite proficient}}
{{mylang|XLISP|quite proficient}}
{{mylangend}}
{{mylangend}}

Latest revision as of 16:24, 26 April 2016

Dr Edmund Griffiths

In my day job(s), a translator from Russian to English specializing in arts and technology-related material; also a philosopher / descriptive logician. My first book, Towards a Science of Belief Systems, was published by Palgrave Macmillan in 2014. My second is scheduled to appear in late 2016.

Hobbyist programmer. I find programming to be a profoundly educational activity, and I think it's a shame more non-professionals don't do it—especially given how much many of us rely on computers. To encourage more people to learn, I've written a very short tutorial called Programming Degree Zero, to be used with a minimal computer that can be programmed in binary machine code from a simulated front panel in a browser window. If you're interested, check out the tutorial at http://www.edmundgriffiths.com/degreezero.html and the minimal computer at http://www.edmundgriffiths.com/czero.html. The implementation of the iterated prisoner's dilemma with AI opponent in 32 bytes of code and data is probably the one program I've ever written that I'm genuinely proud of.

The programming languages I like the best tend to be ones that embody a clear model of computation and a clear aesthetic vision. (In Larry Wall's terms I am a doctrinaire 'modernist'.) I enjoy the verbosity of COBOL, and the terseness of APL. In fact, I think I've liked every language I've ever seen that didn't obey normal operator precedence—because that's always a sign that a language is built according to some coherent principle. I also approve strongly of languages created for educational purposes and for non-specialists, such as BASIC and Logo.

My Favorite Languages
Language Proficiency
360 Assembly beginner
6502 Assembly intermediate
APL intermediate
BASIC quite proficient
BBC BASIC proficient
C reading knowledge
COBOL quite proficient
EDSAC order code beginner
Forth ok
Fortran a bit rusty
Haskell intermediate
Icon very rusty
J rudimentary
JavaScript intermediate
LC3 Assembly intermediate
Logo rudimentary
Lua intermediate
Pascal rudimentary
Processing rudimentary
Prolog rudimentary
Scheme intermediate
Smalltalk rudimentary
SNOBOL4 rudimentary
SQL beginner
x86 Assembly lower intermediate
XLISP quite proficient