¿Los programadores realmente implementan los algoritmos, o usan los que se dan en las bibliotecas? (como usar HashMap en Java)

El objetivo de las bibliotecas es evitar tener que “reinventar la rueda” continuamente para funciones que se pueden usar y reutilizar con frecuencia en una amplia variedad de proyectos. El código de la biblioteca ha sido probado, depurado, y si los errores persisten, muchas personas generalmente se habrán dado cuenta y se quejarán hasta que se solucione el problema.

En un trabajo típico de programación del mundo real, tendrá mucho que hacer para diseñar y depurar su propia lógica, estructuras de datos y comunicación, y apreciará no tener que rehacer las funciones básicas de fontanería usted mismo.

A menudo se dice que los programadores deben “esforzarse por ser flojos” y esto es exactamente lo que se quiso decir. Cualquier cosa en la que se pueda confiar para enchufar y funcionar correctamente suele ser una ventaja cuando tiene otras cosas de qué preocuparse.

¿Los programadores realmente implementan los algoritmos, o usan los que se dan en las bibliotecas? (como usar HashMap en Java)

Si un algoritmo ya tiene una implementación, es casi seguro que lo use. Sin embargo, a veces no hay una implementación de un algoritmo que desee, por lo que puede escribir el suyo. Y las bibliotecas no son mágicas: son códigos que los programadores realmente implementaron.