Re[2]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 01.02.14 07:58
Оценка:
Здравствуйте, savitar, Вы писали:

S>еще вариант языка: Go (golang)? или это уже слишком...

Нет, тоже вариант. Вопрос в том, насколько легко найти разработчиков на этом языке.
Re: Кроссплатформенный сервер
От: vsb Казахстан  
Дата: 01.02.14 08:25
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Добрый день!


LD>Стоит задача разработки кроссплатформенного сервера. Требуется работа на Windows и Linux. Взаимодействие с базами данных, LDAP-каталогами (вместо баз данных), нативным кодом. Вот думаю, на чем лучше писать.

LD>1. С# — все задачи покрываются кроме поддержки Linux. Нет уверенности в том, что Mono достаточно стабилен. С другой стороны, я немнлого знаю .NET, мне будет легче контролировать разработку.
LD>2. C++ — У меня вообще нет опыта кроссплатформенной разработки. Т.е. нет уверенности в том, что будут использоваться правильные библиотеки, подходы и пр. Кроме того, работа с базами данных на C# проще. Да и все остальное делается быстрее.
LD>3. Java — наверное лучший выбор. Вот только я Java вообще не знаю. Никогда ничего не писал. Т.е. на первых порах надо будет ее осваивать. И будет сложно контролировать команду.
LD>4. Python — мы не готовы отдавать исходный код. Возможно, его можно обфусцировать. Но опять же, Питон я почти не знаю. И какие там есть либы, подходы, инструменты не в курсе.

LD>Коллеги, может вы что-нибудь подскажите?


LD>PS: Не знаю, возможно мой подход к выбору технологий вообще не верен? Какая разница, в чем у меня есть опыт? На уровне архитектуры, структуры базы данных и внешнего API, я смогу разобраться с чем угодно. Ну, мне хочется верить в это . Да и в текущей команде есть люди с большим опытом разработки в разных областях. Если что, они помогут. Просто под этот новый сервер мы будем набирать еще народ (3-4 человека). И хочется как-то определиться с тем, кто нам нужен.


А что ты вообще знаешь? C# нормально не знаешь, С++ не знаешь, Java не знаешь, пайтон не знаешь. Ты — Windows-программист с опытом С++ и небольшим опытом C#? Моё мнение — если задача несложная — пиши на джаве. Её легко выучить до уровня, достаточного для написания небольших приложений. Документации огромное количество. Проблем с кроссплатформенностью — 0. Советую именно её.
Re: Кроссплатформенный сервер
От: Аноним  
Дата: 02.02.14 16:32
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Добрый день!


LD>Стоит задача разработки кроссплатформенного сервера. Требуется работа на Windows и Linux. Взаимодействие с базами данных, LDAP-каталогами (вместо баз данных), нативным кодом. Вот думаю, на чем лучше писать.

...
LD>Коллеги, может вы что-нибудь подскажите?

Под твои задачи идеально подходит PHP
Re[2]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 03.02.14 06:50
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>А что ты вообще знаешь? C# нормально не знаешь, С++ не знаешь, Java не знаешь, пайтон не знаешь. Ты — Windows-программист с опытом С++ и небольшим опытом C#?

Я — Windows-программист с 12-летним опытом, с уклоном в системные технологии MS: системные компоненты польззовательского режима (фильтры паролей, GINA, Credential Providers), Active Directory и пр., плюс куча всего другого из моей прикладной области. Плюс сертификаты Brainbench, Microsoft и пр.

Моё мнение — если задача несложная — пиши на джаве. Её легко выучить до уровня, достаточного для написания небольших приложений. Документации огромное количество. Проблем с кроссплатформенностью — 0. Советую именно её.
А писать не я буду. Писать будут другие. Моя роль на на проекте это требования, high-level дизайн и общее управление.

PS: За совет про Java спасибо. Остальное, мимо кассы.
Re[2]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 03.02.14 06:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Под твои задачи идеально подходит PHP

Гм, в эту сторону не думал. Считал, что PHP не подходит для серьезных разработок enterprise-уровня.
Re[3]: Кроссплатформенный сервер
От: vsb Казахстан  
Дата: 03.02.14 07:18
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>PS: За совет про Java спасибо. Остальное, мимо кассы.


Контролировать Java проблем не будет, думаю. С точки зрения архитектуры Java и С++ особо не отличаются. У С++ всякие мелкие особенности вроде контроля за владением объекта и тд, которые в Java не особенно актуальны, но в целом классы там и там одни и те же, интерфейсы там и там одни и те же, принципы построения архитектуры одни и те же, паттерны одни и те же. Код на Java С++ник может читать и оценивать на адекватность без какой-либо подготовки (кроме пары тонких моментов, которые по ходу дела быстро разбираются).

Основные моменты — правильный выбор фреймворков и больших библиотек. Ну тут можно ориентироваться на популярность и четко смотреть, для каких задач они предназначены и какие у них есть ограничения.
Re[4]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 03.02.14 08:40
Оценка:
Здравствуйте, vsb, Вы писали:


vsb>Контролировать Java проблем не будет, думаю. С точки зрения архитектуры Java и С++ особо не отличаются. У С++ всякие мелкие особенности вроде контроля за владением объекта и тд, которые в Java не особенно актуальны, но в целом классы там и там одни и те же, интерфейсы там и там одни и те же, принципы построения архитектуры одни и те же, паттерны одни и те же. Код на Java С++ник может читать и оценивать на адекватность без какой-либо подготовки (кроме пары тонких моментов, которые по ходу дела быстро разбираются).

vsb>Основные моменты — правильный выбор фреймворков и больших библиотек. Ну тут можно ориентироваться на популярность и четко смотреть, для каких задач они предназначены и какие у них есть ограничения.

Вот именно. Смущает именно большой набор библиотек для Java. В которых я пока не ориентируюсь. Но пока планирую купить книжку по языку. А дальше видно будет.
Понимаю, что Java (и C#) похожи на C++. Но ведь везде есть свои нюасны и шишки, которые набиваются только с опытом.

В общем, решение уже практически принято. Сервер будем писать на Java. Админскую часть возм. тоже.

Всем спасибо за ответы и помощь.
Re[3]: Кроссплатформенный сервер
От: Аноним  
Дата: 06.02.14 10:35
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Здравствуйте, Аноним, Вы писали:


А>>Под твои задачи идеально подходит PHP

LD>Гм, в эту сторону не думал. Считал, что PHP не подходит для серьезных разработок enterprise-уровня.

Ну если enterprise то java
Re: Кроссплатформенный сервер
От: alex_public  
Дата: 06.02.14 10:52
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Коллеги, может вы что-нибудь подскажите?


Всё зависит от состава будущей команды.

Если есть возможность найти высококлассных профессионалов в C++, то это будет самый эффективный вариант. В этом случае могу посоветоваться использовать для доступа к БД библиотечку SOCI, ну и Boost просто по всяким мелочам. С доступом к нативному коду тут вопросов естественно нет. Но этот вариант подходит только при наличие подобных профессионалов, а в случае каких-нибудь там студентов в роли исполнителей, это будет худшим вариантом.

Если же для разработки подразумевается использовать слабых специалистов, то оптимальнее всего будет Java. С библиотеками для БД и т.п. тут вообще вопросов нет и наверное самой нетривиальной частью будет взаимодействие с нативным кодом (JNI).

P.S. Я там понимаю, что проект всё же не из пары строк, иначе как раз небольшой Python скрипт был бы оптимальным. )))
Re[15]: Кроссплатформенный сервер
От: Ziaw Россия  
Дата: 06.02.14 15:08
Оценка:
Здравствуйте, savitar, Вы писали:

S>не знаю на счет обфускации, но давать только .pyc думая, что ты не даешь исходники, это очень наивно. это https://github.com/wibiti/uncompyle2 поможет развеять сомнения.


Java или C# в этом плане ничуть не лучше.
Re[3]: Кроссплатформенный сервер
От: Аноним  
Дата: 08.02.14 10:21
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Здравствуйте, Аноним, Вы писали:


А>>Под твои задачи идеально подходит PHP

LD>Гм, в эту сторону не думал. Считал, что PHP не подходит для серьезных разработок enterprise-уровня.
Да с PHP очень трудно поддерживать порядок в окромном количестве кода.

Тут все советуют C++ — не ведитесь это дорого и не эффективно. Не в плане производительности а в плане управления большим проектом.
Лучше уж посмотрите Erlang будет дешевле и надёжнее. На практике кода получается в 10раз меньше чем тоже самое на C++ и работает стабильнее (меньше багов).

Но самые жуткие монстры делаются всё таки на java там такой over engineering как раз для enterprise.
Да и если сравнить ресурсы то на java бюджет будет в десятки раз больше. Для освоения денег самый лучший кандидат.
Re[2]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 24.02.14 06:49
Оценка:
Здравствуйте, alex_public, Вы писали:


_>Если есть возможность найти высококлассных профессионалов в C++, то это будет самый эффективный вариант. В этом случае могу посоветоваться использовать для доступа к БД библиотечку SOCI, ну и Boost просто по всяким мелочам. С доступом к нативному коду тут вопросов естественно нет. Но этот вариант подходит только при наличие подобных профессионалов, а в случае каких-нибудь там студентов в роли исполнителей, это будет худшим вариантом.


_>Если же для разработки подразумевается использовать слабых специалистов, то оптимальнее всего будет Java. С библиотеками для БД и т.п. тут вообще вопросов нет и наверное самой нетривиальной частью будет взаимодействие с нативным кодом (JNI).


_>P.S. Я там понимаю, что проект всё же не из пары строк, иначе как раз небольшой Python скрипт был бы оптимальным. )))

Да, проект довольно большой. Текущая версия занимает несколько сотен тысяч строк кода. На C++/C#/Java/Obj-C.
Re[2]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 24.02.14 06:51
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, Lonely Dog, Вы писали:


LD>>Коллеги, может вы что-нибудь подскажите?


_>Всё зависит от состава будущей команды.


_>Если есть возможность найти высококлассных профессионалов в C++, то это будет самый эффективный вариант. В этом случае могу посоветоваться использовать для доступа к БД библиотечку SOCI, ну и Boost просто по всяким мелочам. С доступом к нативному коду тут вопросов естественно нет. Но этот вариант подходит только при наличие подобных профессионалов, а в случае каких-нибудь там студентов в роли исполнителей, это будет худшим вариантом.


_>Если же для разработки подразумевается использовать слабых специалистов, то оптимальнее всего будет Java. С библиотеками для БД и т.п. тут вообще вопросов нет и наверное самой нетривиальной частью будет взаимодействие с нативным кодом (JNI).

Да со командой все ок. Людей с опытом меньше 5 лет нет. У многих больше 10 (именно C++).
Re[4]: Кроссплатформенный сервер
От: Lonely Dog Россия  
Дата: 24.02.14 06:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Lonely Dog, Вы писали:


А>Тут все советуют C++ — не ведитесь это дорого и не эффективно. Не в плане производительности а в плане управления большим проектом.

А>Лучше уж посмотрите Erlang будет дешевле и надёжнее. На практике кода получается в 10раз меньше чем тоже самое на C++ и работает стабильнее (меньше багов).
Это уж совсем экзотика. Людей найти наверное тяжело будет.

А>Но самые жуткие монстры делаются всё таки на java там такой over engineering как раз для enterprise.

А>Да и если сравнить ресурсы то на java бюджет будет в десятки раз больше. Для освоения денег самый лучший кандидат.
Задачи освоения денег нет
Это новая версия коробочного продукта, который мы успешно продаем. Т.ч. делаем за свои деньги
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.