Hace unos días leía una pregunta en una lista de correos sobre python (cito la pregunta):
¿Cuál es el mejor IDE – GUI para Python ?
Y las respuestas obviamente eran los nombres de herramientas, decidí que era una buena oportunidad para escribir mi respuesta extendida, y mostrar mi punto de vista.
Para mi las preguntas de cual es el mejor IDE, denota que el que las hace es un programador junior o novato (que no esta mal que lo sea, por el contrario es muy bueno que quiera saber que herramientas usan los demás), un programador que esta en el proceso de aprendizaje o en camino a convertirse en experimentado o senior, para mi los experimentados nunca hacen esa pregunta porque ellos ya la saben (ya la encontraron) y aquí el porque.
Imaginemos que un cocinero novato quiere freír un huevo, esta aprendiendo a hacerlo, ¿valdría la pena que este cocinero se compre la mejor sartén de todos los modelos existentes ?. O imagina que quieres colocar un cuadro en la pared de tu sala, ¿sería adecuado que compres un martillo eléctrico costoso o bastaría con uno estándar y simple?. O tal vez un aprendiz de guitarra que esta aprendiendo algunos acordes, y sus primeras notas, aún no sabe círculos armónicos o nada de teoría musical, ¿sería un buen consejo que se compre una guitarra fender stratocaster?
El punto al que quiero llegar es que las preguntas de cual es la mejor herramienta o tecnología, en si pueden llegar a no ser constructivas porqué la pregunta es muy genérica y va a provocar un enfrentamiento innecesario entre promotores y detractores de herramientas (flamewar), sin mencionar que es muy subjetiva la respuesta, para mi a esta pregunta le falta la parte importante de definir el propósito, la necesidad o incluso la experiencia del programador, no servirá de nada una IDE con muchas funcionalidades a un programador que aun no entiende su propósito y no puede valorarla realmente, la mejor herramienta siempre esta sujeta a las necesidades y a la forma de trabajo de quien la va a usar.
El mejor IDE para un programador siempre será aquel que cumpla con sus necesidades, que se adapte a el, y que le permita ser eficiente y productivo con su trabajo.
¿Cómo llegar a saber cuál es el mejor IDE, que se adapte a mí?
Aquí les dejo algunas recomendaciones que les pueden servir en la aventura de encontrar la mejor herramienta.
- Mejora tu habilidad con la tecnología o lenguaje de programación antes de ponerte a buscar cual es la mejor herramienta en la cual plasmar lo que sabes, (si eres un mal cocinero, de nada te servirá tener la mejor olla del mercado, si cocinas mal)
- Consigue una lista de los IDE disponibles para la tecnología deseada y prueba una a una durante por lo menos un par de semanas por cada IDE.
- Usa todas las extensiones y funcionalidades de cada IDE, algunas serán extrañas y a veces sin sentido, pero eso te permitirá saber las limitaciones de la herramienta y te llevará a descubrir interesantes procedimientos que pueden llevar a mejorar tu trabajo.
- Intenta llevar al límite al IDE, busca personalizarlo desde los colores de la interfaz hasta agregar código o incluso contribuir con el desarrollo del IDE en el caso de que sea open source.
- Busca videos tutoriales (youtube o cualquier otro servicio) sobre como usan el IDE otras personas, esta es una excelente manera de comparar tu trabajo y el de los demás, y así poder mejorar el tuyo con nuevas ideas.
- Busca charlas y/o videoconferencias sobre el IDE que estas usando (en esas dos semanas), te sorprenderás de lo que puedes encontrar.
- Lee blogs, revistas o sitios especializados similares a The Setup, busca inspiración en el trabajo de otros.
- Postea tus hallazgos, hay otras personas que les gustaría comparar tu forma de trabajar con la propia, así se genera conocimiento a través del intercambio de opiniones y hallazgos.
Al final encontrarás la mejor herramienta que se acomode a ti, de eso no hay duda.
Remember the message from Morpheus to Neo:
Neo, sooner or later you’re going to realize, just as I did, that there’s a difference between knowing the path, and walking the path.
Happy Coding 😉
He visto expertos haciendo ese tipo de preguntas cuando incursionan en un nuevo lenguaje/tecnología. La pregunta podría ser con el objetivo de sondear;como hacer una lluvia de ideas social. Tal vez pudo haber alguno de esos programas que alguien usa y no es muy reconocido para encontrarlo fácilmente en internet. Quizá aseverar que es algo propio de 1 senior sea un poco tajante, aunque pudo haber sido para darle sazón al artículo. Saludos.
Me gustaMe gusta
Gracias por el comentario, aprovecho para aclarar que ser junior o senior no es genérico, uno puede ser junior en un lenguaje y senior en otro, el que lleva más tiempo usando un tipo de tecnología se convierte en senior y sabe que herramienta es la mejor para lo que el hace.
Me gustaMe gusta