реклама на сайте
подробности

 
 
8 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> Диссертации связанные с чистым программированием. Возможно ли такое?
EUrry
сообщение Jan 21 2010, 20:39
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 3 218
Регистрация: 14-11-06
Из: Н. Новгород
Пользователь №: 22 312



Цитата(SM @ Jan 21 2010, 23:25) *
Это смотря отладка чего. Если при разработке алгоритма была допущена ошибка, то это ошибка не программирования, а разработки алгоритма (не следует забывать, что программа - это лишь один из вариантов реализации алгоритма, и в общем случае разрабатывает алгоритм никак не программист

Ну, наверное, вы правы, но сути это не меняет - всё-равно работа инженерно-наладческая.


--------------------
Все не могут только сеять разумное, доброе, вечное: кому-то надо и пахать!
Природа не терпит пустоты: там, где люди не знают правды, они заполняют пробелы домыслом. © Бернард Шоу
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 21 2010, 20:58
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(EUrry @ Jan 21 2010, 23:39) *
всё-равно работа инженерно-наладческая.


Я к тому - если проблема в алгоритме - то это может быть проблема в корне, а не просто ошибка - т.е. в неверной теоретической его подоплеке. И куча научной работы. Но я хочу уточнить - что этот случай к программированию-то уже не относится. А так - согласен - вся отладка именно в программировании, при априори правильном алгоритме, это чисто инженерный труд.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 07:43
Сообщение #63


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Цитата(AlexandrY @ Jan 21 2010, 19:02) *
Можете хоть одну теорию в программировании назвать? Люди ж просят.
Как можно обобщать если нет теориии и нет доказательств? Что доказательствами будет?
Ваш личный опыт по поиску багов тем или иным способом? Агностики вас поднимут на смех.


Да взять хотябы огромный раздел численных методов.
Насчет доказательств, я пожалуй не буду раскрывать свои мыслиsmile.gif


Цитата(EUrry @ Jan 21 2010, 22:52) *
Это и есть самая-самая инженерная работа.


Абсолютно согласен. Само по себе программирование работа инженерная. В том то вся и разница между инженером и научным деятелем, что инженер пользуется плодами научных трудов. Процесс программирования - труд инженерный, а разработка каких либо методов-инструментов - уже научный.

Цитата(EUrry @ Jan 21 2010, 22:52) *
Ну вот уже что-то, хотя не понятно, как это относится к программированию, т. к. его определение так никто и не дал.


Самым прямым образом относится. Отладка - посути, и есть программирование, т.к. написание кода и составление алгоритмов занимает ничтожно малую часть разработки по сравнению с отладкой и тестированием.

Цитата(SM @ Jan 21 2010, 23:25) *
Кстати - схемотехника - брат программирования, только в части разработки аппаратной части, а не программной. И по схемотехнике что-то диссертаций не наблюдается. Хотя там тот же дебаг, называемый наладкой, и вообще очень много общего.


Опять же жалко что со мной сейчас нет литературы, которую я мог бы процитировать. В одной книжке годов 70х автор доходчиво объясняет, почему работа программиста значительно труднее чем схемотехника. Если кому-то интересно вечером могу опубликовать цитату (если она окажется достаточно короткой) и предъявить имя автора и название книги.

Цитата(SM @ Jan 21 2010, 23:58) *
Я к тому - если проблема в алгоритме - то это может быть проблема в корне, а не просто ошибка - т.е. в неверной теоретической его подоплеке. И куча научной работы. Но я хочу уточнить - что этот случай к программированию-то уже не относится. А так - согласен - вся отладка именно в программировании, при априори правильном алгоритме, это чисто инженерный труд.


Работа программиста это и составление алгоритмов, и моделирование их, и описание их на ЯП, и подробнейшая отладка и тестирование. В редких случаях для разработки отдельных алгоритмов привлекается помощь со стороны. И в еще более редких случаях фирма-разработчик имеет специальный отдел верификаторов.

Сообщение отредактировал Ko4egap - Jan 22 2010, 08:08
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 08:25
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Ko4egap @ Jan 22 2010, 10:43) *
Опять же жалко что со мной сейчас нет литературы, которую я мог бы процитировать. В одной книжке годов 70х автор доходчиво объясняет, почему работа программиста значительно труднее чем схемотехника. Если кому-то интересно вечером могу опубликовать цитату (если она окажется достаточно короткой) и предъявить имя автора и название книги.

В 70-е года схемотехника не была на том уровне, где сейчас. Сейчас львиная доля схемотехники делается путем описания схем языками описания аппаратуры с последующим синтезом, что ни на йоту не проще программирования.

Цитата(Ko4egap @ Jan 22 2010, 10:43) *
Работа программиста это и составление алгоритмов, и моделирование их, и описание их на ЯП, и подробнейшая отладка и тестирование.

Это не работа программиста. Это значит, что программист совмещает кроме собственно программиста, еще и аналитика, математика, верификатора, а может еще и электронщика и физика. Формально работа программиста - только описание алгоритма при помощи ЯП и отладка до полного соответствия одного другому.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 22 2010, 09:51
Сообщение #65


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Нуу.., эт прокол.
Цитата(SM @ Jan 22 2010, 10:25) *
Сейчас львиная доля схемотехники делается путем описания схем языками описания аппаратуры с последующим синтезом, что ни на йоту не проще программирования.

VHDL, Verilog, System C и т.д. есть языки программирования. И это уже не схемотехника, а чистое программирование.
Ход мыслей вообще интересен. Программирование захватывает все большую часть электроники.
Некогда области бывшие схемотехникой становятся программированием.

Цитата(SM @ Jan 22 2010, 10:25) *
Это не работа программиста. Это значит, что программист совмещает кроме собственно программиста, еще и аналитика, математика, верификатора, а может еще и электронщика и физика. Работа же программиста - только описание алгоритма при помощи ЯП.

Это работа именно программиста. Ничего программист не совмещает это все его прямые обязанности.
Вернее это обязанности эмбеддера-программиста. На моем опыте при принятии на работу программиста встраиваемых систем от него всегда требуется аналитика, численные методы, навыки отладки и схемотехника. Это все и проходят программисты в универе.
Для программиста PC и систем позволительно и не знать схемотехнику потому что ему надо бороться с гигантскими API и абстракциями и патернами ООП.

Я бы даже то что тут называют математикой отнес бы к программированию.
Ну никогда бы так называемый "технарь-математик" не придумал бы алгоритм CORDIC. Просто потому что технари совершенно не в курсе ограничений вычислительных платформ и не могут их учесть.
Более того технари не в состоянии предоставить алгоритм в истинном понимании этого слова.
Алгоритмы может составить только программист знающий как можно представить данные (типы, структуры) и что с ними можно сделать (набор либ, API, и т.д.) и как обеспечить отлаживаемость и надежность.
Программисты вынуждены вежливо слушать "технарей" чтобы потом все сделать по другому, это подтвердит любой программист.
Теже DSP алгоритмы. С плавающей точкой на ура, любой дядя Вася из учебника Скляра может тыкать формулами.
А на деле программист должен кондиционировать сигналы, привести к тем типам данных которые есть, обеспечить быстродействие кода который бы еще и не конфликтовал с другим кодом на платформе, а еще подумать и о переносимости, а еще побороться со средой разработки и т.д.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 10:00
Сообщение #66


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



AlexandrY, подписываюсь под каждым словом smile.gif
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 10:13
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AlexandrY @ Jan 22 2010, 12:51) *
VHDL, Verilog, System C и т.д. есть языки программирования.

НИКОГДА! Это языки описания аппаратуры (hardware description language), ни коим образом языками программирования не являются.

Цитата(AlexandrY @ Jan 22 2010, 12:51) *
Ну никогда бы так называемый "технарь-математик" не придумал бы алгоритм CORDIC. Просто потому что технари совершенно не в курсе ограничений вычислительных платформ и не могут их учесть.

Круто... По-вашему Бриггс был программистом в 1624-ом году (когда была первая публикация этого метода, тогда еще не носившего название CORDIC) ? Да и обобщение метода Бриггса на комплексные числа, сделанное Волдером, тоже не является работой программиста.

Можно взять и другой пример "алгоритм" G.726 - его придумали именно "технари-математики" для реализации в железе. Для программирования он конкретно неудобен ни на одной из платформ. Так что Ваш тезис о том, что алгоритм всегда разрабатывается программистами и только ими некорректен. Он может ими разрабатываться, но вовсе не обязан. Или например RSA - эта тройка все закоренелые математики. А не программисты.

Как ни крути - программист может быть и математиком, и аналитиком, но не обязан, т.е. может им и не быть. Это лишь вопрос его развития и квалификации. Но не надо мешать в кучу мух и котлет, исследование в области математики с программированием получившегося в результате исследования алгоритма.

Цитата(AlexandrY @ Jan 22 2010, 12:51) *
Теже DSP алгоритмы. С плавающей точкой на ура, любой дядя Вася из учебника Скляра может тыкать формулами.
А на деле программист должен кондиционировать сигналы, привести к тем типам данных которые есть, обеспечить быстродействие кода который бы еще и не


Это должен сделать не программист, а математик, которому программист должен дать расклад по ограничениям в точности и быстродействии. Который должен построить матмодель системы исходя из этих данных и проанализировать ее на соответвие всем требованиям, после чего отдать матмодель программисту в виде алгоритма. Другое дело, что есть программисты, способные сделать эту работу сами, но эта работа - не программирование, и в круг непосредственных обязанностей именно программиста не входит.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 11:12
Сообщение #68


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Аха, пошел программист к математику, и сказал, разработай ка мне алгоритм, скажем, фильтра Батерворта для чисел с фиксированной запятой в формате 1:23 и чтобы выполнялся не дольше 0,5 мкс на частоте 4 МГц на микроконтроллере ATtiny. Потом за пять минут написал программу, и отдал верификатору на проверку. Внимание вопрос, зачем нужен такой "программист"? И посмотрите самый первый пост, об этом автор темы и повествует.

А как насчет алгоритмов функционирования? Например алгоритм записи на флеш карту, или прорисовки на дисплей (математики уйма). Их тоже математики должны разрабатывать? Да они понятия не имеют (а с какой стати должны?) о том как устроена FAT32 или что делать с дисплеем чтобы тот показал прямоугольник в нужной позиции.

Между прочим язык Си тоже язык описания алгоритмов функционирования.

Сообщение отредактировал Ko4egap - Jan 22 2010, 11:22
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jan 22 2010, 11:56
Сообщение #69


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



Цитата(Ko4egap @ Jan 22 2010, 14:12) *
Аха, пошел программист к математику, и сказал, разработай ка мне алгоритм, скажем, фильтра Батерворта для чисел с фиксированной запятой в формате 1:23 и чтобы выполнялся не дольше 0,5 мкс на частоте 4 МГц на микроконтроллере ATtiny.

Вероятно, я соглашусь с тем, что и области деятельности и определения несколько размыты и не совсем ясны, не то чтобы определены. Но давайте спросим себя, а кто был этот самый Баттеворт или Нейман или Хаусхолдер, или Воеводин или Тихонов. Конечно, Баттерворт не думал о ATtiny, но их тогда и не было, было что-то другое. А вот о фиксированной точке он точно думал и ещё куча численных математиков. И много ли "чистых" программистов работает, например, в задачах CFD, квантовой химии или ещё какого численного моделирования? :) (P.S. Прятная дискуссия, читаю с удовольствием, особенно SM)

Сообщение отредактировал AndrewN - Jan 22 2010, 12:07
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 12:27
Сообщение #70


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Цитата(AndrewN @ Jan 22 2010, 14:56) *
Вероятно, я соглашусь с тем, что и области деятальности и определения несколько размыты и не совсем ясны, не то чтобы определены. Но давайте спросим себя, а кто был этот самый Баттеворт или Нейман или Хаусхолдер, или Воеводин или Тихонов.


Все они были ученые, которые создали методы/инструменты для программистов. В то же время без мало-мальского представления той математики, программист не сможет реализовать тот же фильтр. Так же как без представления о программировании тот же Баттерворт никогда не создаст свой фильтр. Как-то так smile.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 22 2010, 13:00
Сообщение #71


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Да вот после таких ребят Брюс Шнаейр и был вынужден выпустить "Практическая криптография" и еще кучу книг по криптографическим протоколам.
Цитата(SM @ Jan 22 2010, 12:13) *
... Или например RSA - эта тройка все закоренелые математики. А не программисты...


Поскольку эта братия сумела создать только малопригодную схему. А вся сила то в реализации!
Сам RSA алгоритмик от силы пару килобайт занимает. А реализация IPSec с SSL может занять под мегабайт.
Чтож там программисты то намутили а?

Ну и я уж молчу что у Дональда Кнута книги содержат слово "программирование", а не скажем "математика для кодеров"
http://ru.wikipedia.org/wiki/%D0%9A%D0%BD%...%B2%D0%B8%D0%BD

То что Кнут ученый наверно никто отрицать не станет. И он ученый в области программирования, "разработчик нескольких известных программных технологий"
Дело в том что его математика порождена программированием, без компьютеров ее бы не было.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 13:05
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Ko4egap @ Jan 22 2010, 15:27) *
В то же время без мало-мальского представления той математики, программист не сможет реализовать тот же фильтр.


Сможет, и легко. Точно также, как и токарь сможет по чертежу со всеми указанными размерами выточить деталь, так и программист по грамотно описанному алгоритму (с точностью до точности представления той или иной переменной, правил округления, и т.д.) составить программу. А вот наоборот - далеко не каждый токарь сможет разработать грамотный чертеж детали, которая выполняла бы свою определенную функцию допустим в двигателе, он для этого должен быть еще и конструктором, и физиком, и ..., так и не каждый программист сможет разработать, к примеру, алгоритм сжатия речи с потоком в 1200 бит/с, заданным SNR и разборчивостью, он для этого должен быть еще математиком, и еще тем же физиком (чтобы разработать нужную модель тракта от гортани до уха), и ..., а не только программистом.

Что касается, допустим, файловой системы, это классическая математическая задача оптимизации размещения. А вот как ее, уже формализованную и расписанную вплоть до всей структуры, реализовать на той или иной платформе - это да, это задача для программиста, так как тот, кто разрабатывал файловую систему, совершенно не знал и не предполагал, что реализована она будет при помощи средств такого-то микроконтроллера, он лишь совершенно абстрагированно от конкретной платформы решал задачу оптимизации по определенному набору формальных обобщенных критериев, обеспечивающих как оптимальность параметров, так и удобство для программистов. Да, возможно часть критериев ему подсказали программисты, да, возможно он и сам программист, но выполняя эту работу он работал не программистом.


Цитата(AlexandrY @ Jan 22 2010, 16:00) *
Дело в том что его математика порождена программированием, без компьютеров ее бы не было.

Сильно спорный вопрос из оперы куриц и яиц. Так как сам компьютер целиком и полностью порожден математикой - необходимостью помощи человеку в решении математических задач.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 22 2010, 13:14
Сообщение #73


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Насчет файловых систем это пальцем в небо. Если бы цель была именно такая, то всем бы хватало одной файловой системы.

Цитата(SM @ Jan 22 2010, 15:05) *
...Так как сам компьютер целиком и полностью порожден математикой - необходимостью помощи человеку в решении математических задач....


Об истории вопрос не стоит, есть человек и он занят наукой называемой "программирование"

Но если вернуться к сценарию с которого началась ветка, то очевидно что "технарь" идет к программисту именно за такой наукой.
Поскольку не владея программированием он не может владеть и вычислительными алгоритмами и той математикой.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 13:48
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AlexandrY @ Jan 22 2010, 16:14) *
Поскольку не владея программированием он не может владеть и вычислительными алгоритмами и той математикой.

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

Что касается файловых систем - это именно так. Была бы задача решена однозначно - была бы одна ФС и все бы ей пользовались. Но наборы критериев оптимальности у всех разные, и решения разные, и, наверняка, еще не совсем оптимальные. Там науки (математики) еще мама не горюй, в задачах по оптимальному размещении данных на носителях.

Цитата(AlexandrY @ Jan 22 2010, 16:14) *
он занят наукой называемой "программирование"

В том и дело, что я не спорю, что он занят наукой, я утверждаю лишь то, что название у этой науки другое. А программирование это лишь ремесло, процесс, может быть искусство, но не наука. Оно полностью от начала и до конца описывается другой наукой, а именно математикой, и соотв. все научные изыскания на тему программирования должны быть из области математики. Хотя кое какие сдвиги в онаучивании программирования действительно есть - например теория функционального программирования это полноценный раздел дискретной математики.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 14:24
Сообщение #75


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Хорошо, но как называется тогда эта наука?

Вот некоторые аспирантские специальности:
05.13.11 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
05.13.15 Вычислительные машины, комплексы и компьютерные сети
05.13.17 Теоретические основы информатики (кстати о теории)
05.13.18 Математическое моделирование, численные методы и комплексы программ

источник http://aspirantura.spb.ru/other/spec.html

Как можно заметить, Российская Академия Наук, все же считает программирование наукой, причем наукой тесно связанной с математикой.

Сообщение отредактировал Ko4egap - Jan 22 2010, 14:24
Go to the top of the page
 
+Quote Post

8 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016