Суть дискуссии: я считаю, что для решения прикладных задач с базой данных, отчетами и необходимостью поставки и периодических обновлений более чем 2-3 потребителям решать на 1С задачу быстрее, чем на шарпе, т.к. шарп - это просто язык, не включающий в себя (даже с компонентами) всё вышеперечисленное.
К тому же 1С абстрагирована от конкретной СУБД, о чем шарпу можно только мечтать.
бугога, а никсоиды смогут написать правила для Конвертации Данных
Своя рубашка ближе к телу? Я тебе конкретно привел пример кодирования у сисадминов, а ты пытаешься доказать, что топор лучше скальпеля, т.к. он деревья лучше валит.
Это хреновый набор для программиста?
И сколько процентов 1С программистов этим набором владеют - 10?
у меня никаких проблем с кодингом на PHP не возникало, когда я писал движок с нуля для своего сайта.
А что не на 1С? Там ведь есть веб интерфейс. Да и 1C это "RAD" всех RAD-ов.
А теперь расскажи, чего такого есть в юниксах, чего не может освоить кодер с такой базой?
Если ты про себя, то я сомневаюсь в твоих знаниях п.1. Плюс в знаниях "великого и могучего". Соответственно - твой максимум - это охаить еще одну вещь. Для тех кто эту вещь не знает, будет выглядеть очень правдоподобно.
Железо, драйвера и ассемблер - не интересные вещи. Во-первых я ассемблер тоже знаю,
А я вот не знаю. И ничего.
вирусы в свое время в универе писал
А я не писал. Зачем тратить три дня, что бы твой труд аннигилировали за час?
железо - это узкая и на фиг массам не нужная область
Точно. Бумага в бою надежней. Амбарные книги это наше все.
для успешной работы в 1с нужно:
1. Отлично знать классические языки программирования (функции, рекурсии, переменные, ссылки, коллекции и т.п.)
2. Отлично знать SQL-запросы, Joinы и т.п.
3. знать XML
4. знать взаимодействие с ОС (Shell, Run, CMD)
5. Уметь на базовом уровне админить MS SQL или IBM DB.
1С:Бухгалтерия проектировалась так, чтобы продвинутый пользователь, знакомый с программированием на уровне пятёрки по информатике в гуманитарном ВУЗе, мог настроить её под себя в той или иной мере. Развитие возможностей платформы в 7, а потом и в 8, 8.2 с одной стороны, увеличило порог вхождения в систему и породило класс 1С-программистов, с другой стороны, привело к штамповке фирмой 1С сырых продуктов с сомнительным функционалом, который на месте приходится дорабатывать практически на каждом внедрении. Таким образом, по сути, пользователь за свои деньги получает бета-версию заготовки программы и напильник в виде конфигуратора. Это к слову, о "разработке на 1С" и к чему она ведёт.
(239)
Шарп заточен на конкретную СУБД
Вы хотя бы в общих чертах, представляете себе, что такое .NET framework вообще и C# в частности? Каким местом заточен? Под какую СУБД?
(251) гм, не устану повторять для неумеющих читать - в 1с я могу спокойно перейти с MS SQL на файловую, оттедова на IBM Db, оттедова на MS SQL, не меняя ни строчки кода приложения.
Я понимаю, что шарп - это язык, а не среда разработки, но все же есть ли готовые инструменты в шарпе для такого перехода? нет! Потому что в 1с применяется более высокий уровень абстракции, чем таблицы - есть прикладные объекты.
Ваше отношение про напильник ошибочно. Есть некий уровень абстракции, избавляющий программиста от ненужного труда. На нем можно спокойно штамповать нужные решения, типовые как раз, без напильника работающие. Другое дело, что 1С - проприетарный продукт, типовые конфы от 1С - гуано, а сторонних разработчиков конф оно своей проприетарностью задушит. Но это политика и маркетинг, как инструмент платформа 1С не имеет себе равных по RAD.
(252)Простые приложения, взаимодействующие с базой посредством стандартного SQL, без учёта специфики конкретной СУБД, не потребуется переписывать вообще - поменяется только строка соединения, ну и, возможно, провайдер. Если говорить о более сложных случаях с условием использования только стандартных средств платформы .NET, без задействования сторонних библиотек и сдк, то всё определяется структурой приложения. Можно и нужно организовывать код так, что изменения функционального кода для смены СУБД не потребуется: библиотека, реализующая специфику будет просто подключаться по мере необходимости.
в 1с применяется более высокий уровень абстракции
Проблема в том, что в 1С всего один уровень абстракции и разработчик сильно ограничен в возможности создавать собственные. Единственное, что предоставляет для этого 1С - экспортируемые функции общих модулей. В итоге, попытки самой же фирмы 1С построить абстракции более высокого порядка, чем базовые объекты превращается в ад из десятков модулей и тысяч функций. Откройте любую типовую. И по-другому никак. Да, продукты от Рарус, к примеру в этом плане показали себя очень достойно, но там это достигается организационными методами. Да, появилась БСП, призванная худо-бедно эту проблему сгладить, но до идеала ещё далеко. И до того манипулирования структурой и кодом приложения, которое есть в С# тоже как до альфа-центавры. Вообще, .NET появилась, если мне не изменяет память, именно для разработки крупных проектов и интеграции продуктов труда большого количества слабо зависимых разработчиков. Так что сравнивать 1С с ней в ключе разработки небольших приложений одним человеком не вполне корректно (хотя и можно), сравнили бы лучше, я не знаю... с Блиц Бэйсиком чтоли...
(255) не приравнивайте два совершенно разных подхода, тогда не будет ошибок.
1с имеет абстрактную модель базы и драйвер к каждой СУБД под эту модель. А вы предлагаете использовать только стандартный SQL. Чушь
1с имеет абстрактную модель базы и драйвер к каждой СУБД под эту модель
Ох имеет... Еще как имеет... Во все дыры...
А вы предлагаете использовать только стандартный SQL.
Тебе ничего кроме научится читать на русском языке пока не предлагали.
Ты как мой сын, он то же может буквы рисовать. Даже иногда без ошибок срисовывает.
Что в твоем понятии абстракция, модель, драйвер и SQL. Про то что RAD у тебя от fixin я уже понял. Боюсь, что остальные слова русского языка у тебя то же в трактовке fixin.
я могу спокойно перейти с MS SQL на файловую, оттедова на IBM Db, оттедова на MS SQL
Вы упорно приводите в пример эти три системы, забывая, что 1С поддерживает ещё две: оракл и постгре. Про первую ничего не могу сказать, не сталкивался, а вот переход на постгре проходит не то чтобы влёт.
(258) ну найдите мне приложение на Шарпе, которое легко мигрирует на три СУБД, а на пострге не то чтобы влет. Фига вы найдете, ибо уровень абстракции не тот.
В Питере 120 не платят. Потолок в Питерской отрасли 90 - остальное стат погрешность. Средняя 50 - 70. Зато программисты java и C при средней 70 - 90, потолок имеют 150. А сис. админы - при средней 40 - 60 потолок имеют 80. Так что судя по рынку, прогер 1С нечто среднее между сисадмином и программистом. Прессиникейщики (тестировщики), кстати, имеют те же вилки, что и одинэсовцы.
Почему 1С не RAD, обоснование будет?
Нет не будет. Ты все равно читать не умеешь. Я уже писал про это см. 145 и 147 пост.
вы что за задачу решаете? Используйте составной тип, если че.
Честно говоря, уже не помню где именно эти грабли вылезли, но, очевидно, что могут вылезти в любом более-менее универсальном механизме.
Че-то я не догоняю, в чем проблема в вашей задаче.
Повторю: есть реквизит составного типа, допустим, все документы. Программно надо ограничить, чтобы при выборе типа выпадали не все, а, допустим, только те, в метаданных которых есть определённый реквизит.
157.
nikolaygorbunov
118.06.12 14:32 Сейчас в теме
Некорректно сравнивать 1С ПРЕДПРИЯТИЕ и C#, по ряду причин:
-Стоимость (C# можно скачать и использовать бесплатно, 1С платная)
-Открытость исходного кода (1С подразумевает легкость перехода от программиста к программисту, наличие готовых конфигураций).
1с не позволяет в данном конкретном "типа объекте" ПолеВвода сменить тип данных (ТипЗначения), если оно, - поле, - уже привязано к реквизиту (с определенным типом данных, соответственно).
Приведите практический пример, где оно действительно надо.
Вы извините, но у меня создалось впечатление, что вы изучаете платформу исключительно с академической точки зрения. Товарищи практики вас не понимают (к коим я и себя отношу). Потому что с практической точки зрения, 1С продукт не идеальный (и проблемы есть, и даже вполне серьезные), но по количество плюсов 1С действительно не имеет себе равных на рынке. Все эти попытки рассказать про ООП - это от лукавого. Потому что именно принятая модель позволяет допилить систему "на коленке", если хотите. Да. Именно на коленке. И это очень важно. Это и есть то конкурентное преимущество, которое позволяет зарабатывать и кормить свои семьи десяткам, если не сотням тысяч специалистов. Просто не пойму, что вы так взъелись на 1С? Укажите, что по вашему мнению лучше? Из имеющегося на рынке, я имею ввиду.
Товарищи практики вас не понимают (к коим я и себя отношу)
какие же вы практики - вы повторители :))
Решатели одних и тех же задач. Вот поэтому - и нет "где оно действительно надо.", "никогда не возникало задачи" и т.д.
Т.е. всю "прочую шнягу" в Си это вы сами обозвали "коллекциями"?
не знаю, как и чему вы там учились у себя - но путать понятия "контейнер" и "коллекция" - это еще надо суметь. Даже 1С до такого не дошла - применив для своих НАБОРОВ более корректное "коллекции", а не как по-привычке обычно делает с терминами - могла обозвать и "классами", и "контейнерами" - а какая разница, все равно даже если кто-то и слышал про классы, коллекции и контейнеры - ничего не поймут и не разберутся, - что, собственно, вы и показали своим сообщением.
Итак, cool.vlad4 - что такое "контейнер"? Откройте лекцию по информатике.
Есть смежные(массивы) и связанные(коллекции) структуры данных. Стандарт С++ не поддерживает связанные структуры, но поддерживает шаблоны. Вот как раз STL и реализует коллекции с помощью данных шаблонов.
STL реализует и массивы, и наборы, и списки. Вы нашли там "коллекции", и от хранения в памяти без всякой связи перешли к хранению данных.
Но еще раз повторю - дисскусия смысла уже не имеет.
очень сильно, задел. пойду поплачу. (skip-нуто).
а в своих якобы рассуждениях ты в очередной раз показываешь какое ты трепло,
дисскусия смысла не имеет.
безусловно, ведь ты сам же её и придумал, также как и
хранения в памяти без всякой связи перешли к хранению данных.
ни у fixin-а, ни у awk этого не было. ты как истинный троль прицепился к слову, сел в лужу(типа коллекций нигде нету и вспомнил некое подобие языка VBA) и начал вонять. трепись дальше. что ни ветка, то какой-то бред про тру1Сников и прочая ересь, а сказать по делу нечего.
(223) ну так он и пример из BSD привел чисто админки, а не программного решения.
(221) ну не имеет, так не имеет. Так мы и не выяснили, почему это программист 1С с перечисленным мною набором навыков - недопрограммист, а умеющий настраивать BSD админ - суперпрограммист, гыгыгы...
(223) cool.vlad4, Да тут fixin определится не может то ли:
"К тому же 1С абстрагирована от конкретной СУБД, о чем шарпу можно только мечтать." (с) fixin
то ли одиэсниг должен:
"Отлично знать SQL-запросы, Joinы и т.п." (с) fixin
(227) ну про первое предложение еще в самом начале fixin сказал, что в dotnet ничего не знает, я и перестал дальше что либо обсуждать на эту тему. а про "Отлично знать SQL-запросы, Joinы и т.п.", - често говоря тут я ничего не понял, что значит отлично, какие запросы(диалект), тут до сих пор что-то новое узнаешь, а всякие микрософты еще что-нибудь новое придумывают. join наверное минут за две можно понять, что это. (да и уточнить стоит, может он про язык запросов 1С так неудачно выразился ))).
(229) вся суть в том, что ты сделал наезд на довольно хороший язык (с моей субъективной точки зрения), ничего не зная ни про него, ни про платформу на которой он работает. мне кажется это необоснованным, на rsdn тебя бы заклевали (и правильно), а здесь мне все равно. там сам смотри, хочешь разобраться в предмете, либо считать так как ты считаешь. мне все равно.
(233) я сделал наезд не на язык, а на попытки RAD на нём. Ассемблер тоже хороший язык, но не RAD нисколько. Мне все равно, все равно тебе или нет.
(232) тупой юмор, отвечать не вижу смысла.
(234) в 232 не юмор никакой. ты сказал вполне конкретную вещь,- "К тому же 1С абстрагирована от конкретной СУБД, о чем шарпу можно только мечтать.". Тут есть несколько вариантов 1) либо ты её доказываешь, но ты этого не сделал 2) либо это глупость 3) либо это юмор. Выбирай.
(233) У нас с тобой понятия о RAD разнятся, не вижу смысла продолжать.
(227) мне странно, что вы задаете такие вопросы. Есть формальный SQL, который работает в любой СУБД, в том числе и в абстрактной. Не вижу противоречий.
(228) вода, жду конкретики. Что такое взрослое программирование, чем отличается от 1С, почему 1сник не может им заниматься, если понадобится? гыгыгыгы....
(229) ну на нет и суда нет. Я ничего не знаю и про жизнь на марсе, но готов обсуждать, т.к. обладаю базовыми навыками программирования.
(235) слив засчитан. Если аргументированно спорить не хотите, натягивая маску гуру, извольте-с, дискуссия лично с вами прекращена за неимением у вас аргументов.
По поводу SQL замечу, что базовые представления о JOIN, UNION и PIVOT не зависят от редакции SQL-диалекта, так что буквоедство DETECTED.
(238) ок.
(236) в чем ты видишь противоречие? Шарп заточен на конкретную СУБД, 1с нет. Костыли в виде гибернейт влияют на производительность, поэтому их смысла использовать нету.
я устал fixin реально. что значит заточен под конкретную базу? А 1С не заточен? 1С самая, что ни наесть базозависимая хрень, с которой ты лично ничего сделать не сможешь, скажут разработчики сидеть всю жизнь 1С на ms sql и тем базам которые я перечислил и все. На шарпе ты можешь сам написать провайдер. Даже если будут проблемы, можно на C/C++ взять и написать и через p/invoke вызывать (в шарпе) то , что тебе надо. Ты можешь вообще на шарпе базу написать(существует например порт sqlite на шарп. Есть объектная база ravendb также на шарпе, есть куча всего ) .
1с нет.
ну бред же. Ты так говоришь потому, что окромя 1С больше ничего не знаешь, но самое главное, потому, что больше ничего тебе не надо. ты вот помнится спрашивал существует ли embedded база для твоих неких записей, с которую легко по твоим меркам работать? Ну что нашел? А если б не было ODBC или ADO?
Костыли в виде гибернейт влияют на производительность, поэтому их смысла использовать нету.
пруф в студию. ты будешь мне рассказывать, что nhibernate нигде не используют. а накуя он нужен по твоему?
(240) написать можно что угодно. А в 1С я сегодня работаю в файловой. завтра перейду на DB2, а потом мигрирую на MS SQL и не перепишу ни строчки кода. В Шарп ты так можешь? Ничего не дописывая, взять и переехать?
ты заикнулся про гибернейт в контексте того, что на шарпе можно менять базы как перчатки. Вот и покажи. На 1с я тебе показал, как это выглядит.
Твой пост про ODBC не понял. Не понял, что ты сказать то хотел? Что такое ODBC и ADo я знаю, поищи мою обработку "Чтец данных EXCEL", там аккурат ADO юзается. Но механизм, хороший для обмена данными не хорош для работы именно с базой данных. Для базы данных нужно юзать более примитивные, близкие к ней дрова.
(239) а твой 1С почему удобен и почему там много готовых фишек и мало, что надо делать руками, потому, что разработчики, делающие 1С, батрачили уже не один год на С++ и продолжают делать это дальше. И хотят справедливо за это деньги , и чтобы ты исполнял их условия лицензионного договора. Но тебе хочется чего-то свободного(твои признания), - ну так пиши.
(243) (105)
"в нем уже ВСЁ ГОТОВО"(с) Приехали. :-)
А кто писал про мои галлюцинации из (104) сообщения?
P.S. Извините, что я опять написал не в тему...
(227) я у него кстати спрашивал уже mongodb база или нет))) и почему 1С от нее не абстрагирована. а то на деле выяснится, что 1С якобы абстрагирована от ms sql, postgre, oracle , db2. В шарпе наверняка есть какой-нибудь orm типа nhibernate, который поддерживает такого же порядка(т.е. 1) количество субд
Бухгалтерский учет - система сбора и обработки финансовой информации о предприятии, дающая ее пользователям возможность выносить обоснованные суждения о финансовом положении организации и принимать экономические решения. В зависимости от круга пользователей различают финансовый учет и управленческий учет.
В воду пукнул.
Докозательство:
Если УУ часть БУ, а для БУ удобна 1С, то логично предположить, что для УУ так же удобна 1С.
(247) этак вы весь учет к бухучету сведете, бугога.
Количество покупателей в разрезе часов, рейтинг наиболее продаваемых товаров - это бухучет или УУ? гыгыгы...
Расчет премий продавцам по различным сложным критериям - это УУ или БУ?
C# + стороннее фреймворки => Тот же 1С + плюс много плюшек.
У 1С самая большая проблема на ней пытаются решить задачи которые не предусмотрены платформой. Они кончено решаемы, но решаемы через костелы.
(261) это какие такие задачи, не предусмотренные платформой, ЧАСТО пытаются решать
про фреймворки - ложь, т.к. 1С создает новый порядок программирования за счет более высокого уровня абстракции. Тут фреймворки не помогут, бугога, они всего лишь примочки над моделью с таблицами...
(260) вам тупить не надоело? для вас специально напомню, что есть модель базы данных для программиста, программист работает с ней, а команды работы с этой моделью транслируются уже в код работы с конкретными таблицами в СУБД. Если вы не в курсе, то ни в MSSQL, ни в IBM DB нет таблицы с названием Номенклатура и колонкой Артикул, например, бугога.
это какие такие задачи, не предусмотренные платформой, ЧАСТО пытаются решать
Самая тривиальная задача - сопоставление строки с шаблоном.
про фреймворки - ложь, т.к. 1С создает новый порядок программирования за счет более высокого уровня абстракции. Тут фреймворки не помогут, бугога, они всего лишь примочки над моделью с таблицами...
- АБРАКАДАБРА.
вам тупить не надоело? для вас специально напомню, что есть модель базы данных для программиста, программист работает с ней, а команды работы с этой моделью транслируются уже в код работы с конкретными таблицами в СУБД. Если вы не в курсе, то ни в MSSQL, ни в IBM DB нет таблицы с названием Номенклатура и колонкой Артикул, например, бугога.
- ЛОЖЬ от первой до последней буквы, особенно при использовании объекта 1С "Внешние источники данных".
(264) и в чем сложность этой задачи? Тем более что парсер шаблона можно и на нативном 1с написать. Сколько занимаюсь 1С, никогда не приходилось сталкиваться с такой задачей.
Мы не про внешние источники данных, мы про работу СУБД с данными 1С.
Ок, видать у нас с вами разное зрение, вы черное видите белым, я наоборот. Тока я пытаюсь общаться аргументированно, а ваши аргументы - детский лепет, банальные сливы.
Если вам нужен более сложный разбор, юзайте парсер, благо их до фига тут.
(266) я утверждаю, что 1С - это хорошая среда RAD, а С++, даже с сторонними фреймворками на RAD для приложений баз данных не тянет. ДА, приложения баз данных на нем можно писать, но с бОльшими затратами, чем аналогичные в 1С. А что утверждаете вы, я уже не услежу за разлетом ваших мыслей...
Я делаю это через нативные функции, например через
Ну через что ты их "юзаешь" и как общие модули стали "нативными", я примерно догадался... Вот только шаблон был про другое. Это был шаблон для разбора URI.
С++, даже с сторонними фреймворками на RAD для приложений баз данных не тянет
С++ - язык. Сравнение с платформой 1С неуместно.
приложения баз данных на нем можно писать, но с бОльшими затратами, чем аналогичные в 1С
Сведения из ОБС (одна бабка сказала).
А что утверждаете вы, я уже не услежу за разлетом ваших мыслей.
Что у тебя нет знаний, даже русского языка, не говоря о знаниях С++, С#, JAVA и т.д.
Как
Требования к RAD
коррелирует с
Работа программиста
?
По тем пунктам которые ты привел в (268)
1. Это работа сисадмина.
2. Это работа администратора БД.
3. Это продажникам удобно, а не программистам или заказчикам.
4. Аналогично п.3.
5. Аналогично п.3 (вдруг крупный клиент попадется)
6. ORM изобретено давно, вот только ограничения имеет в связи с несовместимостью объектной и реляционных моделей.
7. Реализовав данный пункт получаешь готовое приложение, а не фреймворк.
8. Только в нотепаде наверное этого нет.
9. Cristal reports, Microsoft report services и т.д. - уже давно есть.
10. Практически во всех СУБД есть, кроме (SQLite и подобных).
11. Конфликтует с пунктом 3.
Выводы:
1. Для программиста остались пункты 6, 7(условно), 8 и 9. RAD это система на 2/3 не для программистов.
2. 1С vs others
6. | 1C - есть | не 1С есть
7. | 1C - есть | скорее нет
8. | 1C - есть | не 1С есть
9. | 1С - есть | не 1С есть
Условная победа 1С (при 1С left join others).
Ничья (при 1С inner join others)
Сравнивать (right join others) как-то на ум не приходит.
(272) это не анализ, это пустая отписка. ;-) не убедили. то что вы назвали работой админа, в 1с делается само, без участия админа, то бишь база из метаданных с нуля создается, например. То бишь пишете ахинею.
(273) fixin,
1. Это твое бизнес-преимущество, ахинею нести.
2. Что само делается? Телепатически что ли? Пользователь подумал - база создалась?
2.1 Установка и обновление ПО на предприятии - это грядка системных администраторов. Просто 1С программисты любят по чужим огородам лазить.
2.2 А базы 1С ну каждый день создаются (если база данных создается (не восстанавливается при сбое) чаще 1 раз в пять-десять лет, то тут явно что-то не правильное в архитектуре).
(274) вы даже не осознаете о чем я. Я о создании новой базы по метаданным. Этим занимается платформа, а не пользователь, админ или еще кто то. И даже программист этим не занимается. Если вы на шарпе разработали тиражное решение, как будете создавать новую базу у пользователя? скрипт писать? или заточенную под конкретную субд приблуду?
(275) буквоедство. Нечего комментить. Попытка заменить суть буквами (терминами).
(278) оба на, ну наконец то продвинулись. DbContext - для конкретной СУБД или универсальный? Он умеет только создавать новую или апдейтить существующую?
(279) в 1С нет ни ORM, ни ООП, у нее свой метод абстракции через прикладные объекты, это поинтереснее ORM. И попроще.
(280) Аргументы будут или продолжаете бредить? Есть задача быстрой разработки приложений. Нужные механизмы на Си Шарп отсуствтуют. Там есть только инструменты медленной и сложной разработки.
DbContext - для конкретной СУБД или универсальный?
EF - это надстройка над технологией ADO.NET, соответственно работает с теми СУБД, для которых есть соответствующие компоненты доступа к данным. Такие компоненты (DAC for EF) точно есть для MS SQL, Postgre и mySQL. Для IBM и Oracle не знаю, можно погуглить, думаю, что есть. Так что, отвечая на ваш вопрос: да, универсальный.
Он умеет только создавать новую или апдейтить существующую?
Насколько я помню, частичную перегенерацию структуры EF не поддерживает. Но никто не мешает использовать сторонние продукты типа Adept sql
(283) вот в чем нюанс использования СИ# - для того, чтобы решить банальную задачу, но важную, которая входит во все проекты, нужна куча сторонних утилит. Причем это только количественный момент. Качественный момент - а именно использование прикладных объектов а-ля 1С в Си# вам никто не обеспечит, ни один сторонний продукт.
вот в чем нюанс использования СИ# - для того, чтобы решить банальную задачу, но важную, которая входит во все проекты, нужна куча сторонних утилит
Во первых, позвольте вас отослать ещё раз к (275), который вы сочли словоблудием, и внимательно его перечитать. Может, вам сложно будет это понять, но сравнивать платформу можно только с платформой. В случае разработки приложения БД на C# платформой будет совокупность IDE, ORM и SDK. При чём любая из этих составляющих является заменямой: не нравится EF - берёте NHibernate, или ещё что-нибудь; не нравится MS VS - берёте SharpDevelop или ещё что-нибудь. И это будут не сторонние утилиты - это и будет та самая "платформа", которую надо сравнивать с 1С:Предприятием.
Во-вторых, стороннюю утилиту для обновления структуры БД я привёл, т.к. это не требует написания кода. Если не использовать стороннее - да, для EF один раз придётся написать код, сравнивающий два XML-файлика и формирующий DDL-скрипты.
(285) я сравниваю не платформы, а подходы к разработке.
Есть подход 1с - платформа, где всё включено. Есть подход писать на C# - самому собирать различные приблуды и в результате так и не выйти на уровень удобства 1с. Как то так. То, что вы будете перебирать компоненты, не решит проблему качества разработки - вы все равно останетесь на уровне абстракции плоских таблиц. И еще раз напоминаю, что в 1С нет ORM и ООП, это другой подход к разработке.
Вы хоть год собирайте коллекцию инструментов, на уровень 1с не выйдете со своим Си.
(286)
Уникально то, что в работе с базой используются объекты более высокого уровня чем таблицы - документы, справочники и регистры. С другой стороны, они без проблем для отчетов декомпозируются на таблицы.
Документ - это две таблицы, регистр - тоже две. Плюс поведение прикладных объектов на уровне БД скрыто от прикладного программиста, что упрощает ему жизнь.
Прикладному программисту не надо описывать, что такое проведение документа с точки зрения таблиц бд - он работает именно с движениями по регистрам.
Но тем не менее, это не ORM, т.к. в базе хранятся не объекты, а таблицы. но программист работает с ними в коде как с объектами, а в отчетах - как с таблицами.
(288) по большому счету ORM, но вот это требование (озвученное в Википедии) явно излишне для 1С и вообще:
"С точки зрения программиста система должна выглядеть как постоянное хранилище объектов. Он может просто создавать объекты и работать с ними как обычно, а они автоматически будут сохраняться в реляционной базе данных."
Т.к. у прикладных объектов 1С есть метод Записать, и ПолучитьОбъект, которые все же принудительно синхронизируют объекты базы и таблицы. Именно это различие в ORM я и хотел привести.
Аналогично, можно сказать, что в 1С есть элементы ООП, но прикладной программист ничего не знает об ООП и это хорошо - они использует простые и понятные события и данные.
(291) fixin, Понимаешь, у слов есть четкие определения. Стул - это то на чем сидят имеет спинку. Табуретка - это стул без спинки и т.д. А ты как из анекдота:
Заходит парень в камеру и говорит:
-Здорово козлы:
Его побили, а потом объяснили, что козел это очень обидное слово. А он и говорит:
- Так объяснили бы, а то налетели как петухи.
Хотя ты от того парня отличаешься. Ты бы не понял, за что тебя побили. Как не понимаешь того, что тебе тут все втолковывают. Я за три страницы форума не заметил ни одного топика в твою поддержку... Тебе это ни о чем не говорит?
использование прикладных объектов а-ля 1С в Си# вам никто не обеспечит, ни один сторонний продукт.
Это уровень SDK. Тут я спорить не буду, ибо некомпетентен, т.к. никогда ими не пользовался для приложений БД. Но столь категоричное заявление, что "ни один SDK не сравнится с 1С", всё же считаю необоснованным. Что же такого уникального в базовых объектах 1С?
Требования к RAD
Работа программиста заключается в разработке и сопровождении приложений. Поэтому эта деятельность должна быть максимально автоматизирована и избавлена от лишних, усложняющих или затрудняющих работу сущностей и конструкций.
Выделим основные элементы, на которые затрачивается большинство времени программиста:
1. Поставка и обновление приложения — инсталляция приложения, обновление приложения.
2. Поставка и обновление базы данных — создание пустой базы данных по заданной модели и обновлении структуры существующей базы данных при обновлениях.
3. Кросс-платформенность по операционной системе — независимость разработки от операционной системе. Удобно для сопровождения, чтобы легко переходить с одной операционной системы на другую, если у заказчика возникнет подобная необходимость.
4. Кросс-платформенность по СУБД — независимость разработки от конкретной СУБД. Удобно для сопровождения, чтобы легко переходить с одной СУБД на другую, если у заказчика возникнет подобная необходимость.
5. Масштабируемость — возможность избежать изменений в коде, если функционал не меняется, но увеличивается количество пользователей или объем хранимых данных.
6. Абстрагирование прикладных объектов – переход от таблиц к прикладным объектам более высокого уровня, чтобы облегчить разработку объектов, обладающих однотипными свойствами. Сюда же относится и декомпозиция прикладных объектов до уровня простых таблиц для построения отчетности по таким объектам.
7. Реализация бизнес-логики — обычно приложения баз данных используются для автоматизации бизнеса, поэтому необходима поддержка наиболее часто встречающихся бизнес-операций.
8. Разработка форм – простой инструмент для разработки форм, взаимодействующих с объектами базы данных.
9. Отчетность – механизм формирование отчетности, при этом желательно такой, чтобы на уровне платформы у пользователя было много возможностей для модификации отчетов под свои нужды, чтобы он не обращался за модификацией к программистам.
10. Встроенный механизм списка пользователей и их ролей. Практически в любом приложении баз данных используется разделение ролей, поэтому в RADBD должен присутствовать такой механизм.
11. Интеграция – встроенные в платформу возможности обращения к внешним инструментам – для работы с файлами операционной системы, для обращения к библиотекам кода и вызовам API. Обычно такой функционал мало востребован в приложениях баз данных, но порой бывает необходим.
(270) если вы играете терминами, давайте определяйте, что такое RAD и все остальное. ;-)
я под RAD понимаю среду разработки приложений с базами данных, где это удобно и просто делать, быстрее чем в аналогах.
В 1С разрабатывать быстрее чем в Си-Шарпе.
Для меня важнее смысл, чем ненужное и нудное буквоедство.
если вы играете терминами, давайте определяйте, что такое RAD и все остальное
Я просто пытаюсь связать используемые вами термины с общепринятыми. RAD - это подход к проектированию и организации рабочего процесса. "Всё остальное" - это средства разработки.
я под RAD понимаю среду разработки приложений
Среда разработки - это IDE. Вы, видимо, сюда же включаете ещё ОРМ и СДК.
В 1С разрабатывать быстрее чем в Си-Шарпе.
Нельзя разрабатывать "в си-шарпе". Можно разрабатывать, например "в MS VS на C# под Entity framework для ADO.NET". Это я не к словам цепляюсь, а пытаюсь объяснить, что сравнивать понятия разного масштаба неправильно.
(275) saiten, Это вы куда-то сильно от фикиновской логики уклоняетесь. Так мы дойдем до того, что MSVS Ultimate еще позволяет проектировать и тестировать, что явно не по RADует топикстартера.... :)))
Это вы куда-то сильно от фикиновской логики уклоняетесь.
А есть ли она, эта логика? Есть незыблемый и непорочный идол 1С. Есть фанатическое желание приносить ему в жертву всё подряд. А логика и фанатизм редко дружат. К тому же, желания разобраться в вопросе явно не прослеживается.