Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разные вопросы > Какой язык программирования выбрать для разработки


Автор: B0mber 27.7.2018, 16:13
Решили написать в нашей компании собственное ЕРП решение, сейчас выбираем какой язык/технологию использовать. Архитектура - клиент-серверое приложение. ОС - Windows, СУБД - MSSQL. В будущем планируется, возможно, продавать и внедрять наше решение другим клиентам(Потому и MSSQL и Windows). Сейчас выбираем по сути между C++ и Java(как для клиентского так и для серверного приложения). Разработка на C++ видится нам более трудоемкой, но результат более производительным и гибким, разработка на java же видится более легкой и быстрой. А что вы думаете, какую технологию лучше использовать? Может у вас вой вариант?

Автор: LSD 27.7.2018, 18:02
Windows + MSSQL и выбор между C++ и Java, крайне странное сочетание. Раз уж выбрали стек Майкрософт так идите до конца, используйте C#.

Но я бы в первую очередь подумал над следующими вопросами:
0. Зачем еще одна ERP? Чем она лучше десятка других?
1. Зачем фиксироваться на Windows, может лучше кросплатформенное решение?
2. Зачем использовать платный MSSQL, а не бесплатный PostgreSQL? Там правда есть такие такие объемы данных?
3. Почему толстый клиент, не лучше ли сделать WEB клиента? Какая такая функциональность не реализуется WEB клиентом?

Автор: B0mber 27.7.2018, 22:34
Цитата(LSD @  27.7.2018,  18:02 Найти цитируемый пост)
Windows + MSSQL и выбор между C++ и Java, крайне странное сочетание. Раз уж выбрали стек Майкрософт так идите до конца, используйте C#.


Сейчас мы исходим из такой логики - мы делаем клиент-серверное приложение и запускаем его у себя, после запуска делаем веб-интерфейс, в последствии будем его(решение) возможно, продавать другим компаниям именно как приложение, не как SaaS. Поэтому именно клиент-серверное приложение а не веб. Опять же продавать будем не прямо вот сразу после запуска, делаем в первую очередь для себя. Так в будущем возможна коммерческая реализация, а у большинства потенциальных клиентов сеть под Windows, и далеко не все захотят вводить в свою сеть сервер на Линукс, и искать никсового админа, поэтому изначально делаем под Windows. Также возможно будем делать версию и для линукс в будущем, поэтому под винду не на C#. Пока это все еще на стадии обсуждений, так что вариант с веб-приложением и SaaS тоже рассматривается. Для этого можно использовать Java на сервере Javascript в браузере.

0. Делаем в первую очередь для себя. 1С не устраивает в принципе, также хотелось бы иметь все права на свою программу.
1. Если под кросс-платформенностью имеется ввиду веб - то ответил выше, если нет, тогда что вы имели ввиду?
2. Postgre под Windows показывает себя совсем плохо.
3. Тут тоже все уже написал выше.

Автор: Snowy 28.7.2018, 09:05
Цитата(B0mber @  27.7.2018,  23:34 Найти цитируемый пост)
далеко не все захотят вводить в свою сеть сервер на Линукс, и искать никсового админа
Далеко не все захотят вводить в свою сеть сервер на Windows, и искать виндового админа.
Вы режете половину клиентов. Причём более жирную половину. Более-менее крупные фирмы обычно имеют линукс сервера.

Цитата(B0mber @  27.7.2018,  23:34 Найти цитируемый пост)
Также возможно будем делать версию и для линукс в будущем, поэтому под винду не на C#
Зачем потом, если можно сразу делать кроссплатформ?
И кто вам запрещает запускать C# приложения под линуксами или на маке?

Цитата(B0mber @  27.7.2018,  23:34 Найти цитируемый пост)
Postgre под Windows показывает себя совсем плохо.
Схренали? Вы в каком столетии им последний раз пользовались?
С версиями 9+ никаких проблем нет. И уж точно не хуже MSSQL.


Если так уж хочется толстого клиента с одним стеком разработчиков с двух сторон, то C# тут будет оптимален.

Автор: LSD 30.7.2018, 16:08
Полностью согласен со Snowy. Добавлю что:

Цитата(B0mber @  27.7.2018,  23:34 Найти цитируемый пост)
1. Если под кросс-платформенностью имеется ввиду веб - то ответил выше, если нет, тогда что вы имели ввиду?

Нет имеется в виду, решение которое работает и на Windows и на Linux. Это или Java, .Net Core, Python и т.п.


Если будете делать WEB версию, то точно не C++. Конечно на нем тоже можно разрабатывать WEB приложения, но это далеко не мейнстрим, будут проблемы с инструментами и поиском специалистов.


Цитата(B0mber @  27.7.2018,  23:34 Найти цитируемый пост)
Сейчас мы исходим из такой логики - мы делаем клиент-серверное приложение и запускаем его у себя, после запуска делаем веб-интерфейс, <...>. Поэтому именно клиент-серверное приложение а не веб.

Это не объясняет почему должен быть именно толстый клиент, WEB приложения и в локальной сети прекрасно работают.

Автор: B0mber 31.7.2018, 09:44
Нашел вот такой пример разработки собственного ЕРП:

В 2012 году 1 человек за 2 года успешно разработал и внедрил свою ЕРП на java:

https://habr.com/post/138549/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)