¿La informática es ciencia, matemática aplicada, ingeniería, arte, filosofía? "Otro"?
Para proporcionar antecedentes, aquí está la publicación del blog de Steven Wartik para Scientific American titulada " No soy un verdadero científico, y está bien ". El artículo cubre algunos buenos temas para esta pregunta, pero deja abierto más de lo que responde.
Si puede pensar en la disciplina, ¿cómo encajaría la informática en su definición? ¿La disciplina de la informática debe basarse en lo que hacen los programadores o en lo que hacen los académicos ? ¿Qué tipo de respuestas obtienes de personas que parecen haber pensado profundamente en esto? ¿Qué razones dan?
computer-science
philosophy
Macneil
fuente
fuente
Respuestas:
Hay dos disciplinas de TI distintas:
Informática: es el estudio de disciplina de las computadoras y la computación utilizando el método científico.
Ingeniería de software: es la disciplina de diseñar e implementar software siguiendo los principios de ingeniería adecuados.
Los dos se superponen un poco, pero la distinción es realmente sobre los resultados deseados de la ciencia versus la ingeniería. El resultado deseado de una disciplina científica es el conocimiento. El resultado deseado de una disciplina de ingeniería son las cosas que funcionan.
Entonces para responder a su pregunta:
La informática es ciencia ... cuando se hace correctamente. Sin embargo, al igual que otras disciplinas, CS se superpone con Matemáticas, Ingeniería, Ciencias Físicas, Ciencias Sociales, Filosofía, etc.
También agregaría que lo que hacen la mayoría de los programadores no es ni Ciencias de la Computación ni Ingeniería de Software. Es más como lo que hace un artesano.
Y es triste decirlo, ni la profesión académica en informática o la ingeniería de software son tan rigurosas como las disciplinas más antiguas de ciencia e ingeniería. (Hay campos de la informática que son tradicionalmente rigurosos; por ejemplo, los que tienen una sólida base matemática. Pero para muchos campos, es simplemente demasiado difícil / costoso hacer estudios científicos adecuados sobre las preguntas que realmente importan).
fuente
Los programadores rara vez "hacen informática". En su mayoría utilizan resultados de "ingeniería de software", que es una disciplina de ingeniería, obviamente.
Aparte de eso, la informática es matemática aplicada. Si compara CS con algo indudablemente perteneciente a las matemáticas aplicadas, notará mucho parecido.
Los informáticos diseñan y estudian formas de computación (algoritmos), tomando la mayor parte de la teoría de las Matemáticas (lógica, teoría de grafos, combinatoria, etc.) y contribuyendo a ella al mismo tiempo. Al igual que el resto de las matemáticas aplicadas.
Evalúan teóricamente las propiedades de estos modelos y algoritmos, y realizan experimentos de modelado (programas de prueba de escritura). Al igual que los matemáticos aplicados simulan el flujo de líquido en tubos en grupos, los informáticos usan computadoras para experimentar con implementaciones de sus algoritmos. Los resultados de estos experimentos van directamente a la producción: ya sea a una refinería de petróleo o a un software para análisis de existencias.
En la universidad que terminé, ni siquiera hay un departamento especial para ciencias de la computación: entre otros dominios que no son de computadoras, la cátedra de ciencias de la computación es parte del Departamento de Matemáticas Aplicadas.
fuente
Informática es un término que en estos días cubre muchas, muchas cosas:
Observe cómo todos los anteriores tienen nombres distintos en lugar de solo "informáticos". La diferencia es que la informática es demasiado nueva para que se establezca un nombre.
fuente
En primer lugar, es ciencia de la computación . Esto trata con las matemáticas detrás del cálculo.
Hay otras disciplinas que están más orientadas a la ingeniería.
La diferencia es la misma que cualquier otra disciplina relacionada con la ciencia y la ingeniería. Uno es sobre precisión, otro sobre precisión. La ciencia de la computación es teórica, otras son la ciencia aplicada a los problemas: ramas de la ingeniería.
fuente
La informática es matemática aplicada y experimental .
fuente
La informática es una rama de las matemáticas aplicadas que se ocupa del diseño y la aplicación de autómatas computacionales. La ingeniería de software es el subconjunto adecuado de la informática que se ocupa del diseño formal y la construcción de código para la arquitectura von Neumann. La arquitectura von Neumann es solo una forma de implementar una máquina informática. Por ejemplo, la máquina utilizada para descifrar mensajes codificados por Enigma no era una máquina von Neumann.
La ingeniería de software es una disciplina profesional. La informática es una disciplina orientada a la investigación. La mayoría de los estudiantes de informática terminan en desarrollo de software porque la investigación requiere que uno tenga al menos un título de maestría, lo que hace creer que la informática es un certificado de programación glorificado.
fuente
La disciplina más exactamente llamada "Ciencias de la Computación" es, en la mayoría de las universidades que he verificado, una ciencia aplicada, similar a las disciplinas de ingeniería; si te especializas en ello, recibirás un "BS" o "MS". El título de CS de Texas Tech fue ofrecido por la universidad de Ingeniería. La disciplina, como se enseña, es principalmente teórica; aprende el concepto de máquinas de Turing, DA / NDA y otros conceptos fundamentales que el programador "día a día" realmente no tiene que seguir sacudiendo en su cráneo. También obtienes una carga de matemáticas más altas; el título de Texas Tech CS, y apuesto a muchos otros también, más o menos te da un menor de Matemáticas para que lo acompañe. Para eso, la mayoría de los títulos universitarios se suman a una gran cantidad de aplicaciones prácticas de bajo nivel; aprendes un lenguaje ensamblador, un lenguaje de tercera generación,
Sin embargo, la mayoría de las personas que codifican para ganarse la vida no son "informáticos"; son, estrictamente hablando, "desarrolladores de software" o (cuando agrega análisis / diseño) "ingenieros de software"; ese trabajo es mucho menos nivel de hardware (aunque debe conocer los conceptos básicos de eso), mucho más análisis de sistemas, diseño y codificación directa. Muchas universidades tienen una pista diferente solo para eso; en Texas Tech se llamaba "Gestión de sistemas de información" y era un título en negocios (BBA / MBA). Esa pista era más ligera en matemática superior (lo que tenía que saber sobre álgebra y cálculo diferencial / integral se exprimió en dos semestres de "matemática empresarial", y no incluía cálculo vectorial / tensorial, álgebra lineal, etc.), mucho más pesado en matemática financiera (un semestre de estadísticas y finanzas, con dos cada uno de contabilidad y economía). Más liviano en sistemas operativos, más pesado en tecnologías de "pila" como bases de datos, servidores web, redes y administración general de sistemas. Más ligero en lenguajes de bajo nivel, diseño de circuitos e inteligencia artificial, más pesado en lenguajes de tercera y cuarta generación, análisis de sistemas y gestión de proyectos. Obtuve este título de Texas Tech y para cuando me fui había tenido al menos un semestre de cada uno de Java, VB, C # y lenguajes web (HTML / CSS / PHP), más un año de OOA & D y varios otros cursos. en gestión de proyectos informáticos.
¿Cuál es mejor en el mundo real? Obtuve el MIS BBA, mi hermano obtuvo el CS BS, y ambos estamos empleados aproximadamente al mismo nivel salarial (ajustando por el costo de vida) que los ingenieros de software senior. Tenía que aprender mucho de la OOA & D requerida en el trabajo, así como girar rápidamente en C # / Java a partir de su conocimiento básico de C ++. Por mi parte, desearía tener los dos semestres de estudio de algoritmos conceptuales que obtuvo mientras estaba atrapado en cursos de gestión empresarial (sí, MIS es un título de "Gestión", pero he descubierto que el 99% de mi conocimiento de cómo aprender y no administrar a otras personas se ha aprendido con el ejemplo).
fuente