Диплом на Nemerle?
От: Аноним  
Дата: 27.10.07 09:49
Оценка:
Здравствуйте. Не посоветуете что-нибудь?

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

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

Спасибо.
Re: Диплом на Nemerle?
От: hi_octane Беларусь  
Дата: 27.10.07 18:21
Оценка:
А>Очень нравится язык, хотелось бы написать что-нибудь интересное и элегантно-реализующееся именно на нем. Какую тему можете посоветовать на диплом?

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

Из полезного и доступного -- на сайте языка описан ряд открытых задач, которые вполне могут быть решены в рамках диплома, и при этом окажутся очень даже нужными. Например реализация traits/mixins, с каким-либо красивым алгоритмом устранения конфликтов ( http://nemerle.org/Traits ) -- информации по ним доступно на несколько дипломов, и примеры реализаций для других языков, и даже для C# описаны. Грамотная реализация имеет все шансы стать частью языка, что на защите может быть ещё одним плюсом.

Ещё можно рассмотреть красивое решение задачи логгирования -- например в виде макроатрибута на весь класс и спец-аттрибуты на отдельные методы и свойства по типу Searializable/NonSerialized -- для управления логгированием, детализацией и т.п. Вплоть до создания подробных крэшдампов и средства для их анализа, если на дипломе обязательно показать приложение с UI.
Re[2]: Диплом на Nemerle?
От: Аноним  
Дата: 28.10.07 09:53
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Из полезного и доступного -- на сайте языка описан ряд открытых задач, которые вполне могут быть решены в рамках диплома, и при этом окажутся очень даже нужными. Например реализация traits/mixins, с каким-либо красивым алгоритмом устранения конфликтов ( http://nemerle.org/Traits ) -- информации по ним доступно на несколько дипломов, и примеры реализаций для других языков, и даже для C# описаны. Грамотная реализация имеет все шансы стать частью языка, что на защите может быть ещё одним плюсом.


Заинтересовало. У меня еще есть около двух недель до принятия окончательного решения, но для себя я, похоже, уже все решил. Тема, с одной стороны довольно необычная (поспрашивал у знакомых — никто об traits не слыхал), а с другой позволяет управлять "глубиной" решения (надеюсь до этого не дойдет, но в случае отставания по срокам, можно будет упростить исходную задачу).
Re[3]: Диплом на Nemerle?
От: Sergey Chadov Россия  
Дата: 28.10.07 13:35
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Заинтересовало. У меня еще есть около двух недель до принятия окончательного решения, но для себя я, похоже, уже все решил. Тема, с одной стороны довольно необычная (поспрашивал у знакомых — никто об traits не слыхал), а с другой позволяет управлять "глубиной" решения (надеюсь до этого не дойдет, но в случае отставания по срокам, можно будет упростить исходную задачу).


Только не забудь про "экономическую часть" диплома. Не каждой кафедре экономики удается объяснить, что такое бесплатное ПО
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re: Диплом на Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.07 18:00
Оценка: +1
Здравствуйте, <Аноним>, Вы писали:

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


На мой взгляд интересной темой является "Реализация паттернов проектирования средствами метапрограммирования". Естественно, что "средства метапрограммирования" — это Немерле и его макросистема. Многие паттерны уже реализованы, так что останется только:
1. Объяснить, что без МП паттерны приходится реализовывать копипэстом (обосновать почему это так, в принципе это уже сделано умными людьми).
2. Описать принципы.
3. Привести реализации и объяснит их (они уже есть, можно только еще одни-два добавить, чтобы в плагиате не обвинили).
4. Продемонстрировать поднятие КПД программистов при использовании макросов автоматизирующих использование паттернов путем приведения рукописного кода и его аналога с использованием макросов (там все будет очевидно, кода становится меньше на порядки).
5. Ну, и спеть про светлое будущее.
6. Да! Надо не забыть объяснить, что применение макросов подобного рода совершенно безопастно и продемонстриовать что реализации паттернов могут общаться с прикладным программистом помогая ему устранять ошибки и непонимаение.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Диплом на Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.07 18:00
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Заинтересовало. У меня еще есть около двух недель до принятия окончательного решения, но для себя я, похоже, уже все решил. Тема, с одной стороны довольно необычная (поспрашивал у знакомых — никто об traits не слыхал), а с другой позволяет управлять "глубиной" решения (надеюсь до этого не дойдет, но в случае отставания по срокам, можно будет упростить исходную задачу).


Тема хорошая, но не простая. Если сделаешь, что будет тебе не только диплом, но и огромное спасибо от многих программистов. В прочем, я уже сомневаюсь, что эмуляция множественного наследования так уж необходима. Так что это нужно будет отдельно обосновать на более-менее реальных примерах.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Диплом на Nemerle?
От: ie Россия http://ziez.blogspot.com/
Дата: 30.10.07 06:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Заинтересовало. У меня еще есть около двух недель до принятия окончательного решения, но для себя я, похоже, уже все решил. Тема, с одной стороны довольно необычная (поспрашивал у знакомых — никто об traits не слыхал), а с другой позволяет управлять "глубиной" решения (надеюсь до этого не дойдет, но в случае отставания по срокам, можно будет упростить исходную задачу).


С писаниной тебе вряд ли кто-то помогать будет, а вот с кодом — на этом форуме всегда подскажут и помогут. Так что все в твоих руках
Превратим окружающую нас среду в воскресенье.
Re[4]: Диплом на Nemerle?
От: Аноним  
Дата: 30.10.07 14:49
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, <Аноним>, Вы писали:


VD>Тема хорошая, но не простая. Если сделаешь, что будет тебе не только диплом, но и огромное спасибо от многих программистов. В прочем, я уже сомневаюсь, что эмуляция множественного наследования так уж необходима. Так что это нужно будет отдельно обосновать на более-менее реальных примерах.


Угу, помню
Автор: VladD2
Дата: 09.05.06
. Зато сама по себе, задача, выглядит солиднее, т.к. traits — вещь неизвестная (я имею ввиду себя и тех людей, которые будут все это оценивать), а DP все-таки постоянно на слуху.
Насчет паттернов сам подумывал, но тут сразу возникает резонный вопрос, а в каком объеме их реализовывать? Если тупо писать все, что описано в GoF, то это будет многовато. А если реализовывать выборочно — встает вопрос — какие брать и почему (потом еще объяснять, почему взял именно эти и почему сделал не все, коль уж взялся).

В общем.. я весь в раздумьях..
Re[5]: Диплом на Nemerle?
От: ie Россия http://ziez.blogspot.com/
Дата: 31.10.07 17:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Насчет паттернов сам подумывал, но тут сразу возникает резонный вопрос, а в каком объеме их реализовывать? Если тупо писать все, что описано в GoF, то это будет многовато.


Хочу тебя обрадовать/огорчить (нужное подчеркнуть), но все паттерны GoF реализовать ну при всем желании не получится. Во-первых, потому что многие реализовывать смысла нет, например Factory Method, Iterator или Observer. Во-вторых, часть паттернов уже реализованы. Ну а в-третьих, часть паттернов с помощью макросов реализовать и не получится. Например, Builder или Flyweight, как тут могут помочь макросы ума не приложу. С остальными структурными паттернами еще можно поколдовать.

А>А если реализовывать выборочно — встает вопрос — какие брать и почему (потом еще объяснять, почему взял именно эти и почему сделал не все, коль уж взялся).


Я бы на твоем месте сделал так: брал бы по очереди все паттерны и старался бы понять, помогут ли в каждом конкретном паттерне макросы. Ответ на вопрос "почему сделал не все" придут сами собой, главное их вовремя зафиксировать
А те, что сделать возможно, делай! Начать бы посоветовал с просмотра всех паттерны, которые уже реализованы. За одно и код ревью устроить с пристрастием. Разобраться, каким же именно является паттерн, который известен на сайте nemerle.org по именем Aggregation (Composite), ибо композитом он уж точно не является

А>В общем.. я весь в раздумьях..


Это полезно
Превратим окружающую нас среду в воскресенье.
Re[5]: Диплом на Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.07 13:44
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Угу, помню
Автор: VladD2
Дата: 09.05.06
. Зато сама по себе, задача, выглядит солиднее, т.к. traits — вещь неизвестная (я имею ввиду себя и тех людей, которые будут все это оценивать), а DP все-таки постоянно на слуху.


Спорно. Множественное наследование (МН) и основанные на нем паттерны известны очень широко. А traits через МН описывается на раз. Так что я бы сказал, что обе задачи интересны.

А>Насчет паттернов сам подумывал, но тут сразу возникает резонный вопрос, а в каком объеме их реализовывать? Если тупо писать все, что описано в GoF, то это будет многовато.


Их там не так уж и много. Да и не нужно все реализовывать. Важно продемонсрировать, что МП (метапрограммирование) позволяет их реализовать в приципе. Ну, и обосновать от этого приемущества. В принципе — это уже было сделано Александреску в его дисскуссиях на С++-ных форумах и в его книге.

А> А если реализовывать выборочно — встает вопрос — какие брать и почему (потом еще объяснять, почему взял именно эти и почему сделал не все, коль уж взялся).


Да, по фигу в общем-то. Можно взять самые объемные чтобы был хороший психологический эффект от уменшения объема работ.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Диплом на Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.07 13:44
Оценка: +1
Здравствуйте, ie, Вы писали:

ie>Например, Builder


Строитель точно реализуется макросами. Точнее автоматизируется его реализация.

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

ie>Я бы на твоем месте сделал так: брал бы по очереди все паттерны и старался бы понять, помогут ли в каждом конкретном паттерне макросы. Ответ на вопрос "почему сделал не все" придут сами собой, главное их вовремя зафиксировать


+1
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.