EUrry 3 January 15, 2010 Posted January 15, 2010 · Report post ПРЕАМБУЛА Задумался тут. Развелось в наше время так называемых программистов (как большинство из них думают), хотя на деле по большей части это "специалисты" недалеко ушедшие от машин - для реализации прикладной , скажем, технической задачи к ним нужно приставить "няньку в теме", которая разжует алгоритм, который надо тупо закодить (на форуме это не раз уже обсуждалось). Естественно, при поиске ошибок начинается муторная работа общения на разных языках "няньки" и "программиста". ИМХО, проще и эффективнее "няньке в теме" научиться программировать, чем "программисту" въехать в тему, т. к. многие из них просто на корню пресекают данный совет и искренне верят, нарекая себя громким словом - ПРОГРАММИСТ. Хотя у меня имеется по этому поводу несколько иное скромное мнение... Так вот собственно задумчивость моя. Сам не программист, поэтому хочу спросить у сообщества - существуют ли какие-то области программирования, в которых можно задаться НАУЧНОЙ работой именно с точки зрения, например, методов программирования. Или же все основные принципы давно сформулированы, языки созданы и всё это является ИНСТРУМЕНТОМ при решении прикладных задач, который может просто как-то модернизироваться, не имея под собой истинно научных исследований. Или же в данной области есть чем заняться и с точки зрения науки? Просто наблюдаю такую картину, что некоторые "программисты" думают, что занимаются какой-то близкой к научной работой, при всем при этом умея только практически кодить разжеванное "нянькой в теме" алгоритмизированное решение задачи и ни в какую не хотящих хотя бы на качественном уровне вникать в суть задачи, что намного бы повысило эффективность отладки программы. Quote Share this post Link to post Share on other sites More sharing options...
V_G 36 January 15, 2010 Posted January 15, 2010 (edited) · Report post Я думаю, есть и будут диссертабельные темы, связанные с математической обработкой (да и той же цифровой обработкой - ближе к электронике), с нечеткой логикой - непаханное (в нашей стране) поле, с оптимизацией программ и программирования, с системами реального времени, просто с новыми операционками - туча тем, тесно связанных с программированием. На Ваковском сайте можно посмотреть перечень специальностей, требования (программы) кандидатских экзаменов и уточнить и расширить вышеприведенный список. Edited January 15, 2010 by V_G Quote Share this post Link to post Share on other sites More sharing options...
vvs157 0 January 15, 2010 Posted January 15, 2010 · Report post Программирование в современном понимании - это такое же ремесло, как скажем токарная обработка металлов. Соответственно и нет диссертабельности. Однако в том, чем пользуются программисты может быть достаточно диссертабельных тем, по аналогии с теоретическими и практическими аспектами металлообработки, по которым защишено достаточное количество не только кандидатских. Quote Share this post Link to post Share on other sites More sharing options...
EUrry 3 January 15, 2010 Posted January 15, 2010 · Report post Я думаю, есть и будут диссертабельные темы, связанные с математической обработкой (да и той же цифровой обработкой - ближе к электронике), с нечеткой логикой - непаханное (в нашей стране) поле, с оптимизацией программ и программирования, с системами реального времени, просто с новыми операционками - туча тем, тесно связанных с программированием. Так в этом случае программирование и выступает таки в роли только инструмента, реализующего математические и прочие исследования. Quote Share this post Link to post Share on other sites More sharing options...
V_G 36 January 16, 2010 Posted January 16, 2010 (edited) · Report post Так в этом случае программирование и выступает таки в роли только инструмента, реализующего математические и прочие исследования. Матобработка - да, а оптимизация кодов, СРВ и операционки - чистое программирование. Под программированием я понимаю не только чисто кодерскую работу по заданию и алгоритмам начальника-инженера-технаря. У микрософта кодер - одна из низших должностей. А сверху сидит Блин Гейтс - архитектор, или как он там себя называл. Вот архитектор - весьма научная, диссертабельная (зачастую) область. И вообще грань между программированием и непрограммированием весьма размыта - см. нечеткую логику и нечеткие множества. Edited January 16, 2010 by V_G Quote Share this post Link to post Share on other sites More sharing options...
EUrry 3 January 16, 2010 Posted January 16, 2010 · Report post Матобработка - да, а оптимизация кодов, СРВ и операционки - чистое программирование. А оптимизация не инженерная работа? Под программированием я понимаю не только чисто кодерскую работу по заданию и алгоритмам начальника-инженера-технаря. Вот фраза "по алгоритмам технаря" и есть главная проблема "программиста" при написании программ, не связанных с мобилами и проими гаджетами - такой "специалист" никогда не будет ценен, что видно из текучки кадров подобных контор, в которых работают бОльшей частью студенты. Для начала может и неплохо, но чем дальше оставаться на том же месте, тем хуже. У микрософта кодер - одна из низших должностей. А вот большинство программистов считают наоборот, как бы их не критиковали. А сверху сидит Блин Гейтс - архитектор, или как он там себя называл. Вот архитектор - весьма научная, диссертабельная (зачастую) область. У этого архитектора, ИМХО, диссертабельности больше в области экономики, по крайней мере сейчас. И вообще грань между программированием и непрограммированием весьма размыта - см. нечеткую логику и нечеткие множества. Та к вот, собственно, и задумался. Quote Share this post Link to post Share on other sites More sharing options...
Andron_ 0 January 16, 2010 Posted January 16, 2010 (edited) · Report post в процессе создания ПО разделяют несколько процессов... есть процесс "кодирования", который по моему мнению и выполняют рядовые программисты. По своей сути, процесс достаточно сильно механизирован... гмммммм... короче, хз... по-моему, писать диссертации по процессу кодирования весьма проблематично... Edited January 16, 2010 by Andron_ Quote Share this post Link to post Share on other sites More sharing options...
ASN 0 January 16, 2010 Posted January 16, 2010 · Report post EUrry Трудный вопрос. Сам не раз об этом задумывался. Возможно, применение автоматизация выбор алгоритма реализации какой-либо функции (к примеру приёмника фазоманипулированных сигналов) в зависимости от целевой платформы и требований по качеству реализации (помехоустойчивости). Кстати, видел научные труды, посвященные процессу автоматизации реализации алгоритма с разделением на программные и аппаратные части. То есть, описываешь алгоритм на определённой языке, задаёшь необходимые интерфейсы, запускаешь компилятор и на выходе получаешь бинарный файл для процессора и бинарный файл для прошивки в FPGA. Quote Share this post Link to post Share on other sites More sharing options...
haker_fox 119 January 16, 2010 Posted January 16, 2010 · Report post как скажем токарная обработка металлов. Соответственно и нет диссертабельности. Это неправда! Научные работы в области обработки металлов резанием еще, видимо, долго не исчерпают актуальности. Тоже самое можно сказать и о программировании. Другое дело кому это нужно, а кому нет. Quote Share this post Link to post Share on other sites More sharing options...
dxp 171 January 16, 2010 Posted January 16, 2010 · Report post Существует два программирования: 1. описание алгоритмов на языках программирования; 2. то, что у буржуев называется Computer Science (точнее, ее часть) - изучение и разработка как ЯП целиком, так и отдельных аспектов ЯП. Второе вполне научно. Первое - нет, как уже сказали выше, это по сути своей ремесло. Quote Share this post Link to post Share on other sites More sharing options...
EUrry 3 January 16, 2010 Posted January 16, 2010 · Report post Возможно, применение автоматизация выбор алгоритма реализации какой-либо функции (к примеру приёмника фазоманипулированных сигналов) в зависимости от целевой платформы и требований по качеству реализации (помехоустойчивости). Опять таки необходимо комплексное знание инструмента-программирования и соответствющего раздела техники. Существует два программирования: 1. описание алгоритмов на языках программирования; 2. то, что у буржуев называется Computer Science (точнее, ее часть) - изучение и разработка как ЯП целиком, так и отдельных аспектов ЯП. Второе вполне научно. Первое - нет, как уже сказали выше, это по сути своей ремесло. Так вот собственно то по второму направлению что-то делается или там практически всё сделано (по крайней мере при существующей парадигме)? Quote Share this post Link to post Share on other sites More sharing options...
SM 14 January 16, 2010 Posted January 16, 2010 · Report post А оптимизация не инженерная работа? Никак нет. Это конкретная математика. ИМХО программирование это вообще не наука, а ремесло. А наука, на которой базируется программиирование - дискретная математика (например в ней теория алгоритмов, теория автоматов, графы, кодирование, теория функционального программирования, и т.д.). И вот там тем есть. И любая разработка ЯП, оптимизаторов, и т.д., базируется на теоретических принципах, построенных при помощи дискретной математики. программирование это что - это описание алгоритма при помощи ЯП, и ничего более. А сам алгоритм - голимая дискретная математика. Quote Share this post Link to post Share on other sites More sharing options...
EUrry 3 January 17, 2010 Posted January 17, 2010 (edited) · Report post Никак нет. Это конкретная математика. Мне казалось, что автор в том случае имел в виду именно оптимизацию кода кодером, который хорошо знает принципы и возможности языка и при этом может применить более эффективную реализацию задачи с использованием того, чего не знает новичок. При этом программы специалиста и новичка будут работать с одинаковым результатом на выходе, но с разной эффективностью. Так вот это я и назвал хорошей работой квалифицированного инженера-программиста. А так, нисколько несомневаюсь в том, что Вы пишете ниже. Так вот уже начинает вырисовываться какая-то картина обоснованной ненаучности программирования с точки зрения, даже виртуозного, владения языками программирования. За рамки высококачественной (и то при условии, если программируются прикладные технические задачи и программист хотя бы на качественном уровне владеет сутью этой задачи) инженерной работы это не выходит. Осталось это как-то донести до зазвездившихся "программистов". Edited January 17, 2010 by EUrry Quote Share this post Link to post Share on other sites More sharing options...
SM 14 January 17, 2010 Posted January 17, 2010 · Report post Осталось это как-то донести до зазвездившихся "программистов". "зазвездившийся программист" может быть на самом деле хорошим специалистом в дискретной математике, сам того не зная. Или зная, но не считая эту сторону вопроса определяющей. И вот если такой программист на самом деле придумает что-то новое в этой области математики - то это вполне научная работа, даже в том случае, если он не знает, что сделал на самом деле. Но большинство таких программистов, думая, что что-то новое делают в науке, на самом деле изобретают там велосипед, давно описанный и доказанный. Т.е. просто делают одну из реализаций чего-то, описанного сто лет назад математически. А вот описав что-то новое математически - да, бесспорно, научная работа, но при этом вовсе не обязательно этот алгоритм (автомат, граф, другую мат. сущность) запрограммировать/закодировать для выполнения на той или иной вычислительной машине. Мне казалось, что автор в том случае имел в виду именно оптимизацию кода кодером, Возможно. Я подумал про оптимизацию кода оптимизатором по заданному программистом критерию, и работы по разработке оптимизаторов кода. Quote Share this post Link to post Share on other sites More sharing options...
Guest @Ark January 17, 2010 Posted January 17, 2010 · Report post Предлагаю автору топика следующую тему для диссертации: "Разработка "безглючных" приложений под ОС семейства Windows. Теоретические аспекты и методы практической реализации". :) IMHO, очень актуальная тема... Quote Share this post Link to post Share on other sites More sharing options...