Live data from Hacker News

The Polyglot Programmer

agilefrog.se

11–20 of 41 posts

Re: The Polyglot Programmer

#11
post #3

In my personal experience the most talented developers have been polyglots. Not that someone who knows only two syntaxes is not useful. It must be like musicians ... when you see a person get off the drums and pick up the guitar ... it just puts you in awe.

Most programming languages are essentially the same; skills are directly transferable and you just have to learn minor syntactic difference. I would think it would be much harder to master guitar just because one already mastered drums, or the other way around. Show me someone who has mastered computer graphics and say databases, then I'll be in awe.

I have to disagree, functional and object oriented languages produce very different solutions. Syntax is just the grammar. Compare e.g. Mandarin to a Latin based language and you will see what I mean. :)

But indeed, mastering more areas is even more impressive.

Re: The Polyglot Programmer

#12
post #4

So it seems to me like this article just described being a programmer.... If you don't know at a minimum 4+ languages I'm not sure you should be called a programmer at all.

“I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.” Bruce Lee

Re: The Polyglot Programmer

#13
post #4

So it seems to me like this article just described being a programmer.... If you don't know at a minimum 4+ languages I'm not sure you should be called a programmer at all.

Although I have met many programmers who focus on a single language, say C# or Java, gets a lot of certifications etc. Are they not programmers too?

I am not saying you can't focus on a single language. But for example, if you know c# than you basically know java, and you basically also know php. You could easily pick up a pretty good understanding of these languages in under a week.

If you know c++ you could basically roll right into any of those languages I named above in under a week as well.

It is sort of difficult to do anything worth doing on the web unless you have experience with at a minimum Javascript, a serverside language(php, ruby, python, c#, whatever. You could maybe do nodeJS but if you are doing that you are probably already rolling deep in knowledge anyway) and have some experience with some kind of sql like database language. I'm not even counting html or css which aren't real languages but are still things you need to have some understanding of. Also there is a good chance you have a basic understanding of setting up apache and a linux server in a cloud environment.

If you're doing any of this stuff you have probably tinkered with mobile and maybe have some obj-c experience or at least java on android.

Everything is just so tied together these days unless you are just like, a day job programmer you probably have experience with a ton of languages and could get some code going in a bunch of others very very quickly.

Re: The Polyglot Programmer

#14
post #4

So it seems to me like this article just described being a programmer.... If you don't know at a minimum 4+ languages I'm not sure you should be called a programmer at all.

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.

Re: The Polyglot Programmer

#15
post #3

In my personal experience the most talented developers have been polyglots. Not that someone who knows only two syntaxes is not useful. It must be like musicians ... when you see a person get off the drums and pick up the guitar ... it just puts you in awe.

Most programming languages are essentially the same; skills are directly transferable and you just have to learn minor syntactic difference. I would think it would be much harder to master guitar just because one already mastered drums, or the other way around. Show me someone who has mastered computer graphics and say databases, then I'll be in awe.

[deleted]

Re: The Polyglot Programmer

#16
Totally agree. While it's true you won't master every language you learn, I find I transfer little gems and idioms from one language into the languages I use on a daily basis. I pretty much ignored the dynamic programming available in C# until I worked with Perl for a year. I've also transferred some functional programming idioms into my Perl and Objective C.

Re: The Polyglot Programmer

#17
post #13

Earlier quoted context omitted.

Although I have met many programmers who focus on a single language, say C# or Java, gets a lot of certifications etc. Are they not programmers too?

I am not saying you can't focus on a single language. But for example, if you know c# than you basically know java, and you basically also know php. You could easily pick up a pretty good understanding of these languages in under a week. If you know c++ you could basically roll right into any of those languages I named above in under a week as well. It is sort of difficult to do anything worth doing on the web unless…

I think you're conflating "knowing" a language with knowing the syntax of a language.

It was an easy transition into C++ syntax from my usual C#/Java programming, but the transition into thinking like a C++ programmer was not a simple or easy one. Weeks (months?) later, I am still learning how to be a "good" C++ programmer.

I remember "learning" PHP when I was younger and could probably program quite a few things with it still but I am definitely not a PHP programmer. I have no idea what is considered good or bad practice in PHP land. I could solve a bunch of Project Euler problems in PHP but I could not write a secure PHP application for actual use.

The same goes for most languages I can think of. I've fiddled around with it, written a few small programs, gotten a feel for the standard library, but unless I use that language on a decent sized project I have nothing but a superficial understanding of it.

If you already know how to program, "learning" a new language is trivial, you can do it in a few days, sometimes even a few hours. Learning to write "good" code in that language is not something that is easy to pick up or something that is transfers between languages, even closely related languages like C and C++ or C# and Java.

Re: The Polyglot Programmer

#18
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.

That may be true for many languages, but if those people never roll into that sort of situation it's probably fair to still call them programmers.

Re: The Polyglot Programmer

#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.

Re: The Polyglot Programmer

#20
This is why I prefer telling people about the programming paradigms I know, not the languages I know.

I'm not impressed by someone who knows Java, C#, and PHP compared to someone who knows object-oriented program, functional programming, and programming in an S-expression language.[0][1]

I've found that a multi-paradigm programmer often has superior reasoning abilities about how to write scalable, readable code.

Language acquisition within a paradigm is usually laughably easy, once you've been exposed to that paradigm in the first place. Thus, I agree with the author's argument if polyglot is defined with respect to paradigms, not languages.

[0] I'm not sure if picking up a Lisp is considered its own paradigm, but it seems radically different enough to me.

[1] This sentence is, of course, a generalization. Someone who knows every nook and cranny of a language is certainly impressive, as they can do some really remarkable things. However, this generalization has usually held up, in my experience.

Post reply on HN