|
|
|||||
Регистрация: Mar 2010
Сообщений: 25
|
Выбор серверного языка.
В ближайшее время заканчиваю чиитать книгу Мука про ActionScript 3.0 и потом хочу изучить серверную технологию, но не могу определиться какую. Пока основные претенденты:
- C++: самый низкоуровневый, соответсвенно самый быстрый, но и самый сложный. - C# : очень удобный синтаксис и подсветка кода и нормальная скорость. Насколько я знаю с ним ещё какие-то ASP страницы используются. - Java: очень похож на ActionScript 3.0 - PHP: самый распространённый среди мелких сайтов, но самый медленный. Я перечислил самые распространённые языки программирования, но возможно есть и какие-то специфические серверные языки программирования. Предположим, перед нами стоит 2 задачи: 1) На браузерный запрос пользователя http://example.ru/programm.* ответить: 2) Если клиент хочет присоединиться через сокет с портом 2009, присоединяем его. Если клиент прислал число, то высылаем ему удвоенное число. Если клиент хочет отключиться, отключаем его. Я немного программировал на PHP и представляю как на нём решить первую задачу, но я совершенно не представляю, как выглядят серверные приложения на других языках. Можете описать решение этих задач, кто на каком из 4 вышеупомянутых языков программирования может(не только код, но и куда его впихивать, нужны ли дополнительные фалйы и т.п.). |
|
|||||
[+1 19.06.10]
[+1 27.07.10] Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
|
вы забыли про Erlang
|
|
|||||
Регистрация: Mar 2010
Сообщений: 25
|
Я в типично серверных языках не разбираюсь, т.к. только чуть-чуть программировал на PHP, но мне важно, чтобы был нормальный синтаксис, например как в 4 упомянутых мной языках программирования, а не как в Paschal'еобразных языках. Не могли бы вы привести мне реализацию 2 моих задач на Erlang: всё-таки лучше один раз увидеть код, чем много раз слышать про особенности.
Кстати, я недавно подумал, что серверное программирование достаточно узкая тема: 1) Работа с файловой системой. 2) Работа с базой данных. 3) Принятие, обработка и ответ на запросы. И всё! Не стоит ли изучить понемногу каждый язык и применять их в зависимости от ситуации? |
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Erlang основан на prolog. Пролог для людей привыкшик к ООП и си-подобному синтаксису - мозгодробителен. Но там решены некоторые проблемы именно серверных языков, как то скалирование(т.е. разгрузка потоков на несколько машин в кластере) и блокировка данных.
__________________
мой пустой блог |
|
|||||
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Python ещё забыли.
Цитата:
Java: 1)Ответ на запрос http://localhost:8080/ServletApp?method=init import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class ServletApp extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException { try { PrintWriter writer = response.getWriter(); if(request.getParameter("method").equals("init") { writer.print("<html> <body> <тут содержимое файла content.txt> </body> </html>"); writer.close(); } } catch(Exception e) { //error in service } } } |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
java, имхо
|
|
|||||
Регистрация: Mar 2010
Сообщений: 25
|
На Java код выглядит вполне нормально. Приложения написанные на Java для клиента требуют .NET Framework или нет?
Не могли бы вы мне также показать код на Python и Erlang: ООП для сервера, мне кажется, не нужно, а на синтаксис - посмотрим. Также забыл сказать, что мне важно, чтобы язык программирования работал не только на собственных серверах, но и на небольших хостингах. Пока я склоняюсь к C# или Java, но вспомнил ещё про библиотеку Qt для C++: возможно ли её использование на сервере или хостинге? |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Клиентские приложения, написанные на java, требуют на компьютере пользователя машины java. На мой взгляд, народ для клиентов на флэше уже созрел, для клиентов на джаве - еще нет.
На "небольших хостингах" существуют, насколько я понимаю, PHP/Perl, еще кое-что по мелочи. Не нужно ориентироваться не "небольшие хостинги". |
|
|||||
Регистрация: Mar 2010
Сообщений: 25
|
Полазал по интернету просмотрел языки программирования, и вот что нашёл:
По поводу созревания согласен, но к моему удивлению Java второй по популярности язык программирования после C и причём не ++ к моему удивлению: http://www.tiobe.com/index.php/conte...pci/index.html , но Java не поддерживается небольшими хостингами, которые поддерживают PHP и Perl(а если Windows хостинг - то и ASP.NET). Но я не нашёл информации, что поддерживается виртуальными выделенными серверами, не знаете? А можно ли на PHP и ASP.NET запрограммировать взаимодействие нескольких пользователей(в небольшой многопользовательской игре в реальном времени) не через базу данных, а через оперативную память? Пока склоняюсь к PHP, затем - к C#, но и в сторону Java смотрю: всё-таки на втором месте в рейтинге |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Кстати, помимо самих языков есть еще такие вещи, как "платно/бесплатно".
Надо понимать, что мир OpenSource (PHP,MySQL,Java...) и мир коммерческого ПО (ASP.NET,MS SQL,SFS...) - это две большие разницы. Как по самим продуктам, так и по хостингу под них. Например, использование C# по-любому потребует хостинг на WindowsServer и т.д. По общей практике большинство игр базируется на опенсорсных самописных движках. Дешево, сердито и понятно, как работает. |
Часовой пояс GMT +4, время: 02:09. |
|
« Предыдущая тема | Следующая тема » |
|
|