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

 
 
8 страниц V  « < 4 5 6 7 8 >  
Reply to this topicStart new topic
> Диссертации связанные с чистым программированием. Возможно ли такое?
SM
сообщение Jan 22 2010, 14:35
Сообщение #76


Гуру
******

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



Цитата(Ko4egap @ Jan 22 2010, 17:24) *
Хорошо, но как называется тогда эта наука?

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


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


Участник
*

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



Цитата(SM @ Jan 22 2010, 17:35) *
Все, кроме 15 - чистая голимая математика. 15... тут не уверен.


Пойдите почитайте паспорта этих специальностей прежде чем делать такие громкие заявления.
Для примера 05.13.11
Цитата
Область исследования:
1. Модели и методы проектирования и анализа алгоритмов и программ, их эквивалентных преобразований и верификации.
2. Синтаксис и семантика языков программирования, построение и оптимизация трансляторов, создание и реализация языков программирования.
3. Организация баз данных и знаний, построение систем управления базами данных и знаний.
4. Управление вычислительными процессами, создание и исследование операционных систем.
5. Разработка и исследование человеко-машинных интерфейсов, программных средств распознавания образов и визуализации, мультимедийного общения.
6. Организация распределенных и параллельных систем, разработка и исследование эффективных алгоритмов для управления параллельными процессами, создание языков и инструментальных средств параллельного программирования.
7. Программные средства защиты программных систем.
8. Создание и исследование новых технологий проектирования, анализа, оценки качества, стандартизации и сопровождения программных систем.


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


Гуру
******

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



Цитата(Ko4egap @ Jan 22 2010, 17:36) *
Объясните теперь всем этим людям, что то, чем они занимались - не наука

Да почему же не наукой ?! Самой натуральной наукой! Кто-то математикой, кто-то педагогикой.
Опять же токарное дело приведу для примера... Диссертаций на тему токарной обработки - море морское. Но наука - металловедение, а не "токарное дело". Так и тут - диссертаций по программированию много - но наука - математика.


Цитата(Ko4egap @ Jan 22 2010, 17:42) *
Пойдите почитайте паспорта этих специальностей прежде чем делать такие громкие заявления.

И что - каждый пункт - практически 100%-ный раздел математики, применяемый в частности и в описании процесса программирования.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 22 2010, 14:50
Сообщение #79


Участник
*

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



Цитата(SM @ Jan 22 2010, 17:35) *
Инструмент - это не наука. Наука это теория, согласно которой этот инструмент действует, это в данном случае математика.


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

Цитата(SM @ Jan 22 2010, 17:46) *
И что - каждый пункт - практически 100%-ный раздел математики, применяемый в частности и в описании процесса программирования.


я видимо читать разучился

"Синтаксис и семантика языков программирования, построение и оптимизация трансляторов, создание и реализация языков программирования." - вообще ни капли программирования, сплошные математические формулы.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 14:54
Сообщение #80


Гуру
******

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



Цитата(Ko4egap @ Jan 22 2010, 17:50) *
я видимо читать разучился

"Синтаксис и семантика языков программирования, построение и оптимизация трансляторов, создание и реализация языков программирования." - вообще ни капли программирования, сплошные математические формулы.


Не читать, а понимать, о чем речь. Синтаксис и семантика, как и язык - чисто математические термины, а именно из ее раздела дискретной математики, а именно из ее раздела математической кибернетики, а именно из ее раздела математической информатики. Построение и оптимизация - это чисто математические процессы - рассказать откуда? Или сами найдете? Ну и т.д.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 22 2010, 19:16
Сообщение #81


Ally
******

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



Ха, опять неувязочка.
Цитата(SM @ Jan 22 2010, 16:46) *
И что - каждый пункт - практически 100%-ный раздел математики, применяемый в частности и в описании процесса программирования.


Читаем:
http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%...%B8%D0%BA%D0%B0

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

Теперь перейдем к исходному.

Раз "технарь" не может освоить эту математическую науку, хотя математику кое в чем знает, то это программисты должны давать задания технарям как более квалифицированные в среднем специалисты чем технари.
Что собственно и есть. Эти программисты называются аналитики.
В отсутствии ставки выделенного аналитика и при необходимости разработки ПО, право решения следует отдавать тем кто занимается программированием.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 22 2010, 19:50
Сообщение #82


Гуру
******

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



Цитата(AlexandrY @ Jan 22 2010, 22:16) *
Читаем:
http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%...%B8%D0%BA%D0%B0

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


Во первых в википедии можно написать что угодно. Но это не тот случай.

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

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

ЗЫ. И совсем оффтопик. По собственной статистике, когда из программистов с поверхностным знанием схемотехники приходят в проектирование схемотехники заказных ИМС или конфигураций FPGA, то это очень тяжелый случай в 90% случаев. Ну никак не могут они понять, что это такое HDL и как на нем писать, и делают огромное количество одинаковых ляпов в основном в написании такого, что физически не может быть синтезировано, или синтезируется крайне не оптимально. Приходится их сначала заставлять рисовать схему того, что от них требуется, а потом описывать ее на HDL. И только пройдя через долгое битье головой об стену они начинают сразу, без схем, делать грамотные HDL-описания. А вот если наоборот, разработчик схемотехники такого уровня (ASIC/FPGA) с поверхностным знанием программирования уходит в программисты - то это получается практически сразу ас в оптимизации программ, так как он лучше многих понимает, что и как вычисляет процессор, как он устроен, как обменивается с памятью, с внешними устройствами, и т.д. А если он еще и математик - то и в оптимизации алгоритмов на заданную архитектуру.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 23 2010, 06:43
Сообщение #83


Участник
*

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



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

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

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

ИМХО, занимаясь любой наукой приходится задействовать множество других наук.

Поддерживая офтопик. В университете нас сначала учили программировать в традиционном понимании этого слова (галимый паскаль), на четвертом курсе потребовалось изучить VHDL. Ни для кого в группе не составило труда переключиться. Нет ничего в этом сложного. Я понимаю что сейчас говорю о учебных задачах. Но если к вам, SM, попадают программисты только что из университета, и вы хотите от них владения HDL, естественно что для них будет это задача непростая. Для них принципе любая реальная задача будет непростой, ввиду отсутствия необходимого опыта. А судя по вашему, SM, подходу, вы в программисте просто убиваете все творческие начала, не давая ему самостоятельно разработать тот же математический алгоритм. Я в таких условиях долго на работе не задержусь - факт. Не буду заниматься работой от которой не получаю удовольствия. Вот и остаются у вас ребята, которые довольны тем что просто повторяют на ЯП разжеванные решения.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 23 2010, 09:01
Сообщение #84


Участник
*

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



Естественно сложные математические алгоритмы, программист сам составить не в состоянии. Для этого ему потребуется помощь чистого математика, но это крайние случаи.
Кроме того математическая обработка - лишь одна из задач, которые программист должен выполнить при разработке приложения. Разработать программу, обеспечивающую адекватное поведение прибора, адекватный юзер-интерфейс, безсбойный обмен по внешним интерфейсам, адекватное отключение при низком уровне батареи и много-много-много других мелочей, на которые в итоге уходит куда больше времени чем на ту же мат обработку.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 23 2010, 10:22
Сообщение #85


Гуру
******

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



Цитата(Ko4egap @ Jan 23 2010, 12:01) *
математическая обработка - лишь одна из задач, которые программист должен выполнить при разработке приложения. Разработать программу, обеспечивающую адекватное поведение прибора, адекватный юзер-интерфейс, безсбойный обмен по внешним интерфейсам, адекватное отключение при низком уровне батареи и много-много-много других мелочей,


Так в том и дело, что "отключение при низком уровне батарей" это тоже матобработка, только математика в данном случае не ТФКП к примеру, как в большинстве задач по ЦОС, а теория автоматов, о чем большинство "программистов" забывают. Программисту остается лишь описать этот автомат на ЯП. Просто каждой (и любой) задаче, которую можно решить с использованием программирования как инструмента для решения, существует свой матаппарат, которым она решается прежде, чем будет запрограммирована. И именно поэтому я отделяю программирование как чистое ремесло от математики - как науки (в данном случае) о решении задач и разложении этой задачи на алгоритмы. Программист, решая любую зазачу и составляя, пусть даже в уме, алгоритм, работает аналитиком и математиком, после чего вспоминает, что он программист, и программирует только что разработанный им алгоритм с использованием ЯП. И еще один признак, что программирование это не наука, а ремесло по преобразованию одного вида алгоритма в другой - то, что любой алгоритм, который можно реализовать программно, можно также реализовать и аппаратно, без привлечения программиста вообще. Будут все те же математические сущности, автоматы, выражения, и т.д., просто реализованные на практике другим методом.

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

Цитата(Ko4egap @ Jan 23 2010, 12:01) *
Естественно сложные математические алгоритмы, программист сам составить не в состоянии. Для этого ему потребуется помощь чистого математика, но это крайние случаи.

Вот именно - чтобы составить простые математические алгоритмы (любой алгоритм всегда математический), как то "если питание упало ниже нормы, то сделать то и это и отключиться" - программисту обычно хватает собственных знаний математики. Я думаю, что любой более-менее опытный программист владеет, к примеру, умением использовать конечные автоматы. Но, к сожалению, почти любой программист, используя их, даже себе и не представляет, что конечный автомат - это чистейшая математика, и "гнет пальцы", что это отдельно взятая наука, конечный автомат в программной реализации. Никакая она не отдельная, все сто лет как описано математикой.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Jan 23 2010, 10:51
Сообщение #86


Участник
*

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



Цитата(SM @ Jan 23 2010, 13:22) *
И именно поэтому я отделяю программирование как чистое ремесло от математики - как науки (в данном случае) о решении задач и разложении этой задачи на алгоритмы.


Здесь математика тоже ремесло. Ничего научного в разработке математического алгоритма нет.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 23 2010, 11:03
Сообщение #87


Гуру
******

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



Цитата(Ko4egap @ Jan 23 2010, 13:51) *
Здесь математика тоже ремесло. Ничего научного в разработке математического алгоритма нет.

Ну это естественно, если человек не делает ничего принципиально нового в этой области, не описанного до него, то ничего научного в этом и нет. Но там, в тех же алгоритмах, или в теории автоматов, есть поле деятельности для научных работ. А в программировании, как в переписывании алгоритма в другую форму с использованием уже существующего ЯП, быть ничего научного не может априори. Так как пока идет просто перекладывание алгоритма на ЯП - это программирование. Как только хоть малейшее изменение самог алгоритма - то математика. Даже собственно разработка нового ЯП - это чисто математическая задача, крутящаяся внутри таких разделов математики, как математическая кибернетика и математическая информатика.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 23 2010, 11:09
Сообщение #88


Ally
******

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



Не согласен ни с чем wink.gif

Цитата(SM @ Jan 23 2010, 12:22) *
... И еще один признак, что программирование это не наука, а ремесло по преобразованию одного вида алгоритма в другой - то, что любой алгоритм, который можно реализовать программно, можно также реализовать и аппаратно, без привлечения программиста вообще....

...Да, а что одним из видов практической части применения математики является программирование, т.е. программирование это одна из "практических частей" математики - факт однозначный и бесспорный...

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


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

Про эквивалентную аппаратную реализацию эту байку от вас слышим давно. Ну реализуйте Windows CE аппаратно! biggrin.gif
Даже если и попроще все равно будете использовать программирование на Verilog, а еще и в тихаря RISС прикрутите и будете его на ассемблере програмить.

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

А теперь открываем книгу "Математика для программистов игр". И видим там что должен знать программист из математики. Там почти весь Корн и еще физика с оптикой в придачу.

Или открываем книгу "Построение интерпретаторов и компиляторов". На протяжении всей книги нет ни слова "математика" ни одного математического знака! Кто учился по Корну не признает здесь математики. Это просто другая математика, компьютерная.




Цитата(SM @ Jan 23 2010, 13:03) *
.... А в программировании, как в переписывании алгоритма в другую форму с использованием уже существующего ЯП, быть ничего научного не может априори. ...


Ну ведь понятно же что вы описываете только свою узкоспециальную бизнес модель.
И сами придумали определение программированию. Кадровые агенства с вами абсолютно не согласны, да и большинство работодателей.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 23 2010, 11:32
Сообщение #89


Гуру
******

Группа: Свой
Сообщений: 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, и ничего более.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 23 2010, 15:17
Сообщение #90


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 biggrin.gif


Цитата(SM @ Jan 23 2010, 13:32) *
Насчет Win CE аппаратно - это ВОЗМОЖНО и без встраивания RISC. Т.е. некий аппаратный блок, реализующий все ее API через какой либо интерфейс. (попробуйте доказать обратное).

ALU в вашем блоке будет? Думаю будет. Память вообще обязательно. Микрокод выполняемый тож будет. Значит будет и программирование (неважно что в ROM или даже перемычками), а следовательно это не будет аппаратным решением. Вот и все доказательство.
Самое то забавное что эта система сама в процессе работы может создавать программы. (скрипты там, промежуточный код и проч.) и вы никак не превратите ее в чистый жесткий аппарат иначе это будут не винды. biggrin.gif
Да и вообще в широком смысле любой алгоритм это программирование.
Даже ввод принципиальной схемы с кучей однообразных блоков в современных средах разработки превращается в программирование.
В Altium-е нормальный спец уже должен знать как минимум язык разработки скриптов.
Go to the top of the page
 
+Quote Post

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

 


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


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