Появилась мысль писать об этом кандидатскую — более интересного ничего в голову не приходит, а с аспирантурой тянуть уже нельзя. К тому же, тема достаточна обширная — есть из чего выбирать направление.
Вопрос: насколько это реально и что уже есть на эту тему?
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Появилась мысль писать об этом кандидатскую — более интересного ничего в голову не приходит, а с аспирантурой тянуть уже нельзя. К тому же, тема достаточна обширная — есть из чего выбирать направление. INT>Вопрос: насколько это реально и что уже есть на эту тему?
Главный вопрос таков: а пол какой специальности и в каком совете собираетесь защищать такую тему?
Второй вопрос: на каком уровне анализ, ибо книжек на тему сравнительного изучения языков программирования — довольно много. Из последних: Тимоти Бадд, Бен Ари и Себеста.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
INT>>Вопрос: насколько это реально и что уже есть на эту тему? LVV>Главный вопрос таков: а по какой специальности и в каком совете собираетесь защищать такую тему?
По наиболее подходящей (кстати, по какой бы?) и во вменяемом и, предположительно, благожелательном совете
LVV>Второй вопрос: на каком уровне анализ, ибо книжек на тему сравнительного изучения языков программирования — довольно много. Из последних: Тимоти Бадд, Бен Ари и Себеста.
За фамилии спасибо. Но все, что я до сих пор видел — лиюо изложение теории ООП с примерами на одном-двух языках, либо брейнбенчи "сраним написание этого алгоритма на разных языках".
Мне представляются интересными следующие направления
1. Рассмотреть все языки (до которых дотянусь) как один метаязык и посмотреть, что этот язык может.
2. Изучить, как разные свойства языков (удобочитаемость, быстрообучаемость, портируемость, скорость...) взаимодействуют друг с другом и с решаемыми задачами. Типа насколько улучшение одного ухудшает другой и т.д.
3. Вообще попытаться составить картину-в-целом. Вот филологи изучают не столько отдельные языки, сколько семейства языков в целом — попытаться подойти к изучению попдобным образом.
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Мне представляются интересными следующие направления
насчет метаязыка не знаю — вряд ли, а вот всё остальное есть у Себесты (Роберт Себеста — "Основные концепции языков программирования")
IMHO, тема твоей диссертации на защите будет выглядеть не более чем попытка откоса от армии... без обид Ибо всё это — не более, чем сотрясание воздуха без всякогоо практического выхода. Кстати без практической применимости (ну или намека на неё) к защите тебя вряд ли допустят, а если и допустят, то ооочень сильно будут возражать...
Программирование и языки — тема сугубо практическая, а теоретические вещи, достойные называться научной работой — вещь очень редкая и исключительная.
Здравствуйте, INTP_mihoshi, Вы писали:
INT>>>Вопрос: насколько это реально и что уже есть на эту тему? LVV>>Главный вопрос таков: а по какой специальности и в каком совете собираетесь защищать такую тему? INT>По наиболее подходящей (кстати, по какой бы?) и во вменяемом и, предположительно, благожелательном совете
Ну, это долго искать придется!
Надо поступать таким образом: выбрать специальность подходящую, а уж анализ подгонять под специальность.
Кстати, шеф что говорит?
Посмотрите в Питере сайт кафедры Терехова LVV>>Второй вопрос: на каком уровне анализ, ибо книжек на тему сравнительного изучения языков программирования — довольно много. Из последних: Тимоти Бадд, Бен Ари и Себеста.
Забыл еще про книжку Кауфмана сказать — то что доктор прописал!
Обязательно найдите и прочитайте.
INT>Мне представляются интересными следующие направления
INT>1. Рассмотреть все языки (до которых дотянусь) как один метаязык и посмотреть, что этот язык может. INT>2. Изучить, как разные свойства языков (удобочитаемость, быстрообучаемость, портируемость, скорость...) взаимодействуют друг с другом и с решаемыми задачами. Типа насколько улучшение одного ухудшает другой и т.д. INT>3. Вообще попытаться составить картину-в-целом. Вот филологи изучают не столько отдельные языки, сколько семейства языков в целом — попытаться подойти к изучению попдобным образом.
Пока книгу Кауфмана не прочитаете — разговаривать даже не стоит.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Забыл еще про книжку Кауфмана сказать — то что доктор прописал! LVV>Обязательно найдите и прочитайте.
Кауфман мне понравился больше, но и он попадает в одну из двух указанных мной категорий, т.е. это базовая теория с некоторыми ссылками на реальные языки. Ни у кого не видел сочетания теории и практических исследований на эту тему — везде либо одно, либо другое. Я хочу пойти по пути от практики к теории, попытаться построить картину реального современного состояния языков. А для начала так сформулировать направление исследования, чтобы оно не казалось _только_ попыткой откосить от арми
Здравствуйте, INTP_mihoshi, Вы писали:
LVV>>Забыл еще про книжку Кауфмана сказать — то что доктор прописал! LVV>>Обязательно найдите и прочитайте.
INT>Кауфман мне понравился больше, но и он попадает в одну из двух указанных мной категорий, т.е. это базовая теория с некоторыми ссылками на реальные языки. Ни у кого не видел сочетания теории и практических исследований на эту тему — везде либо одно, либо другое. Я хочу пойти по пути от практики к теории, попытаться построить картину реального современного состояния языков. А для начала так сформулировать направление исследования, чтобы оно не казалось _только_ попыткой откосить от арми
Цель — какя? Один анализ, без какого-то синтеза результата — не прокатит ни в одном совете. Лиюл делать чисто теоретический диссер — с доказательством теорем о желательных свойствах ЯП и как это достигается на практике. То есть — новый языек и транслятор все-равно. А это — прямая дорога к Терехову, если поближе аналогичного нет.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Цель — какя? Один анализ, без какого-то синтеза результата — не прокатит ни в одном совете. Лиюл делать чисто теоретический диссер — с доказательством теорем о желательных свойствах ЯП и как это достигается на практике. То есть — новый языек и транслятор все-равно. А это — прямая дорога к Терехову, если поближе аналогичного нет.
УрГУшные мы У нас это называется Кафедра Информатики и Процессов Управления.
Новый язык — возможно, хотя я не уверен, что в этом есть необходимость. Может быть, это мне и предстоит выяснить В качестве цели можно назвать определение путей развития ЯП и разработку методологии выбора языков в зависимости от задачи. Мне не встречались как-то исследования на эту тему, подкрепленные серьезным анализом.
Здравствуйте, INTP_mihoshi, Вы писали:
INT> Мне не встречались как-то исследования на эту тему, подкрепленные серьезным анализом.
Они есть и если ты надумаешь писать на эту тему диссер,
то придется сначала все прочитать и выяснить, а что ты нового хочешь сказать
по этому поводу.
Я не хочу сказать, что тема совсем дохлая, но прочитать сначала придется
очень и очень много...
Формально для диссера нужно чтобы ты решил какую-то научную задачу.
Здравствуйте, bkat, Вы писали:
INT>> Мне не встречались как-то исследования на эту тему, подкрепленные серьезным анализом.
B>Они есть и если ты надумаешь писать на эту тему диссер, B>то придется сначала все прочитать и выяснить, а что ты нового хочешь сказать B>по этому поводу. B>Я не хочу сказать, что тема совсем дохлая, но прочитать сначала придется B>очень и очень много...
Я примерно так и думал... Не подскажешь, где порыть для почитать?
Re[3]: Сравнительный анализ языков?
От:
Аноним
Дата:
18.02.04 17:17
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:
INT>1. Рассмотреть все языки (до которых дотянусь) как один метаязык и посмотреть, что этот язык может.
Сразу вопрос: что рассматривать? Сервисные библиотеки, идущие совместно с языком, или конструкций самого языка? Если второе, то здесь пожалуй ничего особо интересного вы сказать не сможете. (Я пытался поискать хоть какую то информацию по новинкам в области системного программирования, в том числе и компиляции. Такое ощущение, что народ давно забросил этим заниматься, либо ушел в глубокое подполье). Если первое, то здесь большое поле для деятельности, только ценность такой работы, покрайней мере для меня, не понятна. INT>2. Изучить, как разные свойства языков (удобочитаемость, быстрообучаемость, портируемость, скорость...) взаимодействуют друг с другом и с решаемыми задачами. Типа насколько улучшение одного ухудшает другой и т.д.
Чем более лаконичен язык, тем проще ему научить и тем сложнее его читать. Чем мы ближе к машкоду, тем как правило быстрее. По поводу портируемости: найдите язык, программа на котором позволяла бы вывести в 3 строке 5 столбце экрана вывести "Hello world." (На джаба это наверное можно, только какой ценой это достигнуто) INT>3. Вообще попытаться составить картину-в-целом. Вот филологи изучают не столько отдельные языки, сколько семейства языков в целом — попытаться подойти к изучению попдобным образом.
Здесь все зависит от выбранной классификации, процедурное и логическое программирование, объектные или необектные, компилируемые или интерпритируемые и т.д. и т.п.
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Здравствуйте, bkat, Вы писали:
INT>Я примерно так и думал... Не подскажешь, где порыть для почитать?
Где почитать;
1) А что советует научный руководитель?
2.1) Четко сформулировать что необходимо найти, выбрать ключевые слова и искать в:
Электронном каталоге ГПНТБ — www.gpntb.ru
Научной электронной библиотеке — http://elibrary.ru
Широко известном в узких кругах цитатникеhttp://citeseer.com
2.2) Прочитать всё что найдеться, и на основе полученных знаний составить новое поисковое предписание, после чего перейти к пункту (2.1)
Повторять до тех пор, пока количество новых найденных статей не станет ничтожно мало по сравнению с уже найденными и прочитанными.
**И на последок — трагическая история из личной жизни:**
Лично у меня на это ушел год с небольшим, В результате выяснилось, что все мои идеи, метоты, алгоритмы и т.п. были и до меня
А диплом на носу
Писание же твое принято бысть и уразумлено внятельно. (С) Иван IV
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Появилась мысль писать об этом кандидатскую — более интересного ничего в голову не приходит, а с аспирантурой тянуть уже нельзя. К тому же, тема достаточна обширная — есть из чего выбирать направление. INT>Вопрос: насколько это реально и что уже есть на эту тему?
Для защиты кандидатской по техническим наукам (а эта тема ближе всего именно к т.н.) необходимо практическое внедрение полученных результатов (хотя бы формальное и частичное). Вплоть до того, что к диссертации надо приложить справку о внедрении (в моем случае было так — по-моему, это общее требование). Если хотите писать диссертацию — сначала подумайте, что в Вашем случае будет с внедрением. Если ничего — диссертацию не допустят к защите (несоответствие требованиям).
Здравствуйте, mikadi, Вы писали: M>Для защиты кандидатской по техническим наукам (а эта тема ближе всего именно к т.н.) необходимо практическое внедрение полученных результатов (хотя бы формальное и частичное). Вплоть до того, что к диссертации надо приложить справку о внедрении (в моем случае было так — по-моему, это общее требование). Если хотите писать диссертацию — сначала подумайте, что в Вашем случае будет с внедрением. Если ничего — диссертацию не допустят к защите (несоответствие требованиям).
А может он на к.ф.-м.н. идет
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, INTP_mihoshi, Вы писали:
INT>>1. Рассмотреть все языки (до которых дотянусь) как один метаязык и посмотреть, что этот язык может. А>Сразу вопрос: что рассматривать? Сервисные библиотеки, идущие совместно с языком, или конструкций самого языка? Если второе, то здесь пожалуй ничего особо интересного вы сказать не сможете.
Все-таки в основном второе. INT>>2. Изучить, как разные свойства языков (удобочитаемость, быстрообучаемость, портируемость, скорость...) взаимодействуют друг с другом и с решаемыми задачами. Типа насколько улучшение одного ухудшает другой и т.д. А>Чем более лаконичен язык, тем проще ему научить и тем сложнее его читать. Чем мы ближе к машкоду, тем как правило быстрее. По поводу портируемости: найдите язык, программа на котором позволяла бы вывести в 3 строке 5 столбце экрана вывести "Hello world." (На джаба это наверное можно, только какой ценой это достигнуто)
В том-то и фишка, что it depends. Слишком лаконичный текст может быть так же плохопонимаем, как и чересчур громоздкий.
Если компилятор и язык достаточно хорошо заточены под оптимизацию, то скорость может не намного отличаться от идеальной.
А 3 строчка 5го столбца — какое это имеет отношение к языку? А если это 50я точка 100го столбца, то программа будет несовместима с текстовым дисплеем 80 на 40?
Здравствуйте, mikadi, Вы писали:
M>Для защиты кандидатской по техническим наукам (а эта тема ближе всего именно к т.н.) необходимо практическое внедрение полученных результатов (хотя бы формальное и частичное). Вплоть до того, что к диссертации надо приложить справку о внедрении (в моем случае было так — по-моему, это общее требование). Если хотите писать диссертацию — сначала подумайте, что в Вашем случае будет с внедрением. Если ничего — диссертацию не допустят к защите (несоответствие требованиям).
Сейчас в качестве внедрения достаточно внедрить в учебный процесс — пишется акт внедрения в том вузе. где используется. При наличии связей написать такой акт — не проблема.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, INTP_mihoshi, Вы писали:
INT>>>1. Рассмотреть все языки (до которых дотянусь) как один метаязык и посмотреть, что этот язык может. А>>Сразу вопрос: что рассматривать? Сервисные библиотеки, идущие совместно с языком, или конструкций самого языка? Если второе, то здесь пожалуй ничего особо интересного вы сказать не сможете. INT>Все-таки в основном второе.
Еще обязательно прочитать книжку Лаврова и еще книгу Вольфенгагена
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Во, продаю идею! Нужно построить карту языков. А для диссертации — несколько карт, или даже несколько объёмных карт.
То есть, нужно проанализировать языки по нескольким критериям. По X один критерий, по Y другой. Готова карта, теперь три страницы объяснения, что мы видим и каковы причины скопления языков в квадрате 2-4 или 1-3.
Потом можно третий критерий откладывать в высоту. Тода будет видно, что особо "гористое" место на карте в квадрате 4-1, но при этом там довольно разряжённо расположены языки. А в квадрате 1-1 расположено очень много (большая плотность) языков с небольшой "высотой".
В астрономии на подобной "карте" типов звёзд выстраивают "главную последовательность". Для нас это будет значить, что многие языки укладываются в общую схему. Типа "или мало возможностей, или большая длительность обучения".
В общем, расположение информации в визуальном виде позволяет выделять закономерности (а возможно и строить предположения наперёд). Для начала используй Excel.
P.S. В числе критериев можно помянуть такие специфические: время создания языка (а также период активного использования); "уровень", то есть языки высого уровня и т.п.; время, необходимое для изучения языка; количество ключевых слов; средний размер файла кода; среднее количество функций-методов в программе; объём данных, с которыми работает программа.