¿Cuál es la diferencia entre un programador de computadoras y una especialización en ciencias de la computación? ¿Es un programador una rama de la informática?

No hay una especialización en informática ‘estándar’ que se defina para decir cuál es la diferencia definitiva entre ellas. Mientras que una escuela puede tener un programa de CS que es fuerte en teoría, otro puede tener uno que sea fuerte en programación e ingeniería de software, mientras presta poca atención a los principios fundamentales de la computación.

La informática como disciplina realmente no tiene mucho que ver con la programación. Los lenguajes de programación son herramientas que se emplean para implementar algoritmos en la actualidad. Para hacer ‘Computer Science’ no necesitas una computadora, ya que se trata fundamentalmente del diseño y análisis de algoritmos en lugar de su implementación.

Aquí hay una analogía. La informática es como la filosofía, que trata sobre las ideas, el análisis de estas ideas, refinándolas, desacreditándolas, explicando el razonamiento detrás de ellas, etc. Si bien los filósofos necesitan saber cómo escribir, y suelen ser excelentes escritores; la escritura es solo una herramienta para expresar estas ideas, pero no son las ideas mismas. Si no hubiera escrito, todavía podría haber filosofía en la práctica. Si es necesario, la filosofía se puede hacer con una discusión oral.

Creo que la informática es de la misma manera. Mientras que las computadoras son una excelente aplicación de las ideas (algoritmos) desarrolladas en informática, y la informática hace que la computadora sea más útil, la informática no se trata de computadoras. Si no hubiera computadoras, la informática se podría hacer con lápiz y papel, porque fundamentalmente es solo matemática.

La “informática” se hacía desde la antigüedad. El algoritmo de búsqueda de raíz y el algoritmo de división son excelentes ejemplos de informática que se realiza incluso antes de que se utilizara la electricidad. El advenimiento de las computadoras hizo que el término ‘Ciencias de la Computación’ prevaleciera, ya que sus aplicaciones son las más impactantes y dominantes. Si pudieras entrenar a un gato para ejecutar con precisión un algoritmo y ese método de computación se convirtió en la forma de facto de ejecutar algoritmos, tal vez se llamaría ‘Ciencia del gato’, pero no se trataría de los gatos en sí, sino de los métodos que los gatos fueron entrenados para usar.

En perspectiva, esto es preguntar:

¿Cuál es la diferencia entre tocar un instrumento (programación de computadora) y ser un estudiante de música?

Alguien que toca un instrumento puede o no tener respaldo universitario, (estar tradicionalmente capacitado), una especialización en ciencias de la computación todavía está en la escuela, pero puede ser capaz de programar mejor.

En última instancia, la programación informática es una habilidad (y una de las muchas que necesita un buen ingeniero o programador de software). Tiene arquitectura e infraestructura, comprensión del entorno y hardware, teorías de interacción con el usuario y muchos otros elementos para ser un buen “programador”. Es por eso que me gusta separar el programador de la ingeniería de software. El primero es básico (algo que estaba haciendo a los 10 años), el segundo es más inclusivo.

La diferencia es principalmente cuánto sabe sobre la informática real. Leí en otra publicación similar que un comandante de CS es un poco como el diseñador y mecánico principal de un automóvil de Fórmula 1 donde tienen que saber sobre aerodinámica, resistencia, cómo la temperatura del caucho se adhiere a la carretera, cuánta tensión debe haber en cada primavera, y cómo la presión de los neumáticos afecta tanto el agarre como la eficiencia del combustible, mientras que un programador es el conductor. Ambos saben qué es y qué hace el automóvil y las partes importantes, pero uno sabe más sobre cómo está construido y cómo funciona y el otro lo utiliza para hacer el producto más eficiente.

Definitivamente no tienes que ser un experto en CS para ser un programador. Algunos podrían argumentar (y yo, un experto en CS) está de acuerdo en que solo un experto en CS podría no prepararlo adecuadamente para los desafíos que puedan surgir de los proyectos de la vida real porque hemos pasado más tiempo mirando la mecánica en lugar de escribir código. Sin embargo, son igualmente importantes para tener en un equipo de desarrollo. El mecánico principal puede saber cómo conducir el auto de carreras, pero no podrá conducirlo de manera tan eficiente como la persona a la que se le paga por conducirlo. El conductor puede saber un poco sobre el automóvil, pero si algo mecánico se rompe o funciona mal, no podrá repararlo tan rápido como el mecánico principal.

More Interesting

¿Sería difícil conseguir un trabajo de Hack Reactor, DigitalCrafts o Code Academy a los 38 años?

Tengo 29 años y quiero estudiar Informática el próximo año para convertirme en investigador de aprendizaje automático. ¿Es demasiado tarde para eso?

¿Debo seguir yendo a una universidad para obtener un título en ciencias de la computación o simplemente enseñarme?

¿Qué cualidades debe tener el ingeniero informático ideal?

¿Cómo es IIITM Gwalior para un doctorado en CS / IT? ¿Será mejor que VNIT Nagpur (teniendo en cuenta la investigación en CS)?

¿Cuál es la forma más rápida de convertirse en desarrollador de Salesforce? ¿Cuáles son las perspectivas de carrera en los próximos 10-15 años?

Para los cambiadores de mitad de carrera que cambiaron a codificación, programación, ingeniería o desarrollo web, ¿cómo fue la experiencia para ustedes?

Cómo saber si estoy siendo productivo mientras estoy aprendiendo informática

Como recién graduado de BS CS, ¿cómo puedo especializarme y mejorarme en mi campo de interés, que es sobre sistemas operativos, concurrencia, sistemas distribuidos, etc.?

Cómo asegurarme si quiero ser programador o creador de ideas

¿Qué trabajo puedo obtener con un título en informática? Actualmente voy al octavo grado y estoy tratando de decidir una buena especialización en la universidad.

Soy un estudiante de segundo año de ciencias de la computación. ¿Cómo puedo llegar a un nivel decente en Topcoder en mi tiempo libre?

¿Vale la pena especializarse en CS si quieres trabajar en finanzas?

¿Me estoy preparando para ser un programador exitoso?

¿Cuáles son algunos buenos trabajos para los informáticos que no funcionan bien bajo presión?