Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>>Чем он лучше? FILE и fopen просто синтаксически красивее, чем эта бредятина с кучей ::. WH>Ты хотел сказать привычнее.
И лаконичнее. Что немаловажно. Кроме того нонешние компиляторы проверяют соответствие списка параметров форматной строке.
Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>А на чем 1С тормозит-то? Это известно? Может, на неоптимальной работе с данными?
Да на пустом месте тормозит. Я бы предположил, что туда просто понапихано циклов задержки, если бы не был почти наверняка уверен, что это не так.
Ещё тормозит на арифметике. У них она реализована, что называется, "собственноручно". Там нет понятий int32, uint64, double и т.д. Есть тип данных "Число", который есть, похоже, некое BCD сумасшедшей точности. В 1Сv7 эта точность ограничена чем-то разумным (чем конкретно — не знаю, не проверял), а в 1Сv8 — такое ощущение, что только объёмом оперативной памяти. Соответственно, в семёрке такая реализация тормозит стабильно, а в восьмёрке можно нарваться просто на срабатывание стопкрана, отработав всего лишь такой простенький участок кода:
// 1Сv7 - 14 секунд
// 1Сv8 - не смог дождаться окончания работы
А = 1
Для Инд = 1 по 1000000 Цикл
А = А / 1.00001;
КонецЦикла;
Зачем так сделано? Да там просто изначально всё ориентировано на простоту и доступность. Типа чтобы программер не задумывался над резрядностью чисел.
Здравствуйте, MadGhost, Вы писали:
MG>Скажем так: опыт программирования на 1С у меня не большой, а точнее сказать ваще не большой, вчера когда читал этот треп скачал и установил, и начал писать на нем ). Но.. MG>Не знаю про Навизион, но: MG>1С, в чем то очень ограниченый язык, согласен что он расширяемый вроде бы, не в курсе, и не буду спорить по этому поводу... опять таки но: MG>чем больше и гибче возможности по программированию задачи тем на мой взгляд лучше. MG>Т.е. на том же Си++ описать можно все... а в 1С только в пределах того что она позволяет..
Хм... И 1С, и С++ обладают полнотой по Тьюрингу. То есть, и там и там в принципе можно запрограммить всё, что можно запрограммить. Один товарищ даже шахматную программку умудрился написать на 1С.
MG>Хотя конечно хотелось бы взглянуть на реализацию расширения 1С кто ссылкой кинется буду очень признателен.
Если интересно, поищи компоненту Rainbow.
Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>Еще нюанс. После NdisSend пакет нам не принадлежит. Надо не забыть занулить поле в классе, чтобы деструктор по выходу из блока не решил уничтожить не-принадлежащий нам пакет. В итоге сложности вырастают, они всего лишь заталкиваются внутрь враппера.
Написал один раз, закомментировал — и можно забыть.
MSS>Еще нюанс. Написание враппера вокруг обоих структур, а потом еще и "кода по делу" — дольше будет.
Если отправка пакета понадобилась тебе один-единственный раз в жизни, то да.
Если же хотя бы два раза, то проще написать обёртку, чем кажый раз колотить на plain C всё работу по созданию/уничтожению пакета.
Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS.
Он и стОить будет дешевле.
А пользуясь этими классами он и работу сделает, и много дров не наломает.
MSS>Еще нюанс. В отладчике страшно будет
Это смотря в каком отладчике
SotfICE с C++ дружит.
Здравствуйте, VladD2, Вы писали:
VD>Ты про Каиру читал? Лет хх назад про нее такое заливали. Мол перва ОО-ОС.
да, пиар у MS всегда на первом месте
уж как они .NET рекламировали, так это смех один. Веб-сервисы там типа самое главное
посмотрим, что они реально в Лонгхорне сделают. хотя избавляться от теперешнего WinAPI давно уже пора
Здравствуйте, Voblin, Вы писали:
V>Здравствуйте, Serginio1, Вы писали:
V>>>А если всё это реализовывать чисто на С, то результат мог бы получиться ещё более плачевным: программа, скомпилированная самым супероптимизирующим компилятором, вполне может оказаться тормознутее, чем то же самое, исполняемое интерпретатором 1С.
S>> Еще важно, что бы сам модуль проведения был бы внутри хранимой процедуры и написан на C# или Delphi.Net или Basic.Net
V>Ага, но при этом легко получить вариант a la Navision.
Наверное заметил, что 1С предпочитают в связке ДБФ + терминальные сессии, впрочем если и используют SQL то тоже используют терминальные сессии. Хотя SQL на больших выборках работает и быстрее. А проблема в основном та, что невозможно одним запросом получить все нужные данные, из-за нормализации и большой разветвленности объектов. То приходится городить кучу мелких запросов с клиента.
По сути работая как с внешним сервером автоматизации. Надеюсь разница скорости внешнего сервера и внутреннего не нужно объяснять.
Так связка ДБФ + терминальные сессии работает как раз как внутренний сервер, т.к. идет доступ к файлам используя кэширование и без лишних посредников.
Вынос проведения документов внутри хранимых процедур на компилируемом Net при прямом доступе к БД (как к домену приложения) как раз и сгладит все углы.
... << RSDN@Home 1.1.0 stable >>
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Maxim S. Shatskih, Вы писали:
V>>Тема-то была про другое. Navision просто под руку попался как иллюстрация
MSS>А на чем 1С тормозит-то? Это известно? Может, на неоптимальной работе с данными?
ДБФ тормозит только за счет интерпритатора плюс представление всех данных ввиде строк (BCD это тоже строка в фокспро) прежде всего из-за возможности сортировки как строк. На Delphi та же модель в десятки сотни раз быстрее.
По поводу SQL здесь риторический вопрос либо приложение должно подгоняться под SQL либо наоборот ( я предпочитаю второе). Зачаточные признаки есть в Юкон но не более.
Посмотрим что выдаст M$ выпустив нетовский MBS.
... << RSDN@Home 1.1.0 stable >>
и солнце б утром не вставало, когда бы не было меня
P>Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS. P>Он и стОить будет дешевле. P>А пользуясь этими классами он и работу сделает, и много дров не наломает.
Это аргумент?
Наверное будет невредно почитать раздел Philosophy на www.balder.com (очень хорошо соотв. данной рубрике RSDN)
А именно: "The three most important aspects of kernel mode code are quality, quality, and quality."
P>Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS. P>Он и стОить будет дешевле. P>А пользуясь этими классами он и работу сделает, и много дров не наломает.
Ваша миссия как более опытного специалиста объяснить коллеге нюансы IMHO. Ничего личного.
Здравствуйте, vstrogov, Вы писали:
V>Здравствуйте, postmaster, Вы писали:
P>>Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS. P>>Он и стОить будет дешевле. P>>А пользуясь этими классами он и работу сделает, и много дров не наломает.
V>Это аргумент? V>Наверное будет невредно почитать раздел Philosophy на www.balder.com (очень хорошо соотв. данной рубрике RSDN) V>А именно: "The three most important aspects of kernel mode code are quality, quality, and quality."
Это всё так.
Но теперь давай от технических вопросов перейдём к экономическим.
Категория 1: Программист с глубоким знанием NDIS — 3000 USD/месяц.
Категория 2: Программист с очень поверхностным знанием NDIS, но с C++ обёрткой в руках — 1000/месяц.
Результат:
1). Тим из 5-ти человек, состоящий только из 1-ой категории программистов. Стоимость разработки продукта — 15000 USD.
2). Тим из 5-ти человек, один из 1-ой категории, четверо из 2-ой категории. Стоимость разработки продукта при сопоставимом качестве — 7000 USD.
Теперь первый и второй продукт начинают конкурировать.
Дальше рассказывать?
Вдогонку: не мог бы ты объяснить, где в моём примере страдает качество?
Предполагаем, что писатель обёрток на C++ знает своё дело хорошо и кривых обёрток не пишет.
Здравствуйте, vstrogov, Вы писали:
V>Здравствуйте, postmaster, Вы писали:
P>>Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS. P>>Он и стОить будет дешевле. P>>А пользуясь этими классами он и работу сделает, и много дров не наломает.
V>Ваша миссия как более опытного специалиста объяснить коллеге нюансы IMHO. Ничего личного.
Боюсь, что одними нюансами тут не обойтись.
После "галопом по европам" результат будет заведомо хуже, чем при использование готовых обёрток.
Здравствуйте, postmaster, Вы писали:
P>Здравствуйте, vstrogov, Вы писали:
V>>Здравствуйте, postmaster, Вы писали:
P>>>Ещё один плюс: в моём случае можно посадить за работу программиста без глубоких знаний NDIS. P>>>Он и стОить будет дешевле. P>>>А пользуясь этими классами он и работу сделает, и много дров не наломает.
V>>Ваша миссия как более опытного специалиста объяснить коллеге нюансы IMHO. Ничего личного.
P>Боюсь, что одними нюансами тут не обойтись. P>После "галопом по европам" результат будет заведомо хуже, чем при использование готовых обёрток.
В таком случае лучше не обертки, а готовые реализованные блоки/модули/движки, на основе которых модульно
реализуется функциональность.
Здравствуйте, postmaster, Вы писали:
P>Вдогонку: не мог бы ты объяснить, где в моём примере страдает качество? P>Предполагаем, что писатель обёрток на C++ знает своё дело хорошо и кривых обёрток не пишет.
Основные затраты(и отсюда конечное качество) в системном программировании — не кодирование, а отладка и исследовательская работа. Всегда нужно знать, что внутри.
Здравствуйте, Maxim S. Shatskih, Вы писали:
E>>Ты свою семью в McDonalds поведешь?
MSS>Иногда по пути заходим мороженое съесть.
MSS>И разговор-то не о том. А о том, что Макдональдс — успешный бизнес. Вот и все.
как раз из-за такого... успешного бизьнеса был выведен вирус, называемый Бэйсик
MSS>...Когда же программа начинает напоминать сводку новостей времен СССР и приходится докапываться до третьего слоя истины -- это бардак...
особенно это понравилось! давно человек видно на западе живет и не докапывается, что и у них уши от селёдки продают...... и про нас скажем сейчас: докапываться на телеканалах в РФ до чнго-то типа за что Парфенова уволили — просто очень даже повышает степень эрудиции
Здравствуйте, postmaster, Вы писали:
P>Результат: P>1). Тим из 5-ти человек, состоящий только из 1-ой категории программистов. Стоимость разработки продукта — 15000 USD. P>2). Тим из 5-ти человек, один из 1-ой категории, четверо из 2-ой категории. Стоимость разработки продукта при сопоставимом качестве — 7000 USD.
P>Теперь первый и второй продукт начинают конкурировать. P>Дальше рассказывать?
Это если продцкт за 15k будет написан. А то как бы не получилось в известной басне "Лебедь, Рак и Щука".
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, vstrogov, Вы писали:
V>Здравствуйте, postmaster, Вы писали:
P>>Вдогонку: не мог бы ты объяснить, где в моём примере страдает качество? P>>Предполагаем, что писатель обёрток на C++ знает своё дело хорошо и кривых обёрток не пишет.
V>Основные затраты(и отсюда конечное качество) в системном программировании — не кодирование, а отладка и исследовательская работа. Всегда нужно знать, что внутри.
V>Речь в первую очередь об этом.
Программист №1 знает, что внутри, и пишет обёртки для тех, кто не знает.
Обёртки ограничивают свободу программиста, но позволяют корректно писать приложения без глубоких знаний потрохов.
Или ты предлагаешь знать "что внутри" всем? Тогда получаем вариант с 15000 USD за проект.
Здравствуйте, vstrogov, Вы писали:
P>>После "галопом по европам" результат будет заведомо хуже, чем при использование готовых обёрток.
V>В таком случае лучше не обертки, а готовые реализованные блоки/модули/движки, на основе которых модульно V>реализуется функциональность.
Согласен.
Но framework'и как правило слишком универсальны, тяжеловесны, и тянут много лишнего.
Проще обойтись хорошо структурированными обёртками.