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
9587
Москва
"Математику уже за то изучать надо, что она ум человеческий в порядок приводит"
(Михайло Ломоносов)

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

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


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

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

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


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

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


11/03/08
9587
Москва
Вообще, "математику для программиста" я разделил бы на три эшелона:
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
9587
Москва
Может, это и из Пратчетта цитата. Не выверял. А может, и из Бальзака. Принцип-то то же. Даже если не обязан делать сам, а может распорядиться - полезно знать, а что, собственно, приказал.
Что до "гантельных наук" - разумеется, речь не об их идеологических изводах. История тренирует механическую (долговременную) память, философствование - умение держать в мозгу цепочку рассуждений (кратковременную память). Но математика более пригодна, хотя тут можно выбирать. Однако полезнее трудиться, обучаясь чему-то, чем полагать, что "не барское это дело".

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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