Какой лучший язык и IDE для разработки сокет-серверов?
Любой язык, поддерживающий программирование сокетов (почти любой).Вопрос немного упрощенный.
Я хочу, чтобы я мог быстро выучить язык, который будет работать на уровне предприятия.
Вы можете быстро выучить большинство языков, ноОвладеть ими может занять время.Более того, язык не так важен, как используемая вами библиотека.
Вот несколько примеров того, что я имею в виду:
Python занимает мало временичтобы овладеть навыками, но я не уверен, насколько это «корпоративный уровень» (он используется НАСА, Google и несколькими другими крупными игроками, так что этого может быть достаточно).
Это также очень высокоуровня, поэтому я не удивлюсь, если вы сможете написать код для простого сервера сокетов в пределах десяти строк кода (для создания веб-сервера в python требуется всего одна строка кода).
Java и C # / C ++. Cli / VB + должны поддерживать создание сервера сокетов с относительно небольшим количеством строк кода, так как они (как и Python) уже имеютбиблиотеки, поддерживающие большую часть функциональности.
Они более многословны, чем Python, поэтому вы напишите гораздо больше кода.
Я не очень разбираюсь в PHP сказать, насколько это было бы хорошо.
C слишкомнизкий уровень, что означает, что вы, вероятно, напишите больше кода, чем упомянутые выше.Это очень мощный инструмент, но написание проекта на C займет у вас не менее недели на написание кода и неделю (возможно, еще больше) на его отладку - особенно если вы новичок в языке.
C ++ ... хорошо во всем спектре (это и высокий, и низкий уровень), но его трудно использовать правильно (в нем много причуд, а ошибки, которые вы делаете, не очевидны, пока вы не поймете, почему он разработан так, как онявляется).С ++, вероятно, потребовалось бы больше, чем С, чтобы изучить и использовать правильно.
Пожалуйста, предоставьте мне несколько хороших ресурсов:) +
Я бы сказал, но ваш вопрос слишком широк,Вот несколько вопросов, чтобы сузить его:
каковы ваши временные ограничения?
есть ли ограничения?
является ли какой-либо из языков, уже используемых на вашем предприятии?
насколько сложным должен быть ваш сокет-сервер?
можетвы используете что-то уже существующее?
какова ваша цель (вам срочно нужна функциональность сокет-сервера? вам нужно научиться программировать сокеты? вам нужно решение на основе сокет-сервера)к вашей проблеме?)
Редактировать :
Учитывая ваши ответы, я бы рекомендовал использовать C ++ и boost (boost :: asio конкретно).Вот мои рассуждения:
Я, скорее всего, пойду с языком, который смогу продолжать использовать в разработке игр.
C ++ - это язык, выбранный для разработки игр.У него много подводных камней, но преимущества, кажется, перевешивают это.
Если вы будете использовать хорошие методы C ++, вы избежите большинства ошибок и разумно справитесь с теми, которые вы не можете избежать.(Если вам нужен список хороших практик или распространенных ошибок C ++, задайте новый вопрос :)).
это ничего не может стоить
Ни C ++, ни повышение стоимостичто угодно.
Для IDE вы можете загрузить Microsoft Visual Studio 2010 Express (бесплатно) для Windows и использовать Eclipse + CDT или Code :: Blocks для других платформ (я думаю, что они доступны и для Windows).
Если возможно, также используйте распределенную систему контроля версий (например, Git или Mercurial ).Они избавят вас от головной боли и упростят управление кодом.
Моя цель - изучение и подтверждение концепции.
Вы многому научитесь: D.
Вот несколько ресурсов, с которых можно начать:
Для C ++ посмотрите на Мышление на C ++ (бесплатно) и (если вы можете взять их в руки) Эффективный C ++ , Более эффективный C ++ и, возможно, Эффективный STL .
Для наддува достаточно документации для надстройки (также бесплатно), как только вы начнете работать с C ++.
В частности, обратите внимание на примеры boost :: asio . Они предлагают полный исходный код для различных серверов (HTTP-серверов, эхо-серверов и т. Д.).
boost :: asio - это уже внедренный фреймворк, но изучение C ++ и расширенных библиотек на его основе может потребовать крутой кривой обучения с вашей стороны.