5 ms·
Odd languages attract above average programmers, if nothing else than because they are engaged. Small teams are more productive than large teams, because there
by timomax 8y ago
Odd languages attract above average programmers, if nothing else than because they are engaged. Small teams are more productive than large teams, because there are almost no communication problems. I wonder how much is due to this?
- geophile 8y agoI came here to make the same point. The real test would be to take those same Lisp or Smalltalk programmers, and have them work in Java. I’ll bet you see the same increase in productivity. It’s the people, not the language.
- maxcut 8y ago> I came here to make the same point. The real test would be to take those same Lisp or Smalltalk programmers, and have them work in Java. I’ll bet you see the same increase in productivity. It’s the people, not the language. A good example to strengthen this argument is Petr Mitrichev who has won numerous competitive programming competitions and his language of choice is... Pascal https://en.m.wikipedia.org/wiki/Petr_Mitrichev https://en.m.wikipedia.org/wiki/Petr_Mitrichev
- adgasf 8y ago> It’s the people, not the language. Then why is it that so many good developers who have learned these more esoteric languages cannot stand going back to Java etc?
- deleted 8y ago[deleted]
- geophile 8y agoBecause those esoteric languages are better. The comment I responded to points out that TFA makes the unreasonable assumption that the Java programmers and the Smalltalk programmers are equally talented. And that perhaps what is going on is that the people attracted to explore beyond Java are more curious and perhaps more interested in their craft. If that is the case, then I predict these people will be better in Java, even if it isn't their first choice.
- Retra 8y agoFor one thing, highly popular languages tend to have communities which are flooded by people who can't use those languages, can't describe the problems they are solving, or can't understand basic programming concepts. Like, it wouldn't even matter to me if PHP is a good language if I have to sift through thousands of comments of "I did this and it worked" without any description of why it worked, why it is better than other ideas, or what problem it is even meant to solve.
- discreteevent 8y agoDid you get the name mixed up? Says here that Gennady Korotkevitch uses Pascal but Petr uses Java. https://www.quora.com/What-language-do-Gennady-Korotkevich-and-Petr-Mitrichev-use-for-competitive-programming https://www.quora.com/What-language-do-Gennady-Korotkevich-a...
- mamcx 8y agoNo, the language is part of the equation. I have code, for work, in: FoxPro, Delphi, Python, VB, VB.NET, C#, F#, Obj-C, Swift, Rust, Sql, Js. I rewrite apps and codebases, and move them. I rewrite the same stuff many times, and make my own pseudo-ORM is my main thing when learn new languages. Absolutely I'm more productive in some Langs than others: Amazing at: - Fox, Delphi, Python (#1), F#, Swift Average, low: - VB, C#, Obj-C, Js Barely move: - Rust (this is my last lang, and also doing a programming language that I have sketch in python, swift, f#. The task hit against the hardest and weakest parts of rust). I look at C, C++ and my instinct tell me I will suck forever at them. Same Haskell. Ocalm? I will fly. Lisp? Nope, that crazy stuff never click. Kdb+? I don't know, maybe. I don't buy the meme "the language not matter, is the people" because languages are made FOR the people. And some stuff click on you or not. That is the reason APL is a thing for some.
- geophile 8y agoIt's not a "meme", it's just my speculation. Yes, languages are made for people, but the people aren't all the same. TFA overlooked the point that maybe it is more curious and more talented people who make their way to esoteric languages.
- mamcx 8y agoSo we are on agreement (how weird that happened often on HN, at least on tech!) I also add that you need to explore that languages to become talented. I'm pretty certain to be an average developer, at most. Not because low self-esteem, but after 20+ years I have know people above and below. BUT, the use of many paradigms have help me to look like much better than if I have been stuck on a single lang (or paradigm). I credit, by intuition, to FoxPro in how I tend to be better on RDBMS work. Delphi, for how build UIs and have certain understanding of low level. And so on. Every new lang/paradigm make you better, and that lessons carry over. One of my favorite anecdotes was someday I was stuck with C# solving a task, that even with libraries can't get. I think to myself "let do that on python". I solve it in no time. I port it to C#, and almost get the same line count!
- 8y ago
- antt 8y ago>I came here to make the same point. The real test would be to take those same Lisp or Smalltalk programmers, and have them work in Java. I’ll bet you see the same increase in productivity. It’s the people, not the language. They write a mini-lisp in Java and obfuscate it. I've been on project where this had happened.
- zmmmmm 8y ago> above average programmers, if nothing else than because they are engaged But are you really "above average" if you are incapable of actually producing something large scale because your temperament is such that you can't stand working in a "boring" "unproductive" language? It's sort a tortoise or hare type situation: the hare runs really fast but if that doesn't win you the race, who cares? There is an even rarer breed of programmer who operates as both the tortoise or the hare. Those are the true "above average" programmers in my view, but you can pretty much exclude the elite crowd of folks who "refuse to program in Java" or will confine their entire job search to companies that use their favorite language from that category.
- goatlover 8y ago> But are you really "above average" if you are incapable of actually producing something large scale Wasn't the OP's conclusion that large scale was due to not being able to scale the team into the hundreds and not any limitation of a small team? There's only so much code that a handful of programmers can write and maintain in any language. The scaling issues comes up when you need to make your team a lot larger.
- zmmmmm 8y agoYes. I think one of the interesting things in software is the irrational amount of productivity that a small team can accomplish, but that it can only be done by doing things in a way that can never be executed by a 50 person team. So it is possible for 3 - 10 developers to maintain a product that perhaps, would need 50 developers using fully maintainable methods. But the 3-10 developers can never produce what 500 developers can. And there's a valley of death between about 10 and 30 where you actually go backwards. With 20 developers you might accomplish less than with 10 unless you very carefully and strictly compartmentalise the team (at which point you have two teams of 10 developers that don't interact ...).
- cutler 8y agoGood point. When I discovered Clojure and saw the light after listening to Rich Hickey's sermons on The Mount I found it almost impossible to work with OO code. Years later I asked myself if this had actually benefited me professionally, other than simply broadening my mind, and I concluded it hadn't because it limited me to the tiny number of Clojure jobs available and ruled-out earning good money working on existing code. In recent years I've had to reverse-engineer this experience and get to grips with the likes of Java, Kotlin, Ruby and Python.