Какой язык выбрать для erp системы?
От: Максим Зелински Россия  
Дата: 05.01.05 17:51
Оценка:
На чём сейчас пишут erp (незнаю, какой подобрать нормальный термин, программы управления предприятием)? Действительно ли производительность erp систем уже отошла на второй план, а на первый: функциональность + расширяемость?
Надо написать такую, есть выбор между C++ (производительность) и C# (простота разработки).
Нюанс в том, что эта erp — по сути "конструктор" (наподобии 1С или Axapta). Если брать С++ то надо писать парсер маппирования данных, новую компонентную систему (COM/CORBA не подходит). Рвусь писать на .Net — так как это там всё гораздо проще, но вот его производительность и прожорливость меня останавливает.

зы. Я буду писать в комманде (я главный архитектор), у меня есть как С++ программисты, так и C# программисты. Бяков утечек памяти/крахов указателей я от С++ не жду.

11.01.05 10:38: Перенесено из 'Философия программирования'
Re: Какой язык выбрать для erp системы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.01.05 18:07
Оценка: 1 (1) +1
Здравствуйте, Максим Зелински, Вы писали:

МЗ>зы. Я буду писать в комманде (я главный архитектор), у меня есть как С++ программисты, так и C# программисты. Бяков утечек памяти/крахов указателей я от С++ не жду.


А зря. Из-за таких нежданчиков на моей памяти сроки проектов вырастали в разы.
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re[2]: Какой язык выбрать для erp системы?
От: Максим Зелински Россия  
Дата: 05.01.05 18:21
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>А зря. Из-за таких нежданчиков на моей памяти сроки проектов вырастали в разы.

Это уже 4 мой проект с этими ребятами (хотя сейчас я может буду работать с C#). Там QA настолько жестокий, что аж искры летят
Так что мне выбрать? Можно ли смериться с гипотетической потерей производительности C#?
Re[3]: Какой язык выбрать для erp системы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.01.05 18:44
Оценка:
Здравствуйте, Максим Зелински, Вы писали:

МЗ>Так что мне выбрать? Можно ли смериться с гипотетической потерей производительности C#?


Мы смирились. Тем более что производительность обычно не в процессор упирается.
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re[4]: Какой язык выбрать для erp системы?
От: Максим Зелински Россия  
Дата: 05.01.05 20:26
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Мы смирились. Тем более что производительность обычно не в процессор упирается.

В память?
А вобще, какие сейчас "мировые" тенденции в области erp софта? В смысле языков.
Re[5]: Какой язык выбрать для erp системы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.01.05 20:42
Оценка:
Здравствуйте, Максим Зелински, Вы писали:

AVK>>Мы смирились. Тем более что производительность обычно не в процессор упирается.

МЗ>В память?

В БД.

МЗ>А вобще, какие сейчас "мировые" тенденции в области erp софта? В смысле языков.


Если говорить об относительно свежем софте, то Java. О .NET пока говорить рановато, но о создании платформ на нем в России объявили несколько крупных контор.
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re[6]: Какой язык выбрать для erp системы?
От: Максим Зелински Россия  
Дата: 05.01.05 20:49
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>но о создании платформ на нем в России объявили несколько крупных контор.

Извените, что использую вас за места гугля, но я первый раз это слышу, не могли бы вы написать кто они?
Re[7]: Какой язык выбрать для erp системы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.01.05 21:38
Оценка: 2 (1)
Здравствуйте, Максим Зелински, Вы писали:

МЗ>Извените, что использую вас за места гугля, но я первый раз это слышу, не могли бы вы написать кто они?


Ну навскидку Парус , Галактика, МС . Дальше ищи сам. Можешь поглядет на вакансии в форуме job.offers
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re: Какой язык выбрать для erp системы?
От: Gaperton http://gaperton.livejournal.com
Дата: 05.01.05 23:35
Оценка: 24 (3) +1
Здравствуйте, Максим Зелински, Вы писали:

МЗ>Надо написать такую, есть выбор между C++ (производительность) и C# (простота разработки).

C++ — даже не думай об этом.

МЗ>Нюанс в том, что эта erp — по сути "конструктор" (наподобии 1С или Axapta). Если брать С++ то надо писать парсер маппирования данных, новую компонентную систему (COM/CORBA не подходит). Рвусь писать на .Net — так как это там всё гораздо проще, но вот его производительность и прожорливость меня останавливает.

Забей. Во первых, языки дотнета довольно шустры, посмотри тесты. На численных расчетах они на равных с С++.
К тому же, все равно твоя еэрпя упрется в базу данных, это не численные методы. Это во вторых. Если ты запустишь профайлер на 1С-коде (там очень тормозной интерпретатор), ты сможешь сам увидеть раскладку 90/10%. Да и вообще, такая раскладка имеет место быть в большинстве правильно написанных приложений БД. Это если говорить о двухзвенке.

В случае трехзвенки — утечки памяти и крэши на серваке (где цена ошибки гораздо выше) — неприятная штука. Совсем небольшой минус от сборщика мусора (не более 5% от времени полезной работы сервака) того стоит, чтобы на него плюнуть, не говоря о том, что ты просто его не заметишь. К тому же, аллокатор дотнета работает в целом лучше, чем стандартный плюсовый . Бояться надо другого. Большие boxed массивы маленьких объектов — в этом проблема (решаемая), а не в сборщике мусора.

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

МЗ>зы. Я буду писать в комманде (я главный архитектор), у меня есть как С++ программисты, так и C# программисты. Бяков утечек памяти/крахов указателей я от С++ не жду.

А это как раз не проблема. Ты с компонентной моделью и скриптингом гораздо больше натрахаешься.
Re[3]: Какой язык выбрать для erp системы?
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.01.05 00:14
Оценка:
Здравствуйте, Максим Зелински, Вы писали:

МЗ>Так что мне выбрать? Можно ли смериться с гипотетической потерей производительности C#?


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

Ну, и главное! От С++ как средства оптимизации отказыватьс совершенно не нужно. Если вы обнаружите узкие места которые, по вашему мнению, могут быть устранены реализацией узких мест на С++, то спокойно переисывайте их на нем и смотрите что получилось.

Скорсоть MC++ практически идентична анменеджед VC той же версии.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Какой язык выбрать для erp системы?
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.01.05 00:14
Оценка:
Здравствуйте, Gaperton, Вы писали:

Согласен со всем сказанным. Но...

G>Поэтому не парься, пиши все на шарпах, а в качастве языка программируемой бизнес-логики возьми JScript.NET — это динамически типизированный язык с аннотацией типов — то, что доктор прописал.


... зачем, по-твоему, нужен "динамически типизированный язык"?
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Какой язык выбрать для erp системы?
От: Igor Trofimov  
Дата: 11.01.05 18:44
Оценка:
Практика показывает, что в реальной системе гораздо большее влияние на производительность оказывают такие вещи, как архитектура системы, оптимальность запросов к СУБД, сама СУБД. На фоне всего этого падение производительности от managed кода C# ничтожна. А вот GUI на С#/WinForms может здорово тормозить здорово, по сравнению с MFC/VCL.
Re[2]: Какой язык выбрать для erp системы?
От: Igor Trofimov  
Дата: 11.01.05 18:47
Оценка:
G>В случае трехзвенки — утечки памяти и крэши на серваке (где цена ошибки гораздо выше) — неприятная штука. Совсем небольшой минус от сборщика мусора (не более 5% от времени полезной работы сервака)

Хм.. Я вот поглядывал process explorer'ом — он часто показывает время GC посущественнее — процентов 20 бывает, а в пике — и того больше. Это все на глаз, конечно, так что несерьезно.

А ваши 5% — откуда померяны/прочитаны?
Re[2]: Какой язык выбрать для erp системы?
От: GlebZ Россия  
Дата: 11.01.05 19:49
Оценка:
Здравствуйте, Gaperton, Вы писали:


G>Поэтому не парься, пиши все на шарпах, а в качастве языка программируемой бизнес-логики возьми JScript.NET — это динамически типизированный язык с аннотацией типов — то, что доктор прописал.

Я тут подумал, а что мешает организовать программируемую бизнес-логику на С#. Вроде особых проблем не вижу (только плюсы).

С уважением, Gleb.
Re[3]: Какой язык выбрать для erp системы?
От: Gaperton http://gaperton.livejournal.com
Дата: 11.01.05 20:42
Оценка:
Здравствуйте, GlebZ, Вы писали:

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



G>>Поэтому не парься, пиши все на шарпах, а в качастве языка программируемой бизнес-логики возьми JScript.NET — это динамически типизированный язык с аннотацией типов — то, что доктор прописал.

GZ>Я тут подумал, а что мешает организовать программируемую бизнес-логику на С#. Вроде особых проблем не вижу (только плюсы).
Ее можно организовать вообще на чем угодно, принципиальных проблем нет.

Первое. Динамическая типизация избавит вас от необходимости делать приведения типов "вниз" по иерархии наследования и запрашивать интерфейсы, что (в ряде случаев) очень положительно сказывается на том, как выглядит пользовательский код.
Второе (менее очевидное) — динамически типизированный язык в качестве языка бизнес логики дает больше свободы при разработке объектной модели.

Для простых объектных моделей разницы между С# и JScript.NET как языков бизнес-логики действительно не будет (как и каких-либо плюсов от использования С# — JScript.NET язык с аннотицаей типов), а столнетесь со сложными — сами поймете, когда и где вам поможет динамическая типизация.
Re[3]: Какой язык выбрать для erp системы?
От: Gaperton http://gaperton.livejournal.com
Дата: 11.01.05 20:51
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

G>>В случае трехзвенки — утечки памяти и крэши на серваке (где цена ошибки гораздо выше) — неприятная штука. Совсем небольшой минус от сборщика мусора (не более 5% от времени полезной работы сервака)


iT>Хм.. Я вот поглядывал process explorer'ом — он часто показывает время GC посущественнее — процентов 20 бывает, а в пике — и того больше. Это все на глаз, конечно, так что несерьезно.

Это в пике, это не считается.

iT>А ваши 5% — откуда померяны/прочитаны?

Из статей о современных GC, сейчас уже не помню где именно. Кажется, такие цифры приводились для GC под С++ (там вообще пессемистическая схема — все проверяется на "живой" указатель. Тормозить должно больше чем с метаинформацией).

В принципе, не составит труда написать приложение которое загрузит GC по самое не балуйся, если поставить себе такую задачу специально. А можно постараться вообще память выделять по минимуму и реюзать все что возможно (как делают программисты под J2ME, чтобы не нагружать GC). Так что цифры условные, все конечно зависит от приложения.
Re[3]: Какой язык выбрать для erp системы?
От: Gaperton http://gaperton.livejournal.com
Дата: 11.01.05 21:09
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

G>>В случае трехзвенки — утечки памяти и крэши на серваке (где цена ошибки гораздо выше) — неприятная штука. Совсем небольшой минус от сборщика мусора (не более 5% от времени полезной работы сервака)


iT>Хм.. Я вот поглядывал process explorer'ом — он часто показывает время GC посущественнее — процентов 20 бывает, а в пике — и того больше. Это все на глаз, конечно, так что несерьезно.

Хм, а сколько времени занимала бы в тех же случаях "ручная" аллокация-деаллокация, вот что интересно . Она же тоже не бесплатна. Надо бы и это принять во внимание, по хорошему, а не просто смотреть время GC.

iT>А ваши 5% — откуда померяны/прочитаны?

В этом свете данные о 5% оверхэде для плюсовых сборщиков наиболее корректны — это как раз замеряно сравнением с "ручной сборкой" на тех же программах. Что проблематично сделать в случае дотнета.

Кстати, удивительное рядом. В статьях о GC также иногда пишут как о чем-то само-собой разумеющемся, что сборка мусора на основе подсчета ссылок менее эффективна, чем анализ графа зависимостей (mark-and-sweep и stop-and-copy). Несколько раз встречал.
Re[4]: Какой язык выбрать для erp системы?
От: Cyberax Марс  
Дата: 12.01.05 09:01
Оценка:
Gaperton пишет:

> Кстати, удивительное рядом. В статьях о GC также иногда пишут как о

> чем-то само-собой разумеющемся, что сборка мусора на основе подсчета
> ссылок *менее *эффективна, чем анализ графа зависимостей
> (mark-and-sweep и stop-and-copy). Несколько раз встречал.

Так и есть, в подавляющем большинстве случаев. Так как в многотредных
приложениях каждое присваивание refconted-ссылки будет требовать
блокировки ДВУХ мьютексов.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[4]: Какой язык выбрать для erp системы?
От: stalcer Россия  
Дата: 12.01.05 10:40
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Второе (менее очевидное) — динамически типизированный язык в качестве языка бизнес логики дает больше свободы при разработке объектной модели.


Какие-же преимущества он дает? Возможность использование системы менее квалифицированными программистами?
... << RSDN@Home 1.1.3 stable >>
Re[5]: Какой язык выбрать для erp системы?
От: _vovin http://www.pragmatic-architect.com
Дата: 12.01.05 10:44
Оценка:
Здравствуйте, stalcer, Вы писали:

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


G>>Второе (менее очевидное) — динамически типизированный язык в качестве языка бизнес логики дает больше свободы при разработке объектной модели.


S>Какие-же преимущества он дает? Возможность использование системы менее квалифицированными программистами?


Немного здесь
http://www.rsdn.ru/Forum/Message.aspx?mid=954403&amp;only=1
Автор: _vovin
Дата: 20.12.04
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.