Информатика, прикладная математика, инженерия, искусство, философия? "Другой"?
В качестве справки приведу запись в блоге Стивена Уортика для Scientific American под названием « Я не настоящий ученый, и это нормально ». В статье рассматриваются некоторые хорошие темы для этого вопроса, но она остается открытой, а не отвечает.
Если вы можете думать о дисциплине, как информатика вписывается в ее определение? Должна ли дисциплина по информатике основываться на том, что делают программисты или на чем работают ученые ? Какие ответы вы получаете от людей, которые, кажется, глубоко обдумали это? Какие причины они дают?
computer-science
philosophy
Макнейл
источник
источник
Ответы:
Есть две разные ИТ-дисциплины:
Информатика - это дисциплина изучения компьютеров и вычислений с использованием научного метода.
Программная инженерия - это дисциплина проектирования и внедрения программного обеспечения с соблюдением надлежащих инженерных принципов.
Они несколько пересекаются, но на самом деле различие заключается в желаемых результатах науки и техники. Желаемым результатом научной дисциплины является знание. Желаемый результат инженерной дисциплины - это то, что работает.
Итак, чтобы ответить на ваш вопрос:
Информатика - это наука ... когда все сделано правильно. Тем не менее, как и в других дисциплинах, CS имеет сходство с математикой, инженерией, физикой, общественными науками, философией и так далее.
Я бы также добавил, что большинство программистов не занимаются ни компьютерными науками, ни разработкой программного обеспечения. Это больше похоже на то, что делает мастер.
И, к сожалению, ни академическая компьютерная наука, ни профессия программиста не являются такими строгими, как старые научные и инженерные дисциплины. (Существуют области компьютерных наук, которые традиционно являются строгими; например, области с сильной математической основой. Но для многих областей просто слишком сложно / дорого провести надлежащие научные исследования по вопросам, которые действительно имеют значение.)
источник
Программисты редко "занимаются информатикой". В основном они используют результаты «программной инженерии», которая, очевидно, является инженерной дисциплиной.
Помимо этого, компьютерные науки - это прикладная математика. Если вы сравните CS с чем-то, несомненно, принадлежащим прикладной математике, вы заметите большое сходство.
Компьютерные ученые разрабатывают и изучают способы вычисления (алгоритмы), беря большую часть теории из математики (логика, теория графов, комбинаторика и т. Д.) И внося в нее свой вклад в то же время. Так же, как и остальная прикладная математика.
Они теоретически оценивают свойства этих моделей и алгоритмов и проводят эксперименты по моделированию (пишут тестовые программы). Подобно тому, как прикладные математики моделируют поток жидкости в трубках на кластерах, компьютерные ученые используют компьютеры для экспериментов с реализацией своих алгоритмов. Результаты этих экспериментов поступают непосредственно в производство: либо на нефтеперерабатывающий завод, либо на программное обеспечение для анализа запасов.
В университете, который я закончил, даже нет специального факультета компьютерных наук: помимо компьютерных наук кафедра компьютерных наук входит в состав кафедры прикладной математики.
источник
Информатика - это термин, который в наши дни охватывает много-много вещей:
Обратите внимание, что все вышеперечисленное имеет разные названия, а не просто «компьютерные ученые». Разница лишь в том, что компьютерные науки слишком новы, чтобы называть их именами.
источник
Прежде всего, это вычислительная наука. Это касается математики, стоящей за вычислениями.
Есть и другие дисциплины, которые больше ориентированы на разработку.
Разница такая же, как и в любых смежных научных и инженерных дисциплинах. Один о точности, другой о точности. Вычислительная наука является теоретической, другие - это прикладная наука к проблемам: инженерные отрасли.
источник
Информатика - прикладная и экспериментальная математика.
источник
Информатика - это отрасль прикладной математики, которая занимается разработкой и применением вычислительных автоматов. Программная инженерия - это подходящее подмножество компьютерных наук, которое занимается формализованным проектированием и конструированием кода для архитектуры фон Неймана. Архитектура фон Неймана является лишь одним из способов реализации вычислительной машины. Например, машина, используемая для взлома сообщений в кодировке Enigma, не была машиной фон Неймана.
Программная инженерия - это дисциплина-практика. Информатика - исследовательская дисциплина. Большинство старшекурсников-компьютерщиков заканчивают разработку программного обеспечения, потому что исследования требуют, чтобы кто-то обладал, по крайней мере, степенью магистра, что подтверждает веру в то, что информатика является выдающимся сертификатом программирования.
источник
В большинстве университетов, которые я проверил, дисциплина, наиболее точно называемая «компьютерная наука», - это прикладная наука, похожая на инженерные дисциплины; если вы занимаетесь этим, вы получаете «BS» или «MS». Степень CS Texas Tech была предложена Инженерным колледжем. Дисциплина, как преподают, в основном теоретическая; вы изучаете концепцию машин Тьюринга, DA / NDA и другие фундаментальные концепции, которые «повседневному» программисту не нужно постоянно греметь в своем черепе. Вы также получаете огромное количество высшей математики; степень Texas Tech CS, и я готов поспорить, что многие другие, в значительной степени, подадут вам младшего математика, чтобы пойти с ним. К этому большинство университетских следов степени добавляют здоровенную черту практического применения низкого уровня; Вы изучаете язык ассемблера, язык третьего поколения,
Тем не менее, большинство людей, которые пишут код для жизни, не являются «учеными-компьютерщиками»; они, строго говоря, «разработчики программного обеспечения» или (если добавить в анализ / проектирование) «инженеры программного обеспечения»; эта работа намного меньше аппаратного уровня (хотя вы должны знать основы этого), гораздо больше системного анализа, проектирования и простого кодирования. Многие университеты имеют разные пути только для этого; в Техасском технологическом институте это называлось «Управление информационными системами», и это была деловая степень (BBA / MBA). Этот трек был легче при высшей математике (то, что вы должны были знать об алгебре и дифференциально-интегральном вычислении, было сжато в два семестра «бизнес-математики» и не включал векторный / тензорный кальци, линейную алгебру и т. Д.), Гораздо тяжелее на финансовая математика (семестр по каждой статистике и финансам, с двумя по бухгалтерии и экономике). Легче в операционных системах, тяжелее в технологиях «стека», таких как базы данных, веб-серверы, сети и общее администрирование систем. Легче для языков низкого уровня, схемотехники и искусственного интеллекта, больше для языков 3-го и 4-го поколения, системного анализа и управления проектами. Я получил эту степень в Texas Tech, и к тому времени, как я ушел, у меня был, по крайней мере, семестр каждого из Java, VB, C # и веб-языков (HTML / CSS / PHP), плюс год OOA & D и различные другие курсы в управлении ИТ-проектами.
Что лучше в реальном мире? Я получил MIS BBA, мой брат получил CS BS, и мы оба работаем примерно на одном уровне зарплаты (с учетом стоимости жизни), как старшие инженеры-программисты. Ему пришлось выучить много требуемого OOA & D на работе, а также довольно быстро освоить C # / Java из своих базовых знаний C ++. Со своей стороны, я бы хотел, чтобы у меня было два семестра изучения концептуальных алгоритмов, которые он получил, когда я застрял на курсах по управлению бизнесом (да, MIS - это степень «Менеджмент», но я обнаружил, что 99% моих знаний о том, как управлять, а не управлять другими людьми, научился на примере).
источник