User:Edmund

From Rosetta Code

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