1C vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 23.05.05 08:57
Оценка: 17 (2) +2 -1 :)))
Здравствуйте, WolfHound, Вы писали:


Мое личное мнение, что оценка языка должна отталкиваться от предметной области. Поверь я обеими руками за С#. Но есть много факторов, что бы я поднимал руки и за 1С и за Питона итд.
1. Позднее связывание, и работа с объетами неопределенного типа. Здесь рулят аналоги IDispatch. И никакая статическая типизация не спасет.
2. Читабельность кода. Она заключается не только в ручках, но и возможностях языка, чем сложнее тем больше наворотов, где без поллитры не разберешься, даже в собственном коде (когда он писался в момент озарения
Чем проще язык, тем меньше возможности обусфактить код.
Я лично изучал бухгалтерию исключительно по исходникам. И есть опыт написания на типизированном языке с автокомплитом итд, разница по скорости и читабельности всеже существует, не в пользу компиляторов.
Чем проще язык, тем больше можно найти (обучить) специалистов которые бы понимали как предметную область, так и умели это программировать, не влезая во всякие языковые дебри и фичи, в том числе и на родном для них лингвистическом языке. Насчет ошибок итд, то вырабатывается некий стиль, снижающий этот риск (опять же смотрим 1 где статическая типизация не спасает, а наступить на теже грабли легко и со статической типизацией).
И поверь мной на 1С написано многие мегабайты кода и ничего страшного.
По поводу скорости, то во многих случаях лимитирующей стадие является отнюдь не среда исполнения. Смотрим на янус, поверь та же задача на 1С просто летала бы (ах этот долбанный Аксесс).
Для каждой задачи свой язык
... << RSDN@Home 1.1.4 beta 4 rev. 303>>

24.05.05 01:03: Ветка выделена из темы 1C vs C#
Автор: WolfHound
Дата: 13.05.05
— VladD2
и солнце б утром не вставало, когда бы не было меня
Re: 1C vs C#
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 23.05.05 10:29
Оценка: :))) :))
S> По поводу скорости, то во многих случаях лимитирующей стадие является отнюдь не среда исполнения. Смотрим на янус, поверь та же задача на 1С просто летала бы (ах этот долбанный Аксесс).

Предлагаю открыть тред "Янус vs. 1С"
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re: 1C vs C#
От: L.C.R. Россия lj://_lcr_
Дата: 23.05.05 10:53
Оценка:
Serginio1,

S> ХЪ


Тремя словами: соответствующая нотация решает.

Янус не летает, потому что он активно использует высокоуровневые средства. Впрочем производительности для многих достаточно.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[2]: 1C vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 23.05.05 11:00
Оценка: 1 (1) +1
Здравствуйте, L.C.R., Вы писали:


LCR>Янус не летает, потому что он активно использует высокоуровневые средства. Впрочем производительности для многих достаточно.

Бедный янус был приведен любителям скорости компиляторов. А многим хватает скорости хватает и интерпитирующих сред.
Все должно применяться по месту, учитывая огромное количество факторов.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Re: 1C vs C#
От: Gaperton http://gaperton.livejournal.com
Дата: 24.05.05 14:30
Оценка: :)))
Здравствуйте, Serginio1, Вы писали:

S> По поводу скорости, то во многих случаях лимитирующей стадие является отнюдь не среда исполнения. Смотрим на янус, поверь та же задача на 1С просто летала бы (ах этот долбанный Аксесс).


RSDN-клиент на 1С... Ммм... Свежо, свежо... А почему бы и нет, собственно, если на восьмерке... Должно получиться довольно халявно, не так ли, как думаешь?
Re[2]: 1C vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 25.05.05 10:39
Оценка: :)
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, Serginio1, Вы писали:


S>> По поводу скорости, то во многих случаях лимитирующей стадие является отнюдь не среда исполнения. Смотрим на янус, поверь та же задача на 1С просто летала бы (ах этот долбанный Аксесс).


G>RSDN-клиент на 1С... Ммм... Свежо, свежо... А почему бы и нет, собственно, если на восьмерке... Должно получиться довольно халявно, не так ли, как думаешь?

Ну движок аля 1С делается за неделю
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Re[3]: 1C vs C#
От: Gaperton http://gaperton.livejournal.com
Дата: 25.05.05 14:20
Оценка: +1 -1
Здравствуйте, Serginio1, Вы писали:

S>Здравствуйте, Gaperton, Вы писали:


G>>Здравствуйте, Serginio1, Вы писали:


S>>> По поводу скорости, то во многих случаях лимитирующей стадие является отнюдь не среда исполнения. Смотрим на янус, поверь та же задача на 1С просто летала бы (ах этот долбанный Аксесс).


G>>RSDN-клиент на 1С... Ммм... Свежо, свежо... А почему бы и нет, собственно, если на восьмерке... Должно получиться довольно халявно, не так ли, как думаешь?

S> Ну движок аля 1С делается за неделю
Мы пробовали. Оказалось, что не все так просто, как кажется. Пришли к выводу, что проще и дешевле купить настоящий движок 1С вместе со всеми прелестями, которые дает среда разработки и типовыми решениями в исходниках. За такие деньги — это просто подарок. Особенно, если имеешь 50% скидку .

Кстати, в самом 1С они очень многие вещи для себя, не относящиеся к учету, пишут на "Предприятии". В частности, прога-редактор контента их дисков с "информационным сопровождением" (что-то типа журнала) написана на 1С. Я был в шоке — выяснилось, что так проще.

Я к чему . Шутки шутками, а вполне может оказаться, что на 1Сv8, с его встроенной поддержкой XML, прозрачной работой с БД (объекты персистентные сами по себе — с точки зрения программера 1С очень похожа на объектную БД), полноценным гуем, и полной поддержкой ActiveX написать RSDN-клиента окажется проще, чем на С# . Я в этом почти уверен .
Re[4]: 1C vs C#
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 25.05.05 15:17
Оценка:
S>> Ну движок аля 1С делается за неделю
G>Мы пробовали. Оказалось, что не все так просто, как кажется. Пришли к выводу, что проще и дешевле купить настоящий движок 1С вместе со всеми прелестями, которые дает среда разработки и типовыми решениями в исходниках. За такие деньги — это просто подарок. Особенно, если имеешь 50% скидку .

За такие деньги можно каждый год покупать по новой конфигурации . Что зачастую я и наблюдал.

G>Кстати, в самом 1С они очень многие вещи для себя, не относящиеся к учету, пишут на "Предприятии". В частности, прога-редактор контента их дисков с "информационным сопровождением" (что-то типа журнала) написана на 1С. Я был в шоке — выяснилось, что так проще.


Так динамически типизируемый язык рулит.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[5]: 1C vs C#
От: Gaperton http://gaperton.livejournal.com
Дата: 25.05.05 16:35
Оценка: 12 (1)
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Так динамически типизируемый язык рулит.

В случае 1С дело не только и не столько в динамической типизации. Это один из кирпичиков в их решении. Выигрыш получается в первую очередь за счет следующих вещей:
1) Автоматическая персистентность бизнес-объектов. Все "существенные" объекты хранятся в БД, кэшируются прозрачным образом, сохраняются и восстанавливаются сами, по мере необходимости. Об этом просто не надо думать. Есть язык запросов, правда, довольно странный. Имеем в результате нечто, очень похожее на объектную БД.
2) ГУЙ привязывается к бизнес-объектам простым и прозрачным образом — там эффективно реализованные "живые" контролы. Система сохраняет состояние визуальной формы автоматически, и в большинстве случаев об этом тоже думать не надо.
3) Наследоваться бизнес-объекты друг от друга не могут, это, в общем, плохо. Поэтому язык динамически типизирован — это позволяет писать полиморфный код не прибегая к наследованию. В результате все получается reasonably well. Использование динамически типизированного языка позволяет заметно упростить систему и язык, и совсем немного проиграть при этом в удобстве. В целом — удачный инженерный компромис.
4) Великолепный редактор печатных форм — а-ля Excel. Вне конкуренции. Использование динамически типизированного языка и позднего связнывания позволяет внедрять фрагменты кода непосредственно в ячейки таблицы. Этот код потом выполняется в контексте вызывающего. Круто и мега-удобно.
5) Нет клиентской и серверной части — с точки зрения программера решение выглядит как монолитное приложение. Платформа сама нагружает серверную часть. Подобный подход применялся в Borland IntraBuilder, если кто помнит такой продукт. Удобно.

Короче, при правильном применении этой ботвы выходит, что 90% кода, который ты пишешь — это чистая бизнес-логика. Все остальное, не относящееся к предметной области, делается за тебя системой. В этом выигрыш, в этом и грабли — система, в целом, заточена под одну идеологию организации ГУЯ (Справочник-Документ-Отчет), и под достаточно узкий класс задач.
Re[4]: 1C vs C#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 25.05.05 16:36
Оценка: 1 (1)
Здравствуйте, Gaperton, Вы писали:

G>Я к чему . Шутки шутками, а вполне может оказаться, что на 1Сv8, с его встроенной поддержкой XML, прозрачной работой с БД (объекты персистентные сами по себе — с точки зрения программера 1С очень похожа на объектную БД), полноценным гуем, и полной поддержкой ActiveX написать RSDN-клиента окажется проще, чем на С# . Я в этом почти уверен .


Гы-гы. Ты сначала в wsdl RSDN-а посмотри.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: 1C vs C#
От: stalcer Россия  
Дата: 26.05.05 07:05
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>1) Автоматическая персистентность бизнес-объектов. Все "существенные" объекты хранятся в БД, кэшируются прозрачным образом, сохраняются и восстанавливаются сами, по мере необходимости. Об этом просто не надо думать. Есть язык запросов, правда, довольно странный. Имеем в результате нечто, очень похожее на объектную БД.


В 1С бизнес объекты скорее похожи на DTO, так как там нет ничего похожего на IdentiyMap, и соответственно можно иметь несколько копий объекта в памяти. Что в свою очередь приводит к тому, что измененный объект (копию) необходимо вручную save'ить.
Какая же это автоматическая персистентность? Это классический подход: считал, изменил, записал.
http://www.lmdinnovative.com (LMD Design Pack)
Re[5]: 1C vs C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.05.05 08:48
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Гы-гы. Ты сначала в wsdl RSDN-а посмотри.


Не, ну почему, если модуль синхронизатора написать на шарпе и подцепить его через СОМ ... Впрочем слухи о том, что на 1C реализовать янус проще сильно преувеличены. Даже для примитивнейшей реализации придется поковыряться, дабы реализовать необходимые алгоритмы. Дальше хуже — GUI в 1С примитиный и не расширяемый. Чем к примеру заменить TreeGrid или PropertyGrid я даже не представляю. Ну и наконец сложность януса не столько в БД, она в нем примитивная, сколько в большом количестве прикладного функционала, а его 1С реализовать ничем не поможет, а скорее наоборот, усложнит.
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
AVK Blog
Re[6]: 1C vs C#
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 26.05.05 08:52
Оценка: +2
AVK>Не, ну почему, если модуль синхронизатора написать на шарпе и подцепить его через СОМ ... Впрочем слухи о том, что на 1C реализовать янус проще сильно преувеличены. Даже для примитивнейшей реализации придется поковыряться, дабы реализовать необходимые алгоритмы. Дальше хуже — GUI в 1С примитиный и не расширяемый. Чем к примеру заменить TreeGrid или PropertyGrid я даже не представляю. Ну и наконец сложность януса не столько в БД, она в нем примитивная, сколько в большом количестве прикладного функционала, а его 1С реализовать ничем не поможет, а скорее наоборот, усложнит.

Можно этот самый прикладной функционал, хотя бы бегло, описать. Потому как я ничего особого, кроме списка оценок для поста, не заметил.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[7]: 1C vs C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.05.05 09:09
Оценка: :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Можно этот самый прикладной функционал, хотя бы бегло, описать.


Бегло содержимое почти 3 мег кода? Боюсь не получится. Открывай исходники и смотри сам что и сколько занимает. Вот к примеру 300К занимает подсистема конфигурирования. Вряд ли на 1С получится меньше, если только не скатится до их плоского списка констант или справочника.

ANS> Потому как я ничего особого, кроме списка оценок для поста, не заметил.


Признак того что этот функционал грамотно раскидан и не мозолит глаза, если не нужен .
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
AVK Blog
Re[6]: 1C vs C#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 26.05.05 11:29
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ГВ>>Гы-гы. Ты сначала в wsdl RSDN-а посмотри.

AVK>Не, ну почему, если модуль синхронизатора написать на шарпе и подцепить его через СОМ ...
Ну вот в том-то и дело. Тогда проще весь Янус переписать на шарпе ещё раз. Вот ежли вы вместо нетипизированных датасетов будете типизованные кидать... Тогда будет попроще.

AVK>Впрочем слухи о том, что на 1C реализовать янус проще сильно преувеличены. Даже для примитивнейшей реализации придется поковыряться, дабы реализовать необходимые алгоритмы. Дальше хуже — GUI в 1С примитиный и не расширяемый. Чем к примеру заменить TreeGrid или PropertyGrid я даже не представляю. Ну и наконец сложность януса не столько в БД, она в нем примитивная, сколько в большом количестве прикладного функционала, а его 1С реализовать ничем не поможет, а скорее наоборот, усложнит.

+1
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: 1C vs C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.05.05 11:36
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Ну вот в том-то и дело. Тогда проще весь Янус переписать на шарпе ещё раз. Вот ежли вы вместо нетипизированных датасетов будете типизованные кидать... Тогда будет попроще.


Возможно, но, ИМХО, не особо.
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
AVK Blog
Re[8]: 1C vs C#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 26.05.05 11:48
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ГВ>>Ну вот в том-то и дело. Тогда проще весь Янус переписать на шарпе ещё раз. Вот ежли вы вместо нетипизированных датасетов будете типизованные кидать... Тогда будет попроще.


AVK>Возможно, но, ИМХО, не особо.


Попроще будет в том смысле, что можно будет цеплять не .Net-овские клиенты Web-сервисов. В принципе, их можно и сейчас подцепить, но уж больно геморройно и рискованно.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: 1C vs C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.05.05 12:18
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Попроще будет в том смысле, что можно будет цеплять не .Net-овские клиенты Web-сервисов.


И чем в этом отношении типизированные датасеты лучше? И там и там они на примитивные типы не отображаются и скорее всего xml придется парсить руками. Ну разве что схема у типизированных поподробнее будет, но это мелочи.
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
AVK Blog
Re[7]: 1C vs C#
От: Gaperton http://gaperton.livejournal.com
Дата: 26.05.05 12:41
Оценка:
Здравствуйте, stalcer, Вы писали:

S>Здравствуйте, Gaperton, Вы писали:


G>>1) Автоматическая персистентность бизнес-объектов. Все "существенные" объекты хранятся в БД, кэшируются прозрачным образом, сохраняются и восстанавливаются сами, по мере необходимости. Об этом просто не надо думать. Есть язык запросов, правда, довольно странный. Имеем в результате нечто, очень похожее на объектную БД.


S>В 1С бизнес объекты скорее похожи на DTO, так как там нет ничего похожего на IdentiyMap, и соответственно можно иметь несколько копий объекта в памяти.

Приведите пожалуйста пример для элементов справичников и документов.

S>Что в свою очередь приводит к тому, что измененный объект (копию) необходимо вручную save'ить.

Вызвать к нему "Сохранить"? В чем проблема — считайте, что изменения элементов выполняются в рамках транзакции, а "Сохранить" эту транзакцию коммитит. И это очень, очень хорошо. Кстати, на самом деле так оно и есть — вы можете обозначать границы транзакции и руками, например.
Re[10]: 1C vs C#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 26.05.05 13:07
Оценка: 6 (1)
Здравствуйте, AndrewVK, Вы писали:

ГВ>>Попроще будет в том смысле, что можно будет цеплять не .Net-овские клиенты Web-сервисов.


AVK>И чем в этом отношении типизированные датасеты лучше? И там и там они на примитивные типы не отображаются и скорее всего xml придется парсить руками. Ну разве что схема у типизированных поподробнее будет, но это мелочи.


Тем, что можно будет gSOAP натравить, например. А то он <s:any/> не переваривает (и правильно делает). А схему вместе с датасетом передавть не надо, поскольку если она известна, то что с ней делать — понятно, а если изначально неизвстна, то и что с ней делать, когда получишь — тоже не догадаешься. Пусть уж лучше всё в WSDL будет, с optional-колонками. Ну, или, на худой конец — отдельные xsd. Главное, чтобы они были изначально известны.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.