OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 23 Октябрь, 2018 12:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 679 ]  На страницу Пред.  1 ... 20, 21, 22, 23, 24, 25, 26 ... 34  След.
Автор Сообщение
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Вторник, 28 Август, 2012 19:21 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Валерий Лаптев писал(а):
Ну и исследовательские работы по изучению возможных пользовательских операций вместо текстовых.


Что планируется в этом направлении?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Вторник, 28 Август, 2012 19:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9011
Откуда: Россия, Орёл
Валерий, Дмитрий, мне кажется, если брать то направление языка, в котором вы двинулись, полезно ещё раз пересмотреть Эль-76... Ну и Аду тоже.

НО! Не для учебного варианта. Это если есть замашки на пром. применение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 06:36 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Да, особенно кажется существенным подумать над механизмами программирования систем процессов. В свете сопрограмм (народ обсуждал и тут где-то) и задачных типов Ады (асинхронное рандеву с множественностью входов в процедуру).

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

А вообще хотелось бы поработать в такой среде. Особенно из-за структурности и комплексности документа (там ведь есть граф-вьюшка структуры и внедрение/связывание внешних формул/таблиц/изображений?)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 12:44 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
Сергей Прохоренко писал(а):
Валерий Лаптев писал(а):
Ну и исследовательские работы по изучению возможных пользовательских операций вместо текстовых.


Что планируется в этом направлении?


Текстовый редактор позволяет быстро, полностью нарушая синтаксис языка, преобразовать одну конструкцию в другую.
Очевидно, что за этим преобразованием лежит некий смысл ("у меня есть это, я хочу это, delete/cut/copy/paste/d&d/rename/insert - если повезло, то синтаксис потом снова правильный").
В семантическом редакторе нельзя нарушить синтаксис, а, следовательно, и сделать такое быстрое преобразование вручную.
Кроме того, в целях обучения отключены copy/paste и drag&drop.
Но каждое действие имеет смысл и автоматизировано.

Рассмотрим пример:
Код:
функция Ф(): целое
    # действия
    вернуть имя;
конец


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

В семантическом редакторе ключевые слова удалять нельзя. Поэтому придется удалить оператор "вернуть" (а представьте, что там было не просто имя, а очень длинное выражение),
вставить "если" и там заново написать выражение из "вернуть".
Но то, что мы проделали, имеет смысл. Даже можно тут увидеть много смыслов:
1) возвращаемое выражение надо проверить
2) выражение надо проверить
3) выражение надо присвоить новой переменной, чтобы проверить
4) выражение надо присвоить новой переменной (это прямо рефакторинг "extract variable").
5) и т.д.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 13:28 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Удачно раскрыто то, о чём тоже говорил:
Владислав Жаринов в viewtopic.php?p=73879#p73879 писал(а):
...
Цитата:
...
Тезис 3. Так как нарисованный алгоритм очень понятен — работу можно спокойно прервать в любой момент. Потом легко вернуться к её продолжению.

Тезис 4. Когда весь алгоритм нарисован и «отлизан», переходим к программированию.

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

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

...

В общем, крупные системы запрограммировать "по одной вершине" проблематично - во всяком случае, для этого надо иметь не только полноценное представление всех составляющих её содержания, но и ещё вспомогательные представления.
Сие, впрочем, из материальной инженерии известно хорошо - можно посмотреть хотя бы в Гл. 5 у Каминского...
- что если не отрывать разработку от документирования, то надо работать структурными единицами - чтобы и мыслить ими...
Думаю, и сказанное о детализации м.б. важно для определения возможных пользовательских операций...

Кстати, о вспомогательных представлениях. Разные схемы, типа реализованных в FIELD, будут поддерживаться (или уже есть)?
И что-то для реализации этих вещей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 14:36 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 2846
Откуда: Астрахань
Добавлю к сообщению Димы об операциях рефакторинга.
Например, однозначно нужна операция "выделить в функцию/метод последовательность операторов".
Эта операция мне представляется частным случаем более общей операции "одеть-раздеть".
Одевать и раздевать в любом случае нужно некую последовательность операторов. Но одеть можно в оператор если, в оператор цикла, в оператор определения функции, в оператор типа.
Сюда же можно отнести одквание-раздевание последовательности операторов в комментарий.

Кстати, о комментариях.
Комментарий в нашем понимании - это отдельный семантический узел в дереве. То есть комментарий - это практически нулевой оператор. Интерпретатор пока его пропускает.
НО!!!!!!
Ничего не мешает нам разработать специальные средства, которые пишутся именно в комментариях.
Например, можно писать в комментариях утверждения пред-пост-условий. Как в Эйфеле.

Уже сейчас комментарий переж оператором используется в качестве подсказки для учня. Это можно сделать обязательным - пусть учни комментируют каждый свой оператор в лабе.
В общем-то это вопрос настроек и дописывается отдельного интерпретатора для узла-комментария.
И возможности здесь не ограничены... :)
И, кстати, самого языка совершенно НЕ касаются!

Более того, можно реализовать обработку семантического дерева, состоящего только из комментариев. Например, таким образом можно реализовать аппарат сценариев исполнения лабораторных работ... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 19:32 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Дмитрий Грачёв писал(а):


Если в операторе IF (в общем случае - многоветочном: с ELSIFами) все условия размещаются в одних строках, а все действия по условиям - в других строках (а именно так должен выглядеть оператор IF), то нет ничего проще выше или ниже вставить сниппет оператора IF и вертикальным движением мыши передвинуть оператор "вернуть имя;" внутрь оператора IF ниже соответствующего условия. При этом должна быть автоматическая проверка допустимости такого перемещения.

Такой подход не отменяет, а дополняет необходимую операцию "одеть-раздеть".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Среда, 29 Август, 2012 20:18 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Валерий Лаптев писал(а):
Добавлю к сообщению Димы об операциях рефакторинга.
Например, однозначно нужна операция "выделить в функцию/метод последовательность операторов".
Эта операция мне представляется частным случаем более общей операции "одеть-раздеть".
...
Видимо, также и составной оператор ("шампур-блок")?..

Валерий Лаптев писал(а):
...
Комментарий в нашем понимании - это отдельный семантический узел в дереве. То есть комментарий - это практически нулевой оператор. Интерпретатор пока его пропускает.
НО!!!!!!
Ничего не мешает нам разработать специальные средства, которые пишутся именно в комментариях.
Например, можно писать в комментариях утверждения пред-пост-условий. Как в Эйфеле.
...
А можно ли логику с математикой тоже сделать обособленной от "чисто комментариев"? Чтобы было действительно как в Эйффеле (где утверждения специально выделены, благодаря чему среда их может использовать)? Там - ключевыми словами, а здесь - положением в структуре текста со скобками (разумеется, говорим о вьюшке).
И также - выделить и то, и другое всё-таки по структурным скобкам/операторам в цепочках?..

Т.е., чтобы отображалось как то так: viewtopic.php?p=73726#p73726.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Пятница, 31 Август, 2012 19:54 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Да, вот ещё. Контекст применения учебного языка подвергся критике. По ходу дискуссии направленность критики уточнилась. М.б. кто-то из имеющих отношение к делу выскажется?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Пятница, 31 Август, 2012 21:07 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
Владислав Жаринов писал(а):
Да, вот ещё. Контекст применения учебного языка подвергся критике. По ходу дискуссии направленность критики уточнилась. М.б. кто-то из имеющих отношение к делу выскажется?


Я этот вопрос вижу в том, чтобы "студни" (как говорит Валерий Викторович) как можно скорее осознали, что программирование - это оперирование семантическими понятиями,
конструктор из семантических деталек, а не набор символов, который надо переписать из учебника и нажать "Выполнить".
Для этого в нашей среде есть возможность выбирать синтаксис семантических понятий (псевдокод/С-подобный/Паскале-подобный/Питоно-подобный и т.д.).
Можно даже дать возможность написать свой синтаксис к каждому понятию. Для этого надо будет описать такой вот файлик:
Код:
<Root> ::= <body>
<While> ::= "ПОКА" <expression> "ПОВТОРЯТЬ"<body>"КОНЕЦ"
<DoNTimes> ::= "СДЕЛАТЬ" <expression> "РАЗ"<body>"КОНЕЦ"";"
<Array> ::= "%МАССИВ" <name>":" "МАССИВ" <expression> "ТИПА" <Type>";"
<Assign> ::= "%ПРИСВОИТЬ" <expression> ":=" <expression>";"
<Call> ::= "%ВЫЗВАТЬ" <expression>";"
<Constant> ::= "КОНСТАНТА" <name>":" <Type> "=" <expression>";"
<Field> ::= "%ПОЛЕ" <name><visibility>": "<Type>";"
<Input> ::= "Журнал.Ввести""("<expression>");"
<NullOperator> ::= <keyword>
<Output> ::= "Журнал.Вывести""("<expression>");"
<Return> ::= "ВЕРНУТЬ" <expression>";"
<VariableItem> ::= <name>: <Type>
<VariableNew> ::= "ПЕРЕМЕННАЯ" <Variables>";"
<Variable> ::= "ПЕРЕМЕННАЯ" <name>":" <Type>";"
<VariableWithInit> ::= "ПЕРЕМЕННАЯ" <name>":" <Type> ":=" <expression>";"
<Beginning> ::= "НАЧАЛО"<body>
<Comment> ::= "(*"<text>"*)"
<Do> ::= "ПОВТОРЯТЬ"<body>"ПОКА" <expression>";"
<Else> ::= "ИНАЧЕ"<body>
<ElseIf> ::= "А ЕСЛИ" <expression> "ТОГДА"<body>
<If> ::= "ЕСЛИ" <expression> "ТОГДА"<body>"КОНЕЦ"
<Module> ::= "МОДУЛЬ" <name>";"<body>"КОНЕЦ" <endname>";"
<Record> ::= "ЗАПИСЬ" <name><visibility><body>"КОНЕЦ" <endname>";"
<Function> ::= "ПРОЦЕДУРА" <name><visibility>"("<FormalParameters>"):" <Type>";"<body>"КОНЕЦ" <endname>";"
<Procedure> ::= "ПРОЦЕДУРА" <name><visibility>"("<FormalParameters>");"<body>"КОНЕЦ" <endname>";"
<MethodFunction> ::= "ПРОЦЕДУРА""("<ClassParameter>")" <name><visibility>"("<FormalParameters>")" ":" <Type>";"<body>"КОНЕЦ" <endname>";"
<MethodProcedure> ::= "ПРОЦЕДУРА""("<ClassParameter>")" <name><visibility>"("<FormalParameters>");"<body>"КОНЕЦ" <endname>";"
<Parameter> ::= <mode> <name>":" <Type>
<TypeParameter> ::= <mode> <Type>
<ArrayType> ::= "МАССИВ" <expression> "ТИПА" <Type>
<ProcedureType> ::= "ПРОЦЕДУРА" "("<FormalParameters>")"
<FunctionType> ::= "ПРОЦЕДУРА" "("<FormalParameters>") :" <Type>
<PointerType> ::= "УКАЗАТЕЛЬ НА" <Type>
<SimpleType> ::= "ЦЕЛОЕ"|"ВЕЩЕСТВЕННОЕ"|"БУЛЕВСКОЕ"|"СИМВОЛ"
<ClassParameter> ::= <name>":" <Type>
<Import> ::= "ПОДКЛЮЧИТЬ" <name>";"


и словарик русских/английских лексем. А потом программируй на синтаксисе, который сам написал. Не нравится - сам виноват :D
Тогда вместо отвращения к синтаксису, которым "пытали", придет осознание того, что разные языки семантически похожи (если смотреть их в рамках одной парадигмы, естественно), а синтаксис - всего-лишь текстовое отражение, нужное компилятору, чтобы не запутаться.
А если написано
Код:
public float f1(/*Type this,*/ int b) {
    return this.a + b;
}

или
Код:
PROCEDURE(this: Type) f1*(b: INTEGER) :REAL;
    RETURN this.a + b;
END f1;
 

то это - одно и то же.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Пятница, 31 Август, 2012 22:50 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
По поводу обучения путем ходьбы через грабли.
Уже не раз задавали этот вопрос, так как многие люди считают, что человек научится, если пару раз наступит на грабли и ему станет больно.
И они правы, но...
Когда человек изучает программирование и не проходит практику в серьезном проекте, то, делая ошибки, он не чувствует боль.
"Ну написал я три вложенных цикла с шестью брейками, но он же работает! Считает, тесты проходит. Задача решена."
И следующая задача будет решена так же, и следующая за следующей. Подобные вещи входят в привычку.
В результате человек приходит работать над сложным проектом, пишет эти макароны, потом меняются требования (чего в лабах не бывает - вот их слабое место),
и он понимает, что изменить написанное ему трудно, если вообще не забыл, что писал и как оно работает. В результате он перепроектирует и переписывает алгоритм.
Вот только наступив несколько раз на такие грабли, действительно, человек научится.
Но ведь уже поздно, он должен был наступить на них в УЗе, а не на работе.

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

Мы пока остановились на втором: раз среда обучает через лабы, то и метод обучения через грабли не применяем.
Что конкретно будет вместо этого, пока говорить рано (только начали работать над этой частью), но подход будет похож на спортивные тренировки,
когда тренер ставит технику, контролирует правильность выполнения приемов и бьет по рукам за плохое исполнение, объясняя, почему нельзя так делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Пятница, 31 Август, 2012 22:50 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Дмитрий Грачёв писал(а):
А набор семантических элементов как раз и будет включать ту "базу", которая нужна на практике.
Пока ориентируемся на матрицу компетенцией программиста


Эта матрица показалась мне довольно примитивной и поверхностной. Например, в ней мало или ничего не говорится о парадигмах программирования, о технологиях программирования, о стиле программирования, о качестве кода, об организации разработки программного обеспечения, о классификациях разрабатываемого программного обеспечения. А ведь разработка разных типов программного обеспечения требует совершенно разных знаний, навыков и умений:
  • простенькие php-сайты,
  • математические библиотеки,
  • драйверы,
  • компьютерные игры,
  • операционные системы и компиляторы,
  • встроенное ПО жесткого реального времени,
  • интерактивные веб-приложения,
  • корпоративные базы данных, middle-ware и бизнес-приложения,
  • мобильные приложения,
  • поисковые программы для интернета,
  • сложные управляющие комплексы,
  • обычные десктопные приложения.

Совершенно непонятно, на какого рода programmer'а рассчитана матрица, и что с ее помощью собираются делать (отсеивать претендентов на рабочие места, проектировать учебные курсы, давать направление для самообразования?).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 09:37 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Сергей Прохоренко писал(а):
Дмитрий Грачёв писал(а):
А набор семантических элементов как раз и будет включать ту "базу", которая нужна на практике.
Пока ориентируемся на матрицу компетенцией программиста


Думаю, что ориентироваться нужно на то, чтобы будущие программисты были способны делать разработки в самых перспективных технологиях. См. "Названы самые перспективные технологии 2012 г."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 11:18 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Дык ведь программист разными средствами и методами их использования может достичь предметных целей, перечисленных там?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 11:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7861
Откуда: Троицк, Москва
Владислав Жаринов писал(а):
Контекст применения учебного языка подвергся критике. По ходу дискуссии направленность критики уточнилась. М.б. кто-то из имеющих отношение к делу выскажется?
Это не критика, а фантазии человека, не имеющего опыта массового обучения.
Фтопку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 13:03 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Владислав Жаринов писал(а):
Дык ведь программист разными средствами и методами их использования может достичь предметных целей, перечисленных там?..


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 13:25 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
Сергей Прохоренко писал(а):
Сергей Прохоренко писал(а):
Дмитрий Грачёв писал(а):
А набор семантических элементов как раз и будет включать ту "базу", которая нужна на практике.
Пока ориентируемся на матрицу компетенцией программиста


Думаю, что ориентироваться нужно на то, чтобы будущие программисты были способны делать разработки в самых перспективных технологиях. См. "Названы самые перспективные технологии 2012 г."


Хорошо. Если коротко свернуть матрицу, то она требует знания:
  • структур данных
  • алгоритмизации
  • системного ПО
  • системы контроля версий исходного кода
  • автоматизации сборки
  • unit-тестирования
  • парадигм декомпозиции задач (от copy/paste к ООП)
  • организации структуры исходников
  • документирования кода
  • умения объяснить и выслушать
  • стиля кодирования
  • контрактов
  • механизма обработки исключений
  • сред/-ы разработки
  • фреймворка/-ов
  • баз данных
    + опыт и кругозор в вышеперечисленном
    + самообразование

Что из этого мешает и чего не хватает, чтобы программисту быть успешным в этих
Сергей Прохоренко писал(а):

технологиях


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 19:27 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9011
Откуда: Россия, Орёл
Сергей, это интересно, но несколько не то. Нет никакой проблемы для хорошего программиста начать работать в любой из таких областей. Конечно, для развития его, начиная со 2-3 года, хорошо взять какую-то такую область, как поле, на котором он прибретёт опыт решения реальных задач.
Как, например, в МИЭМ-е одна из кафедр "заморочилась" с ZigBee-сетями - и появилось много задач на разработку интересных устройств ПО, ещё и с рыночными перспективами... (всякие там "умные дома", брелки для тургрупп, брелки ребёнку, животным, и т.п.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Суббота, 01 Сентябрь, 2012 23:05 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Дмитрий Грачёв писал(а):
Что из этого мешает и чего не хватает, чтобы программисту быть успешным в этих
технологиях


Этот вопрос требует проведения большого исследования и более глубоких знаний, чем мои. Я бы не стал, не разобравшись, заявлять что знаю, какие именно технологии программирования должны применяться в этих областях, о которых все мы имеем весьма поверхностное представление (если вообще имеем). Можно, конечно, навскидку назвать несколько важных технологий, забытых авторами матрицы (HTML5, NoSQL, композиция (ООП), FPGA, конечные автоматы, веб-приложения, методы разработки критических приложений, параллельные вычисления), но это лишь небольшая часть настоящего ответа. Всё Вами перечисленное, за небольшим исключением, не выходит за рамки джентльменского набора C, C# или Java-программиста. Я уважаю эти платформы, но есть важные области, где должны использоваться совершенно другие технологии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 02 Сентябрь, 2012 08:12 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 2846
Откуда: Астрахань
Таким образом, все перечисленное представляет собой некое ядро знаний, которые должен изучить КАЖДЫЙ программист. А потом уже углубляться в спецкурсы... :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 679 ]  На страницу Пред.  1 ... 20, 21, 22, 23, 24, 25, 26 ... 34  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB