Jump to content
    

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

ПРЕАМБУЛА

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by V_G

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

Edited by V_G

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by Andron_

Share this post


Link to post
Share on other sites

EUrry

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

 

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

Edited by EUrry

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

Share this post


Link to post
Share on other sites

Guest @Ark

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...