Автор Тема: Кому можно рекомендовать ББ - в текущем состоянии!  (Прочитано 51353 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Э нет, valexey, вот он то как раз и есть архитектор. Ибо его ошибка будет самой дорогой.
Самой дорогой ошибкой будет ошибка маркетологов или даже учредителей компании. Значит ли это, что они архитекторы? :-)

Цитировать
Вот тебе пример реальной задачи которой занимается архитектор (то есть это пример из жизни а не выдумки): провести исследование и выбрать множество (возможно один) кодеков для поддержки мобильных терминалов (то есть чтобы VoIP-софтфон работал на смартфонах) нашей системой.

У вас там своя специфика. И суть вашей работы от меня бесконечно далека. Вполне возможно что ваш главный архитектор занимается подбором кодеков.
А кроме них это никто сделать и не сможет.

Цитировать
то есть это пример из жизни а не выдумки
А я ссылку значит выдумал, и должность ему приписал?
В каком месте про его должность упоминается слово "архитектор"?
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
И еще ты имхо смешиваешь архитектора проекта "игра" и архитектора "игрового движка". Это обычно разные люди, и более того второй подчинен первому.
Опять мимо :-)
Движок у них (WoT) вообще покупной, и очевидно, что разработчики именно движка не зависят от геймдиза и/или архитектора WoT. :-)

Хотя-я само понятие "движог" весьма расплывчато и условно. Так что тут мы можем скатиться снова в терминологический спор о том, что же на самом деле есть "движок" игры.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
В каком месте про его должность упоминается слово "архитектор"?
:o
Тык там написано "ведущий разработчик", что как бэ есть синоним слова "архитектор".

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Опять мимо :-)
Движок у них (WoT) вообще покупной, и очевидно, что разработчики именно движка не зависят от геймдиза и/или архитектора WoT. :-)

Как это мимо? Наоборот в самую точку. Это значит что скорее всего кластер архитектурили не они  :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
В каком месте про его должность упоминается слово "архитектор"?
:o
Тык там написано "ведущий разработчик", что как бэ есть синоним слова "архитектор".
Эмм.. У меня должность "ведущий инженер-разработчик". :-) Значит ли это, что я какой-то там где-то там архи-тектор? ;-)

PS. Периодически шутим по поводу того, куда именно ведущий :-)
PPS, А Серб таки имеет должность - главный гейм-дизайнер.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Если бы мы специализировались не на мобильно-облачном сегменте, а на чём-то более стационарном (скажем пульт для дежурной медсестры для наблюдения за состоянием пациентов), то я вполне могу себе представить ББ в качестве основной платформы для разработки и распространения. Ну, а поскольку мы все ж таки в том числе программисты-профессионалы, подтянуть ББ в случае нужды наверно было бы можно. :-) Хотя задача в общем то не шибко памятежоркая, так что 64бита не актуально было бы.
А какие преимущества в этой задаче у блекбокса перед, ну хотя бы, сишарпом или явой?

Алексей, ты как-то пропустил этот вопрос Евгения, а было бы интересно услышать твой вариант ответа :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Если бы мы специализировались не на мобильно-облачном сегменте, а на чём-то более стационарном (скажем пульт для дежурной медсестры для наблюдения за состоянием пациентов), то я вполне могу себе представить ББ в качестве основной платформы для разработки и распространения. Ну, а поскольку мы все ж таки в том числе программисты-профессионалы, подтянуть ББ в случае нужды наверно было бы можно. :-) Хотя задача в общем то не шибко памятежоркая, так что 64бита не актуально было бы.
А какие преимущества в этой задаче у блекбокса перед, ну хотя бы, сишарпом или явой?

Алексей, ты как-то пропустил этот вопрос Евгения, а было бы интересно услышать твой вариант ответа :)
Да, действительно. Я просто, помнится, поразился абсурдности вопроса.

Если кратко - то у ББ преимущество перед C#/Java в том, что на java/c# мне бы пришлось вначале написать ББ :-)

То есть ББ это почти готовая среда для исследований, разработки, и вполне себе построения готового диспетчерского пульта.

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

Ну и что? Ну я сажусь и спокойно реализую этот метод. Реализовал. Надо проверять. Сую в него данные (а данные это массив как минимум за несколько минут, и одна секунда это например 100 значений), и мне, чтобы оценить, надо увидеть исходный график данных, обработанный, и ту информацию которую оттуда получилось вытащить. Запустил - увидел графики, понял что в коде лажа, поправил, снова запустил. Опять лажа. Поправил, запустил. Лажа, но уже другая, явно концептуальная. Выкинул метод, пошел думать дальше. И так N раз.

На N+1 раз вроде бы получается. О-ке-й. Теперь запускаем этот алгоритм в реалтайме (графики бегут на экране живьем), цепляем на себя датчик и начинаем моделировать житейские ситуации. Ну там, поотжиматься, побегать, походить. Поприседать. Упасть. Случайно уронить датчик... И все это краем глаза смотря на монитор и что там происходит, что там с алгоритмом. Не сдохло ли, не начал ли алгоритм излишне фантазировать о моих эволюциях.

И если и после этого работает, значит что? Значит надо поделиться с товарищами по разработке достигнутыми результатами. Значит надо написать некий документ с описанием метода, с кодом и с примерами данных и графиками. И здорово если оно будет сразу живым а не на скриншотах (хотя скриншоты никто не отменял) и народ сразу сможет прогнать это, не отходя от кассы, на образцах своих данных. Это в идеале конечно. И ББ мог бы позволить довольно близко к этому идеалу приблизиться.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Вот-вот :)

У некоторых такая схема работы в голове не помещается.

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

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Вот-вот :)

У некоторых такая схема работы в голове не помещается.

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

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

PS. Ну, ява то хороша, если там j2ee не трогать. Но она ж язык. Ну, + IDE. То есть для чисто программерских целей там все ок. Но для вот таких вот исследований IDE не достаточно.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Уже лет 5 как работаем с SVN и бинарными исходниками.
Не могу понять проблемы, которую ты озвучил.

Мерджить несколько веток правок через SVN в модульном языке смысла нет. Ибо ответственность за модуль чёткая. Если возникает вариативность - то через модули реализации. В крайнем случае это такое исключение, что можно и через F9 слить потом.

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

Если вдруг нам надо экспериментировать и что-то старое (какой-то кусок, допустим) сохранить - то лучше это сделать явно в складке, прямо в модуле или под ним. Или в документе рядом с ним.



valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Уже лет 5 как работаем с SVN и бинарными исходниками.
Не могу понять проблемы, которую ты озвучил.

Мерджить несколько веток правок через SVN в модульном языке смысла нет. Ибо ответственность за модуль чёткая. Если возникает вариативность - то через модули реализации. В крайнем случае это такое исключение, что можно и через F9 слить потом.

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

Если вдруг нам надо экспериментировать и что-то старое (какой-то кусок, допустим) сохранить - то лучше это сделать явно в складке, прямо в модуле или под ним. Или в документе рядом с ним.

Понимаю что не понимаешь. :-) Потому, что используете svn причем скорее всего без вменяемой веб-морды, потому, что привыкли работать именно так. Я не критикую ваш подход, просто пытаюсь донести, что бывает и иначе.

Например один мой проект живет в bitbucket'e (там mercurial). И там дико удобно просматривать комиты и дифы между ними. Прямо через веб-морду. Также там можно оставлять коментарии к комиттам. Это крайне удобно. И не нужно никаких команд помнить. Удобно также смотреть исходники прямо там.

Модульность КП к схеме разработки имеет ну очень слабое отношение. То что там есть ключевое слово module волшебным образом не отменяет зависимости между модулями. То есть я полагаю что серьезных отличий от java/c# там не будет. Также не будет и отличий в случае грамотной организации богомерзких инклюдов в c++ (а с исклюдами обычно проблем таки нет, все давно чисто на автомате обходят эти грабли). Жесткая привязка модулей к людям без дублирования опять же опасна - человек заболел/уехал в отпуск, а в его штуке обнаружилась бага или недофича. Причем помним что раньше её вроде бы не было. И что? Приплыли? Впрочем, это ж еще обнаружить надо, где именно и что именно глючит. Такие забавные интерференции особенностей реализации приводящих в совокупности к багам бывают...

Короче, рабочий процесс достаточно слабо зависит от языка. И не надо пытаться все коллективы со всеми проектами под одну единственно верную гребенку причесывать. Я просто описал чего бы мне нехватало при использовании ББ. И описал преимущества ББ. Неудобство - следствие особенностей реализации. Достоинства - следствие концепции.

PS. А бинарные блобы в системе контроля версий это все же ущербно - они слабо для хранения блобов подходят, в частности у некоторых имеем перерасход дискового пространства.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Для просматривания "коммитов и дифов между ними" единственный аргумент - когда постороннему человеку надо изучить эволюцию кода?
Или есть другие причины?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Для просматривания "коммитов и дифов между ними" единственный аргумент - когда постороннему человеку надо изучить эволюцию кода?
Или есть другие причины?
Ну, во-первых я например интересуюсь всегда что делают "соседи". Во-вторых мне там удобно посмотреть и что я сделал. То есть каков сухой остаток от эволюции кода за день. Сие весьма приводит мысли в порядок.

Ну и раз в неделю/месяц осматриваю куда ушел исходный код. Я не доверяю человеческой памяти, она всегда лжет. Точнее, искажает картину. Поэтому редпочитаю сверяться с более точными источниками периодически. В результате лучше общую картину себе представляю.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
То есть ББ это почти готовая среда для исследований, разработки, и вполне себе построения готового диспетчерского пульта.
...
 Это в идеале конечно. И ББ мог бы позволить довольно близко к этому идеалу приблизиться.
А не лучше ли для этой цели использовать то, что для таких задач было разработано. LabView, например?

И я так и не понял, какие же преимущества у того же Блекбокса перед сишарпом конкретно в этой задаче. Для сишарпа тоже полно всяких компонентов, строящих графики и всё такое. Чем тут документы блекбокса лучше простых гуишных форм -- опять же непонятно...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
В каком месте про его должность упоминается слово "архитектор"?
:o
Тык там написано "ведущий разработчик", что как бэ есть синоним слова "архитектор".
Эмм.. У меня должность "ведущий инженер-разработчик". :-) Значит ли это, что я какой-то там где-то там архи-тектор? ;-)
Конечно, при условии что у тебя есть свой проект.
Цитировать
ведущий разработчик проекта World of Tanks