2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.
 
 Re: Программирование и математика.
Сообщение20.04.2014, 15:16 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Skeptic в сообщении #852066 писал(а):
Это не совсем так. Возможность рассматривать набор чисел как данные и как команды заложена в структуре ЭВМ - это данность, не зависящая от метода программирования.

И кстати, заложенная именно в конкретной фон-неймановской архитектуре. Хотите - используйте ЭВМ другой архитектуры, и не будет вам этой данности.

-- 20.04.2014 16:19:05 --

arseniiv в сообщении #852138 писал(а):
На практике одну и ту же последовательность слов одновременно и как программу, и как данные рассматривать приходится очень редко.

Как раз наоборот, постоянно: когда эту программу, как файл, копируют с места на место, загружают с диска в оперативную память, копируют по оперативной памяти (например, при свопе), и т. д. и т. п. В нефоннеймановских архитектурах жизнь совершенно другая.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение20.04.2014, 15:29 
Заслуженный участник


27/04/09
28128
А, я что-то опять не туда смотрел, на компиляторы и традиционные вирусы.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение20.04.2014, 16:04 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Ну и да, компиляторы тоже сильно в эту сторону :-)

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение20.04.2014, 18:46 


01/12/11

1047
Программирование на компьютере - это постоянная интерпретация информации как данные и как программа. Программист пишет программу как текст. Этот текст вводится в компьютер как данные и выполняется как программа.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение20.04.2014, 23:57 
Заслуженный участник


11/05/08
32166

(Оффтоп)

Munin в сообщении #852158 писал(а):
Хотите - используйте ЭВМ другой архитектуры

Хочу! (если не шибко дорого) А где?...

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение21.04.2014, 01:04 
Заслуженный участник
Аватара пользователя


30/01/06
72407

(Оффтоп)

Наверное, здесь: http://en.wikipedia.org/wiki/Von_Neumann_architecture#Non-von_Neumann_processors и дальше по ссылкам...

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение21.04.2014, 01:44 


05/09/12
2587
Местные специалисты, когда я цитировал сюда с других форумов, справедливо заметили мне, что "гуру бывают разные". Тем не менее я процитирую пару предложений из дискуссии на тему архитектуры процессоров с одного форума:
Цитата:
Архитектура определяется не организацией памяти, а способами доступа к ней. У фон-Неймана доступ к командам и данным осуществляется через одну и ту же шину, а у Гарварда - через две разные, что даёт возможность одновременно качать инструкции и операнды. Как при этом организовано адресное пространство - дело третье. Оно может быть разделено и недоступно с "чужой" шины, а может быть и доступно (если шины прицеплены к мультиплексорам всех блоков памяти).

В последнем случае такое адресное пространство называется унифицированным - Unified Memory Space. Именно по такой схеме организован Blackfin - унифицированное 32-разрядное адресное пространство, в котором живёт всё, включая внутренню память, внешнюю (SDRAM, асинхронная память), Memory Mapped Registers, память программ. При этом Blackfin - Гарвардский дальше некуда. Более того, он имеет модифицированную Гарвардскую архитектуру, которая обеспечивает подкачку двух операндов за такт.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение21.04.2014, 09:38 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Гарвард - это, действительно, чё-то не то, но вот дальше по ссылкам я прочитал про DSP, которые более подходят под вопрос.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение21.04.2014, 14:39 


05/09/12
2587
Я тоже почитал про DSP, например здесь:
Цитата:
Существует два вида архитектур DSP процессоров позволяющих реализовать механизм множественного доступа к памяти:

Гарвардская архитектура
модифицированная архитектура фон Неймана

Гарвардская архитектура имеет две физически разделенные шины данных. Это позволяет осуществить два доступа к памяти одновременно: Подлинная Гарвардская архитектура выделяет одну шину для выборки инструкций (шина адреса), а другую для выборки операндов (шина данных). Но для выполнения DSP операций этого недостаточно, так как в основном все они используют по два операнда. Поэтому Гарвардская архитектура применительно к цифровой обработке сигналов использует шину адреса и для доступа к данным. Важно отметить, что часто необходимо произвести выборку трех компонентов - инструкции с двумя операндами, на что собственно Гарвардская архитектура неспособна. В таком случае данная архитектура включает в себя кэш-память. Она может быть использована для хранения тех инструкций, которые будут использоваться вновь. При использовании кэш-памяти шина адреса и шина данных остаются свободными, что делает возможным выборку двух операндов. Такое расширение - Гарвардская архитектура плюс кэш - называют расширенной Гарвардской архитектурой или SHARC (Super Harvard ARChitecture).


Кстати, вышеупомянутый Blackfin содержит в своем составе DSP.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение23.04.2014, 21:19 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
"Математику уже за то изучать надо, что она ум человеческий в порядок приводит"
(Михайло Ломоносов)

Вообще, программированием люди занимались за несколько тысяч лет до появления компьютеров. Программировали гигантскихвыше среднего роста человекоподобных роботов, именовавшихся гоплитами, солдатами, стрельцами и прочая.
Последовательности команд выдавали, сообразно аппаратному обеспечению, интерфейс придумывали (выпушки, петлички), резервирование (если капитан убит - поручик за него, прапорщик за поручика, фельдфебель за прапорщика) и т.п.
И вот назначили руководить подготовкой программистов такого рода, директором Кадетского Корпуса Михаила Кутузова, тогда ещё простого генера-аншефа. И основой учебной программы он поставил "чистую и прикладную математику", а кто не мог ея одолеть - офицерского чина не получал, выпускался унтером в инженерные войска, где добирал знаний. И, наверно, не потому, что тогдашней военной науке так полезна была математика (в артиллерии и инженерии - была, элементарная геометрия, немного алгебра, матанализ уже на уровне не армейского офицера, хотя бы и специалиста, а инженера высокого ранга или артиллериста-теоретика), а ради организации умственной деятельности.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение23.04.2014, 23:41 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Евгений Машеров в сообщении #853535 писал(а):
Вообще, программированием люди занимались за несколько тысяч лет до появления компьютеров. Программировали гигантскихвыше среднего роста человекоподобных роботов, именовавшихся гоплитами, солдатами, стрельцами и прочая.

...големами... :-)

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение25.04.2014, 05:54 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Ну, если верить легенде - рабби Лёв ничего не программировал, а только набрал rootאמת (emet), и получил доступ к недокументированным функциям, которые запрограммировал лично Г-дь. А он-то математику знал...

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение25.04.2014, 08:43 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Вообще, "математику для программиста" я разделил бы на три эшелона:
1. Общеразвивающий.
2. Вспомогательный.
3. Специальный.

1. "Чтобы ум в порядок привести" и вообще натренировать мозговую мышцу.
В принципе, математика не обязательна, в качестве мозговой гантели сходится и догматическое богословие, и история КПСС, лишь бы сложно было.
А без упорных упражнений крутизны не достичь. Правда, упражняясь в богословии - станешь "мутным программером", в истории КПСС - "дерзким", и только с математикой - "чотким" :wink: .
Хотя можно быть "авторитетным программистом" и без крутизны. Только за счёт узкой ниши. Будь то программист в окружении пяти бабушек - докторов биологических наук или, скажем, "программист-одинец". Нет конкуренции - вот и авторитет.
2. Сюда относятся разные методы анализа алгоритмов, всякие O(N) и прочее "кнутовище". Полезно, но действительно полезно, когда подымаешься на определённый уровень выше механического кодинга. Опять же - не обязательно даже и в этом качестве, если знать, кто знает.
3. Решение конкретных задач в определённой области. Опять же - строгальщик интерфейсов и баз данных в дифурах и матрицах не нуждается. А при решении многих задач можно воспользоваться услугами специалиста или готовой библиотеки. Но:
Цитата:
Уроки кулинарии входили в светское воспитание. Не для того, чтобы стоять у плиты, а чтобы заказать обед в ресторане или с толком выбранить кухарку

(Кажется, Бальзак)

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение25.04.2014, 15:56 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Евгений Машеров
А, вот оно как. А я, значит, Пратчетта начитался...

Евгений Машеров в сообщении #854454 писал(а):
В принципе, математика не обязательна, в качестве мозговой гантели сходится и догматическое богословие, и история КПСС, лишь бы сложно было.

Баба-Яга против. Мозговая гантель - штука более специфическая, чем обычная физкультурная. Мозговая гантель требует не просто сложности (как количества элементов), а взаимосвязанности всех элементов (всякая история, филология и прочая фактография отпадает), причём тоже не простой, а требующей постоянного напряжения мозгов. Например, математическую задачу всегда можно ошибиться и решить неправильно. И даже способов это сделать больше, чем решить правильно. А вот, скажем, в диалектическом материализме можно на любую нестыковку сказать "это единство и борьба противоположностей", и получить правильный ответ без напряжения.

 Профиль  
                  
 
 Re: Программирование и математика.
Сообщение26.04.2014, 07:02 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Может, это и из Пратчетта цитата. Не выверял. А может, и из Бальзака. Принцип-то то же. Даже если не обязан делать сам, а может распорядиться - полезно знать, а что, собственно, приказал.
Что до "гантельных наук" - разумеется, речь не об их идеологических изводах. История тренирует механическую (долговременную) память, философствование - умение держать в мозгу цепочку рассуждений (кратковременную память). Но математика более пригодна, хотя тут можно выбирать. Однако полезнее трудиться, обучаясь чему-то, чем полагать, что "не барское это дело".

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 95 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group