|
Диссертации связанные с чистым программированием. Возможно ли такое? |
|
|
|
Jan 15 2010, 18:12
|

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

|
ПРЕАМБУЛА Задумался тут. Развелось в наше время так называемых программистов (как большинство из них думают), хотя на деле по большей части это "специалисты" недалеко ушедшие от машин - для реализации прикладной , скажем, технической задачи к ним нужно приставить "няньку в теме", которая разжует алгоритм, который надо тупо закодить (на форуме это не раз уже обсуждалось). Естественно, при поиске ошибок начинается муторная работа общения на разных языках "няньки" и "программиста". ИМХО, проще и эффективнее "няньке в теме" научиться программировать, чем "программисту" въехать в тему, т. к. многие из них просто на корню пресекают данный совет и искренне верят, нарекая себя громким словом - ПРОГРАММИСТ. Хотя у меня имеется по этому поводу несколько иное скромное мнение...
Так вот собственно задумчивость моя. Сам не программист, поэтому хочу спросить у сообщества - существуют ли какие-то области программирования, в которых можно задаться НАУЧНОЙ работой именно с точки зрения, например, методов программирования. Или же все основные принципы давно сформулированы, языки созданы и всё это является ИНСТРУМЕНТОМ при решении прикладных задач, который может просто как-то модернизироваться, не имея под собой истинно научных исследований. Или же в данной области есть чем заняться и с точки зрения науки? Просто наблюдаю такую картину, что некоторые "программисты" думают, что занимаются какой-то близкой к научной работой, при всем при этом умея только практически кодить разжеванное "нянькой в теме" алгоритмизированное решение задачи и ни в какую не хотящих хотя бы на качественном уровне вникать в суть задачи, что намного бы повысило эффективность отладки программы.
--------------------
Все не могут только сеять разумное, доброе, вечное: кому-то надо и пахать! Природа не терпит пустоты: там, где люди не знают правды, они заполняют пробелы домыслом. © Бернард Шоу
|
|
|
|
|
 |
Ответов
|
Jan 23 2010, 09:01
|
Участник

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

|
Естественно сложные математические алгоритмы, программист сам составить не в состоянии. Для этого ему потребуется помощь чистого математика, но это крайние случаи. Кроме того математическая обработка - лишь одна из задач, которые программист должен выполнить при разработке приложения. Разработать программу, обеспечивающую адекватное поведение прибора, адекватный юзер-интерфейс, безсбойный обмен по внешним интерфейсам, адекватное отключение при низком уровне батареи и много-много-много других мелочей, на которые в итоге уходит куда больше времени чем на ту же мат обработку.
|
|
|
|
|
Jan 23 2010, 10:22
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Ko4egap @ Jan 23 2010, 12:01)  математическая обработка - лишь одна из задач, которые программист должен выполнить при разработке приложения. Разработать программу, обеспечивающую адекватное поведение прибора, адекватный юзер-интерфейс, безсбойный обмен по внешним интерфейсам, адекватное отключение при низком уровне батареи и много-много-много других мелочей, Так в том и дело, что "отключение при низком уровне батарей" это тоже матобработка, только математика в данном случае не ТФКП к примеру, как в большинстве задач по ЦОС, а теория автоматов, о чем большинство "программистов" забывают. Программисту остается лишь описать этот автомат на ЯП. Просто каждой (и любой) задаче, которую можно решить с использованием программирования как инструмента для решения, существует свой матаппарат, которым она решается прежде, чем будет запрограммирована. И именно поэтому я отделяю программирование как чистое ремесло от математики - как науки (в данном случае) о решении задач и разложении этой задачи на алгоритмы. Программист, решая любую зазачу и составляя, пусть даже в уме, алгоритм, работает аналитиком и математиком, после чего вспоминает, что он программист, и программирует только что разработанный им алгоритм с использованием ЯП. И еще один признак, что программирование это не наука, а ремесло по преобразованию одного вида алгоритма в другой - то, что любой алгоритм, который можно реализовать программно, можно также реализовать и аппаратно, без привлечения программиста вообще. Будут все те же математические сущности, автоматы, выражения, и т.д., просто реализованные на практике другим методом. Да, а что одним из видов практической части применения математики является программирование, т.е. программирование это одна из "практических частей" математики - факт однозначный и бесспорный. Именно практических, и чисто практических, без своей собственной теории, коей является исключительно математика, покрывая собой все теоретические аспекты программирования поголовно. Как, вспомню любимую аналогию, и токарную обработку можно вполне считать одной из "практических частей" металловедения. Цитата(Ko4egap @ Jan 23 2010, 12:01)  Естественно сложные математические алгоритмы, программист сам составить не в состоянии. Для этого ему потребуется помощь чистого математика, но это крайние случаи. Вот именно - чтобы составить простые математические алгоритмы (любой алгоритм всегда математический), как то "если питание упало ниже нормы, то сделать то и это и отключиться" - программисту обычно хватает собственных знаний математики. Я думаю, что любой более-менее опытный программист владеет, к примеру, умением использовать конечные автоматы. Но, к сожалению, почти любой программист, используя их, даже себе и не представляет, что конечный автомат - это чистейшая математика, и "гнет пальцы", что это отдельно взятая наука, конечный автомат в программной реализации. Никакая она не отдельная, все сто лет как описано математикой.
|
|
|
|
|
Jan 23 2010, 11:09
|

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

|
Не согласен ни с чем  Цитата(SM @ Jan 23 2010, 12:22)  ... И еще один признак, что программирование это не наука, а ремесло по преобразованию одного вида алгоритма в другой - то, что любой алгоритм, который можно реализовать программно, можно также реализовать и аппаратно, без привлечения программиста вообще....
...Да, а что одним из видов практической части применения математики является программирование, т.е. программирование это одна из "практических частей" математики - факт однозначный и бесспорный...
... Но, к сожалению, почти любой программист, используя их, даже себе и не представляет, что конечный автомат - это чистейшая математика, и "гнет пальцы", что это отдельно взятая наука, конечный автомат в программной реализации. Никакая она не отдельная, все сто лет как описано математикой. Программирование - математическая научная дисциплина. За этим мнением как минимум википедия. Покажите хоть одного достойного авторитета кто бы придерживался вашего мнения. Т.е. это не исключительно раздел прикладной математики. Про эквивалентную аппаратную реализацию эту байку от вас слышим давно. Ну реализуйте Windows CE аппаратно! Даже если и попроще все равно будете использовать программирование на Verilog, а еще и в тихаря RISС прикрутите и будете его на ассемблере програмить. Теперь открываем толстенный справочник по математике от Г. Корн- Т. Корн претендующий на всеохватность и не видим там никакой теории автоматов, также не видим теории манипуляции с битовыми полями, никакой теории сжатия, накакой теории исправления ошибок, подавно нет теории лексического и синтаксического анализа и т.д. А теперь открываем книгу "Математика для программистов игр". И видим там что должен знать программист из математики. Там почти весь Корн и еще физика с оптикой в придачу. Или открываем книгу "Построение интерпретаторов и компиляторов". На протяжении всей книги нет ни слова "математика" ни одного математического знака! Кто учился по Корну не признает здесь математики. Это просто другая математика, компьютерная. Цитата(SM @ Jan 23 2010, 13:03)  .... А в программировании, как в переписывании алгоритма в другую форму с использованием уже существующего ЯП, быть ничего научного не может априори. ... Ну ведь понятно же что вы описываете только свою узкоспециальную бизнес модель. И сами придумали определение программированию. Кадровые агенства с вами абсолютно не согласны, да и большинство работодателей.
|
|
|
|
|
Jan 23 2010, 11:32
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(AlexandrY @ Jan 23 2010, 14:09)  Теперь открываем толстенный справочник по математике от Г. Корн- Т. Корн претендующий на всеохватность и не видим там никакой теории автоматов, также не видим теории манипуляции с битовыми полями, никакой теории сжатия, накакой теории исправления ошибок, подавно нет теории лексического и синтаксического анализа и т.д. Так откройте другую книгу. По дискретной математике. По математической кибернетике и математической информатике (это разделы дискретной математики). И увидите там все это. И про кодирование, и про лексический/синтаксический анализ, и про все остальное, связанное с програмированием. Возможно откроете для себя много нового. Если Вы ее никогда не открывали, это не говорит о том, что ее не существует. Да и во всеобъемлющие справочники по математике я не верю, это IMHO невозможно, чтобы один человек охватил всю ее целиком... Цитата(AlexandrY @ Jan 23 2010, 14:09)  Кадровые агенства с вами абсолютно не согласны, да и большинство работодателей Ну это-то понятно, что им (как и мне, когда я выступаю в роли работодателя), это не выгодно, платить отдельно за программирование, а отдельно за математику в части разработки алгоритмов, а выгодно обозвать все в куче одним программированием, и если надо, это еще и доказывать. Но к науке это отношения никакого не имеет, это только бизнес. Цитата(AlexandrY @ Jan 23 2010, 14:09)  Программирование - математическая научная дисциплина Пока что, насколько мне известно, научной дисциплиной является только теория функционального программирования. Остальное же программирование - это лишь практическое применение различных сфер математики, и не более того. Насчет Win CE аппаратно - это ВОЗМОЖНО и без встраивания RISC. Т.е. некий аппаратный блок, реализующий все ее API через какой либо интерфейс. (попробуйте доказать обратное). Я, естественно, этого делать не буду, так как вряд-ли это кому-то нужно, и вряд-ли это будет пользоваться спросом. Но, главное, что это ВОЗМОЖНО. И программирование на Verilog я использовать не буду, так как это невозможно. Еще раз, на любом HDL описывают устройства вцелом, но не программируют их. "Программирование на HDL" это наиболее распространенная ошибка у начинающих освоение HDL, и ничего более.
|
|
|
|
|
Jan 23 2010, 15:17
|

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

|
Речь о признаных авторитех. Ученые прежде всего оцениваются по своим публикациям. Цитата(SM @ Jan 23 2010, 13:32)  ... Да и во всеобъемлющие справочники по математике я не верю, это IMHO невозможно, чтобы один человек охватил всю ее целиком... Может имеете свои книги? Нет? Тогда извините ваша вера не в счет. Я привел уже порядочно названий источников. А в книгах которые вы назвали гарантирую будет все забито текстами программ (хоть и на виртуальных языках), а не формулами классической математики. Цитата(SM @ Jan 23 2010, 13:32)  Но к науке это отношения никакого не имеет, это только бизнес. С обсуждения бизнес процесса обсуждение и началось. В этом бизнесе этих ученых называют программистами Цитата(SM @ Jan 23 2010, 13:32)  Пока что, насколько мне известно, научной дисциплиной является только теория функционального программирования. Как интересно. Оказывается там теория есть какая-то. Вот вам журнал по практическому функциональному программированию http://fprog.ru/ Найдите там теорию. Наверно вы спутали термины и не о том хотели сказать. А то тогда придется признать наличие теории и у языка Basic Цитата(SM @ Jan 23 2010, 13:32)  Насчет Win CE аппаратно - это ВОЗМОЖНО и без встраивания RISC. Т.е. некий аппаратный блок, реализующий все ее API через какой либо интерфейс. (попробуйте доказать обратное). ALU в вашем блоке будет? Думаю будет. Память вообще обязательно. Микрокод выполняемый тож будет. Значит будет и программирование (неважно что в ROM или даже перемычками), а следовательно это не будет аппаратным решением. Вот и все доказательство. Самое то забавное что эта система сама в процессе работы может создавать программы. (скрипты там, промежуточный код и проч.) и вы никак не превратите ее в чистый жесткий аппарат иначе это будут не винды.  Да и вообще в широком смысле любой алгоритм это программирование. Даже ввод принципиальной схемы с кучей однообразных блоков в современных средах разработки превращается в программирование. В Altium-е нормальный спец уже должен знать как минимум язык разработки скриптов.
|
|
|
|
Сообщений в этой теме
EUrry Диссертации связанные с чистым программированием. Возможно ли такое? Jan 15 2010, 18:12 V_G Я думаю, есть и будут диссертабельные темы, связан... Jan 15 2010, 21:27 EUrry Цитата(V_G @ Jan 16 2010, 00:27) Я думаю,... Jan 15 2010, 22:37  V_G Цитата(EUrry @ Jan 16 2010, 08:37) Так в ... Jan 16 2010, 09:17   EUrry Цитата(V_G @ Jan 16 2010, 12:17) Матобраб... Jan 16 2010, 09:53    SM Цитата(EUrry @ Jan 16 2010, 12:53) А опти... Jan 16 2010, 21:23     EUrry Цитата(SM @ Jan 17 2010, 00:23) Никак нет... Jan 17 2010, 08:10      SM Цитата(EUrry @ Jan 17 2010, 11:10) Остало... Jan 17 2010, 10:31      vvs157 Цитата(EUrry @ Jan 17 2010, 11:10) Так во... Jan 17 2010, 11:36 vvs157 Программирование в современном понимании - это так... Jan 15 2010, 22:12 haker_fox Цитата(vvs157 @ Jan 16 2010, 06:12) как с... Jan 16 2010, 11:38 Andron_ в процессе создания ПО разделяют несколько процесс... Jan 16 2010, 10:10 ASN EUrry
Трудный вопрос. Сам не раз об этом задумывал... Jan 16 2010, 11:11 dxp Существует два программирования:
1. описание алго... Jan 16 2010, 13:26 EUrry Цитата(ASN @ Jan 16 2010, 14:11) Возможно... Jan 16 2010, 17:10 @Ark Предлагаю автору топика следующую тему для диссерт... Jan 17 2010, 11:19 EUrry Цитата(@Ark @ Jan 17 2010, 14:19) Предлаг... Jan 17 2010, 11:49 @Ark ЦитатаТо есть как пример "Исследование алгори... Jan 17 2010, 11:51 SM Цитата(@Ark @ Jan 17 2010, 14:51) Почему ... Jan 17 2010, 12:04  V_G Цитата(SM @ Jan 17 2010, 22:04) Только эт... Jan 17 2010, 14:59   EUrry Цитата(V_G @ Jan 17 2010, 17:59) Для прод... Jan 17 2010, 15:25   SM Цитата(V_G @ Jan 17 2010, 17:59) более то... Jan 17 2010, 16:51    Tanya Цитата(SM @ Jan 17 2010, 19:51) А практич... Jan 17 2010, 17:03     SM Цитата(Tanya @ Jan 17 2010, 20:03) Так ве... Jan 17 2010, 17:13      Tanya Цитата(SM @ Jan 17 2010, 20:13) Математик... Jan 17 2010, 17:22       SM Цитата(Tanya @ Jan 17 2010, 20:22) Матема... Jan 17 2010, 17:36        AlexandrY А, ну понял вашу логику. Найти идиотов, назвать их... Jan 17 2010, 17:47         SM Цитата(AlexandrY @ Jan 17 2010, 20:47) По... Jan 17 2010, 17:56         EUrry Цитата(AlexandrY @ Jan 17 2010, 20:47) А,... Jan 17 2010, 18:03          SM Цитата(EUrry @ Jan 17 2010, 21:03) а коди... Jan 17 2010, 18:22    AlexandrY Аналитик это программер в обязательном порядке, то... Jan 17 2010, 17:25 Andron_ мое мнение - кодер - не имеет право на диссертабел... Jan 17 2010, 15:42 AlexandrY С вашим подходом философы вообще наверно будут дар... Jan 17 2010, 16:15 EUrry Цитата(AlexandrY @ Jan 17 2010, 19:15) Пр... Jan 17 2010, 17:16 Andron_ Философы - гммм... ну, нет...
наука о принятии реш... Jan 17 2010, 17:14 EUrry Цитата(AlexandrY @ Jan 17 2010, 20:25) Во... Jan 17 2010, 17:40 AlexandrY Если вы хотите познакомиться с проблематикой смежн... Jan 17 2010, 18:33  SM Цитата(AlexandrY @ Jan 17 2010, 21:33) Ре... Jan 17 2010, 18:39   AlexandrY Ну это беда ваших понятий о науке а не самой науки... Jan 17 2010, 18:43    SM Цитата(AlexandrY @ Jan 17 2010, 21:43) Ну... Jan 17 2010, 19:00     AlexandrY По идее вы агностики вообще должны отрицать эмпири... Jan 17 2010, 20:40      SM Цитата(AlexandrY @ Jan 17 2010, 23:40) Мн... Jan 17 2010, 21:28 sergeeff Приведу пример диссертации, связанной с "чист... Jan 17 2010, 18:27 SM Цитата(sergeeff @ Jan 17 2010, 21:27) ...... Jan 17 2010, 18:29 EUrry To AlexandrY:
Ну, вообще то, что Вы привели в каче... Jan 17 2010, 18:47 V_G Цитата(EUrry @ Jan 18 2010, 04:47) Дабы н... Jan 18 2010, 00:33 Demeny Цитата(EUrry @ Jan 17 2010, 21:47) Так чт... Jan 18 2010, 07:50  Tanya Цитата(Demeny @ Jan 18 2010, 10:50) Челов... Jan 18 2010, 19:10 EUrry Цитата(SM @ Jan 18 2010, 00:28) А на взгл... Jan 18 2010, 15:14 SM Цитата(EUrry @ Jan 18 2010, 18:14) Хотя и... Jan 18 2010, 17:45  AlexandrY Как бывает и дураку понятно. Я бы сказал что все н... Jan 18 2010, 19:45   SM Цитата(AlexandrY @ Jan 18 2010, 22:45) и ... Jan 19 2010, 08:40   dch Цитата(AlexandrY @ Jan 18 2010, 22:45) Те... Jan 21 2010, 00:45 Ko4egap Цитата(@Ark @ Jan 17 2010, 14:51) Почему ... Jan 21 2010, 13:16 AlexandrY А как же теория?
Цитата(Ko4egap @ Jan 21 2010... Jan 21 2010, 13:36  Tanya Цитата(AlexandrY @ Jan 21 2010, 16:36) На... Jan 21 2010, 13:55 EUrry Цитата(Ko4egap @ Jan 21 2010, 16:16) Неуд... Jan 21 2010, 19:52  SM Цитата(EUrry @ Jan 21 2010, 22:52) Это и ... Jan 21 2010, 20:25   EUrry Цитата(SM @ Jan 21 2010, 23:25) Это смотр... Jan 21 2010, 20:39    SM Цитата(EUrry @ Jan 21 2010, 23:39) всё-ра... Jan 21 2010, 20:58 Ko4egap ЦитатаНау́ка — особый вид человеческой ... Jan 21 2010, 14:15 AlexandrY Ну так обобщение будет?
Цитата(Ko4egap @ Jan... Jan 21 2010, 16:02 Ko4egap Цитата(AlexandrY @ Jan 21 2010, 19:02) Мо... Jan 22 2010, 07:43 SM Цитата(Ko4egap @ Jan 22 2010, 10:43) Опят... Jan 22 2010, 08:25  AlexandrY Нуу.., эт прокол.
Цитата(SM @ Jan 22 2010, 1... Jan 22 2010, 09:51   SM Цитата(AlexandrY @ Jan 22 2010, 12:51) VH... Jan 22 2010, 10:13    AlexandrY Да вот после таких ребят Брюс Шнаейр и был вынужде... Jan 22 2010, 13:00 Ko4egap AlexandrY, подписываюсь под каждым словом Jan 22 2010, 10:00 Ko4egap Аха, пошел программист к математику, и сказал, раз... Jan 22 2010, 11:12 AndrewN Цитата(Ko4egap @ Jan 22 2010, 14:12) Аха,... Jan 22 2010, 11:56  Ko4egap Цитата(AndrewN @ Jan 22 2010, 14:56) Веро... Jan 22 2010, 12:27   SM Цитата(Ko4egap @ Jan 22 2010, 15:27) В то... Jan 22 2010, 13:05    AlexandrY Насчет файловых систем это пальцем в небо. Если б... Jan 22 2010, 13:14     SM Цитата(AlexandrY @ Jan 22 2010, 16:14) По... Jan 22 2010, 13:48 Ko4egap Хорошо, но как называется тогда эта наука?
Вот не... Jan 22 2010, 14:24 SM Цитата(Ko4egap @ Jan 22 2010, 17:24) Хоро... Jan 22 2010, 14:35  Ko4egap Цитата(SM @ Jan 22 2010, 17:35) Инструмен... Jan 22 2010, 14:50   SM Цитата(Ko4egap @ Jan 22 2010, 17:50) я ви... Jan 22 2010, 14:54 Ko4egap Цитата(SM @ Jan 22 2010, 17:35) Все, кром... Jan 22 2010, 14:42 SM Цитата(Ko4egap @ Jan 22 2010, 17:36) Объя... Jan 22 2010, 14:46  AlexandrY Ха, опять неувязочка.
Цитата(SM @ Jan 22 2010... Jan 22 2010, 19:16   SM Цитата(AlexandrY @ Jan 22 2010, 22:16) Чи... Jan 22 2010, 19:50 Ko4egap И еще раз. У каждой науки есть теоретическая (науч... Jan 23 2010, 06:43  Ko4egap Цитата(SM @ Jan 23 2010, 13:22) И именно ... Jan 23 2010, 10:51   SM Цитата(Ko4egap @ Jan 23 2010, 13:51) Здес... Jan 23 2010, 11:03     SM Цитата(AlexandrY @ Jan 23 2010, 18:17) Ка... Jan 23 2010, 18:19      AlexandrY Цитата(SM @ Jan 23 2010, 20:19) ... и пот... Jan 23 2010, 19:31       SM Цитата(AlexandrY @ Jan 23 2010, 22:31) он... Jan 23 2010, 19:42     SM Цитата(AlexandrY @ Jan 23 2010, 18:17) С ... Jan 23 2010, 18:29 EUrry Цитата(AlexandrY @ Jan 22 2010, 12:51) Я ... Jan 23 2010, 18:25 AlexandrY Вы безосновательно навязываете свое определение об... Jan 23 2010, 19:55  SM Цитата(AlexandrY @ Jan 23 2010, 22:55) Ту... Jan 23 2010, 20:22   AlexandrY Опосредовано проблемы делают любую деятельность на... Jan 24 2010, 10:02 Wise ..Математика всего лишь одна из специфических форм... Jan 23 2010, 22:53 EUrry Цитата(AlexandrY @ Jan 23 2010, 22:55) Вы... Jan 24 2010, 15:02
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|