[ale] [OT] Rev Bayes and the best programming language
Leam Hall
leamhall at gmail.com
Sat May 7 11:20:57 EDT 2016
I just read a chapter (1) on Bayes and decision making. Wanted to try it
out on a conundrum I've been wrangling for some long period of time:
"What's the best programming language for me?" Posting here for feedback
and critique, many of you are smarter than I.
Not evaluating any language on pure technical merit, but on personal
measures. Starting with X measures, and assigning them percentages in
blocks of 25. So a value can be 0, 25%, 50%, 75%, or 100%, and a maximum
total of 100% * measures with an average of total/measures. Using large
blocks helps prevent analysis paralysis.
The current measures are:
Is it suitable to the sort of things I want to do?
For example, Assembler isn't as suited for interactive web pages.
Possible, but not suited.
Assumes I know what I want to do.
How quickly can I produce something?
Assumes I have put 20+ serious hours into learning it. (2)
Produce output; web pages, computation, whatever.
Do I enjoy that language?
If you enjoy it you're more likely to do it, which is how
you get better at it.
Enjoyment also helps overall life outlook.
Does it help me achieve my goals?
Whatever your goals are, does this contribute to achieving them?
Assumes I have concrete goals.
So, let's play with some options. C, Ruby, Perl, Shell.
Most of what I want to do involves text wrangling; straight text, some
XML, and the occasional database query. Almost all of it is for human
consumption either primarily or secondarily. Scores for this might be:
C 25 (A lot more effort than scripting)
Ruby 100
Perl 100
Shell 50 (Harder to do XML and SQL)
Looking at what I want to do, how quickly can I produce something? In my
case the base test is "run a program that produces a valid character for
the Traveller RPG".
C 25 (My C is weak, even after months)
Ruby 100 (Already have base code)
Perl 25 (I have forgotten most of my PERL)
Shell 50 (There's a SQLite call I don't know)
Now a very subjective test; how much do I really enjoy coding in that
language? To me this might even have a heavier weight than many
measures. However, since we're only using a few, and since they are all
pretty significant, it stays equal.
C 25
Ruby 75
Perl 0 (I actually got nauseous the last time I tried)
Shell 50 Boring.
Lastly, does it help me achieve my goal(s)? My real goal is to stay
gainfully employed until I croak. Retirement is for people who forget
they won't be able to do what they can do now, then. I enjoy my work and
want to keep doing it.
C 75
Ruby 75
Perl 75
Shell 100
Assuming my pen and paper calculations are correct (3), that gives a
probably if "best" as:
C 37.5
Ruby 87.5
Perl 50.0
Shell 62.5
Other languages have their merit; Python and Go quickly come to mind.
PHP is big as well. You would likely choose different measures and
different languages.
Thoughts?
Leam
1. Duhigg, Charles "Smarter, Faster, Better" (2016). Chapter 6 "Decision
Making"
2. Kaufman, Josh "The First 20 Hours: How to Learn Anything...Fast" (2014)
3. Added on paper and then irb to get the average. :)
More information about the Ale
mailing list