anonymous
написал 16 декабря 2005 года в 20:57 (1748 просмотров)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
В простом разрезе для науки характерны:
1) Теоретическая база
2) Методы познания (эксперимент, опыт)
3) Возможность применения на практике
Возникает вопрос: является ли программирование наукой? Или это только среда практического применения для ряда наук или, например, метод познания.
Ерунда, конечно. Но что-то мне этот вопрос покоя не дает.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Ну по основным понятиям подходит.
Я бы даже сказал, что проектирование — наука. А непосредственно программирование (набор кода) — это практическое применение.
А математика это наука?
не совсем понятно «эксперимент» в области «математики»..
а ведь последняя — всё же наука.
вообще же — программирование — это часть более общего «информатика», которая есть наука об информации, методах и инструментах сбора, хранения и обработки оной.
таким образом, вопрос сам собой отпадает… точнее переходит в другую плоскость.
программирование в этом контексте — это скорее реализация метододов сбора и обработки информации, создание инструментов для работы с информацией.
естественно, что это только на программном уровне, так как есть и аппаратный.
Если различать кодинг и программирование — то в общем то это наука. ИМХО наука — это та область, где можно совершенствовать свои знания, открывать что-то новое итд. По этому определению программирование является наукой.
Братья! Понятия науки не существует в принципе, потому что если брать известное определение «предмет/метод/результат» из диамата, то математика — не наука (предмета нет), а, скажем, православие — очень даже наука, все налицо: душа/молитва/рай.
Позитивистское «концентрированный здравый смысл» тоже понятию определения не отвечает, под нее подходит все на свете.
Далее. Что такое информация? Что такое обработка информации? Подставьте вместо слова «информация» слово «уголь» и почувствуйте разницу.
Посему ваш спор о науке и ненауке схоластичен по своей сути. Озаботьтесь лучше, сколько ангелов уместятся на острие иглы.
Я ни в чем почти не согласен с Хаббардом, и козел он был еще тот, но одно он подметил правильно:
Реальность — то, что считается реальностью. Продолжая в том же духе, наука — то, что считается наукой, а истина — увы — то, что признано истиной…
Good Luck,
UT
Безусловно
Не обязательно эксперимент. Должен быть метод познания, а в математике это мыслительный процесс (гипотеза+доказательство), который приводит к точным выводам. Мои сомнения основаны на том, что в программировании нет четких выводов из методов познания. И самих четких методов познания я не вижу. В спец. литературе не нашел ничего, что удовлетворило бы мой интерес. Вот и ломаю голову.
Мне тоже поначалу пришла в голову мысль о том, чтобы поделить собственно программирование (технологический процесс) и программирование как науку (программистика). Но опять же все упирается в методы познания и выводы, пополняющие теоретическую базу.
Я готов с этим согласиться.
Однако в обществе существуют строгие разграничения научного и ненаучного. К научному относят науки со всеми их специфическими свойствами. К ненаучному относят философию, религию, культуру (не имея в виду культурологию и ее направления) и проч.
Теперь представим себе в образовательном учреждении предмет «Программирование» или, например, «Алгоритмические языки и программирование». Что скажет преподаватель на первом занятии, когда ученик спросит, что такое программирование. Можно, конечно придумать массу подходящих формулировок, но с чего все-таки начать:
«Программирование — это наука, изучающая…»
или
«Программирование — это { процесс, ненаучное знание, … };
жжошь!
Бандерлоги, вы меня слышите?….
По теме:
программирование — это искусство.
Кстати, подходит… Программирование — искусство. Артеакт — создание программы. Артефакт — программа. Все сходится!
OMG! ещё в 69-ом г-н Кнут заметил, что программирование — это искусство. Чего тут спорить-то?! Искусство и есть.
Кнут шарит! Бандерлоги! Слушайте Кнута! ;)
/me kidding
В таком случае вопрос закрыт. Всем спасибо!
Посмотрел тему и ршил отметися)
Для меня программирование эта искусство!
Сами подумаейте. Сначало моделируете, вынашиваете идею и строите
предположительную структуру
оптимизируете, ну вообщем словами передать трудно
Может я и не нормальный но я когда програмлю получаю кайф :-)
Мы как раз на этом и сошлись.
Наур написал книгу «Наука программирования», посвященную верификации программ, а Дийкстра написал книгу «Дисциплина программирования» , посвященную аниядоказательному программированию» — составлению алгоритмов и программ с доказательствами правильности.
Внесу свои 5 копеек. Перекладывать алгоритм в код — это не наука. Это задача для ПТУшника. Наука в данном случае — это именно разработка и проектирование алгоритма. Разница примерно такая же, как между написанием диплома (инженерная задача) и написанием дисссертации (научная задача).
Если посмотреть на опенсорсный код — да, искусство.
А когда изучаешь закрытый код проприетарного продукта, — тогда видишь, что программирование — ремесло
Упрощаешь.
В действительности связь двусторонняя.
Однозначного и универсального способа формализации не существует.
И вообще: действительно качественное решение большинства реальных инженерных задач — суть высокое искусство (в отличие от той же литературы, которая выродилась в набор штампов и замешанное на маркетинге ремесло).
Сразу вспоминается к.т.(!) н., преподватель ВТУЗа, вещавший с кафедры о том, что звук есть род электромагнитных (!!!) волн и зжимающий самую интересную тему: распространения звука в вакууме…
Качественная высокохудожественная литература тоже существует, просто надо обойти полки со вторсырьём типа Минаева и прочих. А вот в программинге 99% просто собирают конструктор лего, а 1% творит, в том числе и новые элементы для лего.
Многие сейчас под понятие программирование способны подогнать тыканье мышкой с последующим написанием 2-3 строчек кода. А это всё-таки скорее чистое зарабатывание денег (ибо такие проекты возможны только под узкоспециализированный заказ), хотя и оно в праве существовать, просто не надо думать, что эти люди обязательно понимают, что они делают.
Игнорируешь глобальные тенденции типа «экономика говна».
Осмысленная компоновка элементов конструктора (даже без создания новых) — вполне себе искусство.
А это уже вопрос миграции терминологии.
И/или отсутствия чётких и общепризнанных определений.
Хотя, конечно, не столь показательное как для случая «демократии». :)))
Не игнорирую, просто знаю с какой стороны и какие полочки надо обойти. С книгами всё намного сложнее то, что уже написано за жизнь не перечитать. И даже если новое выходит только говно, то можно читать старое.
Вот ты сам выделяешь слово «осмысленная», наверное потому, что таковое встречал редко. Кроме того компоновка готовых алгоритмов это одно, а расставленние кнопочек в форме это другое.
Для этого есть проверенная методика блокады возможности «неправильной» конкуренции.
Видимо именно поэтому под предлогом борьбы за «авторские права» (терминологическая ловушка: речь идёт об отчуждённой от авторов материальной составляющей этих прав, ну и не забывать про «закон Микки-Мауса») «неправильная» литература (критерии «неправильности» имеют свойство изменяться, но по факту действуют юридические принципы) отсекается от потребителя.
+ факт непостоянства оптимального для восприятия спектра (восприятие старой, даже если забить на доступность, усложняется; нового, правильного и облоадающего совместимым спектром не создаётся).
Дык компоновка из готовых кубиков того, что нужно тебе (а не задумано разработчиком железа/ПО) тоже является вполне себе искусством.
Чтобы не быть голословным:
Есть офисная АТС Ericsson BusinessPhone 250.
Есть официальная документация.
Есть 16 аналоговых СЛ.
Задача: не обращаясь к шпаргалке запрограммировать станцию так, чтобы каждый из 16 выделенных внутренних абонентов выходил в город через «свою» СЛ.
Осилишь решение задачи без помощи шпаргалки, руководствуясь только официальной документацией — признаю твоё право говорить, что сборка конструктора из готовых кубиков — ремесло.
Не осилишь — извини ;)
Не возьмусь за эту задачу, как минимум в ближайшее время, ибо есть вещи более насущные с которыми нужно разобраться. Но шпаргалку пока смотреть не стал ;)
Я знаю, что из Лего собирают настоящие шедевры (кстати подобный парк есть в Европе и он служит именно в рекламных целях), но в 99% случаев его используют дети. Я именно об этом и говорю.
Можно в ГУЯх расставить кнопочки и потом набрать 10 строчек текста, и это будет оптимальное решение во всех планах (и по функционалу, и по эргономике, и по ресурсозатратам на производство), но это не значит, что любой кто так делает добивается того-же. Посмотри 90% виндовского софта управление через жопу, и функционал сомнителен. Да и с гуёвыми никсовыми программами тоже самое.
Про литературу:
Дык, я знаю, и про попытки отчуждения авторских прав и про продление их срока действия (в основном успешные попытки :( ), и про то, что нормальной литературы на полках всё меньше и меньше, но тут проще чем с машинами.