Uma coisa que trabalhar em Haskell e F # me ensinou é que alguém em uma universidade mais inteligente que eu provavelmente já encontrou uma abstração para o que estou fazendo. Da mesma forma, em C # e programação orientada a objetos, provavelmente há uma biblioteca para "it", seja o que for que eu esteja fazendo.
Há tanta ênfase na reutilização de abstrações na programação que muitas vezes sinto um dilema entre: 1) apenas codificar algo curto e sujo ou 2) gastar o mesmo tempo para encontrar a biblioteca / solução mais robusta de outra pessoa e apenas usá-la.
Como recentemente, um dos codificadores aqui escreveu um (des) serializador para arquivos CSV, e eu não pude deixar de pensar que algo assim provavelmente é muito fácil de encontrar on-line, se ele ainda não vem com o padrão .NET APIs.
No entanto, não o culpo; várias vezes trabalhando no .NET, consertei uma solução com base no que sei, apenas para perceber que havia alguma chamada ou objeto de método ou algo , geralmente na mesma biblioteca, que fazia o que Eu queria e simplesmente não sabia disso.
Isso é apenas um sinal de inexperiência ou sempre existe um elemento de troca entre escrever novo e reutilizar o antigo? O que eu mais odeio é quando encontro uma solução que eu já sabia e esqueci. Sinto que uma pessoa simplesmente não é capaz de digerir as grandes quantidades de código que vêm pré-empacotadas com a maioria dos idiomas atualmente.