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

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

ПРЕАМБУЛА

Задумался тут. Развелось в наше время так называемых программистов (как большинство из них думают), хотя на деле по большей части это "специалисты" недалеко ушедшие от машин - для реализации прикладной , скажем, технической задачи к ним нужно приставить "няньку в теме", которая разжует алгоритм, который надо тупо закодить (на форуме это не раз уже обсуждалось). Естественно, при поиске ошибок начинается муторная работа общения на разных языках "няньки" и "программиста". ИМХО, проще и эффективнее "няньке в теме" научиться программировать, чем "программисту" въехать в тему, т. к. многие из них просто на корню пресекают данный совет и искренне верят, нарекая себя громким словом - ПРОГРАММИСТ. Хотя у меня имеется по этому поводу несколько иное скромное мнение...

 

Так вот собственно задумчивость моя.

Сам не программист, поэтому хочу спросить у сообщества - существуют ли какие-то области программирования, в которых можно задаться НАУЧНОЙ работой именно с точки зрения, например, методов программирования. Или же все основные принципы давно сформулированы, языки созданы и всё это является ИНСТРУМЕНТОМ при решении прикладных задач, который может просто как-то модернизироваться, не имея под собой истинно научных исследований. Или же в данной области есть чем заняться и с точки зрения науки? Просто наблюдаю такую картину, что некоторые "программисты" думают, что занимаются какой-то близкой к научной работой, при всем при этом умея только практически кодить разжеванное "нянькой в теме" алгоритмизированное решение задачи и ни в какую не хотящих хотя бы на качественном уровне вникать в суть задачи, что намного бы повысило эффективность отладки программы.

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

Матобработка - да, а оптимизация кодов, СРВ и операционки - чистое программирование. Под программированием я понимаю не только чисто кодерскую работу по заданию и алгоритмам начальника-инженера-технаря. У микрософта кодер - одна из низших должностей. А сверху сидит Блин Гейтс - архитектор, или как он там себя называл. Вот архитектор - весьма научная, диссертабельная (зачастую) область.

 

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

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

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


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

Матобработка - да, а оптимизация кодов, СРВ и операционки - чистое программирование.

А оптимизация не инженерная работа?

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

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

 

У микрософта кодер - одна из низших должностей.

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

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

У этого архитектора, ИМХО, диссертабельности больше в области экономики, по крайней мере сейчас.

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

Та к вот, собственно, и задумался.

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


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

в процессе создания ПО разделяют несколько процессов...

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

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

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


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

EUrry

Трудный вопрос. Сам не раз об этом задумывался.

Возможно, применение автоматизация выбор алгоритма реализации какой-либо функции (к примеру приёмника фазоманипулированных сигналов) в зависимости от целевой платформы и требований по качеству реализации (помехоустойчивости).

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

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


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

как скажем токарная обработка металлов. Соответственно и нет диссертабельности.

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

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


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

Существует два программирования:

 

1. описание алгоритмов на языках программирования;

2. то, что у буржуев называется Computer Science (точнее, ее часть) - изучение и разработка как ЯП целиком, так и отдельных аспектов ЯП.

 

Второе вполне научно. Первое - нет, как уже сказали выше, это по сути своей ремесло.

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


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

Возможно, применение автоматизация выбор алгоритма реализации какой-либо функции (к примеру приёмника фазоманипулированных сигналов) в зависимости от целевой платформы и требований по качеству реализации (помехоустойчивости).

Опять таки необходимо комплексное знание инструмента-программирования и соответствющего раздела техники.

Существует два программирования:

1. описание алгоритмов на языках программирования;

2. то, что у буржуев называется Computer Science (точнее, ее часть) - изучение и разработка как ЯП целиком, так и отдельных аспектов ЯП.

Второе вполне научно. Первое - нет, как уже сказали выше, это по сути своей ремесло.

Так вот собственно то по второму направлению что-то делается или там практически всё сделано (по крайней мере при существующей парадигме)?

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


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

А оптимизация не инженерная работа?

Никак нет. Это конкретная математика. ИМХО программирование это вообще не наука, а ремесло. А наука, на которой базируется программиирование - дискретная математика (например в ней теория алгоритмов, теория автоматов, графы, кодирование, теория функционального программирования, и т.д.). И вот там тем есть. И любая разработка ЯП, оптимизаторов, и т.д., базируется на теоретических принципах, построенных при помощи дискретной математики.

 

программирование это что - это описание алгоритма при помощи ЯП, и ничего более. А сам алгоритм - голимая дискретная математика.

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


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

Никак нет. Это конкретная математика.

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

 

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

 

Осталось это как-то донести до зазвездившихся "программистов".

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

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


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

Осталось это как-то донести до зазвездившихся "программистов".

 

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

 

Мне казалось, что автор в том случае имел в виду именно оптимизацию кода кодером,

Возможно. Я подумал про оптимизацию кода оптимизатором по заданному программистом критерию, и работы по разработке оптимизаторов кода.

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


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

Гость @Ark

Предлагаю автору топика следующую тему для диссертации:

"Разработка "безглючных" приложений под ОС семейства Windows. Теоретические аспекты и методы практической реализации". :) IMHO, очень актуальная тема...

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


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

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

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

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

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

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

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

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

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

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