Why did you learn a new programming language?

Quora Feeds

Active Member
Kelly Martin


I’ll try to provide answers for the ones for which I can remember the reason:

  • BASIC: the computers at Radio Shack that I liked to play with when I was 8 used it.
  • Z-80 assembly: To do things that I couldn’t do in BASIC on the TRS-80 my father bought when was 10.
  • Pascal: I’m fairly certain I read an article about Pascal, probably in the Radio Shack TRS-80 Owner’s newsletter (Radio Shack sold a Tiny Pascal interpreter, so this was really ad copy).
  • APL: SoftSide Magazine (formerly published by fellow Quoran Roger Robitaille) included a tiny APL interpreter environment in the monthly bonus disc you could pay a bit extra for, and so I played with it because it was there. APL remains one of the weirder languages that I’ve learned that wasn’t deliberately designed to be strange.
  • LISP: LISP was mentioned in a column (probably “Metamagical Themas”, the math, logic, and philosophy column written by Douglas Hofstadter) in Scientific American.
  • Logo: I read an article about it somewhere, and based on the article wrote a Logo interpreter of my own. It would be another ten years at least before I’d use a Logo interpreter that I didn’t myself write.
  • FORTRAN: The VAX-11/780 that I was put in charge of in 1986 had compilers for two programming languages installed on it. FORTRAN was one of them, and I was at least partially responsible for maintaining apps on this system that were written in FORTRAN. (The other was BLISS, which I never really learned. I know a little BLISS, but not enough to claim to be conversant.)
  • MACRO-11 (VAX-11 assembly language): Because writing system applications in FORTRAN (even if it is FORTRAN 77) is not the most pleasant activity.
  • C: I honestly don’t remember why I decided to teach myself C, other than perhaps that writing serious software in 8088 assembly language using MASM is, well, tedious.
  • C++: I bought the Zortech C/C++ compiler for MS-DOS shortly before going to school, based on reviews claiming it was one of the best on the market at the time. I got it for the C compiler, but since it came with C++ I set out to learn C++. Upon getting to college, I discovered that the UNIX computer I had access to as a student had cfront installed on it, and that the campus library had a copy of Bjarne Stroustrup’s book, and so I taught myself using those resources.
  • Perl: Because awk just isn’t powerful enough. Also, for quite a while, when the only working computer I had was an Amiga 2000, the only languages I had access to were Perl and Emacs-Lisp.
  • Python: Recommended to me by a friend as an alternative to Perl.
  • Java: About 20 years ago I got a freelance job that involved, amongst other things, a Java applet (back in the days when Java applets were not considered wholly evil). Someone else’s code, but I had to modify it. This forced me to learn Java.
  • Prolog: A friend showed me Prolog, and it intrigued the hell out of me so I played with it for a while until I could use it to write nontrivial programs.
  • PHP: Because when you’re a webmaster for an organization that uses a PHP-based publication environment, sometimes you have to dig in the source. I’ve never actually written anything nontrivial in PHP, but I probably know the language better than 90% of the people who program in PHP.
  • Javascript: I learned Javascript in order to make more interesting webpages, Javascript being the only language that is essentially universally available in browsers.
  • Haskell: About a dozen years ago, I saw a really cool abstract graphics animation program come out of Microsoft Labs that used one program, written in Haskell, that took the user’s specifications and generated another program, written in C, which it then compiled and ran to generate the graphic the user requested. This fascinated me and got me looking into Haskell. I later got involved in Haskell again while investigating electronic music generation, although I never went far with that. It would be almost another ten years, though, before I really managed to actually learn Haskell. Haskell is now my preferred language for anything not requiring a GUI.
  • Ruby: The DFHack mod framework for Dwarf Fortress, which I play a small role in maintaining, offers two embedded scripting languages, Lua and Ruby. I learned Ruby in order to write scripts for Dwarf Fortress.
  • Lua: The OpenComputers mod for Minecraft allows the player to create in-game computers that are programmed in Lua.
  • Scheme: I used to work on the GIMP, and the GIMP’s embedded scripting engine is based on Scheme (more specifically, on Guile, GNU’s implementation of the Scheme language). As one of the areas I worked on for the GIMP 1.0 release was the scripting API, I necessarily learned quite a bit of Scheme (which wasn’t hard because I already knew LISP).
  • ASP: For work.
  • Powershell: Mainly for work, in my role as a Windows systems administrator.
  • Scala: because modding Minecraft in Scala is rather less unpleasant than doing it in Java.

In summary, the reasons range from “to complete a task assigned to me by an employer or customer” to “to more readily do something that I was otherwise interested in doing at the time for some other reason” to “because I wanted to write a program to do something and these were the tools I had available at the time” to “because it was there”. Or, in one case, because it wasn’t there (Logo).



See Questions On Quora

Continue reading...
 
Similar threads
Thread starter Title Forum Replies Date
N Study Buddy need someone to learn python together(beginner) Study Buddy 0
R Study Buddy Learn Python together Study Buddy 1

Similar threads

Top