|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
желательно со ссылками на источник информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2003, 12:29 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
На разработку "больших" ЧЕГО? Месторождений? Пока не кончится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2003, 15:40 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
да определение больших проектов какое-то не четкое. согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2003, 15:45 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Именно этим и определяется крупность проекта. Ну скажем 10 человеко-лет... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2003, 16:27 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Все в природе относительно. Кому то и "Калькулятор" кажется ПРОЕКТИЩЕМ. Я где то читал, что Оракл на свой сервер приложений затратил 700 человеко-лет. Наверное это "большой" проект даже для Оракла. 10 ч/л для одиночки - здоровенный проект - практически часть жизни. Для небольшой фирмы (человек 20) - рядовая, проходная работа. А если учесть еще и опыт (талант) раработчика(ов) границы еще более размыты. 2n Догогу осилит идущий, так что не заморачивайся ты на этот вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 09:16 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Действитеьно, всё зависит от того, как мерить будем. :) Для мнея проект в 100 тыс. строк сейчас считается средним и на него уходит от полугода до года. Когда-то это был "Большой" проект. А если всё нормаьно получится с организацией толковой команды (несколько человек уже есть), то для нас это будет уже маленький такой проектик. :) Но количество строк в проекте это моя мерка. Существуют программы, где строк в исходнике минимум, зато куча форм и компонентов со стандартной реакцией на события и кучей хранимых поцедур, триггеров и т.п. на сервере. Там будет другая мерка. Плюс, сейчас у нас ни обин проект не начинается без разработки серьёзного и подробного техзадания. Это тоже работа, причём для "большого" проекта очень важная. Но там будет третья мерка. А есть ещё разработка проекта аппаратной части, сети, технология внедрения системы у закачика с обучением пользователей и т.д. и т.п. И есть ли подобная статистика в удобочитаемом виде, сказать сложно. ПО крайней мере я пока не видел ничего правдоподобного. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2003, 06:31 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Втрое больше, чем отпущено по проекту ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2003, 14:38 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
:) На счёт "втрое больше", это зависит от того, как заключался договор. Часто сроки выполнения проекта специально занижаются, чтобы заключить договор. А потом уже заказчику деваться некуда будет. Время потрачено, деньги какие-то тоже, да и какая-то часть работы будет сделана. Хотя, я знаю случаи, когда по прошествии отведенного времени исполнитель приходил к заказчику, говорил: "ну не смогла я", и сваливал! Правда, после этого ему во многие места вход оказался закрыт, но было и такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2003, 14:48 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
100000 СТРОК ЗА ГОД, за день 100000/365=273 или 100000/11/22=413 строки. Кто даст больше? Или главное - объем, а качество значения не имеет? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2003, 21:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Дык, кто-то качественно 30 строк в день напишет. А кто-то еще качественнее 500 строк в день напишет. Для среднего рядового программиста считаю 200 строк в день качественного кода нормально. Это значит, что пишешь со скоростью около 300-500 и на отладку и тесты уходит потом немного времени, давая в среднем 200. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2003, 23:00 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Ага, при наличии детальной пошаговой спецификации и предварительного проекта можно кодировать и 500 строк в день. Вот только кто-то же должен и спецификацию написать и проект выполнить и тесты провести. Или здесь только одни писатели (машинистки) собрались? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 00:03 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Не понял иронии - ты вообще один за всех работаешь? У нас как? Тестеры - тестируют, технические писатели - технически пишут, архитекторы - архитектируют, программисты - программируют. На кой ляд мне сдалость изучать предметную область хранения и обслуживания медицинкого оборудования. Да там такая бюрократия, наша советская покурит (проект для запада). Давай спецификейшн - все сделаем в лучшем виде, качественно и быстро. Вот такие делишки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 08:04 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Да, если пытаюсь тратить свое время на что-нить иное, чем проектировать и кодить программу, то вежливо одергивают. И правы. Т.к. мое время довольно дорого обходится. Больше программистов только менеджеры высокого звена получают. А про кодеров - "машинисток" забудьте, не те времена. Такие уже давным давно без работы, - кризис, понимаете ли. Быстрота писания - она от опыта и мозгов и ни от чего более. Примерно 90% кода - вполне обычный код, наилучшие варианты и методы известны давно (если спец в своем деле), можно писать на автомате, а тем временем обдумывать следующий класс/иерархию/алгоритмы. Как в той сказке - одну беру, на другую смотрю, третью подмечаю, а четвертая мерещиться - вполне нормальное рабочее состояние (если только не после удачно проведенных выходных, конечно :) ). Да и есть такое понятие - дисциплина кода. Для меня - это набор сознательно введенных ограничений на используемые конструкции языка плюс железное следование некоторому выработанному стилю. Все это драмматично повышает надежность и обслуживаемость программ. Да и незачем биссер перед свиньями метать, т.е. писать сверх-красивые конструкции в местах, этого не заслуживающих. (А только в очень некоторых, действительно интересных местах) Так что, хорошая скорость разработки - это далеко не признак "машинистки", особенно при достаточной надежности. У меня после 15-го бета выходит, надыть ссылку кинуть. Будет для n источник информации. Наш проект - 3-х звенка. Писали 6 чел. 1 год. На клиентской части работало 2 чел. Клиентская прога, LineCounter показывает: lines=257473, code=174520, comments=45857, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 08:34 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Ну, уж нет. Мы пойдем медленно и перетопчем все стадо. Если программист не знает предметной области и методов проектирования, то кто он, если не машинистка, со знанием языка? А вот это 'можно писать на автомате, а тем временем обдумывать следующий класс/иерархию/алгоритмы', просто великолепно, но только тут Жванецкий нужен. Делать несколько дел одновременно - значит не сделать хорошего ничего. Как совет - попробуйте разнести процессы проектирования и программирования, может вместо code=174520 и будет на 100000 строк меньше. Метод 'здесь берем, сюда копируем' уже давно устарел. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 13:12 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
елы-палы! Ну упорный товарисч! Поспорить хотса? Предметная область - бизнесс-приложение. Т.е. учет документов, денег, материальных ценностей, людских ресурсов, и т.д. и т.п. Ядро бизнес систем написанных под разные отрасли деятельности внутри может быть практически одинаковое, будет различаться "надстройка", т.е. сами бизнесс-операции. Вот именно подробности той самой настройки меня и не очень волнуют, т.к. это не самая сложная часть системы, хотя и самая объемная. Насчет количества строк. Может это и не скромно, но я еще не видел программиста на С++ который бы умудрялся решать задачу более минималистически по количеству кода, чем я. (вот такая скромность). Позиционирую себя как системный программист, за плечами нехилая школа писанины на чистом С и на Ассемблере (давно это было). С 95-го пишу на С++. Писание бизнес приложений - мера вынужденная, потому как кормит, хотя и скучноватая область. Был бы мембер - выслал бы на мыло пару не маленьких файлов из проекта, а ты бы попробовал съэкономить хотя бы строчку, или же попробовал бы предложить лучшую иерархию классов. Хотел бы я посмотреть на твои потуги, умник. А то зря воздух гонять особого умения не надо. А ребята у нас в команде - высший пилотаж. Каждый из них такого уровня, что в радиусе 200 миль однозначно лучшего нет. И методы используем свои, малость отличные от тех что я видел в обычных конторах где работают обычные программисты. На аналогичном по сложности проекте в одной из фирм я видел задействовано около 20-чел, у них код более чем в два раза больше нашего, при той же сложности приложения. Есть басня Крылова - как вы друзья не садитесь ... Успех разработки определяется не столько "правильным" подходом, сколько квалификацией действующих лиц. При достаточной квалификации разработчиков применить неправильный подход не получиться даже случайно - тебе никто не даст это сделать, программист может послать менеджера сходить проветриться, если этот менеджер явно не прав, и никогда ты не заставишь спеца делать что-либо неоптимально, потому как они люди зело ленивые. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 16:29 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Спорить я не люблю, тем более с такими выдающимися программистами, какие не знают никого лучше себя. Дойдете до миллиона строк в год, сообщите в книгу рекордов. Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2003, 16:51 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Vdimas, а почему на C++? Я в своё время попробовав и то, и другое остановился на Delphi. Может код получается и чуть-чуть побольше, зато отлаживать и поддерживать проект проще. Object Pascal язык более строгий, чем C++ и многие ловит ошибки, которые тем же C++ будут пропущены (в следствии особенностей инвариантного синтакиса). Хотя, в принципе, сам когда-то начинал на C и даже несколько несложных проектов на C++ в своё время сделал. Но когда некоторое время назад предложили работу на C++ под MFC, я отказался даже не смотря на хорошие деньги, которые обещали заплатить. Поставил себе Microsoft Visual C++, попробовал, и понял, что слово Visual там ради понтов тоит, а возвращаться во вчерашний день не хочется. В C++, конечно, есть множественное наследование классов, которого иногда в Object Pascal не хватает, но при решении практических задач, которые реально встречаются, мне имеющихся возможностей вполне хватало. Особенно если учесть, что первые программы я начинал писать на ассебмлере для 8-разрядных машин с 64 Кб памяти... :) Кстати, очень хорошая школа. Многому учит, особенно экономии ресурсов и оптимизации кода. А на счёт квалификации ты прав. Собрать хорошую команду очень сложно. Я, например, у нас таких практически не знаю. В тех, что есть, обычно один мастер (редко двое) и куча подмастерьев. Причём уровень у них обычно отличается очень сильно. Ну и оооочень большое количество одиночек. Естественно, что ни о каком более-менее серьёзном проекте с одиночкой разгвривать не приходиться. Плюс, я на своём опыте убедился, что из этих одиночек собрать команду практически невозможно. Они настолько привыкают всё делать сами и без какого либо согласования, что после этого в команде не умеют работать совершенно. И ещё хотел у тебя спросить. Кто у вас занимается оргвопросами? Чтобы хорошую команду прокормить кто-то должен работать по поиску заказчиков и заниматся прочими формальными вопросами. Но если это человек вообще левый, то толку тоже мало. Тут нужно хорошо понимать специфику, связанную с разработой программ. Мы, в своё время, на этом пролетели. Не смоги человека найти для этой работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 09:36 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Дмитрий Мыльников А вот решение орг-вопросов и общение с заказчиком - это для нас самый больной момент. Даже в подробности вдаваться не хочется, скажу только что немало времени, сил и нервов потратили напрасно в рамках текущего проекта из-за того что у нашей команды, у конечного заказчика и у посредника-организатора разные цели. И что самое обидное, наши цели совпадают с целями конечного заказчика. Насчет С++, не могу удержаться, чтобы не скинуть тебе на мыло пару файлов и автоматически сгенеренную доку для них. В этих файлах лежит потоковая библиотека (есть, конечно, STL, но вот как-то не очень удовлетворяет). Если не трудно - посмотри, хотя бы краем глаза код и скажи - во сколько работы обойдется проектирование нечто подобного на Delphi. Я ни в коем случае не хочу начинать "священные войны", просто посмотри, что можно вытворять с помощью множественного и виртуального наследования, и в какой смешной минимум (по количеству строк) обошлась потоковая библиотека . Я С++ сравниваю с очень "тонким" инструментов, работая на котором легко поломать и "заготовку" и "инструмент". Спасает только некая система правил и стилей, выработанная годами, под разные по характеру участки кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 16:05 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas Да-да-да, круче вас только яйца... А остальные тут так, балду пинают... Был бы мембер - выслал бы на мыло пару не маленьких файлов из проекта, а ты бы попробовал съэкономить хотя бы строчку, или же попробовал бы предложить лучшую иерархию классов. Хотел бы я посмотреть на твои потуги, умник. А то зря воздух гонять особого умения не надо. Вот я мемебер. И даже мыло есть. И даже возражать против его использования не буду. Только один вопрос проясните - сколько заплатите за "code review" ваших немаленьких файлов и исправления ошибок?... (У вас там ошибок нет??? Ню-ню...) Для ориентации - в минимуме такая работа стоит не меньше стоимости самой разработки. Хорошо тестированый и отлаженный проект - раза три-четыре больше сырого. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 16:06 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
А чем STL не устроила??? И что такое виртуально наследование, а то я видно от жизни отстал.... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 16:36 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Циничный Кот да о каком code review может идти речь, некто AISOFT умудряется обсуждать во сколько строк могла обойтись разработка не видя ни кода, ни задачи, да еще попутно советы давать, чтобы мы "copy&paste" пореже использовали. Замечание, конечно, весьма ценное, а то так бы всю жизнь методом "copy&paste" и пользовался. Как совет - попробуйте разнести процессы проектирования и программирования Тоже весьма ценный совет. А сколько новизны! Только вот на мой устаревший взгляд практически в любом проекте есть несколько уровней проектирования. Есть проектирование и на уровне самой небольшой иерархии классов, и даже на уровне отдельного класса или отдельного метода. Вплоть до некоторого уровня работаю так как описал в предыдущих топах. На более высоких уровнях - там уже совсем другое дело. Ну а раз товарищь AISOFT позволяет себе столь глубокое обсуждение не видя ни проекта ни кода, представляю, сколько полезного он мог сказать, взглянув хотя бы мельком. Будем считать, что я пытался схитрить, взять человека на "слабо", для того, чтобы "нахаляву" воспользоваться прозорливостью AISOFT в целях "ревью" собственного кода. Что ж, не вышло... ЦК меня раскрыл... Теперь я смогу посылать свой код только лишь любобытствующим и, причем, на совершенно гумманных условиях - делать "ревью" кода совсем не обязательно! Однако можно будет пользоваться. В своих коммерческих проектах я зачастую использую код и библиотеки, которые разрабатываю в исследовательских целях в свое личное время. Когда такая библиотека "дозревает", я начинаю использовать ее в коммерчесских проектах, но т.к. такой код разрабатывался вне рамок проекта, я волен распоряжаться им по своему усмотрению, т.е. действительно могу показывать направо и на лево. 2 funikovyuri А чем STL не устроила??? А попробуй сделать гибкую сериализацию объектов на STL-ных стримах. Да еще и в настраиваемых форматах. Любого не устроит. И что такое виртуально наследование, а то я видно от жизни отстал.... Это шутка? Если действительно есть нормальный интерес к C++ (а не ради стеба), с удовольствием пообщаюсь. Мыло мое открыто. 2 Циничный Кот again Мыло-то, конечно, твое открыто, только после "финансовой" постановки вопроса как-то не решился ничего туда кинуть. Однако мне ничего не стоит и кинуть, если тебе это действительно интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 23:45 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Ага. Проблемы, как я понимаю, у всех одни и те же. :) Особенно с орг. вопросами. Как говориться, мало быть хорошим програмистом, нужно ещё уметь своё мастерство первращать в твёрдую валюту. :) Кстати, на код хотелось бы взглянуть. Я в своё время тоже себе соорудил подобную библиотечку, только на Delphi. Правда, не могу сказать, что она очень компактная и оптимизированная. Но мне пока для своих коммерческих проектов хватает. Только сразу предупреждаю, что всё бесплатно и никакого поиска ошибок и всяких там "cde review' не будет. :) Но если что придёт в голову интересного, то поделюсь (тоже, кстати, бесплатно). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 07:07 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2vdimas: стеба нет. Я полагаю что C++ это то что я знаю достаточно проыессионально - так вот мне интересно, что вы называете виртуальным наследованием??? и чем оно от наследования отличается Насчет пообщаться, пожалуйста - мне бы было интересно! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 08:27 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Я так понимаю, что имеется в виду то, что в Delphi делается с помощью ключевых слов virtual и ovveride. То есть, использование механизма позднего связывания, когда адрес вызываемого метода (вложенной в класс процедуры или функции) определяется не компилятором, а вычисляется по таблице адресов виртуальных методов того класса, к котрому реально принадлежит объект. Это удобно, когда система классов достаточно развита и вышестоящие уровни описывают только общие свойства и методы, а их потомки реализуют то же самое для более частных случаев. При этом, когда выполняется метод из класса-предка, то он будет в нужных местах не свой метод вызывать, а тот, который позже будет у потомка описан. При обычном же наследовании можно и в предке, и в потомке объявлять методы с одинаковым названием (перекрывать). Но в этом случае предок ничего не знает о методах потомка, которые были написаны (объявлены) позже, а потому из его методов будут вызываться только его же методы. Я, кстати, тоже этот механизм постоянно использую. Очень удобно. написал в базовых классах методы чтения/записи потоков и т.п. в общем виде, где вся основная работа делается, а в ключевом месте вызвал виртуальный метод. Дальше в потомках остайтся только этот метод написать, а всё остальное уже есть. Код при правидьном проектировании иерархии классов действительно сокращается в разы. Правда у меня обычно в наиболее сложных случаях в первой версии программы получается не очень хорошо. Зачастую многие подробности выясняются уже по ходу работы. Врезультате через какое-то время (если проект долгоживущий) появляется вторая, а то и третья версия, где уже иерархия классов и расположение полей и методов сделаны более рационально и удобно. Опять же, с опытом приходит чутьё на эти вещи и с какого-то момента начинаешь уже сразу закладывать более-менее удобную структуру классов. Причём часто уже на первоначальном этапе закладываешь много всяких вещей на будущее, которые вроде прямо сейчас для этой задачи не нужны. Но по скольку практически все проекты развиваются обычно по схожим сценариям, то через какое-то время такая избыточность начинает очень сильно окупаться. Заказчик хочет расширить возможности программы, ты сним заключаешь договор, забиваешь время. скажем, два месяца, а потом за два-три дня дулаешь работу. :) Причём внешне выглядит, что в программе достаточно много изменилось, но на самом деле просто вытаскиваешь наружу и вешаешь более менее удобный интерфейс на то, что в потенциально в системе было уже заложено ещё на первоначальном этапе. Кстати, на то, чтобы это сделать сразу, обычно просто не хватает времени, которое прописано в первоначальном договоре. А правильно спроектироанное ядро системы позволяет её потом достаточно долго развивать и усовершенствовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 12:18 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2Дмитрий Мыльников: при всем уважении в вам, я думаю это, по крайней мере не вежливо, - держать меня за барана :) Само сабой я знаю про слова virtual - но они применяются к методам, а не к термину наследование. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 12:28 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas Ну что тебя мама, в детстве вежливости не учила - это понятно. А вот что жизнь еще рога не обломала - уже удивительно. Ты или слишком молод, или просто неисправим. В любом случае, эту тему, с тобой обсуждать было бы глупо. А вот, насчет ‘не видя ни кода, ни задачи’ – выложи постановку, а народ выводы сам сделает. Или слабо? Кроме того - выучи русский язык, пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 15:06 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2Дмитрий Мыльников: а вы я смотрю - оптимист. Лично я в наследовании панацеи не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 15:41 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
А я разве говорил, что наследование есть панацея? Да и от чего? Но при написании больших проектов жизнь существенно облегчает, это факт. А на счёт "виртуального наследования"... Эх-хе-хе. Если искать к чему придраться, то можно всопнить анекдот про прапорщика и столб. При этом в ваших сообщениях, уважаемые господа критики, я никакой полезной информации не увидел, в отличии от vdimas'а. Так что он может быть и не круче. чем все остальные варёные яйца на этом форуме, но общатся с ним как-то интереснее. ИМХО ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 19:18 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 AISOFT хм... взаимные упреки в "пустой" болтовне. (я первый начал :), и было от чего) Постановку в студию! Всего лишь парочка из множества задач в последнем проекте. ---------- 1. Необходимо на С++ (дано свыше, что именно С++) реализовать систему учета времени жизни объектов (наподобие Java, С#, VB). Цель - повышение надежности программы, упрощение подхода к написанию программ в рамках языка C++, сокращение времени на отладку, сокращение размера исходного кода, повышение читабельности и обслуживаемости. COM не предлагать. (тысячи причин, кому интересно - в отдельный топ). Хотя, в решении предусмотрена некая совместимость с COM. (Полно готовых COM-компонентов используется в проекте). При этом необходимо обеспечить "прозрачность" этого механизма для программистов, использующих технологию, а так же сохранить возможность для множественного наследования реализации объектов, использующих данную технологию (в противовес технологиям Java, С#, VB, где множественно наследовать можно только интерфейсы). Решение? Потом выложу свое с исходниками и докой (просто охота перед этим хотя бы пару ответов услышать). 2 funikovyuri Именно виртуальное именно наследование (а не только виртуальные функции-члены) использовано зело широко как основа технологии. ---------------- 2. Необходимо разработать удобную потоковую библиотеку в целях упрощения работы с потоками разной природы (файлы, память, строки) и инвариантной сериализации объектов в разных форматах (текстовом, бинарном). Предусмотреть возможность использовать библиотеки в семействе алгоритмов STL. Решение? (и во сколько строк?) Применение виртуального наследования сэкономило размер исходного кода примерно вдвое. (В доках есть диаграммы наследования) -------------- 3. Необходимо разработать гибкую событийную модель, не уступающую возможностям C#. Разработана - превосходящая по возможностям. (Событийная модель Java, к примеру, причина моего прохладного к ней отношения... топОрно...) 2 AISOFT again А обломать мне рога очень легко - дай мне реальную задачку из области программирования, заведомо имеющую решение (в рамках языка С++ для чистоты эксперимента), но которую я не смог бы решить. Да и для чего людям "рога ломать"? - превращать их в серости всякие? Мне рога обломать трудно хотя бы из-за некоторых черт характера, 12-ти летнего успешного опыта и высокой трудоспособности. ЛЮБЫЕ задачи, принципиально имеющие решение можно решить , big deal. К тому же их можно еще и НЕПЛОХО решить. Удивительно желание отдельных индивидумов безосновательно "попускать" коллег - взгляни на свой первый пост в этом топе. С ЧЕГО ЭТО ТЫ ВСЕ ЭТО ВЗЯЛ, умник ? (вполне вежливое обращение, по сравнению с другими топами). На свой жизненный "опыт" опираемся? Да на "сломанные рога"? Или у нас только идиоты программы пишут, а все гении - там? А насчет русского языка - ты прав, тщательнее надо! Только вот времени на проверку своих постов маловато и пишу их зело быстро, порой мимо клавиш. Да и пользуюсь русским языком в последнее время нечасто, так что практики не хватает. ЗЫ Дайте кто-нить FTP, куда бросить, - если на FTP фирмы выложу и народ туда ломанется - мне мало не покажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 22:41 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas Хм, приведу несколько цитат: 1) 'Предметная область - бизнесс-приложение. Т.е. учет документов, денег, материальных ценностей, людских ресурсов, и т.д. и т.п. ' 2) 'На клиентской части работало 2 чел. Клиентская прога, LineCounter показывает: lines=257473, code=174520, comments=45857, ...' 3)'Постановку в студию! Всего лишь парочка из множества задач в последнем проекте. ---------- 1. Необходимо на С++ (дано свыше, что именно С++) реализовать систему учета времени жизни объектов (наподобие Java, С#, VB). Цель - повышение надежности программы, упрощение подхода к написанию программ в рамках языка C++, сокращение времени на отладку, сокращение размера исходного кода, повышение читабельности и обслуживаемости. COM не предлагать. (тысячи причин, кому интересно - в отдельный топ). ' А теперь вопросы: 1) Как пункт 1, связан с пунктом 3 и, причем здесь пункт 2? 2) А не проще, было бы, C# использовать? 3) Какой SQL SERVER использовался в проекте? 4) Какие проблемы решает, в данном проекте, использование трехуровневого приложения? Вдогонку - 12 лет стажа, это не стаж - это детство, которое и объясняет твое хамство и самоуверенность. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 23:36 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
А теперь вопросы: 1) Как пункт 1, связан с пунктом 3 и, причем здесь пункт 2? Чьи пункты, мои или ваши? После уточнения обязательно отвечу. 2) А не проще, было бы, C# использовать? Как интерфейс к Java-сереверу приложений используется CORBA . CORBA генерирует гораздо меньший траффик чем .NET Remoting . Клиенты работают с системой через интернет. Клиентское приложение, целиком написанное на C++, одинаково хорошо чуствует себя как на P133 32M, так и на P4 512М. Клиентская часть предназначена для повсеместной установки в госпиталях, техника там разная. .NET будет там порой еле "пыхать". 3) Какой SQL SERVER использовался в проекте? В данном - ORACLE. 4) Какие проблемы решает, в данном проекте, использование трехуровневого приложения? Довольно сложная (рутинная) бизнесс-логика, и, к тому же, заведомо будет дополняться (количество инструкций на обслуживание медицинского оборудования разных классов просто поражает воображение, каждый год выходит очередной дополнительный "талмуд", это все в штатах). Сердце приложения - на Java, это middle-tier. Клиент получает довольно "тонкое" приложение, которое работает весьма шустро через обычный Dial-UP, система оптимизирована для работы даже на медленных соединениях. Первоначальный вариант проекта был на JSP (функциональный аналог нынешнего ASP.NET), но быстродействие загрузки JSP страниц совершенно не устраивало при Dial-UP соединении. Сейчас клиент работает "мгновенно", т.к. передаются только "голые" данные, да еще и в бинарном представлении. (камешек в сторону Web-Services) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 01:46 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 AISOFT Вдогонку - 12 лет стажа, это не стаж - это детство, которое и объясняет твое хамство и самоуверенность. А нечего заочно (не глядя) оценки выставлять да попускать - плохая привычка. Всегда рискуешь нарваться на хамство. Тщательнее, доказательнее... :) С этих вопросов (см. предыдущий пост) и стоило начинать, и только потом ставить оценки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 01:52 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2vdimas: при всем уважении - такого термина не существует ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 08:06 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2vdimas: Ты называешь виртуальным наследованием - процесс использования virtual base classes - интересно с чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 08:33 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri google:Виртуальное наследование Это оно и есть. Мне кажется, что это, все-таки, термин... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:15 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
забей - мы ведь друг друга поняли. Я с таким термином, по крайней мере часто, не встречался. У корефеев оно вроде тоже не фигурирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:27 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas Я привел три цитаты и задал вопрос - Как цитата 1, связана с цитатой 3 и, как цитата 1 и 3 связаны с цитатой 2? Уточняю, цитаты я привел я, взяты они из твоих писем и все письма по одной теме. Надеюсь, что я ничего не путаю? Так что, отвечать будешь или опять что-то не понятно? А насчет 'тонкого клиента' - Клиентская прога, LineCounter показывает: lines=257473, code=174520, comments=45857, ...- это как? Кроме того, расскажи народу, сколько времени у тебя заняло решение твоей проблемы, и какой там объем кода (в строках)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 14:38 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Обстановка у вас тут напряженная, как я погляжу... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 14:50 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
AISOFT vs vdimas Это просто антагонизм между разработчиком/проектировщиком (прикладным программистом) и системным программистом/кодером. Достаточно прочитать только "...Писание бизнес приложений - мера вынужденная, потому как кормит, хотя и скучноватая область...." В свое время, при проверке аудиторами/рейтинговой компанией, от нас тоже потребовалось сообщить кол-во строк кода. Впрочем, ясно, что цифры нужны были формально. Встал, однако вопрос - как их считать? Как учитывать напр., dfm (пишем на Delphi), а как хранимые пр-ры и пр. Позднее выяснилось, что на западе существ. устоявшаяся классификация. Точно не помню, но большим считается проект примерно от 200-300 тыщ строк. Хотя оценки эти, повторюсь, формальные. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 19:23 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag Да, я системщик, потому что имею опыт проектирования систем, и потому что в основном применяю системный подход. :) (и недолюбливаю XP-стиль). А попробуй разработать сетевой протокол или компилятор, или распределенную информационную систему без системного подхода (это то, чем я занимался в "прошлой" жизни). Да, бизнес-приложения - скучноватая область. Это опускает меня в чьих-то глазах? Или позволяет называть меня "кодером"? В проекте, о котором идет речь, мне на "откуп" дано проектированиие с 0-ля клиентской части системы. Люди, которые так решили, знали, что архитектуру приложения я спроектирую как никто другой. И "закодю" соответственно. :) Или что, хорошо "кодить" – уже стало стыдно? А покажите мне живого человека, который на С++ хорошо кодит (я таких только изредка разве что в и-нете встречаю). Такие люди попадаются гораздо реже архитекторов (которых развелось как собак нерезанных, дармоедов). Или качество программного продукта уже никого не интересует? А внешний вид? А функциональность и дружественность интерфейса? Может ли заказчик, в большинстве не специалист, предъявить достаточно подробное ТЗ? Дай бог, что бы он внятно смог сформулировать общие цели, и ему в этом еще помогать и помогать. Про удобство ввода и представлении информации заказчик вообще никогда ничего внятного сказать не может, т.е. это на совети разработчиков. (а совести обычно немного). И дальше начинается самое интересное кино. Того, что в ТЗ нет, МЫ НЕ ДЕЛАЕМ! Ха-ха-ха. И плодятся серые, безликие, неудобные в обращении программы, которые, прочем, соответствуют своей спецификации. А спор начался на самом деле из-за декларируемых цифр по производительности труда программиста С++. AISOFT утверждает, что задекларированные 200 строк в день в среднем возможны только методом copy&paste. И я ведь его понимаю. На фирме, в которой он занимет некоторую должность ( может даже самую высокую) все происходит "стандартным" для последних нескольких лет способом: кто-то проектирует проект (обычно это 1-2 единственных грамотных человека на фирме, но большую часть своей жизни они теперь проводят за бумагами или их электронным аналогом, так что реальной пользы от них немного). Затем всякие team-lider-ы задают работу "кодерам" самого низкого звена, планируют и координируют их труд. На каждого такого кодера приходится 0.5-1.5 тестера - именно таким образом может достигаться некая надежность программ. Дай бог, чтобы в его фирме приходилось 30-40 строк в день на человека при такой организации труда. Это уродство происходит от наивной веры в то, что количество (кодеров + тестеров) может перерасти в качество. НИКОГДА! Программный продукт или качественный изначально, или характеризуется лишь отношением отловленных ошибок к их общему числу. Никто не пишет без ошибок, речь может идти лишь о вероятности их возникновения. Но эта вероятность может отличаться на порядки. Я как-то работал в подобной фирме. Для выполнения своей работы мне достаточно было “поковыряться” 1 час в день. Качество проекта, над которым работали было УЖАСАЮЩЕЕ (для авторов, разумеется, это было само совершенство). (Кстати – очень известная фирма, делающая очень серьезные вещи). На многие участки кода без слез смотреть было невозможно. Быстродействие – на уровне VB (а это C++). С первого дня я стал засыпать team-lider-ов тонной предложений по реальному упрощению и переделке многих моментов в программе, настаивал на рефакторинге. ВСЕ НАПРАСНО! На этот «отлаженный» код боялись «дунуть». (Это же сколько получится зарплаты напрасно выдали тестерам, если взять, да переделать) Обещали, что вот когда начнем разрабатывать следующую версию, тогда, мол, подключим тебя к проектированию, заодно сразу, по-типу, за качеством кода будешь следить... Я не «дожил» до следующей версии, потому как уже на второй месяц почуствовал, что деградирую... Да и Unreal с Tactical Operation поднадоел. И ушел. В маленькую, но очень динамичную команду. Времени в обрез. Но я крайне доволен. (AISOFT опять скажет, что я мальшишка, вместо того, чтобы заняться карьерой, раз фирма известная, занимаюсь, видите ли "интересными" вещами. Ответ: когда надоест работать - займусь карьерой, пока предложений о работе в серьезных фирмах хватает. Денег, кстати, тоже.) Дальше, насчет copy&paste. Если кто имеет опыт написания клиентских прог на С++, скажите, во сколько строк примерно обходится форма, на которой около 50-ти дата-контролов? Форма выполняет поиск, редактирование, ввод и первичную валидацию данных, корректное реагирование на ошибочные ситуации с выводом всяких сообщений. Так сколько в среднем? Форма для таких операций у меня занимает в среднем - 100 строк! Все! Куда меньше? Из них 50 – объявление переменных, и еще 50 – спецификация data-bindings. Остальное работает посредством механизма, реализованного в базовых классах, оперируещего мета-информацией. Для приведенных операций этого достаточно. Я свой код практически не отлаживаю (слово "практически" - ключевое). Я предпочитаю его пр о думывать. И на момент механической “выкладки” кода в исходник, он уже прилично отлажен в голове или схемах на бумаге. Это – кодирование? Ну конечно кодирование. Любой алгоритм перед исполнением на ЦП должен быть закодирован. (В студенческие годы я увлекался поиском оптимальных способов кодирования состояний конечных автоматов). И если сейчас, имея шикарные вижуал студии со всякими вижуал ассистами, с удобной навигацией, с утилитами для авто-документирования кода и реверс-енженирингом UML диаграмм (…вписать еще 50 фишек ...), если используя все это, кто-то умудряется писать так, что на одного программиста требуется один тестер – нафиг из отрасли! НА-ФИГ! Хватит дискредитировать интересную и почетную профессию. А то жалуемся – к программистам отношение в последнее время, как к слесарям... Сами дураки! Нефиг «слесарно» работать. (ни к кому лично, но все же ...) Сейчас идет бета-тестирование, через пару недель дам ссылку на свою последнюю программку. Тонкий такой клиент, форм на 300... Всем сорри за дурацкое настроение. Да, чуть не забыл: Если программист не знает предметной области и методов проектирования Предметной области чего? Клиент достаточно «тупой», т.е. я на клиенте не учитываю деньги ресурсы и пр. Я отображаю и позволяю вводить ДАННЫЕ, в самом широком смысле этого слова. Боюсь, что именно в плане понимания всех тонкостей работы с данными, и методов проектирования систем обработки данных (причем, на всех уровнях, а не только на уровне кружочков и стрелочек) уважаемый AISOFT далеко в форватере. Я имел ввиду, что не очень лезу именно в тонкости и правила учета медицинского оборудования, потому как существуют четкие спецификации, не оставляющии простора для двоякого толкования. Предпочитаю спроектировать систему так, чтобы эти тонкости легко можно было настраивать, а не вбивать их в код (тогда уж точно пришлось бы досконально изучить прикладную область, но я предпочитаю оставлять это право специалистам, и в руки им давать инструмент ) 1) Как пункт 1, связан с пунктом 3 и, причем здесь пункт 2? П.1. – это декларация того, что нет ничего необычного в бизнес-приложении. П.3. это ответ на предложения применить С#, и + реальный способ уменьшить число строк в программе (из-за этого собственно сыр-бор). Если бы не п.3. программа была бы примерно на 25% больше, примерно вдвое больше времени потребовала бы на отладку. П.2. – собственно ответ автору топика (а не AISOFT-у). И какого лешего эти пункты из совершенно разных моих постов понадерганы и в кучу свалены??? В топах я отвечал на совершенно различные вопросы, а не выписывал единый художественный рассказ. Вообще спор у нас о чем? Что 200 строк в день не бывает при качественном подходе? Бывают разные качественные подходы ! Вопрос закрыт. 2 aag again У меня в качестве шаблонов диалогов HTML страницы используются - порой там тоже немало строк. При подсчете я это не учитывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 07:30 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Приветствую всех! Внесу и я свои 3 копейки :о)\\r \\r 2 n: \\r Есть ли у кого статистика скоко уходит времени на разработку "больших" \\r ..желательно со ссылками на источник информации. \\r \\r да определение больших проектов какое-то не четкое. согласен. \\r \\r Так что вам хотелось узнать: что такое сложный проект или/и сколько на сложный проект должно и обычно тратится времени?\\r Если исходить из определения сложных проектов от Уокера Ройса (W.Royce), то это проекты со своей экономической инфраструктурой. Поэтому такие "плоские" или бесструктурные меры в виде трудозатрат или sloc (кол-во строк кода) и их оценки, например, 100 человеколет или 1 млн.строк ни о чем не говорят, а только пугают новорожденных разработчиков. Как уже говорили "Серега" и "Дмитрий Мыльников" - все относительно и зависит от конкретной организации проекта. Теперь сколько должно тратиться. По поводу влияния организации на исход проекта загляните в топик Все мы чего-то автоматизируем (стр.2) (пост Дата: 25 июн 03, 00:08). Там я писал о тех "П"-составляющих (проект, персонал и процесс), к-рые определяют успех и просто жизнеспособность проекта. Теперь исходите из того, что в той же России у большинства софтверных компаний как минимум только процесс организован через Ж. Стоит ли говорить об эффективности их работы и ориентироваться на их оценки тех же "больших" проектов? Стоит, если у вас процесс также организован через Ж. В упомянутом топике (пост Дата: 27 июн 03, 00:13) я также писал, что в РФ вообще традиционно (видимо наследие Совка) исследованием эффективности бизнеса мало где занимаются, а в ИТ-бизнесе и подавно, т.к там в основном управленцы - это неграмотная молодежь из вчерашних программистов или маразматики-староверы с совковым типом мышления (с) А.Болдин) поскольку ИТ-бизнес непривлекательный для прогрессивного и ориентированного на Запад менеджмента, т.к как низкоприбыльный по сравнению, например, с тем же нефтегазом, торговлей или финансами.\\r Также исходите из того, что в России часто проект намеренно затягивается и делается большим и даже очень большим, чтобы получше "подоить" заказчика\\r \\r 2 AISOFT: \\r Если программист не знает предметной области и методов проектирования, то кто он, если не машинистка, со знанием языка? \\r \\r Нет, он именно программист . Да, с методами проектирования и архитектурой программист должен быть знаком, но у программиста помимо проектирования и так полно работы, если, конечно, работа правильно организована. Даже кодирование по готовой спецификации требует знаний, опыта и зачастую мастерства, а тем более если используются различные среды разработки (Delphi, VB, Java) и платформы (Net, J2EE, MSSQL, Oracle). А если программисту иногда делать нечего, то у него закономерно возникает желание изучить предметную область или попроектировать, чтобы занять или как-то проявить себя. Однако, когда программист - это все в одном (аналитик, проектировщик, тестер и т.д.), то такой подход в организации неэффективен поскольку он идет в разрез со специализацией и профессиональным совершенствованием. В США, Канаде, Европе или в той же Индии многие компании давно осознали преимущества специализации и инженерного подхода . При таком подходе ничего уже не зависит от одного конкретного человека, к-рый знает все. В России же ПО как правило создается по старинке и кустарно-творчески - "каменный век" по части процесса, когда успех проекта завязан на конкретных людей и масса существенной информации сидит в головах или в неформальной документации типа самостийных ТЗ и программных комментариев. Если хотите, то могу дать ссылки на топики, где уже все это основательно обсуждалось, чтобы не повторяться\\r \\r Ага, при наличии детальной пошаговой спецификации и предварительного проекта можно кодировать и 500 строк в день. Вот только кто-то же должен и спецификацию написать и проект выполнить и тесты провести. Или здесь только одни писатели (машинистки) собрались? \\r \\r Да, собственно для этого и нужны аналитики-проектировщики, чтобы серьезные программисты не отвлекались на всякое проектирование с тестированием. Хотя если программист стоит < 500$/мес., то можно его и в магазины за канцтоварами посылать или заставить тестировать программу методом ручной задницы даже если от такого его тестирования толку как в дырке от бублика :о)\\r \\r 2 vdimas: \\r 1. Необходимо на С++ (дано свыше, что именно С++) реализовать систему учета времени жизни объектов (наподобие Java, С#, VB). \\r Цель - повышение надежности программы, упрощение подхода к написанию программ в рамках языка C++, сокращение времени на отладку, сокращение размера исходного кода, повышение читабельности и обслуживаемости. \\r \\r Это, конечно, здорово - "встроенные" механизмы по уничтожению ненужных объектов, но как это скажется на "размере исходного кода", читабельности и обслуживаемости"? Это я к тому, что архитектура все равно должна быть корректной и только дополнительные средства языка не решат проблему\\r \\r Потом выложу свое с исходниками и докой (просто охота перед этим хотя бы пару ответов услышать). \\r \\r Если не секрет, а что именно планируется выкладывать кроме частичных исходников и докуметации пользователя? Моей скромной персоне, например, реализация на С++ мало что скажет, если там туча даже хорошо комментированного кода. Вот UML-модели SUC, анализа и проектирования (статические/динамические) я бы мог как-то оценить, их корректность по отношению к требованиям и трассировке хотя бы\\r \\r Дайте кто-нить FTP, куда бросить, - если на FTP фирмы выложу и народ туда ломанется - мне мало не покажется. \\r \\r IIS вообще позволяет ограничивать число соединений для конкретного ftp-сайта. IMHO любой приличный ftp-сервер под Unix тоже должен позволять\\r \\r 2 aag: \\r Встал, однако вопрос - как их считать? Как учитывать напр., dfm (пишем на Delphi), а как хранимые пр-ры и пр. \\r Позднее выяснилось, что на западе существ. устоявшаяся классификация. Точно не помню, но большим считается проект примерно от 200-300 тыщ строк. \\r Хотя оценки эти, повторюсь, формальные. \\r \\r Да уж, заформалинили своим формализмом всем мозги, что они у многих уже не работают. Вообще подобные т.н "оценки" высосаны из пальца и в стиле ИТ-болтологов из ЭСМИ, а вовсе не от серьезных экспертов из SEI или ISO. Действительно почему не считаются другие программные ресурсы, также требующие значительных трудозатрат, например, та же документация пользователя? А как насчет сложности предметной области и соответственно качества ее модели? Что насчет требований к надежности и производительности ? Значит получается, что большой (300 тыс.sloc) проект, например, для Web-app, к-рое падает под нагрузкой "круче" и закономерно должен стоить дороже, чем маленький (100 тыс.sloc) проектик для приложения, но к-рое надежно работает :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 08:35 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas Не понимаю как связаны "функциональность и дружественность интерфейса" с разработкой сетевого протокола или компилятора. И кстати, архитектор для разработки хорошего компилятора нужен не меньше, чем для бизнес-приложения. А бизнес-приложения бывают - вы не поверите - даже более сложные, чем компиляторы. То что вы усматриваете "скучноватость" бизнес-приложений, в моих глазах вас не опускает. Но - вкупе с определенной скороспелостью и максимализмом др. ваших высказываний выдает в вас скорее Художника :), творца более, чем инженера. Ибо инженер не будет "мы разработали потоковую супербиблиотеку, в 10 раз круче, чем такая-то..." и пр. Он скажет "Мы разрабатывали такую-то (бизнес) систему, для реализации таких-то ф-ций по таким-то причинам нам пришлось написать свою потоковую библиотеку. Кстати, ваше убеждение, что архитекторов как собак нерезанных, весьма ошибочно. Гораздо больше как раз тех, кто может придумать новый сетевой протокол. 2 Репликант Конечно, млн. строк ничего не говорит о сложности проекта. Но я же и писал -это формальная оценка. Смысл в том, что как правило, все-таки, проект в млн. строк кода является вовсе не одной длиинннннной программой, без начала и конца, это Система и она - как правило, опять же, - сложнее чем проект в 100 тыщ строк. Проекты же в 300 и в 100 тыс. относятся к одной категории величины (это отностительно вашего последнего примера). В любом случае, разумеется кол-во строк никак не служит показателем сложности/успешности/надежности и пр. проекта. Это - просто некий формальный показатель величины, который иногда используют на западе. Впрочем, согласен с тем, что излишне формальный и высосанный. Лично мне для оценки сложности проекта, наверно, удобнее узнать о его функционале. "...успех проекта завязан на конкретных людей..." Это может быть и специализации и инженерного подходе - когда все завязано на одном руководителе проекта. Жесткое разделение на аналитиков/кодеров/тестеров/юзабилистов/далее-по-вкусу-еще-штук-десять-специализаций далеко не всегда выгодно - напр. оно явно не выгодно для небольших проектов. И в подходе с позиций ХП-программирования, совмещение аналитика, тестера и программиста вполне возможно - если! - если это опытный разработчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 14:47 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas 1) Насчет карьеры, я тоже всю жизнь занимаюсь, тем, что мне интересно, все остальное приложение к этому. 2) У нас на человека приходится в среднем порядка 130-150 строк в день. 3) 200 строк - это 200*22*11=48400, пускай 50000 строк в год, но никак не 100000 строк и даже не 85000. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 16:02 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 AISOFT\r \r на клиентской части работало 2 человека. \r 174520/12/26/2=280\r \r 130-150 ваших - неплохо, лучше, чем в той конторе, которую я упоминал.\r \r 2 aag\r Он скажет "Мы разрабатывали такую-то (бизнес) систему, для реализации таких-то ф-ций по таким-то причинам нам пришлось написать свою потоковую библиотеку. \r Разумеется именно так все и было, в условиях маленькой команды необходимость каждого "ответвления" в процессе разработки тщательно обосновывается.\r А разговоры про круче относились к вопросу "почему именно на с++?". Т.к. только такой язык позволил решить эту задачу весьма элегантно и смешным количеством строк (для потоковой библиотеки).\r \r см мой пост ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 16:53 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Visual Modflow три человека за 5 лет 40 мегобайт текста на С++ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 21:08 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas> ... "почему именно на с++?" Т.к. только такой язык позволил решить эту задачу весьма элегантно и смешным количеством строк ... А какие еще языки тестировались и как? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 01:07 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 А какие еще языки тестировались и как? шутник, однако... тестирование языков... :) в течении последних 12 лет "тестировались" следующие языки: Asm: z80, x48, x51, x80, x86, PIC, Fortran, Forth, Lisp, Prolog, M(Matlab), C, C++, Pascal, Delphi, VB, VBA, VBScript, JavaScript, Perl, Java, C#, VB.NET, MC++ Тестировались по-всякому. Например в 1994-м на Forth-е был написан полноценный assembler x51 за 3 дня и занял он 600 строк. Я уверен, что на С++ это заняло бы минимум 2 месяца и минимум 10000 строк. Но конкретно для этого случая (потоковая библиотека) - более минимального решения из перечисленных технологий нет, т.к. ни одна из них помимо С++ не поддерживает множественного наследование имплементаций. Вопрос был по-приколу? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 05:59 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag: \r 2 vdimas\r Кстати, ваше убеждение, что архитекторов как собак нерезанных, весьма ошибочно. Гораздо больше как раз тех, кто может придумать новый сетевой протокол. \r \r Золотые слова... :о)\r \r В любом случае, разумеется кол-во строк никак не служит показателем сложности/успешности/надежности и пр. проекта. Это - просто некий формальный показатель величины, который иногда используют на западе. Впрочем, согласен с тем, что излишне формальный и высосанный. \r \r А для чего, например, на Западе или в России sloc используется? Я слышал что-то такое невнятное, но просто интересно узнать точки зрения людей, к-рые не поверхностно, а зрят в корень :о)\r \r Лично мне для оценки сложности проекта, наверно, удобнее узнать о его функционале. \r \r Да, именно так и надо оценивать, отталкиваясь от функционала (в самом общем смысле), но только не сложность проекта , а сложность функционала . Хотя существует неоднозначная связь между первым и вторым, как и между первым и сложностью архитектуры . Это я к тому, что, например, проект 1 человека в течение 100 лет по реализации системы с очень сложным функционалом/архитектурой не будет сам по себе сложным. И тот же очень сложный функционал можно реализовать как сложной так и не очень архитектурой. То есть проект все-таки надо оценивать именно как проект , т.е по характеристикам проекта, а не по характеристикам того, что в этом проекте создается\r \r "...успех проекта завязан на конкретных людей..."\r Это может быть и специализации и инженерного подходе - когда все завязано на одном руководителе проекта. \r \r Да, но если сразу появляется такое лицо, на к-ром все завязано не в смысле того, что не хватает людей, а в смысле того, что есть некто, кто владеет критичной информацией - это уже плохо. Конечно, сюда не входят исключительные случаи, когда в проекте есть люди, например, эксклюзивно владеющие какой-то технологией или знаниями. Инжерный подход позволяет уменьшить число таких людей, формализовав технологические процессы и артефакты в проекте. Кстати, за процессы управленцев и прочих руководителей инженерный подход не отвечает, т.к это вопрос из области менеджемента \r \r .. Жесткое разделение на аналитиков/кодеров/тестеров/юзабилистов/далее-по-вкусу-еще-штук-десять-специализаций далеко не всегда выгодно - напр. оно явно не выгодно для небольших проектов. \r \r Согласен, что невыгодно! Однако, в этом плане эффективность небольших проектов, где люди достаточно часто переключаются между разными видами деятельностей (ролями) меньше , чем в проектах, где такого "переключения" нет и люди оттачивают свои навыки (анализ, проектирование, программирование, тестирование и т.д). Т.е, как говорится, экономим на одном, но теряем на другом\r \r .. И в подходе с позиций ХП-программирования, совмещение аналитика, тестера и программиста вполне возможно - если! - если это опытный разработчик. \r \r Кстати, это также является одним из недостатков XP. (Другие недостатки XP обсуждались в топике XP or ^XP?)\r \r \r 2 Lepsik: \r три человека за 5 лет 40 мегобайт текста на С++ \r \r Мда-а.. 40 мег на С++ - этот объем заслуживает уважения. Интересно, а как они в своем проекте ориентировались и развивали в плане требований или архитектуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 08:23 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas Лично мне немного непонятно, почему говоря о бизнес-приложениях , вы все время переключаетесь на потоковые библиотеки, протоколы и пр. чисто технические, системные вещи. Ибо для бизнес-приложений , по-моему, смехотворно утверждать, что "только на с++" (или только на Delphi, или ...). 2 Репликант А для чего, например, на Западе или в России sloc используется? Я слышал что-то такое невнятное, но просто интересно узнать точки зрения людей, к-рые не поверхностно, а зрят в корень :о) Понятия не имею - я простой разработчик. Я дяденька, не сварщик, я маску на стройке нашел :). Однако, в этом плане эффективность небольших проектов, где люди достаточно часто переключаются между разными видами деятельностей (ролями) меньше, чем в проектах, где такого "переключения" нет и люди оттачивают свои навыки (анализ, проектирование, программирование, тестирование и т.д). А как определить эффективность проекта? Это тоже самое что его успешность или нет? По-моему, чаще всего успешность зависит в значительной мере от вещей, совершенно не связанных с техн. реализацией проекта. К тому же, мне известна одна действительно крупная софтверная компания, в которой аналитики действительно отделены от кодеров. И известно о провале по-крайней мере одного проекта, причем это разделение косвенно также сыграло свою роль - аналитакам наплевать, какая будет реализация, а программистам наплевать, что думаю аналитики (что еще хуже), - у семи нянек, как известно... Я думаю, проблема в том, что разработка крупных проектов, на мой взгляд, по-прежнему остается Искусством (а не наукой). И применение того или иного подхода, не гарантирует успеха. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 13:17 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag Я думаю, проблема в том, что разработка крупных проектов, на мой взгляд, по-прежнему остается Искусством (а не наукой). И применение того или иного подхода, не гарантирует успеха. Сказал вслух то, что многие про себя думают. Репликант с одной стороны сторонник того мнения, что "правильные" подходы - несомненный залог успеха, с другой строны неоднократно подчеркивает необходимость сверх-высокого профессионализма, требуемого от специалиста одного с ним рода деятельности (системные аналитики и проектировщики, я, в свою очередь, настаиваю, что профессионализм должен быть на всех уровнях). Если учесть, что сверх-высокого профессионализма (причем неважно в какой области) достигают немногие, а только заведомо предрасположенные к этому личночти (читай - способные, талантливые и т.д.), то роль влияния личности на судьбу проектов (больших или маленьких) преуменьшать не стоит. Проектировшик может "обезопасить" себя от неожиданности потери грамотного программиста, ограничив его полномочия (влияние, ценность и т.д.). Но кто спасет проект если случиться потеря грамотного проектировщика? (кто будет сторожить сторожей?) Т.е., применяя "правильные" подходы, мы можем увеличивать вероятность успеха только до определенного уровня. Начиная с некоторого уровня, хотим мы этого или не хотим, успех - это "птица цвета ультрамарин". RUP - это всего лишь один из проверенных и обкатанных "алгоритмов". Не сомневаюсь, что существуют другие неплохие "алгоритмы". Вопрос надо ставить так, что лучше всего все же придерживаться некоего "алгоритма" при разработке, желательно проверенного, напр. RUP. В основе проектов должны, в первую очередь, лежать ИДЕИ (я не беру достаточно стандартные проекты, колторые легко решаются на той же 1С, превращая спор о достоинствах С++ и Дельфи в пустопорожнюю болтовню), а алгоритм может разве что "подсказать" нам как не просрать хорошую идею. Я думаю, что два этих понятия (идея - реализация) паритетны. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 16:45 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Да, насчет протоколов. Многие способны разработать протокол, так же как многие способны проектировать. Но немногие способны разработать действительно хороший протокол, точно так же как немногие способны действительно хорошо проектировать (см мое мнение насчет профессионализма в предыдущем топе). Например семейство протоколов IP: TCP/UDP/ICMP/IGMP - пример ужасно плохой разработки протоколов (я думаю, они были разработаны в свое время как внутреннее временное решение) однако проект имеет успех, что лишний раз подтверждает что не только качество влияет на этот самый успех. Кстати, успех той же 1С вообще ставит в тупик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 16:51 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Ну давай тогда продолжать эти сравнения. А успех Intel, а успех Microsoft тебя не ставят в тупик? Ну с Intel ходо бедно ещё можно как-то принять. Всё-таки они когда-то первые начали сам процесс. Хотя это тоже не показатель. А с Microsoft? Если бы не положение Уильяма Гейтса III, то хрен бы когда Microsoft так раскрутился. В истории с 1C тоже нет ничего удивтиельного. Мне кажется, что Борис мог бы раскрутить любую более менее работающую программу для ведения бухгалтерии. То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. Нельзя раскрутить совершенно не работающую программу. А вот работающую, пусть даже меделнную или неудобную, расскрутить уже можно. Что многократно и делалось (и не только с программами кстати). Опять же, с точки зрения голой и циничной коммерции раскурчивать выгоднее всего как раз средний по уровню технических решений продукт. Почему объяснять? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 17:07 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas >2 c127 >А какие еще языки тестировались и как? > >шутник, однако... тестирование языков... :) >.... >Вопрос был по-приколу? Вопрос задавался на полном серьезе. Утверждается, что "только такой язык (С++) позволил решить эту задачу весьма элегантно и смешным количеством строк", вот я и спросил, а как удалось выяснить, что "только такой", а может какой-нибудь другой подошел бы лучше. Наличие "множественного наследования имплементаций" само по себе не аргумент, ведь другие языки может быть могут предложить альтернативные механизмы и не проведя сравнительного анализа этого выяснить нельзя. Тогда уж следовало говорить: "из языков, известных мне и поддерживающих множественное наследование имплементаций только C++ позволил решить....." А то что сравнительное тестирование языков не шутка и люди им всерьез занимаются, можно прочитать здесь: http://www.osp.ru/os/2000/12/045.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 03:42 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 08:55 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 08:55 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 Тогда уж следовало говорить: "из языков, известных мне и поддерживающих множественное наследование имплементаций только C++ позволил решить....." Вот золотые слова! (если взглянуть на список языков) :)) Прямо добавить нечего... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 23:24 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri >2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? А мне понравилось, по-моему все достаточно профессионально. За такие вещи много денег не платят, а если это исследование по какому-то гранту то там вообще мелочь остается. Куча людей и на более бесполезнх вещах бабки делает. По существу вопроса есть мысли? Например меня совсем не удивило, что на задачах обработки данных (не GUI) C++ не дает выигрыша в сравнении с C. Странно, что нет большого разрыва в производительноси/памяти интерпретируемых и и компилируемых языков, но это наверное из-за использования встроенных средств, например перловых хешей. java на стабильном последнем месте, я давно подозревал, что там никаких достоинств нет, одни недостатки. Еще хотелось бы посмотреть на какие-то подобные исследования для больших проектов, не кинет ли кто-нибудь ссылкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 23:56 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: нельзя делать никаких выводов на основе этой статьи - там фактически полный бред! JAVA - это в общем-то тот же .Net - но только его раньше сделали. Не знаю чего он там тестировал, но то, что он ни черта не понимает это очевидно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 08:00 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag: \r Понятия не имею - я простой разработчик. Я дяденька, не сварщик, я маску на стройке нашел :). \r \r Вообще sloc используются для формальной (опять!) оценки объема/затрат на кодирование . Т.е как здесь уже флеймилось насчет тыс.строк/в год - можно использовать этот показатель, например, для оценки скорости кодирования по готовой спецификации и некого сравнения скилов 2-х программистов :о)\r \r К тому же, мне известна одна действительно крупная софтверная компания, в которой аналитики действительно отделены от кодеров. И известно о провале по-крайней мере одного проекта, причем это разделение косвенно также сыграло свою роль - аналитакам наплевать, какая будет реализация, а программистам наплевать, что думаю аналитики (что еще хуже), - у семи нянек, как известно... \r \r Если под "реализацией" имеется в виду результат программирования, то...\r \r Аналитикам и должно быть наплевать на реализацию. Они вообще отвечают за требования\r (в самом общем смысле) и концептуальную модель. Реализация (ее варианты) должна учитываться проектировщиками , к-рые отвечают за архитектуру и могу вносить в нее изменения,\r поддерживая тесную связь с программистами.\r Если программистам наплевать на требования и спецификации, то их надо под Ж.\r мешалкой - это уже задача менеджеров . От самодуров (и не только программистов!)\r и даже умных проблем больше, чем выгоды\r \r Я думаю, проблема в том, что разработка крупных проектов, на мой взгляд, по-прежнему остается Искусством (а не наукой). И применение того или иного подхода, не гарантирует успеха. \r \r А что такое "разработка крупных проектов"? Если имеется в виду именно основной процесс разработки софта, то какое здесь искусство при инженерном подходе? Может Искусство программирования? (с)Д.Кнут\r Если имеется в виду вспомогательный процесс управления проектом, то также непонятно где искусство. Хотя тот же менеджемент как раздел экономической теории управления персоналом богат гуманитарными (психологическими) моментами, типа "дать мотивацию", "быть лидером" и т.д. Пожалуй это Искусство работы с людьми :о)\r \r 2 vdimas: \r Репликант с одной стороны сторонник того мнения, что "правильные" подходы - несомненный залог успеха, с другой строны неоднократно подчеркивает необходимость сверх-высокого профессионализма, требуемого от специалиста одного с ним рода деятельности (системные аналитики и проектировщики, я, в свою очередь, настаиваю, что профессионализм должен быть на всех уровнях). \r \r Не "правильные", а правильные подходы, а точнее грамотные , т.е по ИТ-науке и Менеджементу. Вы хотите понимать то, что вам хочется понимать , а не то, что содержится в действительной смысловой нагрузке чьих-то высказываний? Тогда еще раз цитата из топика Все мы чего-то автоматизируем (стр.2) (пост Дата: 25 июн 03, 00:08): ...А кто говорит, что промышленно-конвеерный - это панацея от ошибок! Он всего лишь гарантия управляемости, точнее большей управляемости по достижению проектного результата, чем при кустарно-творческом способе. Если в промышленно-конвеерном способе использовать хреновых менеждеров, аналитиков и программистов, то получится промышленно-конвеерная хреновина. Не забыли еще, что успех складывается из 3-х "П"-составляющих? Процесс (включает также средства), персонал (читай профессионализм) и проект (цели, внешняя среда). ...\r Итак, где вы усмотрели противоречие с тем, что я говорил до сих пор и с тем, вы сказали выше по поводу профессионализма на всех уровнях?\r И где вы увидели у меня разделение "П"-составляющих - "с одной стороны..., с другой строны"? Эти составляющие неотъемлимы и даже наличие всех 3-х не есть 100%-гарантия успеха проекта, а когда их меньше 3-х, то тем более ничего гарантировать нельзя\r \r Если учесть, что сверх-высокого профессионализма (причем неважно в какой области) достигают немногие, а только заведомо предрасположенные к этому личночти (читай - способные, талантливые и т.д.), то роль влияния личности на судьбу проектов (больших или маленьких) преуменьшать не стоит. \r \r Я не знаю, что такое сверх-высокий профессионализм , а главное зачем он нужен. Видимо, в России он кому-то и нужен вместе со сверх-высокий работоспособностью чтобы аврально "вытаскивать" инвалидные проекты. При правильном подходе к организации работ будет вполне достаточно и просто профессионализма .\r Что же касается личностей, характеров и склонностей, то зависимость проекта от таких субъективных вещей надо сводить к минимуму. В правильно организованном проекте любого участника можно заменить на другого с эквивалентным профессиональным уровнем и проект из-за этого не будет существенно отброшен назад; все что понадобится - это время (минимальное по сравнению с кустарным подходом) на ознакомление нового участника с инженерными спецификациями\r \r Проектировшик может "обезопасить" себя от неожиданности потери грамотного программиста, ограничив его полномочия (влияние, ценность и т.д.). \r \r Это (кого-то сторожить, ограничивать полномочия и т.д) не входит в задачу проектировщика. Вы, видимо, путаете проектировщика с менеджером \r \r Но кто спасет проект если случиться потеря грамотного проектировщика? (кто будет сторожить сторожей?) \r \r Спасет другой проектировщик с уровнем профессионализма не хуже, чем был у предыдущего. В этом случае можно говорить, что потери времени от замены будут минимальны\r \r .. Т.е., применяя "правильные" подходы, мы можем увеличивать вероятность успеха только до определенного уровня. Начиная с некоторого уровня, хотим мы этого или не хотим, успех - это "птица цвета ультрамарин". \r \r Еще цитата из Все мы чего-то автоматизируем (стр.2) (пост Дата: 25 июн 03, 00:08): Т.е только наличие всех 3-х "П" и сможет обеспечить разумно приемлимый (!!!) результат, а говорить об 100% успехе сложного проекта просто нелепо потому что участники проекта это люди, а не роботы. \r Собственно важно не то, что не возможно достичь 100%, а то, что при кустарно-творческом подходе эффективность работы, управляемость и следовательно вероятность успеха проекта будет еще ниже\r \r RUP - это всего лишь один из проверенных и обкатанных "алгоритмов". Не сомневаюсь, что существуют другие неплохие "алгоритмы". Вопрос надо ставить так, что лучше всего все же придерживаться некоего "алгоритма" при разработке, желательно проверенного, напр. RUP. \r \r Не все же, а лучше . Любая даже не очень эффективная и корректная методология/процесс разработки лучше, чем полное отсутствие таковых. Другое дело, что иногда у кого-то знаний или времени не хватает на внедрение методологии/процесса, кто-то боится новизны, а кому-то просто лень\r \r В основе проектов должны, в первую очередь, лежать ИДЕИ (я не беру достаточно стандартные проекты, колторые легко решаются на той же 1С, превращая спор о достоинствах С++ и Дельфи в пустопорожнюю болтовню), а алгоритм может разве что "подсказать" нам как не просрать хорошую идею. \r Я думаю, что два этих понятия (идея - реализация) паритетны. \r \r А что вы имеете в виду под "идеи" и под "лежать в первую очередь"?\r \r 2 Дмитрий Мыльников: \r ...В истории с 1C тоже нет ничего удивтиельного. Мне кажется, что Борис мог бы раскрутить любую более менее работающую программу для ведения бухгалтерии. То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. \r \r Золотые слова... :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 09:08 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas,Дмитрий Мыльников По хорошему надо бы различать коммерческую успешность проекта (которя ну никак не зависит от разработчика/аналитика и пр.) и успешность его технической реализации . 2 Репликант ...sloc используются для формальной (опять!) оценки объема/затрат на кодирование... Поинтересуюсь. Наиболее частый вопрос, которой передо мной вставал - это оценка трудоемкости (в днях) того или иного проекта (в условиях недостаточной информации о нем). Может быть, этот метод как-то поможет? - хотя сомневаюсь. ...Если программистам наплевать на требования и спецификации, то их Все так. Но такой подход требует очень полного описания всех требований и спецификаций - которые имеют свойство менятся в ходе проекта. Главное же, что в данном случае каждому было наплевать на весь проект целиком - "К пуговицам претензии есть? Нет, вот и хорошо..." Если имеется в виду именно основной процесс разработки софта, то какое здесь искусство при инженерном подходе Все взаимосвязано. На успех скорее даже технической реализации (не коммерческой!) проекта влияет и то, насколько заложенные в нем идеи отвечают истинным потребностям пользователей (привет аналитикам), насколько он масштабируем, гибок, прост в освоении (разработчики), насколько он надежен и устойчив (те же плюс кодеры) и каких ресурсов (времени) он потребовал (менеджеры). Свое фразой - что разработка проекта это искусство - я хотел сказать о том, что применение тех или иных методов, все равно не гарантирует успешность проекта (в целом). Равно как и неприменение этих методов не обещает обязательного провала. И примеров этому несть числа. В то время как, скажем в строительстве, использование сопромата позволяет довольно четко оценить устойчивость и прочность сооружения даже теоретически. Любая даже не очень эффективная и корректная методология/процесс разработки лучше, чем полное отсутствие таковых. Это безусловно. Но, может быть и потому, что изучение той или иной методологии позволяет приобрести некий опыт и лучше организовать самого себя (или окружающих). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 11:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri Откуда: Саратов Сообщений: 1000 >2c127: нельзя делать никаких выводов на основе этой статьи - там фактически полный бред! Поздравляю с юбилеем. Я понимаю, что полный бред критиковать сложно, но может хоть какие-то соображения, почему же он такой полный. Мне например понравилось. Постановка эксперимента расписана, результаты приведены, даже стат анализ сделан. Т.е. формально вроде бы все правильно. Остается сама решаемая задача. Тут автор наверняка был сильно ограничен бюджетом, но даже при этом ему удалось ИМХО выбрать неплохой вариант: задача хоть небольшая, но довольно распространенная и все тестируемые языки в принципе подходят для ее решения. Но я не прочитал внимательно всю статью, может что-то и пропустил. >JAVA - это в общем-то тот же .Net - но только его раньше сделали. Не знаю чего он там тестировал, но то, что он ни черта не понимает это очевидно Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 00:11 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag: \r По хорошему надо бы различать коммерческую успешность проекта (которя ну никак не зависит от разработчика/аналитика и пр.) и успешность его технической реализации. \r \r Так "Дмитрий Мыльников" и говорил об этом: То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. .\r Что касается коммерческой успешности проекта, а точнее коммерческой успешности продукта , то она все-таки зависит (!!) от разработчиков (аналитиков-проектировщиков, программистов, тестеров) поскольку функциональность и качество продукта зависят от разработчиков. Но в целом абсолютно верно - хорошо продаваться может любое даже относительное Г. :о)\r \r Поинтересуюсь. Наиболее частый вопрос, которой передо мной вставал - это оценка трудоемкости (в днях) того или иного проекта (в условиях недостаточной информации о нем). Может быть, этот метод как-то поможет? - хотя сомневаюсь. \r \r А зачем это вообще нужно - оценка трудоемкости (временных затрат) будущего проекта? Это очень сложная задача и чтобы ее решать полноценно, т.е получать достаточно точный результат прогноза (при каких входах - время/ресурсы будет такой выход процесса) требуется условие - наличие процесса с известными и постоянными характеристиками. И это минимум. У вас есть эти условия? Если нет, то оценивать можно только эмпирически или на основе уэе имеющегося опыта по выполнению эквивалентных проектов. Хотя и так тоже можно получить достаточно точный прогноз. Но и он зачем нужен? Проще "оттяпать" себе срок с запасом и ничтяк (я все болше убеждаюсь, что этот способ не тольк имеет преимущества, но и надежнее). Правда известны случаи, когда люди себе запас брали 1 год и не укладывались - проекты 2-3 года, например, по автоматизации промышленного предприятия\r \r Все взаимосвязано. На успех скорее даже технической реализации (не коммерческой!) проекта влияет и то, насколько заложенные в нем идеи отвечают истинным потребностям пользователей (привет аналитикам), насколько он масштабируем, гибок, прост в освоении (разработчики), насколько он надежен и устойчив (те же плюс кодеры) и каких ресурсов (времени) он потребовал (менеджеры). \r \r Вопрос был где (нет, я знаю, что искусство не искоренить и где оно, но хочется услышать чужую т.з) искусство, если используется грамотный (инженерный) подход? Еще раз по пунктам при грамотном подходе:\r \r Если используется а) качественная методология анализа , б) аналитики\r профессиональны и добросовестны, то концептуальная модель ("идеи") будет\r обладать необходимой полнотой и точностью описания - будет качественной, т.е\r именно такая концепция системы будет удовлетворять требованиям пользователей.\r \r Если используется а) качественная методология проектирования ,\r б) проектировщики профессиональны и добросовестны, то модель проектирования \r будет качественной, т.е именно такая архитектура системы будет\r удовлетворять требованиям (производительность, надежность и т.д) пользователей.\r \r Если используется а) качественная методология программирования \r (здесь имеется в виду качественное использование средств языка, идиом,\r алгоритмов и т.д.), б) программисты профессиональны и добросовестны,\r то модель реализации будет качественной, т.е именно такая\r реализация системы будет удовлетворять требованиям пользователей.\r \r Если используется а) качественная методология тестирования, б) тестеры\r профессиональны и добросовестны, то .... и т.д.\r \r И где здесь остается место искусству? Только в менеджементе поскольку там присутствует работа с людьми\r \r Свое фразой - что разработка проекта это искусство - я хотел сказать о том, что применение тех или иных методов, все равно не гарантирует успешность проекта (в целом). ... \r \r То, что не гарантирует - это одно, а то, что присутствует искусство - это совсем другое. Это разные вещи! Так не гарантирует или искусство? Можно сесть доказывать теорему Ферма (малую!), используя теорию групп (т.е это не искусство), но с похмелья, т.е результат не гарантирован\r \r Это безусловно. Но, может быть и потому, что изучение той или иной методологии позволяет приобрести некий опыт и лучше организовать самого себя (или окружающих). \r \r Это и есть цель любой методологии - исключить искусство (творчество, эксперимент, догадку и т.д), а используя оптимальное знание "КАК НАДО" и главное понимание "ПОЧЕМУ НАДО ТАК" получать качественный и гарантированный результат. А своеобразная организованность или упорядоченность действий закономерно вытекает уже сама собой, что и позволяет не начинать каждый раз по новой\r \r 2 c127: \r Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. \r \r Конечно нельзя хотя и то, и то - технологии и при этом языки программирования. Но можно сравнивать язык Java2 c языком С#, а объектно-компонентную технологию построения распределенных приложений J2EE надо сравнивать с технологией .Net ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 09:40 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Кто же спорит, что если есть достаточные определенные требования или вполне определенные нужды ползователей, то нет места исскуству. Всего-то и делов требуется, что как можно добросовестнее выполнить свою работу на всех уровнях. (очень удачно подобранное Рапликантом слово) Позвольте поделиться грядущим моим проектом. Требуется разработать систему (программно-аппаратную) для возможности транслирования телепередач по цифровым кабельным каналам взамен существующих аналоговых. (В штатах подавляющее число людей пользуют кабельное телевидение). Еще было бы неплохо, по-максимуму использовать тот факт, что соединение будет цифровым, а на стороне клиента будет TV-приставка. (т.е. там будет как минимум 1 процессор!!!) Все. Именно такая постановка. Границ для фантазии нет. Концепция и реализация полностью в нашем ведении. (На текущий момент, та модель системы, что мы спроектировали уже поражает воображение заказчиков) Все это уже есть, как отдельные продукты, но нужна все же единая СИСТЕМА. Да и цены нереальные для повсеместного внедрения. На стороне клиента должна стоять TV-приставка стоимостью гораздо меньше $100, чтобы это вообще имело смысл. Быстродействие и цена современных ЦП вполне позволяет это сделать. К тому же, повторю, необходимо разработать именно СИСТЕМУ предоставления цифровых услуг, причем трансляция непосредственно TV - лишь одна из функциональностей, наряду с WEB, почтой, IM, прокатом видеоигр и других программ так же как прокатом медиа-контента и т.д. (интересное положение вещей :) ). Это все не оффтоп. Центром системы будут мультимедийные базы данных (наряду с обычными учетными - кабельное TV платное :) ), хотя именно это - самая примитивная часть предстоящей разработки. В проекте участвует 2 чел, у которых за плечами опыт разработки вдвоем не уступающих по сложности проектов. Несмотря на все мое уважение к Репликанту, именно в нашем случае никак невозможно полностью реализовать предложенный алгоритм (имеем 2 чел на ВСЕ!). Почему не взять больше людей? А опыт подсказывает, что в подобных проектах (близких по духу к исследовательским) количество людей мало что решает, решает их качество. :) Опять же. Где взять стадо аналитиков и проектировщиков на подобный проект, охватывающий приличную область знаний? Проект охватывает следующие предметные области: 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. 3. операционные системы реального времени. 4. распределенная сетевая инфраструктура, критичная к времени отклика. 5. защита информации. 6. учет и анализ (тот самый учет и тот самый анализ) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. Так что, бывают ситуации, когда слишком хорошее разделение "труда" (в нашей IT области я бы назвал это разделением "знаний"), так вот в некоторых ситуациях черезчур глубокая специализация означает провал, особенно тогда, когда проект лежит на стыке множества технологий. А так как знать ВСЕ одонозначно НЕВОЗМОЖНО, то работа в таком ключе и есть то самое исскуство, потому как такие понятия как "чутье", "творчество", "вдохновение" преобретают вполне осмысленное и серьезное значение. -------------- Да, я не не пользую UML так ширококо как Репликант, это однозначно. У меня просто нет на это достаточно времени (хотя, может оно и появилось бы :) ). UML я использую лишь для проектирования статической структуры классов и схемы БД (как электронщик не в состоянии работать без принципиальной/функциональной схемы, так же невозможно писать программы без схемы классов и БД. ) Если Репликант сможет предложить алгоритм работы и используемые средства именно для данного случая, это было бы действительно интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 20:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
c127>Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. Репликант>Конечно нельзя хотя и то, и то - технологии и при этом языки программирования. Может быть JAVA с большой натяжкой и технология, но вот .Net точно не язык программирования. Интересно было бы посмотреть на BNF такого языка. vdimas> проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет!...) Конечно же ошибешься. Не преувеличивай, есть системы, успешно работают, есть и спецы, которые их строили. Да и нету в GUI для телевизора никаких особых отличий от обычного интерфейса, те же принципы. А если еще вспомнить старые однооконные пользовательские интерфейсы, например досовские, так вообще один в один. А еще можно вспомнить Palm или пользовательские интерфейсы современных мобильников. Как там с вопросом по сравнению языков, будет ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 04:38 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2vdimas: И ВСЕ ЭТО НА ДВОИХ ? Интересно, каковы прогнозы сроков выполнения ? Есть у меня большие сомнения в реальности успешного окончания данного проекта... Если, конечно, нет уже наработок, покрывающих 2/3 задачи. Через полгодика спросим о результатах :-) >В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. А вот это говорит только об отсутствии среди 15 человек хотя бы одного нормального менеджера :-( Так что не стоит утверждать, что маленькая группа всегда лучше, чем большая. Вот у меня, например, сейчас большая проблема: для соблюдения сроков проекта надо бы взять еще человека-двух, задачи для них отдельные есть, но... бюджет не позволяет. Вот и.. делают двое то, что должны четверо делать. И сроки... сответственно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 10:43 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 если тебе нужно мое мнение по той ссылке, где сравнивают языки- был там только что. Впечатления (беру С, C++, Java, скриптовые языки не беру, т.к. обработка строк - это одно, а полноценные приложения - несколько иное). Удивительно большой разброс результатов по С, С++, Java. Это говорит о том, что многие не умеют толком пользоваться этими языками, так что в следующих пунктах я буду сравнивать лучшие показатели для этих языков. Рис. 1. Время работы программы с набором данных z1000 Оработка строк - самый больной вопрос для С++. (это правда) Мне приходилось писать свои классы для строк взамен std::string, CString и пр. Но в большинстве случаев я пользуюсь обычными строковыми функциями доставшимися еще от С (см результат по С). Объяснение этому простое перечисленные классы практически всегда создают копии строк, что, во-первых, требует время на копирование, во-вторых, требует время на выделение памяти под строки в куче(!!!), т.е. время на создание строки - это по-сути время на выделение динамического куска памяти. Опытные С++ программисты переопределяют оператор new для своих классов строк, таким образом, чтобы "отхватывать" у операционной системы память редко большими кусками, и уже в этих "кусках" распределять память. Получается на порядок быстрее (гораздо быстрее даже, чем в С). Однозначно, в этом примере никто так не делал, поэтому С - на самом первом месте (повторю, учитываю лучшие показатели). Рис. 2. Время, затраченное программой только на загрузку и предварительную обработку словаря (набор данных z0). Рис. 3. Время, затраченное программой только на поиск, вычисленное как разность между временем работы с набором данных z1000 и набором данных z0 Лучшие показатели трудно сравнить из-за масштаба графика. Однако результат понятен и так. ФУНКЦИИ РАБОТЫ СО СТРОКАМИ ЗАПРОГРАММИТОВАНЫ В JAVA НА С!!! (так же как и в скриптовых языках) Это надо знать. Таким образом, я не удивлюсь, если при смене масштаба графика мы обнаружим примерно одинаковое быстродействие у лучших результатов Java, С, С++. Задача выбрана крайне неудачно. Я бы для тестирования взял более общие алгоритмы - скажем синтаксического анализа. Общие в том смысле, что используют более-менее одинаково все конструкции языка. (где наряду с частым использованием "встроенных" функций языка, типа работы со строками в Java, широко использовались бы и обычные вычисления, условные операторы и мгочисленные вложенные циклы). Это больше соответствовало бы реалиям современных программ. Рис. 4. Объем памяти, необходимый программе, в том числе для размещения интерпретатора или исполняющей системы, собственно программы и всех статических и динамических структур данных. Без комментариев. (опять же - смотри лучшие результаты) Рис. 5. Длина программы: число строк исходного текста без комментариев. Очень близкие показатели для всех интересующих языков. (и абсолютно одинаковое среднее число строк) Рис. 6. Полное время, затраченное на реализацию программы Полностью развеяло миф, что писать на Java гораздо быстрее. Рис. 7. Число строк исходного текста, написанных за полный рабочий час И лучшие и средние показатели подтверждают пред. пункт. Выводы - крайне глупое тестирование оторванное от реалий современного програмирования. Приведенные пример разве что дает представление о сопоставимости скриптовых языков и "обычных", но никак не позволяет сравнивать "обычные" языки между собой. Это и не удивительно, ведь выбранная задача была изначально "по зубам" скриптовым языкам. Если речь пойдет именно о сравнительном тестировании C, C++, Java - давайте вместе придумаем такую более-менее равную задачу для всех этих языков. Скажем, расчет матриц и операции с комплексными числами выполняется на С и С++ на порядок быстрее, и занимают меньше строк чем в Java (из-за переопределения арифментических операторов в С++), но это тоже весьма специфичная задача (именно этот случай тестировался год назад ради интереса). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 21:21 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Mik Prokoshin И ВСЕ ЭТО НА ДВОИХ ? Интересно, каковы прогнозы сроков выполнения ? Есть у меня большие сомнения в реальности успешного окончания данного проекта... Если, конечно, нет уже наработок, покрывающих 2/3 задачи. Все не так страшно на самом деле, как звучит. :)) 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. Тонна в сети open-source проектов. С некоторыми ознакомился и удачно поэкспериментировал - дык это было раньше из интереса, а если копнуть по надобности... :) 3. операционные системы реального времени. Начиная от ucLinux и NetBSD, заканчивая RTOS и прочей ерундой. NetBSD уже когда-то "курочил", на предмет минимизации раз в 5 (нужна была сильно урезанная версия). Если имеем точно заданное число и тип сетевых интерфейсов, то там половина сетевой инфраструктуры просто выкидывается, все упрощается и быстрее работает. 4. распределенная сетевая инфраструктура, критичная к времени отклика. Тут придется проектировать инфраструктуру. Но задачки подобного типа мы вроде рещали на 4-м курсе института. :) И материала в сети - тонна!!! 5. защита информации. Опять же все это есть. 6. учет и анализ (тот самый учет и тот самый анализ) Последние годы именно этим и занимались. :) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) Как раз это и есть наш "конек" с моим товарищем. Мы неоднократно делали весьма специфичные программно-аппаратные решения. Он - радиочастотник, СВЧ, аналоговик, цифровик. Я - чуть-чуть аналоговик, цифровик, системщик, прикладник. Че еще надо? :) Посмотри, ради интереса, современные контроллеры, типа Alchemy. Разработать современный компьютер сможет даже ребенок! (8 лет назад это было исскуством :) ) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) c127 Конечно же ошибешься. Не преувеличивай, есть системы, успешно работают, есть и спецы, которые их строили. Да и нету в GUI для телевизора никаких особых отличий от обычного интерфейса, те же принципы. Буду очень признателен, если эти спецы свяжуться со мной через e-mail. Скажу одно, интерфейс в стиле а-ля Windows или Windows CE, Palm сразу отметается. Я примерно знаю, что нам нужно, видел в сети несколько скриншотов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 21:47 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas> Буду очень признателен, если эти спецы свяжуться со мной через e-mail. Скажу одно, интерфейс в стиле а-ля Windows или Windows CE, Palm сразу отметается. Я примерно знаю, что нам нужно, видел в сети несколько скриншотов. А что мне за это будет? Наверное можно организовать, но в данный момент я их лично не знаю. Знаю, что они есть, поскольку имею иногда счастье наблюдать результаты их труда в телевизоре. Могу поискать. vdimas> если тебе нужно мое мнение по той ссылке, где сравнивают языки- был там только что. Гораздо больше меня интересует, откуда взялось утверждение: "только такой язык (С++) позволил решить эту задачу весьма элегантно и смешным количеством строк". О нем и была речь. По моему личному впечатлению в реальных (теория не обсуждается) проектах C++ не дает экономии труда программиста в сравнении с C, но у меня нет обоснования. Статья была приведена просто как пример сравнительного исследования, а не как доказательство чего-то. Если у тебя есть другие примеры - было бы интересно посмотреть. Задача же для тестирования выбиралась так, чтоб во-первых быть достаточно распространенной, а во-вторых чтоб любой из тестируемых языков потенциально подходил для ее решения. Об этом в стстье говорится явно. Если бы предложили писать драйвер монитора, то было бы не интересно. Конечно хотелось бы посмотреть на результаты на более крупной задаче, особенно в плане C против C++, но такой тест требует вложения больших денег, а тут справились силами студентов старших курсов и добровольцев. А что касается джавы, так я о ней и сам невысокого мнения. Совершенно идиотский и бесполезный язык. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 00:43 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Действительно 1000 постов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 08:58 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 По моему личному впечатлению в реальных (теория не обсуждается) проектах C++ не дает экономии труда программиста в сравнении с C, но у меня нет обоснования. Все ясно, я доказывал не то и не тому! :) C - моя первая "любовь", но надо признать факт - С++ на порядок мощнее. Всякое наследование, в т.ч. множественное, операторы приведения типов и еще 1000 "фишек" позволяют решить массу проблем "одним движением пера". Разумеется, все что программируемо на С++, можно сделать один-в-один на С, путем эмуляции ООП, дублирования шаблонов и принудительного приведения типов. Но при этом придется изрядно попотеть и "ручками" написать приличное количество эмулируемого кода. Да и с безопасностью типов в С не все так просто - без проблем можно присваивать указатели разных типов - легко ошибиться. В С++ произвольные присваивания невозможны, т.к. зачастую, даже во время "разрешенного" присваивания происходит коррекция значения указателей (из-за того же множественного наследования). В общем еще 1000 причин. (повторяюсь) Приглашаю на мыло, кину в ответ, если любопытно, небольшой примерчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 10:09 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag Забыл ответить на один интересный вопрос: Лично мне немного непонятно, почему говоря о бизнес-приложениях, вы все время переключаетесь на потоковые библиотеки, протоколы и пр. чисто технические, системные вещи. Ибо для бизнес-приложений, по-моему, смехотворно утверждать, что "только на с++" (или только на Delphi, или ...). Правда твоя, со стороны это может показаться странным. Однако, у меня на счету уже 3 бизнес-проекта. И если сравнивать потраченную трудоемкость на разработку архитектуры и схемы БД с собственно трудоемкостью реализации (проектирование и кодирование частей системы), то про первое даже и не вспоминается. Обладая знаниями о предметной области (а получилось так, что обладал весьма нехило - одно время 3 года работал менеджером в торговой компании, по совместительству разрабатывал и поддерживал их ПО), так вот, владея предметной областью, можно наваять схему БД из сотен таблиц влет, не задумываясь. И гораздо качественнее любого аналитика, т.к. вряд ли он успеет за 1-2 месяца анализа так же глубоко вникнуть в суть. А я на своих программах РАБОТАЛ сам, а более придирчивого пользователя еще поискать. Да и тонкие моменты подобных систем знакомы не по-наслышке. Не в архитектуре гвоздь, (хорошая архитектура должна быть как нечто само-собой разумеющееся), гвоздь порой в очень мелких деталях, типа сбалансированного кэширования и синхронизации. Эти вещи могут влиять на эффективность системы гораздо сильнее выбранной структуры справочников или документов (понятий конкретной бизнес-системы). Повторюсь, не вопрос что-то там "спроектировать" отвечающее требованиям заказчиков, вопос в том, чтобы написать действительно эффективное (а для наших реалий еще и гибкое) ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 12:51 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Да нет, гвоздь все-таки в архитектуре. Если фундамент кривой, то потом придется поизвращаться, придумывая решения, необходимость в которых возникла исключительно из-за кривизны архитектуры. И наваять схему БД из сотен таблиц влет можно только НЕ владея предметной областью. Или не представляя, что такое таблица и каких усилий стоит ее спроектировать, ввинтить в существующую схему БД и связать с клиентом. Причем связать так, что бы связка эта работала не только у автора-разработчика, но и любого пользователя. Ведь программист, как правило, работает со своей программой по логике, а конечный пользователь по парадоксу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 17:49 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 lexB У меня складывается такое впечатление, что разработка архитектуры для многих является прямо-таки камнем преткновения. Я уверен, что бизнес-проекты для большинства нужд - торговля, налоговый и аналитический учет, отчетность/аналитика, кадры, ЗП, материалы, склады и т.д. и т.п. в принципе ДОЛЖНЫ быть однотипны (ну, или поделены на группы по требуемой пропускной способности/масштабируемости) В чем, собственно, загвоздка? Спросите - поможем :) Написать влет схему БД можно не только потому, что имеешь представление о НФ (кстати, не видел ни одного реального решения без избыточности - эффективность диктует свои правила), а потому что работал именно в этой области некоторое немалое время. И потому что тысячекратно в голове, бумаге или в работающем ПО "прокручивал" всевозможные решения (опять же, по причине того, что не всегда ПРАВИЛЬНО разработанная схема работает с должной эффективностью). Есть ли у кого-нибудь пример разработки более 3-х бизнес-систем таких, что абсолютно никаких похожих(подобных) моментов в этих системах не было? Интересно послушать... А то сидим тут все, изобретаем - десятитысячный велосипед, да еще умудряемся себя пяткой в грудь постукивать от важности. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 19:00 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Репликант --Мда-а.. 40 мег на С++ - этот объем заслуживает уважения. Интересно, а как они в своем проекте ориентировались и развивали в плане требований или архитектуры? у нас 10000 проданных клиенских установок почти во всех странах мира. проект возник как интерфейс для сертифицированных алгоритмов расчета и написан на pascal для dos в 1989 затем переписан на С++ с графической библиотекой Zinc затем переведен для windows 3.1, затем win95/nt используются и другие языки (Fortran, Pascal, Perl) но их доля меньше 1% -Интересно, а как они в своем проекте ориентировались и развивали в плане требований или архитектуры? новые требования росли по мере развития техники и задач от клиентов. скажим моделирование 3D участка земли с размерностью матрицы 10000x10000x10000 узлов стало реальным только 4 года назад. потом поддержка многопроцессорных машин, написание 3Dview-ра. моделирование многокомпонентых химическиских транспортов, поддержка стереокарт и т.д. и т.п. сейчас пришли к тому что в момент подготвке к 4-версии начали работу над проектированием пятой. --Дмитрий Мыльников -- Vdimas, а почему на C++? Я в своё время попробовав и то, и другое остановился на Delphi. Может код получается и чуть-чуть побольше, зато отлаживать и поддерживать проект проще. Object Pascal язык более строгий, чем C++ и многие ловит ошибки, которые тем же C++ будут пропущены (в следствии особенностей инвариантного синтакиса). Мы пишем на Borland Builder. Delphi - пара проектов было. применение использование STL/XML по сравнению в Delphi в двое! сократило время разработки на проекте аналогичной сложности. И не забываем на текущий момент ведущие софтверные компании (MS, Oracle, Adobe, Corel, ..) пишут на С++ и это не ошибка дилетантов. Практически весь установленный у вас на компе софт написан на С++. И серьезной альтернативы нет. java/vb/C# -это только маркетинговые потуги. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 22:59 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas: Еще было бы неплохо, по-максимуму использовать тот факт, что соединение будет цифровым, а на стороне клиента будет TV-приставка. (т.е. там будет как минимум 1 процессор!!!) Все. Именно такая постановка. ... И что? Еще раз: где здесь именно необходимо искусство? Если вы беретесь в первый или второй раз, то - да, для вас в этом проекте будет много нового и интересного, т.е сплошное творчество, эксперимент и искусство. это понятно. Но вы все-таки путаете необходимость и непрофессионализм заказчика, заключающийся в позволении заниматься вам искусством. Тендер-то он ведь небось не проводил или ваше решение стоит меньше 10 тыс.$$? Вы хотите сказать, что область, к-рой вы занимаетесь новая или передовая? Отнюдь! Это точно. Возможно ваше решение будет значительно дешевле и при этом будет удовлетворять заказчика. Может быть. Но сначала немного истории. Ground matters так сказать немного в тему. А заодно прихвастануть разнообразным опытом (потому что вы поймете о чем речь). В период 1997-1999 гг. я занимался проектами, посвященными IP-телефонии (IPT, VoIP и прочии технологии). Тогда в России и даже в Москве все это было в новинку. Сначала внедряли не очень дорогие решения (10-30 тыс.$$) на VocalTec TG версий 2.х/3.х, а потом пошли наши разработки - не хуже и дешевле, потом Cisco 2600/3600 начали выдавать под длительный кредит и цены на те же Cisco или VTG 3 упали так, что многие руководители предприятий просто ох..вали как здорово теперь можно экономить на междугородном/международном телефонном трафике пока ММТ нес убытки. И что? Кулибины и первопроходцы (т.е мы) стали не нужны. Сейчас этот рынок IPT-решений в Москве поделен несколькими компаниями и мелким командам там просто делать нечего, если только заказчик не в танке . Может вам не стоит изобретать велосипед, а исследовать рынок подобных решений более досконально? Вот к примеру: в 1997-1999гг у нас основной проблемой, помнится, была большая задержка (>500 ms) на международных и спутниковых каналах, к к-рой IP-телефония очень чувствительна даже несмотря на все ее специальные механизмы. Как мы с ней только не боролись - туннелирование, выделенные порты и таблицы маршрутизации у провайдера, смена провайдера, использование сверхмощных аппаратных кодеков на локальных шлюзах и т.д. и т.п. Сейчас такой проблемы просто нет - качество каналов очень высокое, а цены низкие на те же допуслуги (туннели и тп.). Любая контора, использующая междугородние/международные переговоры, если там не дураки сидят, сейчас использует решения IP-телефонии. Это, конечно, может не к месту и лирика, НО учтите, что имеется развитие рынка этих решений, за к-рым необходимо следить и заказчик тоже может следить. Так что это не рынок заказных ИС/ПО, к-рый еще очень не скоро насытится. Дальше больше - решили заняться видеоконференцсвязью и IPTV. Там уже были другие проблемы - требовательность к полосе пропускания (минимум 128 кбит/с) для приемлимого качества. Однако, дело было в 1999гг и такие каналы даже в Москве стоили где-то по-мойму 300-400$ в месяц. Рынок тогда пестрил предложениями различных мощных программно-аппаратных кодеков, тот же MPEG4 и LBRV-кодеки уже набирали обороты, т.е по сравнению с ними MPEG1 и MPEG2 были просто прожорливым дерьмом. Заплатив за плату с таким крутым кодеком (10-20 тыс.$$) можно было передавать видео чутьли не в формате QCIF (20-30 fps) или даже DQCIF (5-10 fps) через канал в 64 кбит/с при цвете RGB 3:2:2 или что-то там такое, т.е достаточно приличная цветопередача. Естественно все заказчики охали и не собирались выкладывать такие "огромные " бабки, хотя мы им всем (ламерам таким) показывали все официальные цены и подробные рассчеты (ТЭО)., что эти средства окупятся уже буквально через год. Поняв, что стену не прошибить начали искать российских Кулибиных и Самоделкиных. Да, нашли и много! Каких только нам кодеков не предлагали. От одного научно-институтского варианта я помню у меня варежка отвалилась даже - что-то типа QCIF (25 fps) через 16 кбит/с! Но проект тот был в стадии разработки и уже лет 5. И остальные проекты также были сомнительны в смысле гарантий завершения - одно дело иметь крутой алгоритм, идеи и т.д, а совсем другое - иметь готовое решение , к-рое установил и смотри. К чему я тут это, разблотался-то? Вот: странно, что вы вроде решаете не простую, но и не новую п роблему, а пытаетесь решить коллективом из 2 человек. Каковы условия проекта? Вы исследовали рынок подобных решений? Т.е прежде чем браться, поискали бы (за счет заказчика) на Западе и по России, авось есть Кулибины, к-рые все это уже сделали и очень неплохо. Исходить надо прежде всего из рациональности затеи. Так же не плохо заручиться поддержкой и гарантией заказчика, чтобы завтра не оказаться у разбитого корыта, когда он найдет более лучшее или дешевое решение на стороне. Мне это желание хорошо знакомо, когда все хочется самому - "покорить Эльбрус" в 1001-й раз. От этого желания надо избавляться. Темы эта очень и очень не нова - DCTV, MMTV и прочие конвергентные IP-технологии. Что вы думаете по этому поводу? ... Границ для фантазии нет. Концепция и реализация полностью в нашем ведении. Эта фраза подозрительна сама по себе. Вы еще выполняли роль и маркетолога(ов) для заказчика? Поскольку делаются какие-то предварительные выводы о потребностях будущих пользователей - "Концепция ... полностью в нашем ведении" или имелось в виду что-то другое? Все это уже есть, как отдельные продукты, но нужна все же единая СИСТЕМА. Да и цены нереальные для повсеместного внедрения. На стороне клиента должна стоять TV-приставка стоимостью гораздо меньше $100, чтобы это вообще имело смысл. Вот-вот и у нас те же проблемы были. Это сегодня нереальные? Может быть, если вы рынок исследовали. А через полгода? Есть хоть какие-то грубые прогнозы или вы абсолютно уверены, что уже закончите проект в срок В проекте участвует 2 чел, у которых за плечами опыт разработки вдвоем не уступающих по сложности проектов. Несмотря на все мое уважение к Репликанту, именно в нашем случае никак невозможно полностью реализовать предложенный алгоритм (имеем 2 чел на ВСЕ!). .... UML я использую лишь для проектирования статической структуры классов и схемы БД (как электронщик не в состоянии работать без принципиальной/функциональной схемы, так же невозможно писать программы без схемы классов и БД. ) Если вы имеете в виду "алгоритм" (пункты или стадии анализ...тестирование в посте Дата: вчера, 09:40), то дело не в людях, а в ролях . Я также имею опыть работы в проекте из 2-х человек, где я был аналитиком-проектировщиком и программистом в одном лице. Более того у меня был проект из меня одного (бизнес-аналитик и РБП), ну и еще секретаря для работы с документами. Все. IMO у вас же в корне неправильный или какой-то однобокий подход в проектировании - вы получаете и используете только статическую модель архитектуры. Чтобы понять ЧТО делает ваша система необходимо читать варианты использования, а чтобы понять КАК она это делает - читать исходные тексты на С++ Вы также как-то неявно приравниваете по сути функциональные модели/схемы или потоков данных (DFD) к статическими моделями данных/классов. Эти модели необходимо дополняют друг друга, составляя,кстати, основу структурной методологии SAD Почему не взять больше людей? А опыт подсказывает, что в подобных проектах (близких по духу к исследовательским) количество людей мало что решает, решает их качество. :) Опыт не является новым знанием. Если у вас сроки не ограничены жестко, нет необходимости в поддержке системы (закодировал, отдал и все) и если у вас доверительные отношения с заказчиком, т.е он не станет с вас спрашивать доказательства состоятельности вашей архитектуры, то почему бы и не вдвоем? В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. Вы вот неявно сетуете на ИТ-науку. А она ведь не может быть неправильной, т.к ее выводы/результаты доказаны и апробированны множеством проектов. Извините, но IMHO в вас говорит отсутствие определенного образования. Можно предположить, что вам не хватает знаний в области инженерии ПО и ИТ-менеджмента. Так зачем пытаться судить? Подобные суждения чем-то напоминают высказывания типа "MSF круче всех" или "Windows - ацтой". Пожалуйста, не уподобляйтесь. Ваш проект мог провалиться из-за десятка причин. Я сразу могу предположить две - неумелое руководство и организация проекта или вообще их полное отсутствие и непрофессионализм нек-рых участников :о( .. Так что, бывают ситуации, когда слишком хорошее разделение "труда" (в нашей IT области я бы назвал это разделением "знаний"), так вот в некоторых ситуациях черезчур глубокая специализация означает провал, особенно тогда, когда проект лежит на стыке множества технологий. А так как знать ВСЕ одонозначно НЕВОЗМОЖНО, то работа в таком ключе и есть то самое исскуство, потому как такие понятия как "чутье", "творчество", "вдохновение" преобретают вполне осмысленное и серьезное значение. Здесь я вам ничего не могу сказать, кроме того, что уже говорил раньше. Я согласен с вами и уже говорил выше, что там, где есть новое и не исследованное , то там есть доля искусства и тем более место для интуиции. Мне сложно судить на сколько сложно было бы использовать промышленный подход именно в вашем проекте поскольку я просто не знаю всех условий проекта, конъюнктуру рынка аналогичных решений, предложения рынка труда и т.д и т.д. Если доказывать, то надо разбираться, а "на пальцах" можно только объяснять что в общем лучше и лучше, чем что Проект охватывает следующие предметные области: 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. 3. операционные системы реального времени. 4. распределенная сетевая инфраструктура, критичная к времени отклика. 5. защита информации. 6. учет и анализ (тот самый учет и тот самый анализ) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) Позволю себе предположить, что 1 и 2 - это задача для одного спеца. 3 и 4 - тоже для одного. 5, 6 и пожалуй 8 - это общие задачи и тоже для одного. 7 - только для одного. Почему? Потому что я могу судить по своим хорошим знакомым, к-рые работают в одной московской конторе, к-рая занимается цифро-аналоговыми устройствами. Правда, их основнй профиль - это цифровые устройства на базе процессоров Atmel, Risc-процессоров Intel, Hitachi, смарткарты, флэшнакопители высокой емкости, заказные сети на базе RS-422, FireWire и т.п. (Иногда за пивом они мне "лекции" читают что там и как у них в жтой области творится.) Также следует учитывать, что, как правило, мало специалистов только по аналоговым или только по цифровыми сигналам и их обработке. Таковыми являются достаточно узкие специалисты, например, по hi-end звукотехнике (колонки/динамики) или спутниковому ТВ (декодеры). Просто, кажется, дажев ВУЗах обучают и тому (A,D), и тому (D/A,A/D). Вроде обычное деление, например, такое: A/D,D/A и только ТВ-приемники, A/D,D/A и только радиосвязь, A/D,D/A и только студийное обородуование или мультимедиа системы. И по-мойму у них у всех очень много смежных или общих знаний. Может я не прав? ... Если Репликант сможет предложить алгоритм работы и используемые средства именно для данного случая, это было бы действительно интересно. Алгоритм тот же самый! Ваши пункты 1-8 меня просто "слегка" смущают. Возхможны 2 выбора: либо большая команда узких с пециалистов, либо маленькая команда универсалов . Но алгоритм тот же самый потому что он определяет грамотный (инженерный) подход . Совсем другое дело условия проекта. Если бы у вас был срок 3 мес, то в двоем вы бы не справились (скорее всего) поэтоу выбор - большая команда. Если срок 1 год, то можно справиться и вдовем, да еще при этом денег заработать больше. Также и насчет бюджета проекта. Маленький бюджет можно компенсировать уменьшением числа участников и растягиванем проекта во времени. Вот и весь "алгоритм" :о) У меня складывается такое впечатление, что разработка архитектуры для многих является прямо-таки камнем преткновения. Я уверен, что бизнес-проекты для большинства нужд - торговля, ... и т.д. и т.п. в принципе ДОЛЖНЫ быть однотипны (ну, или поделены на группы по требуемой ропускной способности/масштабируемости) А что значит "однотипны"? Даже концептуальная модель системы для одной и той же области ФХД (например, бухучет) и компаний одного организационного и целевого типа (например, ООО, в одном городе, торговля ТНП, штат 50 чел) может принципиально отличаться, например, из-за наличия той же двойной и тройной бухгалтерии. Это соответственно сказывается на архитектуре, т.е просто статической/динамической модели проектирования , когда вообще никакой речи о пропускной способности/масштабируемости и не идет. Что же касается "камня преткновения", то не понятно, что имеется в виду. Но таких камней не должно быть, а главное они не должны создаваться не только для архитектуры, но также и для программных алгоритмов, GUI и т.д Есть ли у кого-нибудь пример разработки более 3-х бизнес-систем таких, что абсолютно никаких похожих(подобных) моментов в этих системах не было? Ваш вопрос по сути тривиален поскольку таких программных систем, не содержащих моментов, похожих/подобных моментам в др.системах не существует не то, что в одной конторе, а даже в мире. Даже промышленные, военные, научные, RT и прочие специфические системы имеют очень много общего - десятки похожих архитектурных моментов, если не сотни. Что касается систем для автоматизации ФХД, то там вообще похожих моментов еще больше и проще перечислить, что у них непохожего :о} ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2003, 00:07 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas >Все ясно, я доказывал не то и не тому! :) Ты вроде бы доказывал, что джава хуже, или я чего-то не понял. Я же специально написал: "в РЕАЛЬНЫХ (теория НЕ обсуждается) проектах C++ не дает экономии труда". А ты мне опять: "операторы приведения типов и еще 1000 "фишек" позволяют решить массу проблем "одним движением пера"". Да я и сам знаю, что ТЕОРЕТИЧЕСКИ позволяют, а вот на практике почему-то программы получаются длиннее и более запутанные. Я и не спорю, что C++ мощнее (в интуитивном смысле разумеется), да только как доходит до дела эта мощь куда-то испаряется. Примеры ПАРАЛЛЕЛЬНОГО построения систем, хотя бы небольших, на C и С++ есть, чтоб сравнить можно было? >Да и с безопасностью типов в С не все так просто - без проблем можно присваивать указатели разных типов - легко ошибиться. Да в C вообще нет никакой безопасности, разве что OS начнет ругаться, но это уже не C. А вот у паскаля с безопасностью хорошо (на всякий случай: я паскаль не люблю, не нужно мне доказывать, что C лучше). Почему-то все C++ пограммисты, которых я видел интенсивно используют указатели в самом чистом C-стиле, по видимому не подозревают, что "В С++ произвольные присваивания невозможны, ....", со всеми вытекающими проблемами. Причины такого поведения мне неизвестны, но я подозреваю, что в правильном стиле на C++ программировать сложно и все (кого я знаю) рано или поздно скатываются к сишному стилю: указатели, new-delete (delete естественно писать забывают), хотя специально придуман конструктор и деструктор, где этим операторам место, ну и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2003, 00:57 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2с127: >Да я и сам знаю, что ТЕОРЕТИЧЕСКИ позволяют, а вот на практике почему-то программы получаются длиннее и более запутанные Если бы Вы попробовали написать что-то на VC++ и VB, например (скорее всего с Явой так же, я ее хуже знаю), то поняли бы, что разницы в понятности при одинаковом алгоритме и одинаковой реализации ООП никакой. Просто в VC, скорее всего, надо будет делать дополнительные классы, реализуя имеющиеся в VB функции. >Да в C вообще нет никакой безопасности, разве что OS начнет ругаться, но это уже не C. А вот у паскаля с безопасностью хорошо (на всякий случай: я паскаль не люблю, не нужно мне доказывать, что C лучше). Гм, я вот в последней программе на дельфях TList использую, который pointer'ами рулит, в чем безопасность ? В том, что мне предупреждение выдается, которое я в итоге отключаю ? Если писать под C++ без указателей, то безопасность на том же уровне. >Почему-то все C++ программисты, которых я видел интенсивно используют указатели в самом чистом C-стиле, по видимому не подозревают, что "В С++ произвольные присваивания невозможны, ....", со всеми вытекающими проблемами. Не понимаю обощений. Указатели нужны в отдельно взятых случаях, с появлением ссылочного типа надобность в них примерно такая же, как и в Delphi. Но бывает ЭФФЕКТИВНЕЕ работать с прямым выделением памяти и указателями, что Паскаль также позволяет, с нарушениями безопасности :-) По возможностям практически все ООЯ сейчас очень близки. P.S. Например, мне вот templates не очень нравятся, потому как до сих пор без них обходился. Но потенциальную полезность оспаривать глупо. Так что споры по поводу разных языков... от лукавого это... И 2vdimas вдогонку : Множественное наследование легко реализуется включением классов, так что это преимущество относительное... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2003, 07:40 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Репликант И что? Еще раз: где здесь именно необходимо искусство? [кусь...] Там давно уже опробовано и местами используется WebTV, но то КАК оно используется поражает своим скудоумием. Сумашедший по вычислительной мощности проц (вру, в существующих системах используют 2 проца! - какая расточительность) на стороне клиентской приставки используется лишь для декодирования MPEG4, и web-серфинга, эка невидаль. И эти коробки имеют ПРИЛИЧНОЕ НЕДЕШЕВОЕ ПЗУ на немалое количество мег, в то время как в прототипе нашей системы, ядро OS грузиться при включении "погремухи" в сеть на этих сумашедших скоростях примерно за 2 сек (у нас полоса - 10mbit от клиента до ближайшего разветвителя - дальше - любая требуемая). Точно так же и с другим ПО (прошу обратить внимание на идею проката ПО, высказанную ранее). Вот вам и первая идея (правда c приличной бородой), но почему-то не реализованная в подобных продуктах на рынке. (стоит остановиться и попытаться представить, что это дает - у нас на стороне клиента мощнейшая коробка, практически компьютер, в котором сидит только тупой минимальный загрузчик слегка обремененный некоторым шифрованием, качаем туда - что душе угодно)Почему такого до сих пор нет? Да именно потому что для данной схемы нужна именно ЦЕЛЬНАЯ система, начиная с серверов провайдера, проходя через инфраструктуру сети и заканчивая клиентской погремухой. Все должно работать заведомо согласовано. Для того, чтобы подобная система стала реальностью, необходимо совместить интересы провайдера и производителя подобной аппаратуры (IBM, Philips и еще куча фирм балуются подобными игрушками; правда, успешно не продается практически ничего, оно просто ЕСТЬ) Тендер-то он ведь небось не проводил или ваше решение стоит меньше 10 тыс.$$? Ну, скажем, слегка ошиблись, примерно на порядок. Но, в любом случае, это на порядок дешевле получается, чем разработка на западе. Вы хотите сказать, что область, к-рой вы занимаетесь новая или передовая? Отнюдь! Это точно. Возможно ваше решение будет значительно дешевле и при этом будет удовлетворять заказчика. Именно. Заказчик - немаленький провайдер кабельного телевидения. Эти устройства ставятся в квартиры клиентов за счет поставщика услуг. От цены зависит - быть вообще проекту, или не быть в блишайшие 3-5 лет, ибо разница в стоимости в 4 раза - это много. (имеется ввиду стоимость единицы "коробки", как она в конечном итоге обойдется заказчику). За те деньги, которые провайдет может "бескорыстно" выделить на переделку инфраструктуры, никто из серьезных фирм даже разговаривать не будет. Заказчику, в принципе, все равно, он от этого прибыль не получит, (пока, по крайней мере). А к тому моменту, когда именно это начнет приносить дополнительный доход, сверх основного (дай бог, чтобы через 5 лет), все уже может быть совсем по-другому. Но ситуация такова, что существующие программные наработки в области видео (бесплатные - DivX и платные - MPEG4), в области операционных систем (даже платные из разряда RTOS стоят в последние годы смехотворно) и возможности и цена аппаратуры (тот Alchemy - вполне самодостаточный контроллер на 600Мгц за $35) позволяют вполне реально сделать это УЖЕ СЕЙЧАС. Более того, это было реально даже год назад (правда аналогичные процы чуть дороже стоили :) ) В период 1997-1999 гг. я занимался проектами, посвященными IP-телефонии (IPT, VoIP и прочии технологии). [кусь...] К счастью, физически сетка будет у провайдера своя, взамен существующей аналоговой, так что добиться адекватной пропускной способности нам будет легче, нам предоставляется счастливая возможность разработать сетку с "чистого листа" (уже одно это немного поднимает настроение :) ) НО учтите, что имеется развитие рынка этих решений, за к-рым необходимо следить и заказчик тоже может следить. Так что это не рынок заказных ИС/ПО, к-рый еще очень не скоро насытится. Правда ваша - этот рынок близок к насыщению, и устоявшиеся стандарты и решения - тому подтверждение. Изобретать велосипед никто не собирается. Полно готовых к использованию алгоритмов кодеков, протоколов Заплатив за плату с таким крутым кодеком (10-20 тыс.$$) можно было передавать видео чутьли не в формате QCIF (20-30 fps) или даже DQCIF (5-10 fps) через канал в 64 кбит/с при цвете RGB 3:2:2 или что-то там такое, т.е достаточно приличная цветопередача. :)) интересные были времена... У нас требование - полнокачественный NTSC для начала, с возможностью потом постепенно перебраться на HTV (в течении 2 лет). Поняв, что стену не прошибить начали искать российских Кулибиных и Самоделкиных. Да, нашли и много! Каких только нам кодеков не предлагали. Повторюсь, немного не тот случай. Мне это желание хорошо знакомо, когда все хочется самому - "покорить Эльбрус" в 1001-й раз. От этого желания надо избавляться. Темы эта очень и очень не нова - DCTV, MMTV и прочие конвергентные IP-технологии. Что вы думаете по этому поводу? Нужен конкретный продукт, с МАКИМУМ изначально заложенных потенциальных возможностей. (кабельщики - народ тяжелый на переделки, да оно и понятно) Именно такая постановка вопроса и греет душу. Никто не требует в первой же реализации всего наворота, достаточно будет уверенного просмотра TV и мелких фишечек, типа кадр-в-кадре и т.д. Но вопрос стоит так, что выбранный подход к реализации системы ТОЖЕ ЭТОГО НЕ ТРЕБУЕТ. Коиентам всегда будет доступна самая последняя версия ПО и, соответственно, самый полный набор услуг. Не сомневаюсь, что на некоторой стадии работы будет подключено масса народа, но пока (согласись) 2-м энергичным спецам, покрывающим предметную область это вполне по-силам. Самое ценное в этой ситуации то, что мы с моим товарищем имеем опыт разработки подобных проектов с 0-ля вплоть до подготовки материалов для серийного производства. ... Границ для фантазии нет. Концепция и реализация полностью в нашем ведении. Эта фраза подозрительна сама по себе. Вы еще выполняли роль и маркетолога(ов) для заказчика? Поскольку делаются какие-то предварительные выводы о потребностях будущих пользователей - "Концепция ... полностью в нашем ведении" или имелось в виду что-то другое? Надеюсь, с учетом вышесказанного уже не кажется такой подозрительной. И что за манера, постоянно опираться на "требования" или "потребности" будущих пользователей? Нет этой потребности! Ее надо еще только создать. Поэтому, максимум изначально заложенных возможностей - неплохая база для создания этих самых потребностей. Одно дело писать системы на заказ, другое дело создавать продукт, для которого требования не и звестны, а ВЫДУМЫВАЮТСЯ. (Разве были известны все требования к Win1.0 и старше? Нет, их искуственно создали, а потом уже появилась потребность) Термин "потребность", может применяться тогда, когда есть аналоги и заведомо известно, что некоторая возможность возможна (каламбур). У меня есть потребность слетать на Луну - смешно! Однако, если бы это было обычным делом, то моя потребность - уже рынок. Вот-вот и у нас те же проблемы были. Это сегодня нереальные? Может быть, если вы рынок исследовали. А через полгода? Есть хоть какие-то грубые прогнозы или вы абсолютно уверены, что уже закончите проект в срок По-идее, проект не закончиться никогда, область специфическая. А те самые минимальные результаты, от которых можно потом плясать, вполне достижимы. IMO у вас же в корне неправильный или какой-то однобокий подход в проектировании - вы получаете и используете только статическую модель архитектуры. Чтобы понять ЧТО делает ваша система необходимо читать варианты использования, а чтобы понять КАК она это делает - читать исходные тексты на С++ Может у меня просто с головой немного непорядок, но я еще никогда не задавался целью понять что и как делают разработанные мною системы. Я это в любой момент ЗНАЮ с произвольными подробностями. И исходные текты я не читаю, я их пишу. :) (чукча писатель, однако). Я могу еще иногда названия классов или файлов читать, но исходники - практически никогда, если я их писал, то кто лучше меня знает - что там? Мне кажется, что мы давно уже поняли друг друга, просто у каждого в жизни был именно свой профессиональный опыт. Вы вот неявно сетуете на ИТ-науку. А она ведь не может быть неправильной, т.к ее выводы/результаты доказаны и апробированны множеством проектов. Боже меня упаси сетовать на науку! Ее исренне люблю и уважаю. Сетуют обычно на конкретных людей. Я частенько сетую на "узколобых" специалистов. Принципиально грамотный человек не может быть узкоспециализированным. Одна область никак не в состоянии утолить "аппетит". Извините, но IMHO в вас говорит отсутствие определенного образования. Можно предположить, что вам не хватает знаний в области инженерии ПО и ИТ-менеджмента. Так зачем пытаться судить? Подобные суждения чем-то напоминают высказывания типа "MSF круче всех" или "Windows - ацтой". Пожалуйста, не уподобляйтесь. Ваш проект мог провалиться из-за десятка причин. Я сразу могу предположить две - неумелое руководство и организация проекта или вообще их полное отсутствие и непрофессионализм нек-рых участников :о( Как раз, когда он стал "наш", он довольно быстро благополучно завершился. Если учесть, что мне на тот момент был 21 год, а моему товарищу 24, то в плане ИТ-менеджмента уж точно не хватало образования. Его тогда у нас просто не существовало. Этим понятиям У НАС от силы лет 5-6. Образования вообще никогда не хватает. Институтская программа просто смехотворна. Изучил примерно в 5 раз больше материала чем требовалось во время учебы в ВУЗе, - и все равно образования не хватает! :) А сейчас дурацкая необходимость все-время работать просто развивает во мне панический страх, что я где-то "не успею", за своей родной, но такой непостоянной IT областью. :) 7 - только для одного. Почему? Потому что я могу судить по своим хорошим знакомым, к-рые работают в одной московской конторе, к-рая занимается цифро-аналоговыми устройствами. Правда, их основнй профиль - это цифровые устройства на базе процессоров Atmel, Risc-процессоров Intel, Hitachi, смарткарты, флэшнакопители высокой емкости, заказные сети на базе RS-422, FireWire и т.п. Твои друзья - обычные цифровики. Заставь их разработать TV или ВЧ-тракт с заданным отношением сигнал/шум, и стразу станет понятно, что на п.7 одного человека ну никак не достатотчно. Как раз схема цифровой части за мной. Но как раз там - наименьший простор для фантазий. Все будет решать цена комплектующих при ДОСТАТОЧНОЙ функциональности (где-то я подобное уже слышал, причем не от себя :) ) Также следует учитывать, что, как правило, мало специалистов только по аналоговым или только по цифровыми сигналам и их обработке. Таковыми являются достаточно узкие специалисты, например, по hi-end звукотехнике (колонки/динамики) или спутниковому ТВ (декодеры). О чем и речь. О таких спецах как он я даже и не слышал. А ведь у нас в Севастополе целая "школа" была, все-таки производство военной электроники (в этом мы НИКОГДА от них не отставали)... Ваши пункты 1-8 меня просто "слегка" смущают. Чем это они смущают? Эти пункты не даны "сверху". Все, что дано сверху я изложил в одном предложении в предыдущем посте на эту тему. Предложи свои. Возхможны 2 выбора: либо большая команда узких специалистов, либо маленькая команда универсалов. Но алгоритм тот же самый потому что он определяет грамотный (инженерный) подход . Мне нравится слово "системный" подход. Из всех материалов, прочитаных в форумах на эту тему сделал для себя вывод, что всю жизнь использовал более, чем грамотный подход, правда с оговорками: 1. Форматы документов обычно оговаривались в конце. Но это еще никогда не вызывало затруднений, вордом, слава богу, владеем. 2. В процессе разработки зачастую использовался обычные структурированные документы ворда, куда "накидывался" материал, диагаммы и прочая ерунда. Правда, подобного рода "документация" довольно четко классифицировалась и соответственно структурно хранилась (в каталогах), а так же всегда существовал "путеводитель" по имеющимся нашим и сторонним материалам (обычно базулька на Accesse писанная за часик). Просто невозможно было тратить время на форматирование внешнего вида документов согласно стандартам. Для нас главнее - содержание и доступность. Отформатировать специальным образом всегда можно потом, а в процессе разработки вполне хватало форматирования для удобочитаемости. Да и сами подобные документы - "живые организмы". Отливать из бетона в начале разработки нецелессобразно. 3. Блок-схемы, структурные и принципиальные... - это религия, тут нам инженерные бюро могли позавидовать. Системный подход также является итеративным, с применением анализа на каждой итерации и корректирования результатов предыдущей (можно целую статью писать) Так что, тоже, вроде, не граждане Непала. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2003, 07:52 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Mik Prokoshin Разница с паскалем в том, что чтоб на нем писать в небезопасном сишном стиле нужно делать ДОПОЛНИТЕЛЬНЫЕ усилия. Например чтоб вернуть из процедуры integer, не нужно писать f(...,int *i,...), чтоб потом по ошибке сунуть туда указатель на переменну типа char и сломать стек. В паскале тоже передаешь переменную по ссылке, но при этом компилятор всегда знает, какой параметр ожидается и проверяет его. Можно конечно как в C: завести переменную типа ссылки, присвоить ей неизвестно что и передавать в процедуру, но это получается длиннее. В C (не C++), такая передача параметров - рекомендуемая практика, вся идеология построена на ссылках. Конечно в некоторых случаях в паскале без явных ссылок сложно обойтись, но они используются в гораздо более ограниченном числе случаев и компилятор проверяет их гораздо более строго. Кроме того классический паскаль Вирта предоставляет удобный механизм создания типов. Эти типы тоже проверяются компилятором. В частности это приводит к тому, что необходимости в ручном захвате-освобождении памяти почти никогда нет. C++ вроде бы позволяет проблем со ссылками и памятью избежать. "Вроде бы" потому что никто эти возможности не использует и в малой степени. Все скатываются на сишный стиль, наверное потому, что он проще, ведь лень заводить классы на все случаи. Я об этом и говорил. Зато потом выдумывают всякие сборщики мусора и смарт поинтеры и прочую дребедень. > Если бы Вы попробовали написать что-то на VC++ ... Тут проблема. Для создания программ я пользуюсь не оболочкой, а коммандной строкой cl.exe. Считается ли при этом что я пишу в VC++? Шутка. c127>Почему-то все C++ программисты, которых я видел интенсивно используют указатели в самом чистом C-стиле, по видимому не подозревают, что "В С++ произвольные присваивания невозможны, ....", со всеми вытекающими проблемами. Mik Prokoshin> Не понимаю обощений. Указатели нужны в отдельно взятых случаях, с появлением ссылочного типа надобность в них примерно такая же, как и в Delphi. Да нет тут никаких обобщений. Я говорил о том, с чем столкнулся, может я не с теми людьми общался. Специально выдуман язык, позволяющий избежать кучи проблем. Так почему же не пользовать встроенные возможности, а выдумывать каие-то сложные искуственные способы решения этих же проблем. >Но бывает ЭФФЕКТИВНЕЕ работать с прямым выделением памяти и указателями, что Паскаль также позволяет, с нарушениями безопасности :-) Насчет паскаля см. выше. Насчет эффективности - она почти всегда (правило 10-90) определяется эффективностью работы программиста, а не программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 01:36 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
В общем-то, что C++, что Object Pascal в Delphi, всё это технологии достаточно старые. Они базируются на концепциях середины 70-х годов XX века. Да и всё, что пытаются родить после этого, те же Java, C# и т.п. на самом деле принципиально от них не отличаются. Я уже не говорю о самой ОС, которая как была отдельно от среды разработки, так до сих пор и остаётся. А в результате мы имеем ну просто колосальные затраты на разработку ПО. Хотя бы потому, что один и тот же код переписывается многократно. То есть, на самом деле реально работающей объектной модели с полноценным наследованием и повторным использованием кода нет нигде, либо всё это сделано настолько криво (OLE, COM, CORBA), что лишь ещё больше усложняет весь процесс. Происходит это во многом потому, что системы программирования отделены от самой ОС, которая все эти объектно-ориентированные надстройки обрезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 06:37 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas: Там давно уже опробовано и местами используется WebTV, но то КАК оно используется поражает своим скудоумием. Сумашедший по вычислительной мощности проц .... ... Для того, чтобы подобная система стала реальностью, необходимо совместить интересы провайдера и производителя подобной аппаратуры (IBM, Philips и еще куча фирм балуются подобными игрушками; правда, успешно не продается практически ничего, оно просто ЕСТЬ) Мне ничего не остается, как поверить на слово - уж больно убедительно все звучит и пожелать тебе успешно закончить проект. Тем более после развертывания сети этих WebTV-устройств и начала успешной эксплуатации у тебя с твоим коллегой есть замечательная возможность продать инженерные спецификации еще и на Запад. Хочется верить, что условия договора с вашим заказчиком позволяют вам это сделать :о) :)) интересные были времена... У нас требование - полнокачественный NTSC для начала, с возможностью потом постепенно перебраться на HTV (в течении 2 лет). Да, деньги были достаточно легкие и по первой тоже было интересно. Помню даже посещали различные полубессмысленные конференции и форумы, посвященные IPT и конвергентным технологиям с входным билетом за 50$. Нынче другие времена - конкуренция пожестче будет, что с другой стороны тоже не плохо - хотя бы профессиональный уровень растет и производство совершенствуется ... Не сомневаюсь, что на некоторой стадии работы будет подключено масса народа, но пока (согласись) 2-м энергичным спецам, покрывающим предметную область это вполне по-силам. Самое ценное в этой ситуации то, что мы с моим товарищем имеем опыт разработки подобных проектов с 0-ля вплоть до подготовки материалов для серийного производства. Почему не согласен? Конечно, согласен! Можно и пальцем дырку в камне протереть. Просто мне бы как специалисту было бы тяжело разбираться в тоннах системных спецификаций, в к-рых те же диаграммы используются только для описания, например, предметной области или статической структуры (классы, пакеты, подсистемы), т.е как результат - невысокая эффективность. Но это опять же только в случае, если адаптивно поддерживать или развивать систему будете не вы сами (у вас ведь все в голове ), а какие-то специалисты со стороны Надеюсь, с учетом вышесказанного уже не кажется такой подозрительной. И что за манера, постоянно опираться на "требования" или "потребности" будущих пользователей? Нет этой потребности! Ее надо еще только создать. Поэтому, максимум изначально заложенных возможностей - неплохая база для создания этих самых потребностей. ...... Теперь, конечно, все понятно :о) Может у меня просто с головой немного непорядок, но я еще никогда не задавался целью понять что и как делают разработанные мною системы. Я это в любой момент ЗНАЮ с произвольными подробностями. ..... то кто лучше меня знает - что там? Мне кажется, что мы давно уже поняли друг друга, просто у каждого в жизни был именно свой профессиональный опыт. Даже один успешный опыт может отличаться от другого успешного в плане эффективности . Я, например, сомневаюсь, что ты не читаешь свои исходники, т.к. в этом случае тебе придется держать в голове исходники или динамическую модель вашей системы/подсистем или вы разбили вашу систему на очень небольшие (например, в функциональном плане) подсистемы и работая над какой-то из них ты просто не обращаешься к спецификациям других подсистем. Это раз. Второе, представь также, что придет человек со стороны поддерживать вашу систему и ему будет необходимо разобраться в какой-то ее подсистеме без вас или вашего коллеги. Или ваш заказчик захочет продать еще кому-то спецификации системы. Он видимо не задумывался над этими вопросами. ((Хотя это не относится именно к вашему проекту, но вы работаете только вдоем и у вас устоявшийся общий диалект , а представь, что вы создаете систему командой в 15-20 человек - уже более высокие требования к формализации . Еще более высокие в многолюдных проектах, где постоянная смена участников из-за той же внутренней ротации сотрудников)) Боже меня упаси сетовать на науку! Ее исренне люблю и уважаю. Сетуют обычно на конкретных людей. Я частенько сетую на "узколобых" специалистов. Принципиально грамотный человек не может быть узкоспециализированным. Одна область никак не в состоянии утолить "аппетит". Ты путаешь узколобость (недалекость или ограниченность ума/знаний) с узкой специализацией. Узкая специализация и грамотность не являются взаимоисключающими. Наоборот, узкая специализация может способствовать более быстрому профессиональному совершествованию по сравнению с широкой специализацией. Также как и узкая специализация не исключает наличие профессионального кругозора у человека. Как раз достаточно узкие специалисты и являются профессионалами самого высокого класса, если они вообще профессионалы Твои друзья - обычные цифровики. Заставь их разработать TV или ВЧ-тракт с заданным отношением сигнал/шум, и стразу станет понятно, что на п.7 одного человека ну никак не достатотчно. ..... Возможно, но только один профессионально увлекается радиосвязью (и, кстати, не только цифровой/сотовой), а другой звукотехникой уже лет 15 и чуть меньше починяет телевизоры всем без исключения. Так что получается, что они не только цифровики. Насчет п.7 я и не спорю, ведь тебе виднее :о) Чем это они смущают? Эти пункты не даны "сверху". Все, что дано сверху я изложил в одном предложении в предыдущем посте на эту тему. Предложи свои. "Смущали" тем, что они в одном проекте, к-рый делается всего двумя людьми. Но я уже понял, что проект не блеф, а специалисты очень предметно широкие Просто невозможно было тратить время на форматирование внешнего вида документов согласно стандартам. Я тоже не трачу время на это (внешний вид и структура документов). Все форматируется автоматически . Содержание же - в соответствии со стандартами (ООАП, UML и т.д) и требованиями (корректности, однозначности, трассировки, лаконичности и т.д) ... Для нас главнее - содержание и доступность. Отформатировать специальным образом всегда можно потом, а в процессе разработки вполне хватало форматирования для удобочитаемости. Да и сами подобные документы - "живые организмы". Отливать из бетона в начале разработки нецелессобразно. Для меня также содержание и доступность важны. И, кстати, они не являются у нас взаимоисключающими с теми же формализмом, стандартами, качеством и доступностью . Последние измения из модели передаются в соответствующий документ (ЭП, ТП и т.д) по требованию, чтобы он содержал самые актуальные данные 3. Блок-схемы, структурные и принципиальные... - это религия, тут нам инженерные бюро могли позавидовать. Зависит вообще-то от уровня этих самых инженерные бюро. Кто-то возможно завидовать не станет :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 08:06 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas Почему-то все C++ пограммисты, которых я видел интенсивно используют указатели в самом чистом C-стиле, по видимому не подозревают, что "В С++ произвольные присваивания невозможны, ....", со всеми вытекающими проблемами. Причины такого поведения мне неизвестны, но я подозреваю, что в правильном стиле на C++ программировать сложно и все (кого я знаю) рано или поздно скатываются к сишному стилю: указатели, new-delete (delete естественно писать забывают), хотя специально придуман конструктор и деструктор, где этим операторам место, ну и т.д. ИМХО, скорее потому, что кажется, что некогда заниматься проектированием, а вернее - предварительным продумыванием. Кстати, C++ действительно запрещает произвольное присвоение указателей, требуя явного преобразования. Т.е., вот такая конструкция: Код: plaintext 1. 2. 3. 4. 5. 6.
даст ошибку на этапе компиляции. Но одно лёгкое движение: Код: plaintext 1. 2. 3. 4. 5. 6.
И - привет типизации. Кстати, это может при определённых условиях даже работать. :) Некоторое время. А потом выстрелит ошибку, на поисках которой поседеть можно. И кто жедсь виновать? ИМХО - тот, кто не подумавши влепил преобразование к int* . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2003, 03:26 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Вообще, я бы запретил в С++ операторы "принудительного" приведения типа (в С - стиле). Потому что компилятор С++ в этом случае ведет себя непредсказуемо: если типы соотносятся м/у собой - он их преобразует корректно, и, при надобности, значения указателей скорректирует. А если типы никак не соотносятся м/у собой, то компилятор "умывает руки", предполагая, что мы знаем, что делаем. В случае перекрестных шаблонных подстановок, мы можем получить "удивительные" эффекты. Так что я предпочитаю пользоваться С++ преобразователем static_cast. (const_cast я так же запретил бы, да и reinterpret_cast с dynamic_cast заодно - я же говорил, я - еретик :) ) Хотя, полно ситуаций, где только принудительное преобразование типов позволяет писать эффективно. Но такими вещами стоит баловаться только на уровне библиотек и компонентов. На прикладном уровне я, обычно, запрещаю себе подобные "игры". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2003, 09:57 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas Предыдущее сообщение было адресовано c127. Но тем не менее: [color = blue]const_cast я так же запретил бы, да и reinterpret_cast с dynamic_cast заодно - я же говорил, я - еретик :) Ого! Да я не один экстремист, оказывается. :)) Я бы тоже dynamic_cast<> ну если бы и не запретил совсем, то объявил бы deprecated или system engineering bad practice. На прикладном уровне тоже, на самом деле, можно нахлебаться развлечений с подобными штуками. Надо бы поточнее сформулировать сие, а то WolfHound на RSDN заждался, наверное уже. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2003, 19:31 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Геннадий Васильев >ИМХО, скорее потому, что кажется, что некогда заниматься проектированием, а вернее - предварительным продумыванием. Я же это и говорил. Люди обычно выбирают то решение, которое является самым простым локально, т.е. здесь и сейчас. Всгда кажется: зачем проектировать, задача знакомая, небольшая, проскочим и так. По себе знаю. То что решение не самое лучшее глобально потом уже никто не замечает, нет времени, аврал, все сроки прошли. Или если заметили, то переделывать поздно. Вот и получается, что в реальных проектах возможности C++ в полной мере не используются, можно было с тем же успехом и на сях писать. От C++ остается только запутанный синтаксис, ну и гордое название ООП. Но если бы сразу использовали C, то не было бы загромождения программы всякими ненужными конструкциями. Я потому и спрашивал о сравнении этих языков на реальных проектах, а не в теории. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 01:03 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 Люди обычно выбирают то решение, которое является самым простым локально, т.е. здесь и сейчас. Всгда кажется: зачем проектировать, задача знакомая, небольшая, проскочим и так. Угу, и как раз это в реальности я и называю глупостью , которая хоть и может быть оправдана соображениями конкретной ситуации, но, ИМХО, глупостью от этого не перестаёт быть. Т.е., даже если некая часть кода сделана чёрт-те как, раньше или позже её всё равно впоследствии необходимо переделать. Но если бы сразу использовали C, то не было бы загромождения программы всякими ненужными конструкциями. Ну, я думаю, что не надо абсолютизировать. Для данных конретных персонажей, возможно, так и есть, но обобщение, ИМХО, неуместно. Хотя я не спорю, что смешение в одной команде опытных и неопытных C++-ников скорее всего приведёт к хаосу в проекте, чем к получению интересного результата. Т.е., для такого случая, действительно, использование C-стиля может оказаться лучшим выбором. Просто потому, что новички могут наделать такого шороху, что опытные либо увязнут, либо просто перепишут это . И знаешь, из этого можно сделать ещё один довольно забавный вывод: C++ очень хорош для одиночек или для маленьких высококвалифицированных команд. Его серьёзное использование, ИМХО, несколько противоречит устоявшемуся образу "программной фабрики" с кагалом слабых программистов, сваливанием ответственности друг на друга и т.п. Никого конкретного не хочу задеть, просто наблюдение и всё. Да, и ещё. Не сочти за рекламу, но на rsdn довольно много хороших C++-ников тусуется, заходи, позадавай вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 15:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
offtopic: как вы умудряетесь писать на BCB??? Я, например, о нем ни одного хорошего слова сказать не могу! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 16:11 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
funikovyuri offtopic: как вы умудряетесь писать на BCB??? Я, например, о нем ни одного хорошего слова сказать не могу! А еще люди пишут на ассемблере, васики и (прости Господи) на делфях. Все это такая гадость :) Главное - не на чем пишут, а КАК! А хрень, которую захочется снести через 5 минут эксплуатации, можно и на VC, и на GCC сделать :( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 16:19 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Уважаемый Jinn у меня нет ни малейшего желания чемто с вами мерятся. Если вы считаете что писанина на ассемблере вводит кого-то в трантс - это ваши проблемы P.S. может я не совсем ясно сформулировал вопрос - меня интересует на каких доводах основывался ваш выбор BCB как средства разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 16:24 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri Уважаемый Jinn у меня нет ни малейшего желания чемто с вами мерятся. Каков вопрос - такой и ответ :) Меряться чем либо меня давно уже не тянет. P.S. может я не совсем ясно сформулировал вопрос - меня интересует на каких доводах основывался ваш выбор BCB как средства разработки. Это уже серьезней. В базах данных ЯВУ не средство разработки. Точне - не основное средство разработки. Выбор BCB или Delphi (с моей точки зрения они равноценны) обосновывается простотой создания программ для клиентской части, наличием большой библиотеки компонентов, удобством доступа к БД. Так же следует учитывать такой немаловажный фактор как зарплата программиста. Делфист стоит гораздо дешевле чем хороший сишник, а результат практически одинаков - клиентское приложение, без наворотов. Простое, но удобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 17:10 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Репликант Боже, как я мог забыть про эту чудесную книжку... Спасибо Геннадию - напомнил. Хотелось бы вернуться к разговору после ознакомления... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2003, 12:14 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2Jinn:я вообще-то Lepsik спрашивал ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 08:48 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
funikovyuri 2Jinn:я вообще-то Lepsik спрашивал 2 funikovyuri Вообще-то это форум, а не приват чат :) Мнения других тебя не интересуют? Тем более в Вашем посте вопрос был безадресный. Рекомендую прочитать его еще раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 09:44 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2Jinn: насчет того что это форум - я в курсе Я не с удовольствием послушаю другие мнения и твое в частности. А вопрос свой я не адресовал Lepsik потому что только только он и упоминал конкретное средство разработки! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 10:49 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
т.е. конечно же с удовольствием ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 11:01 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
--funikovyuri Member offtopic: --как вы умудряетесь писать на BCB??? --Я, например, о нем ни одного хорошего слова сказать не могу! я одновременно работаю в нескольких средах : VC, VB, BC, Delphi так наиболее просто, быстро получается только в BC. Может дело в hands.sys ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2003, 19:20 |
|
|
start [/forum/topic.php?all=1&fid=32&tid=1546852]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
257ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
133ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 687ms |
0 / 0 |