OberonCore
https://forum.oberoncore.ru/

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

Автор:  Владислав Жаринов [ Воскресенье, 02 Сентябрь, 2012 08:44 ]
Заголовок сообщения:  Re: Семантический редактор

Дмитрий Грачёв писал(а):
...
Хорошо. Если коротко свернуть матрицу, то она требует знания:
  • ...
    + опыт и кругозор в вышеперечисленном
    + самообразование

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

Но непренебрежим системный подход к программам. О котором говорили и Усов, и Ермаков. В рамках которого может оказаться, что контракты (в том виде, как они применены Мейером, например) не помогают разработке программной системы... а среда разработки должна поддерживать проектное производство программ из тех самых "гарантоспособных деталей" (и об этом можно найти здесь, скажем).

Автор:  Сергей Прохоренко [ Воскресенье, 02 Сентябрь, 2012 10:53 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
Таким образом, все перечисленное представляет собой некое ядро знаний, которые должен изучить КАЖДЫЙ программист. А потом уже углубляться в спецкурсы... :)


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

Задача вузов, мне кажется, в том, чтобы выпускать конкурентоспособных программистов с потенциалом быстрого роста. Они уже должны хорошо разбираться в том, что программисты старшего поколения еще только должны осваивать. Я сужу по своему старшему сыну - студенту 4-го курса. Ему нравится C#, но работать он собирается в области разработки веб-приложений, где C# со всеми его Silverlight и ASP.NET уже где-то на обочине.

Автор:  Илья Ермаков [ Воскресенье, 02 Сентябрь, 2012 11:25 ]
Заголовок сообщения:  Re: Семантический редактор

Ну а что там не на обочине? PHP/Python и прочие "поделки"?

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

Как раз мечта - вести разработку в вебе на традиционных языках. Несмотря на проблемы Явы, но единственное из "массового", на чём можно нормально создать и развивать Enterprise-проекты - это она. Это из массового... .NET - это vendor-lock + большая навороченность, но, в принципе, это второе, на чём из массового можно это делать. Ещё бы на клиенте не махаться с JavaScript с его "динамичностью".

Автор:  Сергей Прохоренко [ Воскресенье, 02 Сентябрь, 2012 11:56 ]
Заголовок сообщения:  Re: Семантический редактор

Илья Ермаков писал(а):
Ну а что там не на обочине?

Я присматриваюсь к JavaFX 2.2 и JavaFX Scene Builder 1.0 (от Oracle), GWT (от Google) и JQuery (теперь от Microsoft и Adobe).

Илья Ермаков писал(а):
Как раз мечта - вести разработку в вебе на традиционных языках.

Отсюда вывод: структурный редактор (в т.ч. "Семантический редактор") просто ОБЯЗАН (прямо или косвенно - путем интеграции с другими инструментами) поддерживать веб-разработку. И это уже самое что ни на есть "ядро знаний", а не "спецкурс".

Автор:  Владислав Жаринов [ Воскресенье, 02 Сентябрь, 2012 12:13 ]
Заголовок сообщения:  Re: Семантический редактор

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

Автор:  Сергей Прохоренко [ Воскресенье, 02 Сентябрь, 2012 12:32 ]
Заголовок сообщения:  Re: Семантический редактор

Владислав Жаринов писал(а):
Так смысл сказанного Ильёй вроде как - что должен, но разработку как распределённой системы... просто использующей для передач предметов труда между АРМами веб... что не обязательно требует реализовать и эти передачи, и функции АРМ "по последней моде"...


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

Автор:  Илья Ермаков [ Воскресенье, 02 Сентябрь, 2012 12:41 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
]JQuery


Я бы советовал, если уж нужен JS (ну а куда пока что без него, нечего на клиенте применить), присмотреться к Qooxdoo. Там неплохая попытка сделать традиционный ООП-каркас, при этом с явным декларированием классов, статическими проверками при трансляции (да-да, там запускается компилятор-препроцессор). + возможность создавать GUI, подобный настольному, вообще "не зная" про уровень HTML. Типа, NewButton(), NewWindow() - и вперёд. Плюс очень хорошая документация, качественно всё.

JQuery страдает "декларативной химерой" (шоб всё в одну строчку за счёт волшебных точечек, $ и проч.)
Недавно интегрировался с Яндекс.Картами, там нужно вовремя инициализировать карту, т.к. у меня на сайте сначала она не видна (в невидимом div-e). Я написал простейший конечный автомат, отражающий ситуацию. Потом в доке Яндекс.Карт увидел "решение" моей проблемы с кодом на JQuery, где навешивались декларативно какие-то обработчики и проч. Объём кода тот же, но "нелинейность" логики та ещё...
Не говоря про моду на замыкания и т.п.

Автор:  Владислав Жаринов [ Воскресенье, 02 Сентябрь, 2012 12:49 ]
Заголовок сообщения:  Re: Семантический редактор

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

Автор:  Сергей Прохоренко [ Воскресенье, 02 Сентябрь, 2012 14:30 ]
Заголовок сообщения:  Re: Семантический редактор

Дмитрий Грачёв писал(а):
По поводу обучения путем ходьбы через грабли.


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

Иначе можно до пенсии заниматься обучением путем набивания шишек. Если даже при этом человек научится обходить некоторые грабли, то у него не останется времени на изучение чего-то более серьезного. Такой подход можно применять только к законченным разгильдяем, для которых слова преподавателя - пустой звук. Двоечникам можно дать в руки обоюдоострый язык Си и заставить их делать сложный проект. Тогда они, может быть, усвоят, что преподавателя надо слушать, но толковых программистов из них всё равно не получится.

Автор:  Валерий Лаптев [ Воскресенье, 02 Сентябрь, 2012 21:08 ]
Заголовок сообщения:  Re: Семантический редактор

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

Категорически неверно!
НЕ ОСНОВНАЯ задача вуза - изучать конкретные технологии.
Как раз основная задача - изучать фундаментальные вещи. А технологии - преходящи.
Более того, в вузе нужно развивать науку в сфере ИТ-технологий.
Более того, готовые технологии надо изучать не с практической точки зрения, а с научной.
Пресловутая ориентация на потребности бизнеса - просто на корню убивает развитие... :(
И

Автор:  Сергей Прохоренко [ Воскресенье, 02 Сентябрь, 2012 23:57 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
НЕ ОСНОВНАЯ задача вуза - изучать конкретные технологии. Как раз основная задача - изучать фундаментальные вещи. А технологии - преходящи.

Может быть, всё-таки, "НЕ ОСНОВНАЯ задача вуза" - изучать конкретные инструменты разработки (языки, фреймворки и т.п.), которые действительно преходящи? Разве технологии (парадигмы программирования, стили программирования, типы программного обеспечения, способы управления памятью и т.п.) преходящи? А что тогда фундаментальные вещи?

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

Валерий Лаптев писал(а):
Более того, в вузе нужно развивать науку в сфере ИТ-технологий.

Нужно. И для этого нужно, кроме прочего, изучать современные и перспективные технологии.

Валерий Лаптев писал(а):
Более того, готовые технологии надо изучать не с практической точки зрения, а с научной.
Пресловутая ориентация на потребности бизнеса - просто на корню убивает развитие... :(

А разве я призывал ориентироваться на потребности бизнеса? Тогда было бы достаточно преподавать основы Java, Oracle, PHP и JavaScript с парой основных фреймворков. Я ведь предложил ориентироваться на прогноз Gartner с более чем десятилетним горизонтом! Бизнес еще не решает многих из этих задач. И это не прогноз используемых технологий, а прогноз предметных областей их использования. Но в выборе и в создании собственно новых технологий никто не сковывает научную точку зрения практическими соображениями.

Моя цель - чтобы структурный/семантический редактор позволял решать новые сложные задачи, с которыми столкнутся сегодняшние студенты через десять лет. Тогда он будет востребован и как учебное пособие.

Автор:  Дмитрий Грачёв [ Понедельник, 03 Сентябрь, 2012 10:34 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
Студенты поступали в ВУЗ, чтобы получить конкретную профессию, которая будет кормить их самих и их семьи в наше нелегкое время. Им нужны как технологии (кругозор), так и по-возможности, хотя бы основные инструменты разработки. Огромная доля выпускников не может работать по специальности, так как у них нет необходимых для работы конкретных знаний, умений и навыков, а есть только "фундаментальные" (т.е., абстрактные "основы").


У нас всех выпускников расхватывают еще по выпуска. Даже троечников. Технологий нам хватает по горло на 3-4 курсах. А вот на 1-2 курсах больше половины "отваливается".
Из них половина из-за математики, вторая (имхо) из-за С++. А у тех кто "выжил" база в плане программирования не очень. Так как С++ в совокупности с VS располагают писать макароны.
А преподаватель уследить физически не успевает.

Мне вообще не повезло в этом плане. До С++ был бейсик, а не паскаль. На 5 курсе пришлось переучиваться. До сих пор переучиваюсь. :evil:

Автор:  Сергей Прохоренко [ Понедельник, 03 Сентябрь, 2012 12:55 ]
Заголовок сообщения:  Re: Семантический редактор

Дмитрий Грачёв писал(а):
...Технологий нам хватает по горло на 3-4 курсах...

...А у тех кто "выжил" база в плане программирования не очень. Так как С++ в совокупности с VS располагают писать макароны...


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

Автор:  Дмитрий Грачёв [ Понедельник, 03 Сентябрь, 2012 12:59 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
Дмитрий Грачёв писал(а):
...Технологий нам хватает по горло на 3-4 курсах...

...А у тех кто "выжил" база в плане программирования не очень. Так как С++ в совокупности с VS располагают писать макароны...


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


Угу :wink:

Автор:  Валерий Лаптев [ Воскресенье, 09 Сентябрь, 2012 11:20 ]
Заголовок сообщения:  Re: Семантический редактор

Первая неделя обучения 1 курса с помощью Semantic IDE.
Преподы отмечают следующие полезные нюансы:
1. русские ключевые слова - они же профессиональная терминология, которые студенты ВИДЯТ, а не только слышат.
2. студенты УСПЕВАЮТ набрать программу и выполнить примерно за пол-пары. Причем в общей массе темп работы примерно одинаковый. В отличие от текстового редактора, где темп набора и количество ошибок сильно разнятся от студента к студенту. Сейчас ЕДИНИЦЫ не успевают. Процентов 95 успевают и набрать и ошибки исправить, и выполнить два-три раза.
Поскольку скорость работы оказывается примерно одинаковой у всей группы. Преподу – большое облегчение.
Препод уделяет больше времени тестированию программы, а не набору и исправлению ошибок.
3. "Вылетов" среды пока не обнаружено - в трех подгруппах (человек от 50 до 60).
4. Начала набираться статистика по операциям рефакторинга. Например, возникла потребность в операции перестановки соседних операторов. Мне, например, такая операция в голову не приходила.

5. Проблема ломки существует. Те немногие, которые успели попробовать писать на С++/паскале в стандартном текстовом редакторе, не сразу адаптируются. Абсолютные новички - воспринимают сразу и делают меньше ненужных телодвижений... :)


6. Преподы уже предвкушают: в инете НЕТ решения лабов. Ранее ленивые студни в инете списывали отвратный код, который препод должен был выжечь каленым железом, тратя массу нервной энергии ("работает же... :) ). Сейчас студенты должны будут писать ручками... :)

Автор:  Владислав Жаринов [ Воскресенье, 09 Сентябрь, 2012 11:33 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
Первая неделя обучения 1 курса с помощью Semantic IDE.
...
4. Начала набираться статистика по операциям рефакторинга. Например, возникла потребность в операции перестановки соседних операторов. Мне, например, такая операция в голову не приходила.

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

Как с отражением наследования и над-императивных подходов (возможно, как здесь предполагалось)?..

Автор:  Дмитрий Грачёв [ Воскресенье, 09 Сентябрь, 2012 12:03 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
5. Проблема ломки существует. Те немногие, которые успели попробовать писать на С++/паскале в стандартном текстовом редакторе, не сразу адаптируются.


А я заметил, что ломка началась только у тех, кто программил на С++. Ребята с тех. лицея без проблем сделали лабу быстрее всех.

Автор:  Дмитрий Грачёв [ Воскресенье, 09 Сентябрь, 2012 12:07 ]
Заголовок сообщения:  Re: Семантический редактор

Владислав Жаринов писал(а):
Валерий Лаптев писал(а):
Первая неделя обучения 1 курса с помощью Semantic IDE.
...
4. Начала набираться статистика по операциям рефакторинга. Например, возникла потребность в операции перестановки соседних операторов. Мне, например, такая операция в голову не приходила.

5. Проблема ломки существует. Те немногие, которые успели попробовать писать на С++/паскале в стандартном текстовом редакторе, не сразу адаптируются. Абсолютные новички - воспринимают сразу и делают меньше ненужных телодвижений... :)
...
Как с отражением наследования и над-императивных подходов (возможно, как здесь предполагалось)?..


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

Но это туда дальше. Сейчас пока другие проблемы.

Автор:  Сергей Прохоренко [ Воскресенье, 09 Сентябрь, 2012 12:08 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
4. Начала набираться статистика по операциям рефакторинга. Например, возникла потребность в операции перестановки соседних операторов. Мне, например, такая операция в голову не приходила.


Хватаем оператор или блок мышкой и сдвигаем вверх или вниз в произвольное место. Если туда разрешено вставить, то это обозначается курсором вставки в виде горизонтальной линии. Отпускаем левую кнопку мыши, и происходит необходимое перемещение кода. Например, можно передвинуть код вовнутрь блока или, наоборот, из блока наружу. Разумеется, должен поддерживаться принцип "только один оператор на строке".

Автор:  Дмитрий Грачёв [ Воскресенье, 09 Сентябрь, 2012 12:12 ]
Заголовок сообщения:  Re: Семантический редактор

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


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


Да, и тоже самое Ctrl+X/Ctrl+V.
Но Валерий Викторович не хочет пока такую штуку студентам давать.
Хотя это вроде не копирование, и ничего криминального тут нет.

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