OberonCore
https://forum.oberoncore.ru/

Семантический редактор
https://forum.oberoncore.ru/viewtopic.php?f=93&t=1542
Страница 5 из 34

Автор:  Илья Ермаков [ Воскресенье, 05 Июль, 2009 22:48 ]
Заголовок сообщения:  Re: Семантический редактор

Почему пройдёт, если слои машин создаются всегда? Расширили формальный аппарат новыми определениями - получили новую виртуальную машину. Навык представлять проекцию на предыдущую нужен.

Автор:  Илья Ермаков [ Воскресенье, 05 Июль, 2009 22:49 ]
Заголовок сообщения:  Re: Семантический редактор

Geniepro писал(а):
Вот так вот хреново у нас с пропагандой своих открытий. Делать умеем, а делиться ими -- нет.

С чем у нас хреново стало, так это с (недо)образованием.

Автор:  Alexey_Donskoy [ Воскресенье, 05 Июль, 2009 22:59 ]
Заголовок сообщения:  Re: Семантический редактор

Илья Ермаков писал(а):
Почему пройдёт, если слои машин создаются всегда? Расширили формальный аппарат новыми определениями - получили новую виртуальную машину. Навык представлять проекцию на предыдущую нужен.

Смайлик не заметил? :)
Из разряда вечных проблем и риторических вопросов :)
Нет ничего более постоянного, чем временное...

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 10:00 ]
Заголовок сообщения:  Re: Семантический редактор

Info21 писал(а):
Валерий Лаптев писал(а):
И идет эффективность лесом.
Нет уж.

Вот именно!
А тогда - гоняем студентов в хвост и в гриву за pow(x,2) вместо x*x.

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 10:04 ]
Заголовок сообщения:  Re: Семантический редактор

Info21 писал(а):
Валерий Лаптев писал(а):
И кстати, давно хотел задать вопрос:
если все же индекс вылетает за границу массива, то АВОСТ неизбежен?
И нет никаких средств оставить прогу на плаву?
А как же с надежностью?

Ну, ББ же остается на плаву.

Замените себя Искусственным Интеллектом -- и вперед :)

АВОСТ неизбежен. Это такая минимальная, но крайне при отладке etc. полезная мера.
Способ передать управление Искусственному Интеллекту.

Ага!!!!!!
ББ - это та самая функция main, которая перехватывает необработанные исключения (в смысле С++)! Таким образом, внутри ББ имеем инструмент исколючений. Программисту он не предоставляется в силу того же, почему отсутствует goto!
Осталось придумать надежную замену, типа как break вместо goto.

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 10:11 ]
Заголовок сообщения:  Re: Семантический редактор

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

Не всегда. Иногда должна вмешаться "центральная нервная система, эндокринная система или имунная система", а иногда поможет только напарник или "реаниматолог", то есть модуль-контролер. Мне кажется, что аналогии с живыми организмами, чья отказоустойчивость изумляет, здесь очень уместна. Вообще же отказоустойчивость - это целая наука: http://en.wikipedia.org/wiki/Fault-tolerant_system

Да, конечно, согласен с этим
Цитата:
Валерий Лаптев писал(а):
Надежность инструмента можно понимать в двух ипостасях:
1. инструмент диктует жесткую дисциплину организации кода.

Это идеал!

Дык у Вирта в Паскале уже было.
Цитата:
Валерий Лаптев писал(а):
2. инструмент выполняет тотальные проверки всего и при компиляции и при выполнении.
И идет эффективность лесом.
Ы?

При помодульной отладке время компиляции никого уже особо не волнует.
Что касается проверок при выполнении, то с этим придется смириться. Программист ОБЯЗАН предусмотреть и, если необходимо, указать действия системы во всех исключительных ситуациях, возникающих при ошибках времени исполнения (возможный выход вводимой переменной за пределы допустимого диапазона значений, недопустимое отклонение расчетной величины от контрольного значения, противоречивые данные, отсутствие необходимых данных и т.п.), иначе компилятор не должен принимать исходный код. Для этого инструментарий должен показать программисту все возможные места возникновения ошибок времени исполнения. Кроме того, инструментарий должен содержать механизмы разруливания исключительных ситуаций "по умолчанию" и, может быть, какие-то сценарии, из которых программист выберет один. Критичная система может содержать механизмы самообучения в процессе тестирования и генерить тестовые данные, но вряд ли это удастся как-то встроить в инструментарий.

спасибо, ценные размышления.

Автор:  Alexey_Donskoy [ Понедельник, 06 Июль, 2009 10:13 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
А тогда - гоняем студентов в хвост и в гриву за pow(x,2) вместо x*x.
Вы таки определитесь сначала, кого учите? Общее образование для школьников? Общее образование для студентов технических специальностей? Специальное образование программиста?

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 10:14 ]
Заголовок сообщения:  Re: Семантический редактор

Geniepro писал(а):
Вот так вот хреново у нас с пропагандой своих открытий. Делать умеем, а делиться ими -- нет.
"А потом вопим -- караул! украли!" :lol:
ЗЫ. Даже гугл -- и тот не знает о "проекциях Ершова-Футамуры".

Посмотрите "смешанные вычисления".
В журнале "В мире науки" 1986 года кажется была популярная статья о смешанных вычислениях.
А доклад Ершов делал несколько раньше, но в 80-х годах на какой-то мощной международной конференции.

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 10:15 ]
Заголовок сообщения:  Re: Семантический редактор

Alexey_Donskoy писал(а):
Валерий Лаптев писал(а):
А тогда - гоняем студентов в хвост и в гриву за pow(x,2) вместо x*x.
Вы таки определитесь сначала, кого учите? Общее образование для школьников? Общее образование для студентов технических специальностей? Специальное образование программиста?

Я - то давно определился. Студенты специальности "Автоматизированные системы обработки информации и управления".
Про школьников я и не заикался никогда.

Автор:  Alexey_Donskoy [ Понедельник, 06 Июль, 2009 10:26 ]
Заголовок сообщения:  Re: Семантический редактор

Ну дык, тогда конечно :) А вот топик тогда к чему относится - к школе или промышленности? :)

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 11:35 ]
Заголовок сообщения:  Re: Семантический редактор

Alexey_Donskoy писал(а):
Ну дык, тогда конечно :) А вот топик тогда к чему относится - к школе или промышленности? :)

К проблеме обучения студентов - лично мной по разнообразным дисциплинам программирования.
Кстати, давно хотелось увидеть конкретный список дисциплин, о которых Федор Васильевич в своем докладе упомянул.
У нас в учебном плане стоят следующие:
1. Информатика - федеральный курс. Но преподаем не мы, а соседняя кафедра, которая о программировании имеет смутные представления.
2. Программирование на языке высокого уровня - федеральный компонент, годовой курс. Преподаем мы. Вначале обучали на Турбопаскале. Потом, в связи с тем, что турбопаскаль исключили на чемпионатах мира (а дельфями мы никогда не занимались и не собирались), перешли на С/С++. Тем более, что универ (конкретно проректор по информатизации - очень далекий от программирования человек) взял курс на микрософтовскую студию. Это было несколько лет назад, когда я о ББ и не подозревал.
3. ООП - дисциплина по выбору, но обязательная для всех наших. Годовой курс. Тут преподяю я - конкретно на на С++ (как продолжение пункта 2) с небольшими экскурсами в общие принципы ООП.
4. Комбинаторные алгоритмы - дисциплина региональная, семестр. Правильнее этот курс назвать "структуры данных и алгоритмы", но не можем, ибо часы на него взяты из естественного цикла, где математика. Преподает наш выпускник, теперь уже кандидат. Преподает на С++ и больше на Додиезе, ибо был 4 года начальником отдела АСУ и все АСУ нашего универа сам лично переписал на Додиезе.
5. Базы данных - федеральный компонент, семестр. Но опять, к сожалению, преподает другая кафедра, хотя и наш выпускник. Не все там нас устраивает.
6. Операционные системы - федеральный компонент, семестр. Преподаем мы. Но линукс и unix - только теоретически.
7. Системное ПО - федеральный компонент, семестр. Преподаем мы, конкретно я. Естественно, на С++.
8. Технология программирования - федеральный компонент, семестр. Преподает тот же наш выпускник, бывший начальник отдела АСУ.
9. NET-программирование - региональный компонент, годовой курс. Преподает опять он же.
10.MS SQL Server - по выбору (или региональный, не помню - все равно для всех обязательный), семестр. Преподает еще один наш выпускник, кандидат наук.
11. Компьютерная графика (программирование) - федеральный компонент,семестр. Преподает наш препод, хоть и не кандидат.
12. Проектирование АСОИУ - федеральный компонент,семестр. Преподает один из наших же выпускников, кандидат наук.
13. Был Visual Basic - региональный компонент,семестр. Мы решили, что нашим полезно будет. Но сейчас его заменили на Управление процессом разработки. Преподаем мы.
14. Интернет-технологии - дисциплина по выбору, как обычно, обязательная для всех. Годовой курс. Преподает наш выпускник, кандидат наук, бывший чемпионом конкурса Цифровой ветер.

Еще у нас из 9 семестров 7 занято курсовыми работами и проектами: пункты 2, 3, 5, 9, 12. Еще есть курс годовой Информационные технологии. Но он отдан на соседнюююб кафедру, которая информатику преподает. Никак не отсудим обратно. Там тоже курсовой проект есть. И еще один КП, кажется по SQL-серверу.
И еще практики 3, 4 курса и преддипломная.

Вот такая программистская подготовка.
Очень практической направленности.

Автор:  Valery Solovey [ Понедельник, 06 Июль, 2009 12:04 ]
Заголовок сообщения:  Re: Семантический редактор

А пункт 6 - операционные системы - винда? По-моему, лучше уж юниксы по Таненбауму учить - миникс проще, поэтому учить будет быстрее. И время на что-нибудь вроде Оберона останется : ).

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 12:32 ]
Заголовок сообщения:  Re: Семантический редактор

Valery Solovey писал(а):
А пункт 6 - операционные системы - винда? По-моему, лучше уж юниксы по Таненбауму учить - миникс проще, поэтому учить будет быстрее. И время на что-нибудь вроде Оберона останется : ).

Дык прподам сначала самим выучить надо!
Теоретически - используется Таненбаум, естественно. Сейчас много литературы по осям есть. А практически - WinAPI рамматриваем.
Можно было бы Linux или тот же minix на виртуальной машине запустить. Но это ж нужна соответствующая квалификация! Так что до изучения всего - руки не доходят.

Автор:  Alexey_Donskoy [ Понедельник, 06 Июль, 2009 12:36 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
У нас в учебном плане стоят следующие:
Грустно, но я не компетентен в подавляющем большинстве пунктов этого учебного плана...

1. Информатика
Как выясняется, мало кто знает, что это такое вообще :)

2. ...в связи с тем, что турбопаскаль исключили на чемпионатах мира (а дельфями мы никогда не занимались и не собирались), перешли на С/С++
Вот так вот рождаются... чуть не сказал "ёжики" :)
Не, я понимаю, что хозяин - барин, но должна же быть хоть какая аргументация!

3. ООП - ... конкретно на на С++ ... с небольшими экскурсами в общие принципы ООП.
Ох... Мало нам Каймина в школе... После этого хоть стой, хоть падай! Мужики, ну вы что творите-то вообща, а?!

4. Комбинаторные алгоритмы... Преподает на С++ и больше на Додиезе
Как можно алгоритмы преподавать на С++, я не понимаю в принципе...

6. Операционные системы...
7. Системное ПО... Естественно, на С++.

Пардон, а чем различаются системное ПО и операционные системы? :) И почему "естественно"? Как раз-таки противоестественно должно быть!

8. Технология программирования...
базар, фонтан и UML?

5. Базы данных...
9. NET-программирование...
10.MS SQL Server

Ох, не сдам я ваш экзамен... и на работу меня не возьмут... Ничего здесь не знаю... Банковскую систему писал, было дело. Но с этим - не сталкивался :)

11. Компьютерная графика
Интересно, но непонятно. То есть знаю парочку курсов, где разжёвывают интерполяцию и OpenGL... Практическая ценность... Но зато интересно :)

12. Проектирование АСОИУ
хоть ставьте двойку, хоть нет - не слыхал такого термина... Понахватались западной терминологии, а свою запрятали под аббревиатуры...

13. Был Visual Basic...
Ну да, туда ему и дорога...

14. Интернет-технологии
перловый джаваскрипт? Кто б научил людей нормально сайты строить, которые бы не жрали трафик почём зря и не занимались сомнительными украшательствами в ущерб безопасности!

Грустно. Пора уходить из IT. Перспектив не видно даже в бинокль...

Автор:  Valery Solovey [ Понедельник, 06 Июль, 2009 12:45 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
Можно было бы Linux или тот же minix на виртуальной машине запустить. Но это ж нужна соответствующая квалификация! Так что до изучения всего - руки не доходят.
Какая квалификация? На оф. сайте есть образы для VMWare, на сайте VMWare есть бесплатный плейер для запуска данного образа (а может, и сервера бесплатные есть). Конечно, с непривычки это займёт не 5 минут, а 35, но это же не проблема : ). Правда, может возникнуть проблема с настройкой сети, но это мелочи. И без сети много чего есть для изучения.

Автор:  Valery Solovey [ Понедельник, 06 Июль, 2009 12:55 ]
Заголовок сообщения:  Re: Семантический редактор

Кстати, а каков охват при изучении БД? Натаскиваются "операторы SQL" или изучается строение БД? Такие БД как Vertica могут быть примером изученного материала?

P.S. Vertica и ещё кое-что не совсем обычное можно найти здесь

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 13:12 ]
Заголовок сообщения:  Re: Семантический редактор

Alexey_Donskoy писал(а):
Грустно, но я не компетентен в подавляющем большинстве пунктов этого учебного плана...

Какие ваши годы - еще научитесь... :)
Цитата:
1. Информатика
Как выясняется, мало кто знает, что это такое вообще :)

Ну, у нас есть одна активная преподавательница. Мы с ней посмотрели многие курсы в России, в том числе и некоторые московские - они нам понравились. Там математики дофига - думаем нагнуть смежную кафедру. А не смогут - отдавайте обратно взад - сами читать будем.
Цитата:
2. ...в связи с тем, что турбопаскаль исключили на чемпионатах мира (а дельфями мы никогда не занимались и не собирались), перешли на С/С++
Вот так вот рождаются... чуть не сказал "ёжики" :)
Не, я понимаю, что хозяин - барин, но должна же быть хоть какая аргументация!

А аргументация известная. Типа того, что весь мир на Микрософт сидит, это - круто, поэтому нам нельзя отставать.
Цитата:
3. ООП - ... конкретно на на С++ ... с небольшими экскурсами в общие принципы ООП.
Ох... Мало нам Каймина в школе... После этого хоть стой, хоть падай! Мужики, ну вы что творите-то вообща, а?!

1. Кто такой каймин?
2. ООП практически все равно на чем преподавать.
Там основных принципов - немного.

Цитата:
4. Комбинаторные алгоритмы... Преподает на С++ и больше на Додиезе
Как можно алгоритмы преподавать на С++, я не понимаю в принципе...

Да очень даже запросто! Почитайте книжки Роберта Сэджвика. У него один и тот же курс на нескольких разных языках написан: С, С++, Java.
Цитата:
6. Операционные системы...
7. Системное ПО... Естественно, на С++.

Пардон, а чем различаются системное ПО и операционные системы? :) И почему "естественно"? Как раз-таки противоестественно должно быть!

Оси - это только часть системного ПО. Все инструментальное ПО, начиная с интерпретатора виртуальной машины, и далее ассемблер, макроассемблер и макропроцессор, линкер, библиотекарь, мейкер, отладчик, профайлер, компилятор ЯВУ - это все системное ПО. Более точный термин - инструментальное. Вот устройство этого ПО и преподаю.
Цитата:

8. Технология программирования...
базар, фонтан и UML?

Не только. Ниже дам отдельный ответ - вопросы по технологии.
Цитата:
5. Базы данных...
9. NET-программирование...
10.MS SQL Server

Ох, не сдам я ваш экзамен... и на работу меня не возьмут... Ничего здесь не знаю... Банковскую систему писал, было дело. Но с этим - не сталкивался :)

Ну, базы данных - это классический курс - много учебников.
9 и 10 - это практически вещи. Нужные сегодняшним программерам практически обязательно. Иначе работу не найдут.
Ниже опять же набор вопросов по NET.
Цитата:
11. Компьютерная графика
Интересно, но непонятно. То есть знаю парочку курсов, где разжёвывают интерполяцию и OpenGL... Практическая ценность... Но зато интересно :)

Ну, тут есть классический учебник Роджерса.
Кроме того, Боресков книжки неплохие написал. Тут именно программирование графики. Кому интересно - тот лезет глубже.
Цитата:
12. Проектирование АСОИУ
хоть ставьте двойку, хоть нет - не слыхал такого термина... Понахватались западной терминологии, а свою запрятали под аббревиатуры...

АСОИУ - это из стандарта специальности. Автоматизированные системы обработки информации и управления. Есть даже учебник одного из патриархов . Хетагуров Ярослав Афанасьевич - очень известный человек в узких кругах. :)
Цитата:
13. Был Visual Basic...
Ну да, туда ему и дорога...

Не скажите. 1. Программирование в Оффисе - довольно востребование занятие, много книжек написано.
2. И такое программирование востребовано. Один из наших выпускников сейчас в Чикаго программит как раз на VB.
:D
Цитата:
14. Интернет-технологии
перловый джаваскрипт? Кто б научил людей нормально сайты строить, которые бы не жрали трафик почём зря и не занимались сомнительными украшательствами в ущерб безопасности!

Не, много технологий. Но поскольку мы на студии, то в первую очередь ASP.NET.
Но из свободного - связка php+apach+mysql.
Цитата:
Грустно. Пора уходить из IT. Перспектив не видно даже в бинокль...

Не...
Просто учиться надо постоянно.

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 13:23 ]
Заголовок сообщения:  Re: Семантический редактор

Valery Solovey писал(а):
Валерий Лаптев писал(а):
Можно было бы Linux или тот же minix на виртуальной машине запустить. Но это ж нужна соответствующая квалификация! Так что до изучения всего - руки не доходят.
Какая квалификация? На оф. сайте есть образы для VMWare, на сайте VMWare есть бесплатный плейер для запуска данного образа (а может, и сервера бесплатные есть). Конечно, с непривычки это займёт не 5 минут, а 35, но это же не проблема : ). Правда, может возникнуть проблема с настройкой сети, но это мелочи. И без сети много чего есть для изучения.

Да просто это связано с распределением нагрузки. Не всякий препод берется читать этот курс. А кто берется - у него еще помимо осей - дофига дисциплин. Поэтому просто руки не доходят (у некоторых) или квалификации не хватает (и так бывает).

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 13:24 ]
Заголовок сообщения:  Re: Семантический редактор

Valery Solovey писал(а):
Кстати, а каков охват при изучении БД? Натаскиваются "операторы SQL" или изучается строение БД? Такие БД как Vertica могут быть примером изученного материала?

P.S. Vertica и ещё кое-что не совсем обычное можно найти здесь

Читается классический курс, содержание которого определено в стандарте.
А именно для натаскивания на SQL у нас и есть SQL-сервер.

Автор:  Валерий Лаптев [ Понедельник, 06 Июль, 2009 13:42 ]
Заголовок сообщения:  Re: Семантический редактор

Технология программирования

1. Технология разработки программного обеспечения. Составляющие технологии разработки ПО. Характеристика современного этапа развития инженерии ПО.
2. Продукт. Что относится к продукту в инженерии ПО. Способы классификации программного обеспечения.
3. Общее понятие о проекте. Виды деятельности в проекте.
4. Менеджмент программных проектов. Задачи менеджмента и виды рисков.
5. Процесс. Классификация процессов. Примеры тяжеловесных и гибких процессов.
6. Модель жизненного цикла ПО. Сравнительная характеристика различных моделей ЖЦ ПО.
7. Командный и индивидуальный процесс разработки PSP и TSP.
8. Персонал. Управление персоналом. Структура команды разработчиков. Закон Брукса. Диаграмма Ганта.
9. Этапы анализа и проектирования. Общая характеристика. Различия и сходства.
10. Требования. Классификация требований. Общая схема анализа требований.
11. Прототипирование пользовательских интерфейсов. Законы создания интерфейсов с высоким Usability.
12. Модель вариантов использования.
13. Диаграммы последовательности системы.
14. Диаграммы переходов состояний.
15. Архитектура ПО. Определение, виды, классификация.
16. Диаграмма развертывания.
17. Процесс проектирование структуры реляционной базы данных на основе моделирования предметной области.
18. Нормальные формы. Приведение структуры реляционной базы данных к нормальным формам различного уровня.
19. Понятие об OLAP и OLTP приложениях. Их сравнительная характеристика.
20. Механизмы доступа к данным. Обзор технологий DB API, ODBC, OLEDB / ADO, ADO.NET, ORM. Применение технологий доступа к данным в различных языках программирования.
21. Объектно-ориентированное проектирование. Диаграмма классов.
22. Паттерны (шаблоны) проектирования. Назначение и применение паттернов проектирования.
23. Понятие о рефакторинге. Основные приемы рефакторинга.
24. Тестирование. Виды тестирования. Классификация методов тестирования.
25. Пред, пост- условия и инварианты. Использование модульных (Unit) тестов для автоматизации регрессионного тестирования.
26. Особенности разработки настольных приложений c использованием платформы .NET
27. Особенности разработки web приложений c использованием платформы .NET
28. Особенности разработки мобильных приложений c использованием платформы .NET
29. Обеспечение безопасности информационных систем. Основные вопросы безопасности информационных систем.
30. Вставка исполняемого кода. Механизм SQL Injection. XSS атаки. Использование ошибки переполнения буфера.
31. Сетевая безопасность. Защищенные протоколы. Взаимная аутентификация сервера и клиента.
32. Защита хранимых данных. Права и привилегии в СУБД и операционной системе. Криптографический подход.
33. Инфраструктура разработки. Управление конфигурациями проекта. Репозитарий проекта. Автоматизированная интеграция проекта.
34. Документационное обеспечение проекта. Технический проект и техническое задание. Рабочий проект. Автоматическая генерация документации по рабочему проекту.

Страница 5 из 34 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/