Live data from Hacker News

Polyglot programming and the benefits of mastering several languages

stxnext.com

21–30 of 68 posts

Re: Polyglot programming and the benefits of mastering several languages

#21
post #6

> The younger generation is also familiar with the “memento Ruby” argument. “The decision to learn a new language is about career planning and risk diversification. Just look at Ruby,” Michał says. It's funny, while community interest in Ruby peaked around 2012, industry adoption and usage of Ruby at startups and in enterprise is higher right now than it ever was, so this whole "remember Ruby" trope is such a farce.

Ruby is in the post-hype phase.

Right, but my point is adoption and hype don't always go hand-in-hand. JavaScript for example has always had heavy adoption but now is going through a hype phase. Ruby had a hype phase a decade ago but only now is seeing heavy adoption. Similarly PHP hype peaked in the early 00s, but adoption didn't peak until ~2017 and is now beginning to decline. Rust is seeing heavy hype that will probably be followed in 5-10 years with heavy adoption.

Re: Polyglot programming and the benefits of mastering several languages

#22
post #18

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

I agree with the spirit of your point, but I'd be hesitant to say you're "mastering" your 15th language if they are all jumbled together. It sounds like you've learned 15 languages, but mastery implies an extreme depth of understanding beyond the point of confusing minor details. I would bet you have at least one or two languages that you work in often that you never get this stuff confused for, and those are the one…

[deleted]

Re: Polyglot programming and the benefits of mastering several languages

#24

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

This.

I'm somewhat envious of my friends who stuck with one language like C, and are super proficient with the one or two languages that they know.

Re: Polyglot programming and the benefits of mastering several languages

#25

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

This. I'm somewhat envious of my friends who stuck with one language like C, and are super proficient with the one or two languages that they know.

I ran between languages for a few years and have stuck with TypeScript for the last few months after deciding I wanted to be one of those people. Already so much more productive when I don’t have to Google everything I do.

Re: Polyglot programming and the benefits of mastering several languages

#26

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

I think that's just the nature of the ... problem domain. There are too many little details that are too similar and our brains have gotten used to Googling. Early on I started creating text files for all these little details for all the languages I know. And now a quick search for these details is an extension of how my brain works. In other words I realized I needed to deposit these chunks of information where I know I'll need to reference them in the future. Is it "else if", "elif", "elsif" in Python, Perl, Ruby - grep or quick search my ruby.txt, ocaml.txt, etc. file. And since I live in emacs, this takes just a few characters to accomplish.

Kinda similar to https://learnxinyminutes.com/

Re: Polyglot programming and the benefits of mastering several languages

#27
post #14

A few years ago I did a MOOC called 'programming languages' which teaches languages like racket and ML. In one of the intro lectures, the professor remarked that (paraphraaing here) 'now I am not naive--I know you will probably end up programming in Java or python when you reach the professional world, but the purpose of this course is not that you will actually go out and use racket in your life as a business progra…

That was a great MOOC by Dan Grossman - discussed a number of times here on HN.

The famous quote from Alan J Perlis:

"A language that doesn't affect the way you think about programming, is not worth knowing."

http://www.cs.yale.edu/homes/perlis-alan/quotes.html

Re: Polyglot programming and the benefits of mastering several languages

#28
For me, the biggest benefit of being able to use significantly different languages, is being able to know "what's possible" so when approaching a new language due to whatever reason (work, interest, etc.) I know what to look for beyond just basic language features offered by pretty much all languages.

Re: Polyglot programming and the benefits of mastering several languages

#29

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

This. I'm somewhat envious of my friends who stuck with one language like C, and are super proficient with the one or two languages that they know.

[deleted]

Re: Polyglot programming and the benefits of mastering several languages

#30

As I master my 15th or so language, I can't help noticing how often I have to search online for the simplest of tasks whenever I switch languages now because it's all turned into a big jumble. Does it need parentheses or not? How are closure variables managed? Do I need to release things? Do lambdas require scoping braces or not? What's the damn syntax for them again??? Do I need to use case(X), switch(X), when(X), s…

I've mastered about a dozen and can read another dozen or so.

I have the same problem you're describing, but it tends to be with languages I haven't used in a while.

I've also resigned myself to be ok with googling a lot of things:

"list comprehension python"

"typescript generic constraint"

"golang package visibility"

Once I got ok with this approach, I became a much happier and productive developer. Rather than beating myself up that I couldn't remember the details, I just "outsourced" said details to Google/StackOverflow and focused on the big picture.

As long as I grok the semantics, I haven't missed remembering all the syntax and idioms of each and every language.

Post reply on HN