Будущее Lazarus как конкурента Delphi в Enterprise-секторе

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 05.03.2013 16:08:29

Лекс Айрин писал(а):Неправильно. Все имеют таланты, но не все могут их осознать и развить.

Все люди разные. У одних талант в одном, а у других в другом. Талант обозначает способности в некой области выше среднего. Поэтому Ваше определение ошибочно по сути. Не путайте людей, и серийную штамповку.

Добавлено спустя 1 час 17 минут 48 секунд:
Re: Будущее Lazarus как конкурента Delphi в Enterprise-секторе
Лекс Айрин писал(а):Визуально, имхо, стоит представлять объекты, ссылки и, да, оператор case. Точнее, взаимосвязи между ними. Уже при написании метода туда стоит "провалиться", открыв его текст в отдельном окне. Все остальное легко проделать и в текстовом редакторе.

В хорошо написанной программе это не нужно визуально представлять, т.к. нет надобности. Все должно быть очевидным, так, чтобы никогда не приходилось заглядывать в описание. Через десять лет открыл код программы и как будто вчера написал.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение Лекс Айрин » 05.03.2013 17:44:19

alexey38 писал(а):Поэтому Ваше определение ошибочно по сути. Не путайте людей, и серийную штамповку.


Где я сказал, что люди все одинаковы? И где я сказал, что таланты у людей одинаковы?

alexey38 писал(а):В хорошо написанной программе это не нужно визуально представлять, т.к. нет надобности.


Ну-ну... вот только с ростом плюшек в программах они растут, изменяются и накапливают ошибки ((( Иногда и в структуре кода.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение yantux_netbook » 05.03.2013 19:35:51

alexey38 писал(а):
yantux_netbook писал(а):Нарисовать взаимосвязь между различными типами данных нарисовать проще, чем набить эту взаимосвязь в тексте или точнее сказать этот способ лучше комбинировать с вводом текста.

Иллюстративно показать взаимосвязь графически будет проще и нагляднее. Например, имеем квадратик (таблица БД) имеем другой квадратик (визуальный компонент TDBGrid) и мы от одного квадратика рисуем стрелочку к другому квадратику. Получаем очень наглядное изображение. Но когда мы хотим детализировать, то таблица содержит 20 полей со своими английскими идентификаторами и своим порядком, и имеем TDBGrid с 30 колонками, где 15 соответствуют 15 полям таблицы БД в ином порядке, чем в БД, и еще 15 - это вычисляемые поля (некие логические или арифметические операции с исходными полями таблицы БД с визуализированным результатом), то в графическом виде мы получаем очень сложную схему с кучей пересекающихся стрелочек с подписями и т.п. Текстовая таблица будет намного нагляднее.


В схемотехнике, чертежах в конечном счёте используют комбинацию визуального отображения и таблиц. Ни чего более умного вроде пока не придумано. Думаю с алгоритмами и средой разработки программ по сути должно сильно различаться.
yantux_netbook
новенький
 
Сообщения: 15
Зарегистрирован: 30.10.2012 23:13:24

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 05.03.2013 19:45:33

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

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

Меня мои учителя по программированию (очень грамотные были спецы) сразу так научили делать. Не нужно делать описание программы, ее структуры и связей. Не нужно запоминать эту структуру. Не нужно ее визуализировать. Нужно иметь некоторый набор правил и принципов, исходя из которого структура программы является однозначной. Поэтому когда мне говорят, что в программе написанной 10 лет назад, возникла ошибка при таком-то действии в таком-то окне. Я в ответ еще не глядя в год и ничего не вспоминая сразу для себя помечаю название модуля, название класса или функции, а иногда и переменной. Далее подымаю старый код, открываю нужный модуль, класс, функцию и ее просто смотрю. В 90% случаев без всякого отладчика ошибка находится путем перепроверки текста этого участка кода программы. Иногда можно запустить отладчик.

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

Кстати, применяя такой способ программирования у меня получается поддерживать код написанный не мною, а коллегами, использующими тот же способ программирования. А способ заключается в том, чтобы одинаковая подзадача всегда решалась одинаково. Есть мелкая подзадача, она имеет 10 способов решения, и Вы применяете всегда один и тот же способ ее решения. Это как бы унификация мелких узлов и деталей. Есть унификация за счет применения библиотек, а есть еще в дополнение унификация за счет однотипности написания кода. Например, если в диалоговом окне идет проверка взаимной корректности нескольких полей ввода, то процедура проверки будет всегда называться одинаково. Если эта проверка выполняется, то ее вызов всегда делается в конкретном месте. И т.д. Если в постановке задачи есть описание на русском языке неких прикладных объектов, то имея 100 способов организовать структуру классов, я буду всегда применять только один способ. Поэтому прочитав описание задача на полстраницы я уже знаю, какая в этой программе структура классов, и мне не нужна диаграмма классов. Зная какой способ формирования структуры классов я применил, я знаю, какие здесь могут быть ссылки, поэтому мне их тоже не нужно визуализировать.

Этот принцип, как в автосервисе. Мастер может быть в первый раз видит данную модель авто, но он изначально знает, как открутить колеса, как и где заменить масло. Ему не нужно изучать чертежи авто (которых и нет), он знает, что во всех авто определенные узлы делают однотипно, хотя изначальная разработка этого узла требовала глубочайших научных исследований.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение Лекс Айрин » 05.03.2013 21:05:34

alexey38 писал(а): применить рефакторинг и восстановить понятность и очевидность кода.


Это было бы хорошо, но людям обычно просто лень и/или некогда. К тому же, я не прошу забыть старые методы работы. А просто чуть облегчить работу программиста. Не более. Если честно, то надоело посстоянно качать обновления для, грубо говоря, блокнота.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение debi12345 » 05.03.2013 21:58:16

Ну, после долгих мытарств лично я для себя сделал вывод, что нет ничего лучше "портянки" текста с гиперссылками (создающими связность "назад" и по "горизонтали"). Именно так описываю алгоритм программы и послдеовательность действий, документриуют настройки компонентов и событий,..
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 06.03.2013 08:31:28

Лекс Айрин писал(а):Это было бы хорошо, но людям обычно просто лень и/или некогда. К тому же, я не прошу забыть старые методы работы. А просто чуть облегчить работу программиста. Не более. Если честно, то надоело посстоянно качать обновления для, грубо говоря, блокнота.

Когда раньше не было удобных сред программирования и отладки, то программисты были вынуждены использовать только надежные способы программирования. Один из которых я выше описал. И профессиональное ПО того времени было довольно надежным.

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

Я предлагаю не идти на поводу коммерсантов, не тратить силы и время на разработку супер-пупер средств, облагчающих писать код, а потратить время и научится писать программы правильно.
Еще раз обобщаю свой личный опыт:
а) Я отладчик использую примерно раз в месяц или даже реже. Последний раз его использовал в декабре.
б) Я не пишу комментарии в тексте программы. Я их пишу только там, где работа еще не завершена (например, выявлен, но не устранен баг).
в) Я не использую всяких CASE-системы, я не использую иных средств проектирования, визуализации и структуризации кода
г) Я без проблем сопровождаю код написанный мною 10-15 лет назад.

Единственным недостатком, используемого мною подхода является более медленное первоначальное программирование. Я вначале обдумываю, а уже только потом пишу программу. Могу месяц думать, и затем написать что-то за 1 неделю (всего 5 недель), зато отладка занимает примерно 10-20% от времени разработки. Зато некоторые мои коллеги эту же задачу сходу пишут за 1-2 недели, зато потом еще 10-20 недель отлаживают этот код, т.к. у них отладка занимает 95% времени от всего процесса разработки, а у меня только 10%.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение Лекс Айрин » 06.03.2013 13:39:25

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


А разве обязательно одно мешает другому? Что мешает программам выдавать понятный текст?

alexey38 писал(а):Я отладчик использую примерно раз в месяц или даже реже. Последний раз его использовал в декабре.


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


пишу только совсем не очевидные моменты или так же как и Вы.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 06.03.2013 14:04:38

Лекс Айрин писал(а):пишу только совсем не очевидные моменты или так же как и Вы.

Я точно также.

Добавлено спустя 1 минуту 26 секунд:
Re: Будущее Lazarus как конкурента Delphi в Enterprise-секторе
Лекс Айрин писал(а):Я еще реже. Просто я предпочитаю тестировать код по мере написания. Сразу говорю, время для меня не лимитировано.

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

Добавлено спустя 1 минуту 46 секунд:
Re: Будущее Lazarus как конкурента Delphi в Enterprise-секторе
Лекс Айрин писал(а):А разве обязательно одно мешает другому? Что мешает программам выдавать понятный текст?

А вот тут мое наблюдение за коллегами показывает, что современные средства (языки, библиотеки, среды разработки) дают чрезмерно много свободы творчества.
А многие люди не умеют себя ограничивать. Я знаю программистов, которые каждые полгода меняют язык программирования, так как им интересно новое.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение Лекс Айрин » 06.03.2013 14:22:15

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


Это, по большому счету, их собственные проблемы. Сами среды разработки здесь не при чем. Для меня среда это просто метод создать каркас графического приложения. Но если какое-либо средство позволит делать мне меньше ошибок или их явно показывает, то оно считается хорошим.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 06.03.2013 21:26:49

Лекс Айрин писал(а):Это, по большому счету, их собственные проблемы. Сами среды разработки здесь не при чем. Для меня среда это просто метод создать каркас графического приложения. Но если какое-либо средство позволит делать мне меньше ошибок или их явно показывает, то оно считается хорошим.

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

Человек (среднестатистический) подвержен соблазнам. А соблазны они не только в сфере развлечения, но и в работе. Помимо соблазнов есть еще и чрезмерная самоуверенность. Человек думает, что он делает правильно, что он неким инструментом воспользуется во благо, т.к. он уверен, что все знает и все умеет. Но неумение, неграмотность и самоуверенность приводит к тому, что инструменты используются во вред. Раздайте народу оружие и уберите уголовный кодекс, так народ друг друга перестреляет по поводу и без повода. Так и здесь, мы инструменты (оружие) дали, а запрета на неправомерное использование не ввели (что же уследит, чем пользуется программист в работе), вот и получаем закономерный результат. Поэтому либо не дает широкие инструменты, которые можно и на пользу и во вред использовать (но чаще во вред), либо делаем контроль и санкции (типа УК). А с контролем и санкциями получается проблема, либо его нет, либо все сводится к огульному формализму. Поэтому очень часто бывает, что мощный инструмент создает больше проблем, чем пользы. Вот такая особенность человеческой природы. А программисты - это творческие люди, у них все это обострено.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение ZeUsM » 06.03.2013 22:21:01

alexey38 писал(а):Многа букаф.

"- Эк тебя разнесло, укорял Семен Марфу, в которую попал артиллерийский снаряд" (С) :roll:
Аватара пользователя
ZeUsM
новенький
 
Сообщения: 57
Зарегистрирован: 08.11.2010 13:55:35
Откуда: Нерезиновая

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение Лекс Айрин » 06.03.2013 22:40:38

alexey38 писал(а):А программисты - это творческие люди, у них все это обострено.


Поверьте, как раз творческие люди будут работать несмотря на соблазны. Главное, видеть "Цель". Однако, как у программистов бывают (грубо) Кодеры и Конструкторы, так и среди остальных есть Творцы и Ремесленники. И если одним подавай все самое лучшее, новое, облизанное, то другим достаточно ручки и бумаги. Да, я в том числе и о программистах. Некоторым даже компьютер нужен только для набора программы.

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

Пример из области крупных корпораций. Гугл -- одна из крупнейших компаний. В трудовом контракте которой сказано, что определенную долю рабочего времени (кажется 10%), программист обязан заниматься своими проектами. Причем, у компании есть в этом свой, сугубо меркантильный интерес.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение alexey38 » 07.03.2013 10:24:55

Лекс Айрин писал(а):Поверьте, как раз творческие люди будут работать несмотря на соблазны. Главное, видеть "Цель".

Вы говорите верно. Но вопрос, а в чем цель для конкретного программиста?

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

Поэтому когда в одностороннем порядке мы предоставляем новые и новые инструменты программистам, то они этими инструментами пользуются в своих, а не наших интересах. Они ими пользуются так, как умеют. Чтобы правильно использовать инструмент - нужно научить. А чтобы конкретный инструмент не использовали во вред компании-разработчика, нужно вводить ограничения, запреты и т.п. Эти ограничения не связаны с ограничениями в части творчества и разработки собственных проектов.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Будущее Lazarus как конкурента Delphi в Enterprise-секто

Сообщение vada » 07.03.2013 10:36:47

Вот видишь, начало положено. Но ява очень, кстати, сильно скомпроментирована. Например, в моих огнелисах она отключена практически намертво, и уже давно...

Можно поподробнее про компромат на JAVA. А то мужики то и не знают. Пишут тонны текста для корпоративного рынка, а тут вонаночто!
UML, судя по тому, что последняя его версия датируется 2011 годом уже практически мертв. (Надеюсь, что ошибаюсь) Видимо, из-за попытки объять необъятное.

UML совсем не мертв. Даже не капельки. Скорее как Ленин - живее всех живых. И UML совсем не блок-схема. Изучайте матчасть.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Пред.След.

Вернуться в Потрепаться

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

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

Рейтинг@Mail.ru