LINUX.ORG.RU

Допустимы ли отладчики?

 , ,


0

2

Всё чаще наблюдаю такую закономерность: люди, любящие IDE и мощные отладчики, производят самый адов говноокод. А самый чистый код у тех, кто пользуется отладочной печатью, логами и тестами. ЛОР, а ты что думаешь? Допустимо ли debugger-driven development?

Ответ на: комментарий от nikolnik

што?

Зачем ты мне отвечаешь, будучи тотальной нулиной? Там дальше, в моём посте, описана основная причина.

Ты не представляешь, но, в принципе, все.

Это не ответ.

Т.е. по-твоему, вместо того, чтобы запустить программу в отладчике и вызвать когда надо какой-то print_debug(), надо в коде везде писать еще дополнительный код для отладки, который потом еще будешь стирать?

К чему ты это пишешь, обезьяна? Какой везде, какой дополнительный код, ты что несёшь?

Специально для идиота - мне не нужны твои жалкие попки слива с приписыванием мне какой-то херни, которую я не говорил. Ты уже сделал sosnooley.

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

Мне не интересно «твоё» «мнение».

Типа такого: #ifdef DEBUG makesosnooley(kvok,kvok,php,kudah) #endif

Не пытайся кукарекать про ЯП, в котором ты разбираешься как свинья в апельсинах.

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

Я уже писал выше, к чему ты толкаешь эту херню?

А тебе в дестве зубы через анус не лечили?

Понимаешь в чем штука, меня не интересует твоё мнение. Твоё понимание не стоит моего харчка. Тебе задали конкретный вопрос - отладчик обладет какими-то реальными(т.е. объективные возможноности, т.е. то, чего не может сделать соснольныйаутпут) преимуществами, кроме скулежа шавок? Конкретно да/нет.

Да например в том, что в gdb ты можешь последовательно выполнять алгоритм
алгоритм

Дак ты ещё и студентомразь. Ты там лабу сделал? Т.е. код ты даже не писала.

Меня не интересует твоё можно - мне конкретный профит. Зачем мне нужна эта «фича»? Это я могу делать и соснольным аутпутом.

Тем более вменяемый пацан это может делать просто смотря в код.

останавливаться на брекпоинтах

Зачем? Я могу в любую часть кода впилить регтрейс. Тем более, тебе уже сказали - брекпоинты не работают.

посмотреть бектрейсы

Какбэ это может и соснольныйаутпут.

значение регистров

Может и соснольныйаутпут.

сохранить дамп память

Для этого отладчик не нужен.

исследовать память и изменять ее непосредственно во время выполнения программы.

«Фича» работает только для лабы.

anonymous
()
Ответ на: комментарий от crowbar

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

Возможно он 4-х регистровый бабуин, который думает, что стек где-то в коде юзается. В обоих случаях он не прав.

anonymous
()
Ответ на: комментарий от handbrake

Никогда не понимал, зачем они нужны - свои прослойки, при необходимости, проще накостылять, без излишков кода

Костылять ORM-фреймворк ты будешь долго. Накостылять доступ через SQL можно, но в долгосрочном периоде это займёт больше времени, чем использование ORM.

«изучение работы» смахивает на незнание предметной области, но это мое имхо.

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

Legioner ★★★★★
()

а ты что думаешь?

Я думаю, что ты не прав. Отладчик выводит результат в одном виде, логи и тесты выводят тот результат, который хочет увидеть автор. Т.о. ты сравниваешь тех, кто НЕ умеет пользоваться черными ящиками (тесты, логи, печать результата) и тех, то НЕ умеет пользоваться отладчиком.

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

gh0stwizard ★★★★★
()

i-rinat рассказал, что есть программы, что правильно работают лишь под отладчиком.

anonymous
()

Зачем нужен отладчик, если есть доступ к исходному коду? Для изучение чужого гораздо полезнее уметь, например, дерево вызовов процедур/методов, хоть doxygen.

unanimous ★★★★★
()

Раз тема в Development:в GDB с относительно недавних пор появился трассировщик. Можно ли им подрубаться к работающему процессу, не останавливая его больше, чем на несколько квантов? Даже когда я делал енто скриптом, супервайзер детектил паузу и прибивал tracee.

fmdw
()
Ответ на: комментарий от waker

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

А вот синтаксис паскаля мне нравится до сих пор. В некотором отношении более логичный, чем у си-подобных. К тому же, в объектных реализациях Паскаля есть нормальная модульность как элемент языка, а не её имитация на инклудах и нэймспейсах, как в плюсах. Да, и нормальных локальных процедур в плюсах до сих пор нет. Хотя лямбды в С++11 - это уже очень близко.

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

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

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

вот тогда и сможешь покукарекать по поводу того как в ней лучше дефекты искать

а пока... попроси у мамки борща и надрачивай дальше конкатенацию строк. на большее ты не способен

anonymous
()
Ответ на: комментарий от Legioner

Что имеется в виду под ORM ? Я писал систему с UML движком и собственным ЯП, которая дальше пишется сама на себе - по модели создаются объекты в БД, экранные формы, делаются обработчики перехода между состояниями и т.п. - не представляю, чем мне помогли бы сторонние либы.
«Век живи, век учись, все равно дураком помрешь.» Это да :(
Все равно не понимаю - сам фреймворк пишется на базовом функционале языка (как его не знать если на нем и так пишешь ?), снаружи он - черный ящик, за какие его выступающие места дергать описано. По тому, за что дергать, имхо, вполне очевидно, что происходит внутри. Разумеется, не считая случая когда оно ведет себя не как описано, тогда - да, надо лезть внутрь, но это баг либо документации либо реализации.
Немного не из той оперы, но мой пример - есть TStringGrid, есть TDBGrid, очевидно, что второй наследник первого, вполне очевидно какими свойствами и методами надо дополнительно обвешать первый, чтобы получить второй, примерное содержание методов, тоже вполне очевидно по тому, зачем оно надо. Когда мне не хватало ни базового ни девекспресовского компонентов (нужно было свое customdraw status поле с реализаций, вшитой в компонент, рисуемое в зависимости от содержимого в указанном в пропертях поле таблицы, с учетом типа объекта в модели+ мульти выделение строк по пробелу+список с id записей из PK таблицы) - это был единственный случай, когда я лазил в TDBGrid чтобы посмотреть реализацию выбора строк и убедиться в том, что нужного мне велосипеда там нет. После написания компонента я его тупо использовал как черный ящик последующие годы.
А если по виду api неочевидно как оно внутри работает, то это, имхо, странная ситуация - api можно воспринимать как техзадание для программиста - на него смотришь, голова тут же генерирует примерный код его реализации, если нет, то не представляю, как можно заниматься программированием.

handbrake ★★★
()
Ответ на: комментарий от hobbit

локальные процедуры — это замыкания? в шланге есть, весьма удобные. а вместе с gcd/libdispatch ваще сказка. мне нравятся больше, чем крестовые лямбды. http://clang.llvm.org/docs/BlockLanguageSpec.html

waker ★★★★★
()
Ответ на: комментарий от handbrake

Что имеется в виду под ORM?

Object-Request Mapping. Например Hibernate, EclipseLink.

Я писал систему с UML движком и собственным ЯП, которая дальше пишется сама на себе - по модели создаются объекты в БД, экранные формы, делаются обработчики перехода между состояниями и т.п. - не представляю, чем мне помогли бы сторонние либы.

По одному проекту как то странно судить обо всех проектах. Без понятия, могли бы в твоём проекте помочь сторонние либы, или нет, но в подавляющем большинстве проектов сторонние либы успешно используются. В моём текущем проекте (совсем небольшой) 69 JAR-файлов дополнительных библиотек. Если бы я решил всё это писать сам, это был бы совсем не небольшой проект (а точнее его бы не было в принципе, не те сроки и бюджет).

< Все равно не понимаю - сам фреймворк пишется на базовом функционале языка (как его не знать если на нем и так пишешь ?), снаружи он - черный ящик, за какие его выступающие места дергать описано.

Ну например у Hibernate нет внятного описания, как реализовать свой Naming Strategy и куда его прикручивать. Проще всего просто взять и залезть дебаггером в кишки, поставив брякпоинты (поставить брякпоинт в нужном месте, чтобы сразу увидеть нужный callstack – тоже надо уметь на самом деле) и разобраться.

По тому, за что дергать, имхо, вполне очевидно, что происходит внутри. Разумеется, не считая случая когда оно ведет себя не как описано, тогда - да, надо лезть внутрь, но это баг либо документации либо реализации.

Ну дебаггер он даже по дословному переводу названия предназначен для исправления багов. Естественно если документация идеальная, ты на одной волне с автором документации и всё понимаешь именно так, как он имел в виду, багов нет и всё, что тебе надо, делается очевидным образом, это просто сказка, сиди и педаль код. Но реальность, она же обычно другая.

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

Что генерирует твоя голова при виде API и что нагенерировали головы всех индусов, которые работали над этим кодом последние 15 лет – разные вещи. Ты описываешь какие то примитивные обёртки. А библиотеки бывают сложные и далёкие от предметной области.

Legioner ★★★★★
()

IDE и мощные отладчики

То есть, судя по твоей логике, человек, пишущий тесты, кодит исключительно в notepa^Wvi?

Unicode4all ★★★★★
()
Ответ на: комментарий от Legioner

У тебя похоже явовская специфика. Там, имхо, какой-то дикий оверхед по абстракциям. По моему из серии создадим и преодолеем.

Ты описываешь какие то примитивные обёртки. А библиотеки бывают сложные и далёкие от предметной области.

Если они далеки, то как вариант это излишние абстракции и не факт что они нужны.
Описанная мною система - САБД 5го поколения под firebird/oracle, с учетной моделью, собираемой хоть самим пользователем с помощью UML двига из полупроводок, плоскостей учета и планов счетов в произвольной комбинации с наследованием сущностей + мелочевка типа решения по клиент-банку. И да, код везде был простой, кроме стандартной стандартный VCL использовались только rxlib для рюшек, и ib/одак для прямой работы с СУБД и фаста для отчетов. Все.

handbrake ★★★
()
Ответ на: комментарий от handbrake

У тебя похоже явовская специфика. Там, имхо, какой-то дикий оверхед по абстракциям. По моему из серии создадим и преодолеем.

Что есть, то есть. Проблема в том, что это есть и это приносит весомую пользу, когда используется правильно. Нужны мне вебсокеты? Почитал доку и за 5 минут состряпал вызов к нужному методу. Прибежал босс и кричит, что нам нужна поддержка IE 8? Одной строчкой включается поддержка sock.js и всё волшебным образом начинает работать. Именно из за кучи абстракций, которые нас абстрагировали от конкретных реализаций. Иногда оно всё не к месту. Иногда не работает и приходится нырять в это всё с головой. Callstack-и из 30 методов внутри библиотеки? Легко.

Если они далеки, то как вариант это излишние абстракции и не факт что они нужны.

Без них не всегда можно обойтись, если не писать всё самому. Часто пишешь и сам не знаешь, обойдёшься или нет, см. пример выше про IE 8.

Вот твоя система работает на Oracle/Firebird. Сколько времени ты потратишь, чтобы она заработала на Postgres, MySQL, DB2, MSSQL? Я в конфиге ORM переключу используемый диалект и скорее всего оно всё заработает сразу. Может и не нужна такая гибкость. А может и пригодится, кто его знает, сегодня ты делаешь этот проект для конкретного заказчика, а завтра прибежит второй с такими же требованиями, но своей инфраструктурой и требованиями. Гибкость может вознаградиться.

Legioner ★★★★★
()

я думаю, что вы мешаете людям зарабатывать деньги. Стыдно, товарищ!

darkenshvein ★★★★★
()
Ответ на: комментарий от Legioner

Вот твоя система работает на Oracle/Firebird. Сколько времени ты потратишь, чтобы она заработала на Postgres, MySQL, DB2, MSSQL?

С Оракл на мускуль? Всё, пони в новый год больше не наливать!

darkenshvein ★★★★★
()
Ответ на: комментарий от Legioner

Прибежал босс и кричит, что нам нужна поддержка IE 8?

Видимо опять специфика, в стендалон-апп это параллельно, и всегда есть стандартные сокеты или можно дергать установленный браузер.

Вот твоя система работает на Oracle/Firebird. Сколько времени ты потратишь, чтобы она заработала на Postgres, MySQL, DB2, MSSQL?

Либа доступа со стандарным api к TDBxxx компонентам. И переписывать все SQL/middleware.

Я в конфиге ORM переключу используемый диалект и скорее всего оно всё заработает сразу.

Так не бывает. Не учитывается много специфики, навскидку: уровни изоляции транзакций, гигантские различия в синтаксисе SQL, области (страница/ряд/поле) и условия действия блокировок/дедлоков, версионник наша СУБД или блокировочник(вообще разный подход к проектированию, насколько я слышал, 1Су проще из-за этого было вообще постгре патчить, но может и брешут), организация сессий, AutoInc/генераторы/rowid или что там, есть ли евенты, несты, возможности хряп, триггеров. Да даже разные версии одной СУБД сильно отличаются. MySQL я бы вообще к СУБД не относил - там dirtyread, емнип, до сих пор не выпилили, и вообще до сих пор не совсем ACID compilant, имхо в этой СУБД, «У» следует переводить как «уничтожения» - имхо, единственная БД, где после жесткой перезагрузки спокойно можно получить кашу вместо данных. У остальных для этого гораздо больше усилий приложить надо.
Если все это усреднить до «выбрал СУБД в настройках», то отвалятся почти все возможности SQL. Сервер будет отдыхать-клиенты и сеть перенапрягаться, а там либо корпоратив пошлет нафиг с таким распределением нагрузки, либо оно сдохнет само почти сразу после введения в продакт от реальной нагрузки. Те самые проблемы из-за таймингов на сложной логике + стремительный рост вероятности дедлоков. Да что там говорить - планы запросов смотреть/править приходится и сокращать длину транзакций, насколько это возможно - это не алгоритмизируется.

handbrake ★★★
()

А что, Царь (или его подражатель) теперь не только на C, но и на IDE/debugger будет в каждом топике появляться со своей конпеляцией? А вброс - годный. По теме - использую и отладчики и логирование. Сначала в лог гляжу, если сразу в глаза ничего не бросилось, то отладчиком.

peregrine ★★★★★
()
Ответ на: комментарий от handbrake

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

Это не важно, т.к. всё укладывается в стандарты JDBC.

гигантские различия в синтаксисе SQL

Это не важно, т.к. SQL генерируется из переносимого JPQL (SQL-подобный язык для объектных запросов).

области (страница/ряд/поле) и условия действия блокировок/дедлоков, версионник наша СУБД или блокировочник

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

организация сессий, AutoInc/генераторы/rowid или что там, есть ли евенты, несты, возможности хряп, триггеров.

От всего этого и абстрагирует ORM.

Если все это усреднить до «выбрал СУБД в настройках», то отвалятся почти все возможности SQL.

Это правда, 99% из мануала никогда не будет использовано. Всё, что от SQL в современных системах надо - хранение коллекций туплов с foreign key-ями и быстрое выполнение простых запросов по этим туплам.

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

Ну во-первых обычно такого не происходит при грамотной архитектуре. Во-вторых пока БД сервер отдыхает, душа архитектора радуется. Потому что засовывать HTTP-серверы в кластер на порядок проще и безопасней, чем раскластеризовать СУБД.

Те самые проблемы из-за таймингов на сложной логике + стремительный рост вероятности дедлоков. Да что там говорить - планы запросов смотреть/править приходится и сокращать длину транзакций, насколько это возможно - это не алгоритмизируется.

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

По факту, если на проекте есть человек, который следит за отсутствием бардака, бьёт по рукам любителям SQL, проект достаточно быстро может быть переведён на другую БД. Посмотри на Jira. Проект большой сложности, при этом используется огромным числом организаций, поддерживает множество пользователей, кластеризуется, работает довольно шустро, и при всём при этом вполне нормально поддерживает кучу разных БД.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от handbrake

Т.е. по твоему потратить кучу времени на написание велосипеда, который никем не будет поддерживаться, вероятно будет хуже протестирован, на изучение которого все равно придется тратить немало времени новым программистам в проекте, лучше, чем воспользоваться общеизвестным хорошо протестированным фреймворком?

f1xmAn ★★★★★
()
Ответ на: комментарий от f1xmAn

Ну вообще то да, если админы делают свою работу и конфиг машины не совсем уж слабенький. Ну не прям летает, может, но вполне комфортно всё работает. Сколько багов репортил в открытые прогекты – везде стоит Jira, везде тысячи багов, сотни пользователей и при этом всё прекрасно и шустро работает.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Ну, на одной работе мы использовали Jira, как же она тормозила — просто ужас. Когда деплоил свой артефакт в maven, пользовался Jira sonatype, это тоже был весьма медленный опыт. Разве что у Hibernate и Spring шустрая Jira, у ASF более-менее. В плане быстродействия мне больше нравится Youtrack от Jetbrains. Примерно год назад от нечего делать запустил её на своем нетбуке (atom n570, 2гб ОЗУ) — она летала, правда, всего на 3-х пользователях :)

f1xmAn ★★★★★
()
Ответ на: комментарий от Legioner

Ну во-первых обычно такого не происходит при грамотной архитектуре. Во-вторых пока БД сервер отдыхает, душа архитектора радуется.

Когда я писал, считалось ровно наоборот. Плюс СУБД лопатит данные на порядки быстрее.

Потому что засовывать HTTP-серверы в кластер на порядок проще и безопасней, чем раскластеризовать СУБД.

Это так, но если грузить СУБД, то необходимость в такой кластеризации возникает на настолько больших объемах, что до них мало кто доживает - там нагрузка часто больше на IO чем на CPU.

Посмотри на Jira.

Ок. Сколько там пользователей в одной организации сотня-тысяча и редкие изменения в СУБД ? Сравним с САБД, в которой теже сотни-тысяча пользователей дергают базу постоянно и сильно + тысячи пользователей клиент-банка - одни только запросы остатка по счету летают сотней в секунду. И это спокойно держит 1 инстанс СУБД.
Как ты в такой архитектуре обслужишь такое количество запросов - счет в РФ 25 символьный (их дофига и хранят их в символьном представлении, прощай память и CPU), источники обновления данных по нему разные (оперу, КБ, процессинги, собственные автономные модули типа автогенератор документов - комиссий, процентов, и т.п.) - закешить на остаток на мидле ? - это еще и мидлы синхронизировать надо, (конец преимуществу, теперь мы уже решаем несуществующие проблемы), единственный надежный способ получить актуальные данные - это дергать СУБД напрямую хряпой. Или гонять селекты всех полупроводок (с учетом плоскостей учета и планов счетов - ой, а кешить надо уже в 3 раза больше, память, ты где ???) по счету и собирать его на мидле (select, особенно усредненный для всех субд посчитать итог не сможет - там даже хряпа на полтора экрана) - трафик представляешь ? IO на сервере БД ляжет, сеть тоже, на мидле будет высокий CPU+MEM, а еще и данные пока дойдут до такого мидла могут стать неактуальными - прикинь, на счету денег впритык, и пока обрабатывается платежка, другой модуль списал комиссию и обогнал нашу платежку - в мемориальнике нет проверок свойственных пп, так, теперь еще сервер очередей какой-то городить надо. А как узнать, что в кеше мидла актуальные данные и не отличные от БД (а вдруг у нас взлом или еще что ?) А реализация прав доступа на уровне записей и аудита счетов/проводок/документов ? Это ты как решишь своим кластером - ресинк ? он 90% ресурсов на это спустит, а теперь прикинь, что упс взорвался и вся стойка сдохла, что у нас в БД ? А по любому чиху у тебя лицензии отзовут (одна рублевка стоит 300лямов с их 6летней историей-ты представляешь себе реальную стоимость этих денег?) и запретят президенту заниматься деятельностью,а клиенты еще и закопать могут, хотя учредители это сделают быстрее и начнут с того, кто такое решил внедрить.
Иимхо слишком разная предметная область. В САБД использовать СУБД на полногтя (только для хранения сырых данных с ключами) - непозволительная роскошь - не те нагрузки. Я знаю примеры когда САБД была написана одними средствами СУБД (форс, например) и не слышал о примерах хоть одной реализации твоей архитектуры. Для неторопливого веба - да, твой вариант может быть и лучше.

handbrake ★★★
()
Ответ на: комментарий от f1xmAn

it depends и от платформы разработки тоже.
Встречный вопрос - если от фреймфорка нужны полторы функции - весь цеплять будешь ?

handbrake ★★★
()

Не знаю. Я вообще нормально знаком только с одним программистом. И он отладчики не использует. printf — наше фсе!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Virtuos86

Говорят, в коде ядра онтопика используется goto, брат. Линусу можно доверять, брат, он не обманет, брат.

Да дофига его там, kernel/cpu.c хотя бы взять (первый попавшийся файл с goto, а так их там сотни).

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

i-rinat рассказал, что есть программы, что правильно работают лишь под отладчиком.

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

hobbit ★★★★★
()

Аксиома царя

Царь не пользуется отладчиками -> необходимое и достаточное условие чтобы отладчиками пользоваться.

anonymous
()

А если программа на OCaml скомпилировалась, то это значит, что она не содержит скрытых ошибок. Так что тут всё зависит от средств.

olibjerd ★★★★★
()
Последнее исправление: olibjerd (всего исправлений: 1)

Пользую хорошую IDE. Отладчиком умею пользоваться только в теории. Считаю, что хорошему кодеру он не нужен, тупо не пригождается.

erfea ★★★★★
()

Отладочная печать отлично работает для отладки алгоритмов, логики, всяких state machine, протоколов и прочая. Дебаггер реально помогает разве что при отладке навороченного матана. В общем, если много матана - то дебаггер будет полезен. Если матана особо нет или он достаточно безпроблемный, то отладочная печать сэкономит много времени и хорошо продокументирует код, а от дебаггера толку никакого.

Stanson ★★★★★
()
Ответ на: комментарий от handbrake

Описанная мною система - САБД 5го поколения

А по каким свойствам ты их подразделяешь на поколения. И чем особо выделяется 5-ое ?

antares0 ★★★★
()
Ответ на: комментарий от handbrake

насколько я слышал, 1Су проще из-за этого было вообще постгре патчить, но может и брешут

Ну скорее из-за малобюджетности. И патчили не сами, а с помощью товарища из постгресовского интегратора.У этерсофта вобще был полноразмерный транслятор mssql-овских запросов «семерки» в тот же самый postgress. Под db2 и оracle 1C-ники переписались все таки сами и вроде бы с большим успехом.

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 1)
Ответ на: комментарий от antares0

Кстати, отличное замечание. На автомате называю, придумал не я, тогда всегда почему-то добавляли, marketing-bulshit тех времен, наверное в голову въелся, тогда это словосочетание использовали с такой же частотой как сейчас «фреймворк».
В то время DiasoftWorkflow выходил и IBSO этим поколением, емпип, тоже нумеровали, общая черта - построение системы самой на себе, по типу 1с8, только не так топорно и в базу можно спокойно напрямую ходить (например взять CrystalReports и добывать нужную себе отчетность прямо из БД). Тогда до выхода 1с8, емнип, еще несколько лет было - тогда еще на 7 переходили. И в отличии от 1с уже тогда было дофига шахмат и поэтесс типа прав/аудита на уровне записей и полей, объектно-ориентированная система документов с о всеми полагающимися атрибутами - состояния-переходы, евенты, методы, наследование, нормальные редакторы экранных форм/генераторы отчетов, неограниченное количество (сколько придумаешь и можно модифицировать в любой момент на лету) плоскостей учета вместо невнятного «субконто» и вообще все что угодно + сделано по человечески, я еще дальше пошел, у меня ограничений в учетной модели не было вообще, можно было, например, узнать суммарный остаток по синтетике любого уровня из разных(!) планов счетов в разрезе нужной плоскости учета в выбранном филиале. Сейчас на эту тему nosql изобрели, тогда мы его писали сами поверх рилейтив-субд. Напрямую тогда такое, наверное, только caсhe умело, но в банках оно не взлетело.

handbrake ★★★
()
Ответ на: комментарий от antares0

Ну скорее из-за малобюджетности.

Это у 1с -то ? :)

И патчили не сами, а с помощью товарища из постгресовского интегратора.

И слава б-гу, у них радиус кривизны рук, имхо, достигает отрицательных величин. Я, по сути, написал аналог 8 в одиночку быстрее них.

У этерсофта вобще был полноразмерный транслятор mssql-овских запросов «семерки» в тот же самый postgress.

Трехануться. Если это правда, то такое кто-то должен был проплатить, причину я только одну могу представить - msql должен был у кого-то крупного конкретно слиться, а на другую субд legacy не пускало. Возможно кого-то эпично «гет зе фак'с». :)

handbrake ★★★
()

«The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.» Brian Kernighan — в этом всё же есть зерно истины.

beastie ★★★★★
()
Ответ на: комментарий от handbrake

Если это правда

http://etersoft.ru/products/selta

Транслятор SELTA@Etersoft позволяет использовать свободную СУБД PostgreSQL в приложениях, ориентированных на работу с MS SQL (например, «1С: Предприятие 7.7»). ...

antares0 ★★★★
()
Ответ на: комментарий от handbrake

причину я только одну могу представить - msql должен был у кого-то крупного конкретно слиться, а на другую субд legacy не пускало.

Предпологалась оно для бюджетников.Если память мне не врет.

antares0 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.