Saturday, August 23, 2014

How Many Languages Do YOU Speak?


It's crazy to me when I do the math and realize that I've been programming for 20 years.

Sometimes people ask me how many languages I “know.” That's a hard question to me, and I usually reply with “What's a language?” If a language is simply a set of instructions, then not only do Apple BASIC (that one had line numbers... ick!), Q BASIC, Visual BASIC, VB.NET, and the other 6 flavors of BASIC count as 10 languages, but HTML 4 and HTML 5 would count separately as well. Counting that way I think I could hit 70 - although if I did so some people may accuse me of "cheating."

With a more rigid definition, where a language has to include loops/if statements and multiple versions only count once, I think I'm still safe with claiming 20+. Here it goes:

  1. ActionScript
  2. Ampscript (an ExactTarget specific scripting language)
  3. Assembly
  4. BASIC (Despite having used 11 dramatically different flavors of BASIC spread over a decade, I'll only count it once.)
  5. C
  6. C#
  7. Cfscript
  8. CoffeeScript
  9. ColdFusion (4 versions)
  10. Cool
  11. Fortran – Only used it once very briefly
  12. Java
  13. Labview
  14. LadderLogic
  15. Lingo
  16. MachineCode (Motorola 68HC11)... That was fun to do... once.
  17. Matlab
  18. Pascal
  19. PHP
  20. Python
  21. Ruby
  22. Scratch
  23. SQL (4 flavors – that I remember)
  24. Bonus: Logo (Commodore 64)/Turtle (iPad)/Kodable/Daisy the Dinosaur and a few more more kiddy learning languages.
  25. Bonus: I also used a Hardware Description Language in college, although I can't recall which one. I remember simulating a functioning processor, bus, memory chip, and a few additional components in it.
Honorable Mention:
  • HTML/XHTML/Markdown - and several wiki specific markup dialects
  • CSS/Sass – Part of me wants this to not only count, but count multiple times after all the cross-browser issues I've fixed over the years.
  • XMLSOAP, anyone?
  • Rails/Mach-II These application frameworks feel unique. I feel like they at a minimum can be used to jerry-rig if-statement like functionality if not their own loops.
  • Rspec/JUnit/Selenium/Capybara/TestingFrameworks – Some of these sure feel like they introduce enough unique syntax to justify classification as a language.
  • ElectricalBlueprints – it's pretty amazing how much you can do with just wires.
  • Maple – I've used Maple, and Google says it supports loops. I don't remember writing a loop in it myself.
How many languages do you speak? Which one is currently your favorite, and which one would you consider to be the most obscure?