Live data from Hacker News

The Polyglot Programmer

agilefrog.se

31–40 of 41 posts

Re: The Polyglot Programmer

#31
post #19

Programming languages are just one subset of tools used by programmers. Therefore, simply counting how many languages one knows is simplistic. It's not incidental that high-rated CS curricula don't spent most of the courses teaching new programming languages. I know amazing polyglot programmers who just know 3-4 languages.

I agree that simply "counting" is a useless metric. I believe what's useful is exposure to different ways of thinking about programming and problem solving. In my personal experience, exposure to imperative, functional, logic, actor, and meta-programming have all enabled me to learn more about problem solving and to think about programming at a higher level. Can you gain exposure to all of those concepts, and more, in just 3 or 4 languages? Absolutely. Does the potential for learning and growing as a programmer end there? I'd hope not!

As a related note, learning new syntax is by far the least useful aspect of learning a new language. Coincidentally, it's also the easiest element to pick up and takes little time at all. Incorporating new paradigms into your way of thinking takes far longer.

Re: The Polyglot Programmer

#32
post #31
post #19

Programming languages are just one subset of tools used by programmers. Therefore, simply counting how many languages one knows is simplistic. It's not incidental that high-rated CS curricula don't spent most of the courses teaching new programming languages. I know amazing polyglot programmers who just know 3-4 languages.

I agree that simply "counting" is a useless metric. I believe what's useful is exposure to different ways of thinking about programming and problem solving. In my personal experience, exposure to imperative, functional, logic, actor, and meta-programming have all enabled me to learn more about problem solving and to think about programming at a higher level. Can you gain exposure to all of those concepts, and more, i…

I was lucky enough at UW when I was an undergrad for our PL course to be of the buffet variety: LISP, ML, Prolog, Smalltalk. These days, most PL courses tend to focus on PL semantics, while we were taught the languages in the environments and contexts that they were meant to be used in (quite important for Smalltalk, but even for LISP).

I've also designed and implemented a few procedural, object-oriented, data-flow declarative, and logic meta-programming languages over the years. It is quite easy to get carried away with any of these paradigms, which is why I try to ground myself to working mostly with procedural imperative languages with aspects of other paradigms sprinkled in.

Re: The Polyglot Programmer

#35

Which languages do you know and why did you learn them?

We are in the dog days of summer, so the amount of good content to report here has probably gone down, leading us to puff pieces like this with very little content.

I'm sorry you didn't like the post. Perhaps you can provide a little more feedback? :)

Re: The Polyglot Programmer

#36

Earlier quoted context omitted.

We are in the dog days of summer, so the amount of good content to report here has probably gone down, leading us to puff pieces like this with very little content.

I'm sorry you didn't like the post. Perhaps you can provide a little more feedback? :)

There is nothing wrong with it for what it claims to be. It is just content free and shouldn't be normally front page material, except right now there isn't much competition.

Most everyone is on vacation.

Re: The Polyglot Programmer

#37
post #14

Earlier quoted context omitted.

I understand where you're coming from, but I strongly disagree. I've worked with multiple living counterexamples to your point - they only knew one language (sometimes old and non-maintained), but they could blow the next whiz-kid out of the water in terms of logical thinking and its application to software development. IMO the only requirement to being a "programmer" is "programming", and restricting it any way beyo…

I'm not even talking about the little languages that just come in and out of fashion all the time. If you know c++ you could basically roll right into C#, Java, PHP, etc in under a week and be doing real work in them. Maybe you wouldn't have the intricacies down immediately but you could be doing production code level work very quickly.

You could probably write C++ code in C#, Java and PHP, but it would be hideous. I've seen Fortran written in C, and Pascal written in C++, and C written in Java, and it's generally an unholy mess.

Re: The Polyglot Programmer

#38
post #25
post #6

Earlier quoted context omitted.

Take the analogy from natural languages, and you're fluent in any language where you can write simple programs without consulting the documentation (or only minimal consultation), conversant in any language you can get real work done in, and speak broken language X if you know Hello World and not much more. A polyglot should be fluent in multiple languages, from at least a couple different families, and conversant in…

What it means to be "fluent" in a natural language is probably even more disputed than with programming languages. It is a good metaphor in that sense though.

Fwiw, I've always understood "fluent" and "conversant" to be the opposite of above - "fluent" being the highest level, indistinguishable from a native speaker (slang, dialect, accent all spot on), while "conversant" means able to communicate and get along but obviously it's a second language to you.

I don't doubt linquists dispute something like that though.

Re: The Polyglot Programmer

#39
post #25

Earlier quoted context omitted.

What it means to be "fluent" in a natural language is probably even more disputed than with programming languages. It is a good metaphor in that sense though.

Fwiw, I've always understood "fluent" and "conversant" to be the opposite of above - "fluent" being the highest level, indistinguishable from a native speaker (slang, dialect, accent all spot on), while "conversant" means able to communicate and get along but obviously it's a second language to you. I don't doubt linquists dispute something like that though.

Same here. I would never call myself fluent in Spanish, but then I've seen people on my level or worse who do and it's frustrating. I've seen plenty of similar arguments online about what it means to be fluent.

Re: The Polyglot Programmer

#40
post #25

Earlier quoted context omitted.

What it means to be "fluent" in a natural language is probably even more disputed than with programming languages. It is a good metaphor in that sense though.

Fwiw, I've always understood "fluent" and "conversant" to be the opposite of above - "fluent" being the highest level, indistinguishable from a native speaker (slang, dialect, accent all spot on), while "conversant" means able to communicate and get along but obviously it's a second language to you. I don't doubt linquists dispute something like that though.

"Fluent" has a rather vague definition, but the word root means "flowing" (like a river) - if you can speak a natural language in proper idioms without pauses in the wrong places to look for or translate words, you're fluent. "Conversant" is a rather lower standard meaning that you can have a conversation in the language and both understand and be understood.
Post reply on HN