loading...

What is the most influential programming language you have learned?

autoferrit profile image Shawn McElroy ・1 min read

I say "learned" here because we don't always use every language we learn. But, what is the most influential languages you have learned? Why was it influential? Is it the language you currently use? If no why not?

For me this has kinda been in 2 stages. First when I was new I started with PHP. and after knowing it and using it in a job for some time, i started learning C# on the job and helped with it. It was eye opening. Mostly because I learned more about how languages like PHP worked "under the hood". It was like a cover was lifted. But to this day, I never really took use to it full time or for my own uses.

Other than that, so far I would have to say the most influential language for me was learning Erlang. By this time I used PHP for a long time. I had toyed with python and used javascript. Looked at others. But Erlang was such a different paradigm (functional) I feel like it made me a better developer since it made me think of problems in such a different way. Find simple cases and work out from there one step at a time. Recursion, and more. Currently I don't use it though as when I learned it, it felt like there was very little people using it and Elixer had not been around very long.

After that, I started playing with python a lot more which is mostly what I use today along with PHP.

Posted on Feb 8 by:

autoferrit profile

Shawn McElroy

@autoferrit

I am a product engineer and have helped build software from small startups, to manipulating hundreds of millions of data points. I write API's and make tools that make developers lives easier.

Discussion

markdown guide
 

Whenever I think of language influence, I cannot help think of different types of influence

  • I've spent a long time in Java and it's influence is undeniable in terms of creating richer browser experience (not that anyone writes applets anymore) or influencing literally hundreds of languages that run on the JVM. Java's level of influence is staggering in it's breadth and depth. If I was being snippy, I would equate it to the influence McDonalds has on the (fast) food industry.

  • On the other hand, there is a different type of deep seeded influence that is traceable back to more pioneering languages like Smalltalk (single inheritance, IDE built in the same language, strong refactoring support) or any of the LISPs (pure functions, immutable collections, list comprehensions, etc), which I rejected at university and fell in love with recently with Clojure.

p.s. I also love Erlang and I think it (and Elixir) will only become more and more influential over time.

 

JavaScript was the real deal for me. I've learnt PHP and Java to some extent far back that I realize JavaScript teaches a developer atleast to some extent to be careful and advocates what happens beyond the interpreter.

 

A friend likes to say that JS is a good language for new programmers, and i disagree. It is so unstructured its hard to follow. Granted, ES6 made that way better. But I feel like JS has a lot of hidden warts that make you go WTF?

 

Haha.Very true..when I first started learning the language. I found it quiet hard to wrap my head around automatic type coercion etc. But now that's really not a big off for me. I'm more concerned about this now πŸ˜‚

 

Many will laugh but for me it was Perl.

One of the first I really learned and used, but the most important thing that got me was Regular Expressions. Learning how to use Backticks, as well as simple Matching Patterns and Substitutions has really paid off for me. To this day when I get to someones code with a Regular Expression its eye opening when I look at one and cringe recalling how I used to make ones like that, then I show people how to make it simpler and easier to read.

 

It was C actually and more particularly a book 'Learn C in 24 hours'. I had no knowledge of programming or computer but I read the book and learnt C a little bit.

It gave me confidence that I can learn stuff on my own. I never used C in my professional life but still that book and the language was life changing.

 

Elm. It taught me the value of functional programming and more maintainable ways to write UIs at the same time. We did a lot of things wrong at first, but it is easy to refactor as you figure more things out. I had been using F# before that, but some of these same lessons had eluded me. What I learned from Elm has sharpened my F# code as well.

This comment might seem contradictory with something I posted recently. It isn't. Elm has been the most influential language for me.

Prior to the above mentioned languages, my first professional projects were with PHP, then learned VB.NET for some consulting work, then C#. I had done bits and pieces of JS here and there, but I seriously picked up client-side Javascript next. There were some side tangents into learning PERL, Java, and Python along the way. Maybe others I'm not recalling.

 

It was lisp/scheme for me. Most up-to-date programming language takes specific features from that that languages. Functional programming of haskell, clojures in javascript, sybmols in Ruby, AST, data as code and vise versa, all this things is from lisp world.

 

SQL teaches you to think systematically about information. A language inculcating a way of thinking isn't new -- any high-level general purpose language will teach you to think about systems through the metaphors of classes and(/or) functions, for example. But there aren't many that focus specifically on information, or which have as high congruence between usage and architecture since the query language itself operates by describing the structure of the database.

 
 

What did you find particularly useful or interesting about it?

 

I think the introduction of LINQ and Lambdas was a game changer. I know lambdas was in other languages before, but it coupled with Linq was really useful, so much so that Java (the language that C# borrowed from) started to lean in that direction.

Lastly, C# made the concept of a language really supporting multiple paradigms (functional and object-oriented in this case) cool.

 

For me, that'll be Golang 🀘

 

Why was golang so influential for you?