Какой выбрать язык программирования для изучения с минимальным порогом входа для написания TCP-сервера?
Господа, я не являюсь программистом в прямом смысле этого слова, отношу себя к категории дилетантов. Немного знаю php, который использую не только в веб-программировании, но и в скриптах администрирования UNIX-серверов. Как то так сложилось...
Сейчас стоит задача в написании TCP-сервера, от которого требуется приблизительно следующий функционал:
1. Работа с файловой системой (создание, удаление файлов и каталогов)
2. Работа с БД (mysql)
3. Выполнение telnet запросов
В итоге код должен быть скомпилирован для запуска под UNIX и слушать подключения клиентов на определенных портах.
Не холивара ради какой язык лучше, а их много что глаза разбегаются, но все же.
Например из того что гугл выдал, некоторые люди не рекомендую учить C++, если не собираетесь писать приложения на уровне драйверов и так далее. Были рекомендации смотреть в сторону Haskell'а. Слышал о таких языках как python и ruby. Perl и Bash не компилются, их не рассматриваем. Против Java ничего личного не имею, но за всю свою жизнь, все что видел на ней очень тормознутое, или мне так с железом везло, не знаю.
Прошу поделиться опытом, посоветовать. Если можно, то вкратце почему этот язык, в чем плюс по вашему мнению. Заранее благодарен!
Бери python, Gevent, Flask с sqlalchemy и не заморачивайся.
Тебе нужно использовать последний PyPy для gevent'а, а так больше никаких особо нюансов нет.
P.S. не забывай о MVC и фильтрации пользовательского ввода.
python и ruby. Perl и Bash не компилются, их не рассматриваем.
Не рассматривать интерпретируемые языки для решения данной задачи - ошибка номер раз.
Как минимум для Перла есть компиляторы в Си и в байт-код - это два.
Питон и Руби, так же как и Перл, являются интепретируемыми в байт-код - это три.
То, что Вы перечислили, на любом из популярных языков (Perl, Python, PHP, Ruby) пишется за один-два дня.
А почему именно socket сервер? Есть большое число готовых библиотек, как для написания сервера, так и для написания клиентов. Опишите свою задачу чуть подробнее - что выступает в качестве клиентов? Что значит "Выполнение telnet запросов"?
Если не холивара ради, то Вам очень даже подойдет FreePascal + INet