Я новичок в информатике и программировании, и мне было интересно, есть ли разница между информатикой и программированием? и вы можете выбрать, чтобы учиться только один из них в университете, или оба?
Я новичок в информатике и программировании, и мне было интересно, есть ли разница между информатикой и программированием? и вы можете выбрать, чтобы учиться только один из них в университете, или оба?
Ответы:
Информатика - это изучение того, что могут делать компьютеры; программирование - это практика, заставляющая компьютеры делать вещи.
Взгляните на курсы / учебные планы, предлагаемые интересующими вас университетами, чтобы узнать, является ли этот курс курсом CS, курсом программирования, чем-то еще (например, разработкой программного обеспечения) или даже комбинацией вышеперечисленного. Многие курсы, рекламируемые как «информатика», предлагают значительный программный компонент, который может быть таким, чтобы вы могли применять теоретические части курса на практике, или может быть ради них самих, чтобы вы могли научиться навыкам создания программ.
Предостережение: «Компьютерные науки» стали запутанной областью в наше время, потому что (по крайней мере, в Соединенных Штатах) университеты не имеют степеней в «программировании». Это означает, что люди, интересующиеся программированием, должны зарегистрироваться для получения степени информатики, и в качестве реакции на это программы информатики делают упор на программирование все больше и больше.
Тем не менее, сама информатика является строго математической наукой - вычислительная математика могла бы быть более подходящим термином. Он включает в себя изучение теории графов, алгоритмической сложности, формальной логики, автоматов и вообще любой логической структуры, которая может описывать преобразование или реакцию на входные алгоритмы. Компьютерный ученый в классическом смысле мог бы рассуждать о правилах, которые управляют любой вычислительной системой (включая современные компьютеры), не обязательно зная детали реализации на текущей архитектуре. Хорошие знания в области компьютерных наук дают вам возможность разрабатывать (или вспоминать) эффективные, масштабируемые алгоритмы, предвидеть логические сокращения и разумно рассуждать о том, что можно отслеживать.
Напротив, программирование - это то, что делает человек, когда использует язык программирования для преобразования алгоритма в то, что может сделать машина. (Это должно сделать очевидной тесную связь с информатикой и откуда большая часть путаницы.) Программист (по отношению к среде и языку) должен быть в состоянии взять практически любой набор алгоритмов и преобразовать их в форму как человека - и машиночитаемым путем написания кода. Хорошие знания в программировании (как и большинство степеней CS) позволяют вам писать лучший код, где «лучший» код легче понять другим и более успешно выражать алгоритм, который вы реализуете.
Конечно, существует большое количество перекрестных помех, и высокий уровень опыта в одной из них будет в значительной степени соответствовать опыту разработки в другой - как отмечалось, майор CS почти всегда является компетентным программистом, и опытный программист подобрал много принципов CS. Подумайте, физика и инженерия.
Хороший способ запомнить разницу заключается в следующем: если ему требуется компьютер, чтобы увидеть, работает ли он, он программирует - если вы можете сделать это с помощью карандаша и бумаги, это компьютерная наука.
Информатика имеет дело с теоретическими основами информации, вычислений, а также с практическими методами их реализации и применения. http://en.wikipedia.org/wiki/Computer_science
~
Информатика не больше о компьютерах, чем астрономия о телескопах. Эдсгер Дейкстра
Программирование - это умение создавать компьютерную программу.
Информатика, с моей точки зрения, должна быть такой же наукой, как физика.
Он включает в себя изучение компиляторов и генераторов компиляторов, концепций аппаратной архитектуры, различных форм систем счисления, алгоритмов и алгоритмической эффективности / производительности и теории арифметических операций над процессором. Когда я занимался CS в университете, мы проводили много времени с ассемблерами, изучая разницу между компиляцией, связыванием и интерпретацией и так далее.
Многое из этого было сделано с помощью программирования, то есть акта написания кода, который затем компилировался или выполнялся через интерпретатор с целью генерирования результатов для решения проблемы. То есть программирование - это процесс решения проблем, который можно описать с помощью знаний информатики. Это что-то вроде Pure Maths / Applied Maths.
Чтобы стать программистом, вам не нужна степень по компьютерным наукам, но программист, имеющий опыт работы с CS, вероятно, будет иметь более глубокое понимание поведения компьютерных программ.
Я бы перефразировал ваш вопрос как "В чем разница между информатикой и разработкой программного обеспечения?" Ведь оба связаны с программированием.
Информатика - это теоретическое исследование того, что такое вычисления, а что возможно, а что нет. Здесь рассматриваются такие вещи, как теорема Годельса и проблема Остановки.
Программная инженерия - это то, как писать программы, которые делают то, для чего они были предназначены, и являются пригодными для обслуживания.
Информатика - это теория программирования. Программирование - это реализация.
Информатика ... это научный и практический подход к вычислениям и их приложениям. Специалист по информатике специализируется на теории вычислений и проектировании вычислительных систем.
Его подполя можно разделить на различные теоретические и практические дисциплины. Некоторые области, такие как теория вычислительной сложности (которая исследует фундаментальные свойства вычислительных задач), являются в высшей степени абстрактными, в то время как такие области, как компьютерная графика, акцентируют внимание на реальных визуальных приложениях. Другие области сосредоточены на проблемах реализации вычислений. Например, теория языка программирования рассматривает различные подходы к описанию вычислений, в то время как изучение самого компьютерного программирования исследует различные аспекты использования языка программирования и сложных систем. Взаимодействие человека с компьютером рассматривает проблемы, связанные с тем, чтобы сделать компьютеры и вычисления полезными, удобными и универсально доступными для людей ...
Если программирование - это столярное дело, то информатика - это архитектура / дизайн.
редактировать
Больше информации: в столярных изделиях вас интересуют такие вещи, как то, что для того, чтобы строить вещи (каркас, затем основание, затем внутренние стены, затем гипсокартон и т. Д.). Как вы строите это так, чтобы это заняло меньше времени, но может быть изменено позже.
В случае с архитектурой (в любом случае ее частью, например, CS) вас интересуют такие вещи, как возможности материалов, насколько велика ширина балки, необходимая для того, чтобы выдержать этот промежуток стены / крыши?
Точно так же CS касается теоретических возможностей компьютеров, где программирование - это практическое применение этих знаний.
Информатика - это программирование, а физика - машиностроение.
Информатика является теоретической, она требует научного и математического подхода к информации и ее вычислениям.
Компьютерное программирование практично, это процесс проектирования, написания, тестирования, отладки и поддержки исходного кода компьютерных программ.
Они разные, но смежные поля. Оба получили пользу друг от друга.
Степень в области компьютерных наук гораздо шире и охватывает теорию, лежащую в основе вычислительной техники. Степень в области компьютерного программирования , с другой стороны, ориентирована на развитие кодирования или навыков программирования студентов путем обучения их на разных языках программирования. Если вы не уверены, вы можете просмотреть детали обеих этих программ в Калифорнийском колледже Сан-Диего. Это может дать вам некоторую ясность относительно объема этих степеней!
Информатика : это изучение проблем с помощью компьютеров / вычислительных методов.
Компьютерное программирование: это часть процесса решения проблем, которая составляет область компьютерных наук. Компьютерное программирование - это лишь небольшая часть компьютерных наук.
Программирование - это люди. Люди читают, пишут и поддерживают код. Информатика - это математика, они реализуют и описывают алгоритмы.
Программирование (разработка) - это зарабатывание денег. Наука об открытии новых вещей.