OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 11 Декабрь, 2019 21:00

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




Начать новую тему Ответить на тему  [ Сообщений: 145 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 8  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 18:39 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Еще, как мне кажется, мозги все-таки у людей устроены по разному. Мне, например, стиль "скульптор" неудобен, т.к для умственного контроля мне необходимо целостное восприятие, как "кирпич". Но, по моим наблюдениям у некоторых людей умственный контроль достигается за счет максимального разбиения (отсечения) задачи. Поэтому считаю передавливать не стоит. Интересно есть-ли какие-либо исследования на этот счет?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 19:13 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9164
Откуда: Россия, Орёл
Info21 писал(а):
Илья Ермаков писал(а):
Я тут у одного знакомца спросил, с какого перепуга он решил финансовую систему на Перле писать; ибо язык для крупных систем совершенно невменяемый. Так он ответил: "А мне и не нужно, чтобы был вменяемый. Тогда кто-то, кроме меня, сможет разобраться в этом. И меня могут уволить."
Это правда? Вот так совершенно сознательно?

По опыту общения со спецами по С++ из физиков ощущение, что они все-таки верят в то, что С++ это круто etc. Не значит, конечно, что не может быть вытеснения, так сказать, в подсознание. Но все-таки не вот так откровенно.


Да-да, именно так, сознательно!
(А так человек не противник "нормального программирования", в частности, в ББ быстро переучился, не плевался, линейные поиски тоже освоил...)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 19:16 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Александр Ильин писал(а):
У иных программистов так бывает, что пока одно сделает, другое сломает, пока то чинит, третье перестанет работать. И так пока не найдёт какой-то хрупкий баланс, назвать который надёжной программой язык не поворачивается, даже страшно его попросить что-то доработать. А почему так происходит? Потому что сложность его программы превышает его собственные возможности восприятия и обработки. Почему? Потому, что нет структуры.
Вы, не говорите структуры чего? нет. Необходимо выполнить пункты 3, 4, 5.

Александр Ильин писал(а):
У некоторых программистов так бывает, что когда его нет на месте, ПО глючит и всячески отказывается работать, а когда он стоит рядом и наблюдает, то всё работает как часы. : ) Пункт 16 - это требование обеспечить "эффект присутствия"?
Значит не выполнены пункты 11, 12.

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

Александр Ильин писал(а):
Я 5 лет вёл проект, который до меня пару лет вёл другой человек.
Отсюда я понимаю, что у Вас нет навыков коллективной разработки и сопровождения.

Александр Ильин писал(а):
Это как спортивная техника. Что есть признак мастерства? Постоянство. Если техника не поставлена, то постоянство становится всё призрачнее с каждой новой попыткой. Один раз можно вдарить и попасть по боксёру. Один раз можно увернуться от его удара. Но результат 12 раундов определяется прежде всего разницей в технике.
Александр, если это имеет отношение к теме, то я полностью согласен с Вами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 19:24 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2318
Откуда: Россия, Томск
Геннадий Тышов писал(а):
Ваша работа в коллективе получить дружескую оценку, как положительную так и отрицательную и безусловно вы прислушаетесь.
Безусловно?!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 19:30 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2318
Откуда: Россия, Томск
Геннадий Тышов писал(а):
Александр Ильин писал(а):
Я 5 лет вёл проект, который до меня пару лет вёл другой человек.
Отсюда я понимаю, что у Вас нет навыков коллективной разработки и сопровождения.
Да, пожалуй, можно сказать, что таких навыков у меня нет. Может быть, они есть, на недостаточно развиты. Что это принципиально меняет? Мы, вроде бы, говорили о сферическом программисте в вакууме, а не о коллективе таковых.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 19:34 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Александр Ильин писал(а):
Безусловно?!
Да, безусловно, ведь Вас приняли работать в коллектив по вашей просьбе, есть руководитель коллектива, ваша работа зависит от контактов в коллективе и с пользователями в предприятии, ваш заработок зависит от оценки результатов работы, вы должны быть без конфликтным.

Добавлено:
Вам помогли доучиться до требуемого уровня, в коллективе имеется движение кадров и для вас есть перспективы профессионального, карьерного роста и оплаты.


Последний раз редактировалось ==== Воскресенье, 14 Февраль, 2010 20:29, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 20:20 
Модератор
Аватара пользователя

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

Как финальный аргумент за "вольности" выдвигается то, что для меня программа - только конструкция, а вот с их, оппонентов, точки зрения - она ещё имеет и литературную, импровизационную подоплёку.
Вот, даже ссылку на статью, "толкающую" на этой волне Бейсик в образование, дали: http://eric.ed.gov/ERICWebPortal/custom ... o=ED280737


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 21:01 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
25 лет назад я считал, что программировать могут все, что это нормальная реализация умственной деятельности, как бы завершающая стадия. И, что для этого даже не нужно особенно учиться, а тот кто не умеет просто ленится. С тех пор, я конкретно, на уровне наблюдения вижу, что людей способных к программированию на самом деле мало. Человек может вполне владеть компьютером, быть к примеру системным администратором, или прекрасно разбираться в предметной области. но программировать не может. А тот кто может, вполне естественно держится за те навыки, которыми овладел, благодаря которым может программировать и "ругаться" здесь бесполезно. Учить да, безусловно, но не "передавливать" .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 21:14 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Знаете, Илья, не знаю, что вам написали в ЛС, но полагаю, попытку защитить текст программы как литературный текст. Во всяком случае, если бы я писал по этому поводу до вашего вчерашнего сообщениия, я бы тоже написал нечто подобное.

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

Но вчерашнее ваше, спонтанное, в общем-то, сообщение заставило меня серьезно задуматься. И я понял, чего я в ваших словах не понимал (простите за каламбур).

Те программисты, которых я знаю, включая меня, о том, что архитектура программной системы существует наслышаны, но как к ней подходить, с какими мерками, с какими инструментами - толком не знает никто. Все, чему нас учили (мы учились, как вариант) - это умение так скомбинировать операторы, чтобы получился результат, более-менее соответствующий постановке задачи.
А комбинирование это происходит на уровне "атомарных" операций, т.е. операций, как правило библиотечных, которые заведомо где-то прописано. В редких случаях собирается своя библиотека, которая в этот смысле тоже становится вместилищем "атомарных" операций. Беру в кавычки, поскольку это понятие [мне] еще предстоит обдумать; про Дейкстру я написал не в шутку.

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

Предъявление же требования некоторой структурной целостности (вроде одного RETURN или цепочки IF...ELSIF...END), зачастую даже не приходит в голову в силу отсутствия вообще какого-либо навыка в этой области.

Поэтому возникает естественная защитная (профессиональная!) реакция недоверия к сказанному, поскольку это выталкивает человека за пределы его круга познания (тут я наверное переборщил с формулировками ;))

Сессия не позволяет подумать над этими вещами основательно, но скажу, что текущее обсуждение уже сейчас позволяет сделать несколько выводов:
  • архитектура системы выражается тем же текстом, что и конкретные действия в программе, но имеет совершенно другой смысл.
  • Оберон(ы) имеют некоторое преимущество в архитектурном смысле благодаря синтаксической конструкции модуля, но это не значит, что подобная техника не может использоваться в других языках. В этом смысле ошибок можно наделать и на Обероне, и на С++
  • ДРАКОН более других способов выражения программистской мысли способствует архитектурным решениям, чем традиционные языки, благодаря более четкому разделению "модулей" в широком смысле этого слова.

Последнее высказывание требует дополнительного анализа, но представляется разумным.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 21:25 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Небольшое уточнение.

Имеет смысл говорить об архитектуре программного кода (термин, впрочем, неудачный), поскольку про архитектуру систем нам все-таки рассказывали - клиент-сервер, трехзвенная архитектура, распределенные системы etc.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 21:56 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9164
Откуда: Россия, Орёл
Ну, уровень алгоритмики довольно мелок.

Основная "борьба" за выработку инженерных методов (Димыч: "но как к ней (архитектуре) подходить, с какими мерками, с какими инструментами") идёт на другом уровне - компоновка системы, распределение, взаимодействия, обмен... И т.п.

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

Для программных комплексов всё веселее - там эта архитектура определяет буквально всё (Губанов вот не даст соврать :) ). И нужно иметь возможность проектировать и документировать её на соотв. уровне, а потом иметь возможность постепенно, документированно и строго, спускаться (проецировать спуском сверху) отдельные приложения и их компоненты.

Это всё - острые, важные задачи.

А тут в массе программёрской идёт такой разброд по поводу того, нужно это или нет на самом базовом уровне. Ужас. Небоскрёбы на болоте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:08 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
Геннадий Тышов писал(а):
Как видите, "Почему программа должна быть структурной" - это не проблема, о которой болит голова.
Как у преподавателей, я не знаю.

Она (голова) и не должна болеть по этому поводу. Ибо техника исполнения (программирования) в структурном стиле должна быть АВТОМАТИЧЕСКОЙ!
Как у боксеров, например, при выполнении какого-нить хука. Он же не думает, как его выполнять, в реальном бою - он думал об этом на тренировках!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:13 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
Info21 писал(а):
Илья Ермаков писал(а):
Я тут у одного знакомца спросил, с какого перепуга он решил финансовую систему на Перле писать; ибо язык для крупных систем совершенно невменяемый. Так он ответил: "А мне и не нужно, чтобы был вменяемый. Тогда кто-то, кроме меня, сможет разобраться в этом. И меня могут уволить."
Это правда? Вот так совершенно сознательно?
По опыту общения со спецами по С++ из физиков ощущение, что они все-таки верят в то, что С++ это круто etc. Не значит, конечно, что не может быть вытеснения, так сказать, в подсознание. Но все-таки не вот так откровенно.

Это следствие отношения к программистам работодателей. До тех пор, пока работодатели будут считать, что одного программиста нефиг делать заменить другим - так и будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:15 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Илья Ермаков писал(а):
Ну, уровень алгоритмики довольно мелок.
Основная "борьба" за выработку инженерных методов (Димыч: "но как к ней (архитектуре) подходить, с какими мерками, с какими инструментами") идёт на другом уровне - компоновка системы, распределение, взаимодействия, обмен... И т.п.

Если быть последовательными, то надо начинать с (или спускаться до) уровня алгоритмики.
Этим объясняется (для меня, во всяком случае) единственность RETURN.
Тогда "атомарность" становится доказуемой. Вероятно, что само по себе это повышает надежность системы (правда ценой некоторой избыточности), т.к. связи между соседними атомами становятся более надежными.

Программная система в этом случае обрабатывается одними и теми же методами, независимо от zoom'а, так сказать.

Кстати, становится более понятна и работа Горбунова-Посадова с его "Расширяемыми программами", поскольку понятие "гнездо" (в терминах книги) приобретает более яркий смысл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:27 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9164
Откуда: Россия, Орёл
так а я в последнем абзаце про что...
Как раз про то, что обидно же ж тратить время на объяснения на самом мелком уровне...

А Горбунов-Посадов - да, там кое-что есть :) Только с точки зрения оберонщика несколько поначалу "старо", потому что не про динамическую, а про статическую (генерационную) фазу. Но... Как раз на уровне общепроектном...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:29 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
Димыч писал(а):
Небольшое уточнение.

Имеет смысл говорить об архитектуре программного кода (термин, впрочем, неудачный), поскольку про архитектуру систем нам все-таки рассказывали - клиент-сервер, трехзвенная архитектура, распределенные системы etc.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:35 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Про гнезда я узнал раньше, чем про Оберон 8)

Что до "обидно", мы же говорим о дисциплине, поэтому тут все важно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:50 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
В традиционном стиле писать проще. По ходу мыслей вырисовывается алгоритм. А чтобы написать более менее красивый вариант с разбиением большого кода на автономные части, без break-return-ов, нужно изрядно "попариться".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 22:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9164
Откуда: Россия, Орёл
Писать - проще. Работать - сложнее. :)

Вообще, по мере роста начинаешь измерять КПД проекта по тому, что из него остаётся, если не учитывать решённую основную задачу.

Если просто "писать" - то польза от проекта ~ 0. В фонд базовых средств не идёт ничего.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Февраль, 2010 23:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2933
Откуда: г. Ярославль
Димыч писал(а):
...Этим объясняется (для меня, во всяком случае) единственность RETURN.
Тогда "атомарность" становится доказуемой.
По всей видимости, множественность выхода из цикла на коротких кусках типа IF ... THEN EXIT END - это такая попытка достичь доказуемой атомарности внутри тела цикла. У меня давным-давно такое случалось, когда тело цикла было глючным и трудноотлаживаемым, и приходилось нарезать на такие вот кусочки. Чтобы "хоть как-то" заставить цикл заработать, да.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 145 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 8  След.

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


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

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


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

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