3 ms·
Does knowledge of standard libraries on a language platform count? Not really. It means you're good at learning libraries. It says nothing about your programmin
by georgieporgie 15y ago
Does knowledge of standard libraries on a language platform count? Not really. It means you're good at learning libraries. It says nothing about your programming skills.
I strongly disagree with this bit. What are programming skills if not the ability to effectively get things done? How is domain knowledge not, therefore, directly tied to programming skills?
I agree with what I think your broader point is, that classes of knowledge (e.g. imperative vs. functional) are more important to note than, for example, particular languages. However, when it comes down to it, deep knowledge of the platform is the difference between clean code that's working quickly and spaghetti messes that take forever. I say this as someone who has written plenty of spaghetti. ;-)
- bitops 15y agoI think both points being made here are correct. It's true that having knowledge of libraries is valuable, because as you say, how will you get anything done otherwise? However, there's a certain type of learning that only occurs once, typically when you're first learning to program. For example: you need to download data from a web page and parse it. If you're a total newbie, you first need to understand that there's a protocol (HTTP) involved, and that libraries exist to parse the markup language (HTML). Just knowing that those libraries should be available in your language (standard or otherwise - another piece of knowledge) is valuable. But once you've done it once in one language, you'll know the approach for all other languages. Another way to put it is that it's all important, depending on which problems you're trying to solve. But putting all your eggs in one basket is problematic and does not necessarily guarantee programming skill.
- eru 15y agoYes. But you can't separate standard libraries from the language itself so cleanly. For example, control structures like `for' and `while' are clearly part of the language in C. But in Haskell they are part of the standard library.
- pcote 15y agoI'm not sure. You can have a lot of knowledge of a domain without knowing how to program. You can have a lot of programming skill and not know anything about a domain. The two ideas aren't necessarily going to be joined at the hip. That being said, I agree with your broader point. Having both domain knowledge and programming skills are key to being effective on a project.
- georgieporgie 15y agoI should point out that by "domain knowledge" I meant the domain of a particular language and/or platform. For example, having a deep understanding of what is available in .Net in C#, or STL + Boost in C++, or CPAN in Perl. Real-world domain knowledge is somewhere between helpful and vital, depending on one's role.