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

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

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

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

По докторским - да, я сильно сомневаюсь, что у нас в стране есть доктора из этой сферы.

А кандидатские часто по уровню чуть выше диплома (что прискорбно вообще-то)

Изменено пользователем V_G

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


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

Так что же такое программирование?

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

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

1. Вписываем целевую фигуру в квадрат с уже известной площадью.

2. Заполняем этот квадрат случайными точками, считая отдельно точки попавшие внутрь целевой фигуры.

3. Отношение кол-ва точек внутри фигуры к общему количеству будет стремиться к отношению искомой площади к площади квадрата с увеличением общего количества точек.

Человек, придумавший такой алгоритм был, безусловно, программистом.

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


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

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

+1

Безусловно научная теория должна предсказывать какие-то новые эффекты, которые проверяются на практике. Хотя и обратный процесс тоже был и есть, когда выводу новой теории подсказывают практические опыты (например, при отклонении результатов опыта от принятой ранее теории или выявления нового эффекта, не объяснимого теорией). На стадии зарождения науки опыт превалировал над теорией, но в настоящее время всё-таки превалирует теория над опытом. Наглядный пример - таблица Менделеева - создана, исходя не из какой-то выстроенной теории, а частично случайно из обобщения опытных знаний. Но при этом это открытие помогло предсказать многие другие. Квантовая теория еще более формализована и предсказала множество новых частиц, которые были экспериментально обнаружены только через десятки лет (а бозон Хиггса до сих пор ловят под Женевой). Хотя и в ней есть изъяны, физическая теория, как известно, находится в кризисе противоречий.

А кандидатские часто по уровню чуть выше диплома (что прискорбно вообще-то)

Даже очень прискорбно, и боюсь будет хуже с такими тенденциями.

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

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

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


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

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

 

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

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


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

Человек, придумавший такой алгоритм был, безусловно, программистом.

Он был алгоритмистом. Или конструктивистом. Бюффонова игла - 1777 год. Первый программист? Или первый основатель (определитель) меры плоских открытых множеств?

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


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

Как бывает и дураку понятно. Я бы сказал что все науки идут от психологии и к ней сводятся.

Самое глубинное знаниее в том почему "так бывает"

Вот агностики на него даже боятся отвечать. А почему бояться? -Слабая психика!

 

Что математика точная наука - я просто под столом.

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

 

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

 

Дальше больше. Откуда вообще все эти математические разложения? Только для того чтобы разгрузить психику. Но хреново разгрузили. Пришлось придумать текстовые языки программирования. Ведь есть же проги типа Mathcad работающие в математической нотации, а фигу на этом языке никто не программирует.

 

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

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

Все в равной степени применяют математичексую нотацию , но программисты еще могут применить и текстовую и графическую. В этом у них преимущество перед непрограммистами.

 

... а бывает и наоборот ...

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


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

и отказывающий в этом знании программистам. Типа это им даже не надо.

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

 

Самое глубинное знаниее в том почему "так бывает"

Вот агностики на него даже боятся отвечать.

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

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


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

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

это Вы о ком?

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


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

Почему же? Исследование вопросов надежности работы программ - разве не тема для диссера?

 

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

 

 

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

 

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

 

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

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


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

А как же теория?

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

 

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

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


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

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

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

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


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

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

Взято с википедии, т.к. под рукой нет ни книжек ни конспектов по философии.

 

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

 

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

Изменено пользователем Ko4egap

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


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

Ну так обобщение будет?

 

... Когда буду готов приступлю к синтезу новых методов или просто усовершенствованием старых.

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

 

Можете хоть одну теорию в программировании назвать? Люди ж просят.

Как можно обобщать если нет теориии и нет доказательств? Что доказательствами будет?

Ваш личный опыт по поиску багов тем или иным способом? Агностики вас поднимут на смех.

 

Ваш пост совсем не в поддержку программистов.

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


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

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

А причем сравнение с токарем? Программист - это инженер, но большинство всё-таки токари, т. к. настойчиво требуют от и до описать, что нужно сделать, а дебаг сравним с тем, что дорабатывают напильником и то под пристальным вниманием и руководством к действию мастера.

вот как раз таки "дебаг" и "еще чего нибудь" и есть самая трудоемкая и длительная часть "кодинга".

Это и есть самая-самая инженерная работа.

Начинаю писать диссертацию на тему "Исследование методов тестирования и отладки ПО встраиваемых систем реального времени"

Ну вот уже что-то, хотя не понятно, как это относится к программированию, т. к. его определение так никто и не дал.

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


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

Это и есть самая-самая инженерная работа.

 

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

 

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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