6 ms·
Studying individuals is the wrong experiment. Static typing benefits tooling most when you have larger groups of programmers who much collaborate, often asynchr
by cromwellian 14y ago
Studying individuals is the wrong experiment. Static typing benefits tooling most when you have larger groups of programmers who much collaborate, often asynchronously. It's easy to hold a mental model of the code you write in your head and minimize mistakes, it's harder to hold a mental model of a larger program consisting of code written by many programmers.
I'd like to see them hand a pre-written codebase of say, 10,000 lines to a bunch of students, and ask them to make large changes/new features to the codebase.
- deleted 14y ago[deleted]
- szalansky 14y agoAnd also ask them to respect the patterns in existing code. I see that programmers of every language or framework do some shortcuts specific to them.
- batista 14y ago>Studying individuals is the wrong experiment. Static typing benefits tooling most when you have larger groups of programmers who much collaborate, often asynchronously. Absolutely. And also: static typing benefits is not about "development time" but about maintenance, adding stuff, refactoring etc. If anything, dynamic typing would be expected to lead to faster development time, which is also why it's used in most prototyping. Lastly: small sample. Did enough of them use an editor/IDE that could take advantage of a static type system?
- cies 14y agoi agree totally with both parents -- i wanted to comment the same... static typing would more benefit: * large groups of programmers * large codebases * maintenance (which is usually taking more resources then the initial development of a large code base) aditionally i've come to believe that not all static typing is created equal. most allow `null` to be returned instead of adhering to the type, then some have exceptions and not many languages type side effects (like IO). i'm basically saying that C/C++/Java/C#'s kind of typing is not Haskell's kind of typing, and that the potential gains from Haskell's type system are much bigger on the long run (while it also comes with a steeper learning curve).
- bad_user 14y agoDid enough of them use an editor/IDE that could take advantage of a static type system? Just because the language is static, that doesn't mean it benefits from an IDE. For instance, Scala has fairly good integration on top of Eclipse and IntelliJ IDEA, however every time I try doing some work in Scala, I end up cursing and screaming, because these Scala IDE plugins are slow, incomplete and unstable and get in my way. And I can't blame their authors, because Scala is a difficult language to deal with. Another example would be C++, which has been around for a very long time and is one of the most popular programming languages ever. And yet even Visual Studio has problems with its refactoring/IntelliSense support. And then there are the Smalltalk environments, still around, still kicking ass. Here's the thing ... there are static languages, and then there are languages designed for usage within an IDE ;-) Java, C# and Smalltalk are like that, while Scala, Haskell and C++ aren't.
- thomasz 14y agoThey used a custom, minimal IDE that looks like a text editor and a class browser sewn together.
- pjmlp 14y agoYou are hitting exactly the main point. Dynamic languages are very good for prototyping or small scale projects. But they fail to address the context of programming large scale applications with teams distributed across multiple sites.
- elderberry 14y agoI'm betting youtube is bigger than all of your sites combined, and they use python.
- xymostech 14y agoAnd good on them. But that doesn't mean it's easy to write large websites in dynamically-typed programming languages, it just means that they are very good at what they do.
- quadhome 14y agoNo, it doesn't. It doesn't mean anything except that your belief isn't supported by any scientific data (as far as presented in this thread).
- kombine 14y agoAnd you have no idea how they struggled while developing it. Besides, it's not entirely written in python.
- pjmlp 14y agoLet's see, each project usually has: - Multi-site development at least in 3 countries; - Sometimes up to 100+ developers - CI systems - Source code of several MB of source code - Enterprise like infrastructures for Fortune 500 companies - Different skill sets from the "just out of the university" to the "top developer" Maybe YouTube beats this, but Google only has Phd guys able to crack out crazy algorithms/data structures in minutes. Not typical in most software houses.
- lusr 14y agoYouTube is of a different class of complexity as faced by enterprise developers integrating millions of lines of code across disparate systems.