Перейти к содержанию
    

Диссертации связанные с чистым программированием. Возможно ли такое?

Как интересно. Оказывается там теория есть какая-то.

Вот вам журнал по практическому функциональному программированию http://fprog.ru/

Найдите там теорию.

Наверно вы спутали термины и не о том хотели сказать. А то тогда придется признать наличие теории и у языка Basic :biggrin:

 

Во первых теоретическая подоплека есть у любого языка. И вообще "язык" это вполне четко определенное понятие из одного из разделов математики.

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

В третьих - незнание теории никак не говорит о ее отсутствии. И термины я не перепутал. У функционального программирования есть полноценная теория. Изучили бы для начала хотя бы азы дискретной математики, например "азбуку" "Т. С. Соболева, А. В. Чечкин "Дискретная математика", Академия, 2006 г.", и потом главу 6 в "А. Филд, П. Харрисон Функциональное программирование: Пер. с англ. — М.: Мир, 1993.". И окажется, что "оказывается там теория есть какая-то", без которой, кстати, рассматривать что либо вообще как науку нельзя. Может быть, заинтересуетесь теорией. Но судя по Вашим высказыванием - врядли, так как Вы, похоже, убежденный практик, считающий теоретические основы этой практической деятельности лишним и ненужным знанием.

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы даже то что тут называют математикой отнес бы к программированию.

Ну никогда бы так называемый "технарь-математик" не придумал бы алгоритм CORDIC. Просто потому что технари совершенно не в курсе ограничений вычислительных платформ и не могут их учесть.

Более того технари не в состоянии предоставить алгоритм в истинном понимании этого слова.

"технарь-математик"- это кто такой???

А вообще, как я понимаю, Вы выделяете программистов в отдельную группу? Т. е. программисты не технари? Возможно, доля истины в этом и есть, но по-моему пока всё-таки они близки к технарям.

 

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

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

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

Но если вернуться к сценарию с которого началась ветка, то очевидно что "технарь" идет к программисту именно за такой наукой.

Поскольку не владея программированием он не может владеть и вычислительными алгоритмами и той математикой.

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

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

Именно аналогичный этому пример я и приводил.

Медицина тоже инструмент для излечения людей. Но с другой стороны сколько исследований для усовершенствования этого инструмента. У вас повернется назвать медицину не наукой?

Медицина - отдельная песня. Это наука изначально экспериментальная и исследования там проводятся в большинстве своем экспериментальные, хотя и теоретические направления в настоящее время активно развиваются. ИМХО, не стоит сюда мешать медицину.

и понимаем что программирование - математическая наука. Все, вопрос надеюсь закрыт?

Мы не увидели определения программирования, поэтому все наши споры бесполезны.

 

Здесь математика тоже ремесло. Ничего научного в разработке математического алгоритма нет.

На этом этапе может возникнуть исследование, а на этапе программирования (если понимать под ним просто описание) такое невозможно.

А в книгах которые вы назвали гарантирую будет все забито текстами программ (хоть и на виртуальных языках), а не формулами классической математики.

А Вы не думали о том, что формула это по сути и есть программа какого-то процесса? А виртуальный язык всё-равно сведется к математике.

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

 

Вот некоторые аспирантские специальности:

05.13.11 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

05.13.15 Вычислительные машины, комплексы и компьютерные сети

05.13.17 Теоретические основы информатики (кстати о теории)

05.13.18 Математическое моделирование, численные методы и комплексы программ

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

А где Вы нашли там программирование? Здесь именно говорится о реализации задач программирования - математической, аппаратной...

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С обсуждения бизнес процесса обсуждение и началось.

Обсуждение началось с диссертаций, которые к бизнесу отношения не имеют вообще, разве что в части использования денег в целях ее защиты :)

 

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

Абсолютно верно, я с этим полностью согласен.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... и потом главу 6 в "А. Филд, П. Харрисон Функциональное программирование: Пер. с англ. — М.: Мир, 1993.". И окажется, что "оказывается там теория есть какая-то" ...

 

Ну мое мнение во первых, что наука может обойтись и без теории. И тут как раз тот случай.

Лямбда-исчисление которое вы там увидели вовсе не теория, а нотация.

Да, там применяются символы из классических учебников математики, что вас и сбило с толку видимо.

Но таких абстракции в ООП тоже пруд пруди. И если ребята захотят они вам вооще 3-х этажные формулы нарисуют которые якобы описывают их абстракции.

Такой теории даже больше в учебниках по построению обычных процедурных языков. Почитайте "Компиляторы" от A.Ахо, Р.Сети, Д.Ульмана

Только это не та теория типа квантовой. Это просто свод правил и методов. Их тоже надо было открыть и изобрести и исследовать поэтому это наука. Но не теория, на основе этих методов новую парадигму программирования не создать. Это уже созданная и устаревшая парадигма, решавшая проблемы тогдашних неэффективных инструментов создания программ. Посмотрите когда книга была написана.

 

 

...В общем - я свое мнение высказал, что наукой является что угодно, связанное с программированием - математика, информатика, кибернетика. Но не само программирование...

 

Ваше мнение понятно. Но оно не общепризнано и, скажем, непрогрессивно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оно не общепризнано и, скажем, непрогрессивно.

Оно как раз то в научных кругах и общепризнано. Но не призано среди программистов, принципиально не желающих изучать теоретические основы их деятельности, так как "опускает их ниже плинтуса". А те, кто изучил дискретную математику, сами понимают, что к чему, и что из чего произрастает.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы безосновательно навязываете свое определение области в которой сами признали, что не разбираетесь.

Резюмируя, программирование - это процесс описания уже известного языком, понятным исполнителю (ЭВМ), не вносящий ничего нового и неизвестного в человеческое знание.

 

Тут выше было приведено достаточное количество примеров научности проблем в программировании.

А то что программисты изменили мир это и так всем ясно.

Информационные технологии рождаются исключительно благодаря программистам.

Да программисты умные и умеют эксплуатировать все остальные науки, но количество всегда переходит в качество, как говорили диалектики.

Ну так вот программирование уже нельзя разделить на математику и психологию или там пидагогику :biggrin:

Программирование это конкретное искусство и наука в общем случае.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут выше было приведено достаточное количество примеров научности проблем в программировании.

Наличие научных проблем в ремесле не делает ремесло наукой :) У того же токаря тоже есть куча научных проблем в его токарном деле, и их успешно решают ученые-металловеды. Так же и тут, в программировании у программиста есть куча научных проблем, и их решают ученые-математики, кибернетики...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..Математика всего лишь одна из специфических форм, в которые отливается постижение мира человеческим сознанием. Не менее и не более. Свет клином на математике не сошелся. И мир и сознание шире и богаче её.. ..ея..

 

..Физика остается физикой, несмотря на применение матаппарата. Он только инструмент.

И география остается географией, хотя, километры и градусы может использовать..

Из того факта, что математика широко используется в различных видах деятельности, совсем не следует, что она их собой подменяет.

Или составляет их суть.

 

..Известна математика, скажем, обратноходовых ИИП. Зачем, спрашивается, отдельные инженеры и целые коллективы каждый год разрабатывают все новые конструкции..?

Ведь все просто – пришел математик, сформулировал давно известный алгоритм.. ..инженеру остается тупо реализовать математические формулы..

 

..Видимо, все-таки, программирование и инженерная работа – занятия, отчасти творческие. Как и наука. То есть, не сводятся к теоремам, аксиомам и формулировкам.

Которые есть, что? Правильно, только инструмент.. И не один, а в числе других.

А общее решение есть только общее решение..

 

..Не помню случаев, когда программист идет к математику и просит его выдать алгоритм для написания программы. Ну, мне не встречались. Написание программы подразумевает то, что называют составлением алгоритма. Это можно назвать пониманием задачи в деталях. И это делает один человек, которого называют программистом. Далеко не всегда, программист, при этом, судорожно листает математические справочники..

Он может совсем не знать, что нечто, что он использовал, может быть, интуитивно, кто-то, математически, описал триста лет назад. А может и покопаться в талмудах. Если сочтет нужным. Ну и что..?

 

..То есть, программирование шире ремесла, которое целиком определяется математикой.

Программу можно написать лучше или хуже. Программа может быть красивой и не очень..

..Что касается, наука или нет, программирование. В строгом понимании, наверное, нет, не наука. Но и не безмозглое ремесло, как пытаются представить.

..Грозоотметчик Попова, это факт науки или тупая поделка ремесленника..? Герц с Максвеллом, все, ведь, математически, описали, кажется.. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опосредовано проблемы делают любую деятельность наукой.

Наличие научных проблем в ремесле не делает ремесло наукой :) У того же токаря тоже есть куча научных проблем в его токарном деле, и их успешно решают ученые-металловеды. Так же и тут, в программировании у программиста есть куча научных проблем, и их решают ученые-математики, кибернетики...

 

Тот же токарь если поставит перед собой цель добиться нереальной точности деталей или нереальной чистоты обработки или нереальной производительности или нереальной геометрической сложности сразу же станет ученым.

При этом он привлечет к работе на себя не только металловедов, но и математиков, программистов, менеджеров и проч. Но учеными выступать будут не они, а токарь, т.к. он будет целепостановщиком и исследователем, а те будут под его руководством.

 

Вот смотрим например свежую вакансию от Самсунга:

http://jobview.monster.com/GetJob.aspx?JobID=85751588

 

Что мы видим. Для программирования жалких мабил им нужен программист ученый(Doctor of Philosophy (Ph.D.))!

Я более чем уверен что недостатка там в кандидатах не будет.

Потому что каждый опытный программист уже почти ученый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы безосновательно навязываете свое определение области в которой сами признали, что не разбираетесь.

А основу так никто и не предложил (в виде определения терминологии), потому я и сделал свои выводы. А уж соглашаться с ними остальным или нет не мое дело. Я ни на что не претендую.

А то что программисты изменили мир это и так всем ясно.

Ну, уж таких громких заявлений делать не стоит. Если они изменили мир и не считают остальных за людей, то пусть истребят всех и живут сами по себе. Можно провести эксперимент, отделив группу программистов от остальных людей (даже с начальными условиями в виде компьютеров). Я думаю, что при этом они в скором времение вымрут, как вид.

Программирование это конкретное искусство и наука в общем случае.

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

Свет клином на математике не сошелся. И мир и сознание шире и богаче её.. ..ея..

Бесспорно.

..Видимо, все-таки, программирование и инженерная работа – занятия, отчасти творческие. Как и наука. То есть, не сводятся к теоремам, аксиомам и формулировкам.

Выше объяснил отношение к творчеству.

И это делает один человек, которого называют программистом. Далеко не всегда, программист, при этом, судорожно листает математические справочники..

Ну, если он что-то знает, хоть и интуитивно, то это уже очень хорошо. Другое дело, когда вообще ничего не знает и более того, попросту не хочет знать.

..Что касается, наука или нет, программирование. В строгом понимании, наверное, нет, не наука. Но и не безмозглое ремесло, как пытаются представить.

Представления такие складываются на фактических наблюдениях бестворческого подхода.

Опосредовано проблемы делают любую деятельность наукой.

Опять же, если подходить творчески.

 

P. S. Таким образом, вижу проблему большинства современных, называющих себя программистами, в нежелании творческого подхода к решению поставленной задачи в областях, не связанных, например, с написанием программ для телефонов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P. S. Таким образом, вижу проблему большинства современных, называющих себя программистами, в нежелании творческого подхода к решению поставленной задачи в областях, не связанных, например, с написанием программ для телефонов.
Я же вижу эту проблему несколько по-иному... Даже занимаясь пейсательством программ для мобил можно хоть на как-то нормально "стартануть" молодому человеку...Причем даже чуть-ли не в одиночку. Ибо программки для мобил многим людям нужны... Занимаясь же высокой теорией металорежущих инструментов нужно найти того кому это нужно... А это очень непросто...

 

Вообще, нежелание творческого подхода снижает статус инженера до техника.
...ерунда какая-то... Любой "безобразный" радиолюбитель по-сути своей техник. Творчества там как-раз полные штаны... ИнтегралАФФ маловато... Или вот фотожоппер - не творческая личность?

 

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

 

2Wise:

+1... Не ожидал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я же вижу эту проблему несколько по-иному... Даже занимаясь пейсательством программ для мобил можно хоть на как-то нормально "стартануть" молодому человеку...

Про старт я и говорил, что очень даже неплохо.

...ерунда какая-то... Любой "безобразный" радиолюбитель по-сути своей техник. Творчества там как-раз полные штаны... ИнтегралАФФ маловато... Или вот фотожоппер - не творческая личность?

Я упомянул инженера и техника с формальной точки зрения, а на деле, естественно, часто всё бывает с точностью до наоборот. И говорю про тех, кто абсолютно не хочет разобраться в теме, но при этом заикается о какой-то даже научности, собственно с чего я и начал дискуссию.

Апупенное преимущество по нынешним временам...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..Не помню случаев, когда программист идет к математику и просит его выдать алгоритм для написания программы. Ну, мне не встречались. Написание программы подразумевает то, что называют составлением алгоритма. Это можно назвать пониманием задачи в деталях. И это делает один человек, которого называют программистом. Далеко не всегда, программист, при этом, судорожно листает математические справочники..
Попробуйте написать 3D САПР без достаточно "тяжелой" математики. Или автоматичекий трассировщих.

 

Ну мое мнение во первых, что наука может обойтись и без теории.
Такие науки называются гуманитарными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте написать 3D САПР без достаточно "тяжелой" математики. Или автоматичекий трассировщих.

 

..Попробуйте взять «тяжелую математику» и получить из неё, чисто формальным путем, 3D САПР или автоматический трассировщик..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте написать 3D САПР без достаточно "тяжелой" математики. Или автоматичекий трассировщих.
Старая песня о главном? "Тяжесть" математики для САПРа или, тем более, автотрассировщика - скорее в MIPS'ах, а не в сложности восприятия - а так уровень техникума... Это вам не Гёдель с его неполнотой...

 

Такие науки называются гуманитарными.
Вы это серьезно? Хотите сказать, что лингвистика, например, обходится без теории? Мало того, что это не так - она еще и родная сестра программирования... только несколько с другой стороны :biggrin: ... Кстати, тоже отлично(ну не хуже компьютерных языков) формализируется математикой... Опять же - все это размежевание наук - оно условно - это от невозможности одним человеком выпить реку Хуанхэ - разделение труда...

 

...кто-то там сказал - мол, "в будущем писатель, философ и математик будут говорить на одном языке" - к этому то вобщем и нужно стремиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...