| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Отличия C# и Java |
| Автор: nns2009 27.4.2010, 12:31 |
| Недавно закончил изучение основ ActionScript 3.0 для Flash и теперь решил заняться серверным программированием, но встал вопрос, какой язык программирования выбрать? Всего у меня 4 варианта: C++, C#, Java и PHP. PHP я, скорее всего буду изучать в дальнейшем(так как, всё-таки самый популярный серверный язык программирования и поддерживается всеми хостингами), но на нём вроде как нельзя запрограммировать онлайн игру в реальном времени + он медленный. C++ слишком сложный и менее удобный. А вот Java и C# - то что надо! Принципиальных отличий в коде мало, а меня интересует результат: что на чём запускается(Windows, Linux, компьютер, мобильник, сервер...), скорость, вес приложения. Также интересует: возможно ли встраивание Java кода в HTML, как в ASP.NET, возможно ли с помощью Java, C# запрограммировать онлайн игру в реальном времени? |
| Автор: jk1 27.4.2010, 13:08 | ||||||
Для Java-приложений многое зависит от задач и выбора интрументов: если будете писать сервер руками на сокетах, то сможете поднять везде, где есть java-машина и дадут сокет. Если используете фреймворки, то потребуются контейнеры/сервера с их поддержкой. Однако большинство из них вполне кроссплатформенны (маленький камешек в огород ASP.NET ).
Конкретные значения скорости работы для динамически компилируемых языков замерять очень проблематично, однако если критична real-time работа, в Java предусмотрены http://java.sun.com/developer/technicalArticles/Programming/rt_pt1/
конечно возможно, это же Тьюринг-полные языки. |
| Автор: iluvatar 27.4.2010, 13:12 |
| запрограммировать можно все что угодно на чем угодно. вопрос времени что значит игра в реал-тайме? html или flash? какое значение имеет вес приложения если 80% будет занимать графика и еще 20% - БД ? вот это выносит мне мозг, что вы имели в виду? кроссплатформенность? возможно вы имели в виду jsp, jsf ? опишите что вы хотите получить в результате. |
| Автор: Vasay 27.4.2010, 13:44 | ||
Не думаю, что Вам удастся написать сервер для реал-тайм игры на PHP nns2009, Имейте ввиду, что программирования сервера для реалтайм игры (клиет, я так понял, на flash) - не имеет ничего общего с web программированием. Впринципе и Java и C# тут хороши. Единственное, будете писать на С# - старайтесь не выходить за рамки Mono, иначе стоимость серверов (с Windows) будет сильно бить по карману. Если говорить о web программировании, то тут ИМХО Java вне конкуренции. Во многом благодаря стараниям "альтернативной" команды Spring Source, альтернативной в кавычках, так как их Spring Framework фактически стандарт де-факто в web разработке с помощью Java, хотя, последняя версия спецификации EJB (типа, стандарт де юре) - стала поворачиваться "к лесу задом", но насколько повернулась к разработчикам передом - не скажу, не успел пока как следует ознакомиться. Да и Spring Source на месте не стоят - создали Spring Roo, продвигают Grails (я просто в восторге - еще б нормальную поддержку со стороны IDE , хотя бы родного SpringSource Tool Suite, правда, говорят, в коммерческой версии idea все прекрасно) У .NET с качеством и разнообразием web фрэймворков на мой взгляд не так хорошо. Хотя, в MS тоже на месте не стоят да и к "альтернатившикам" прислушиваются (тот же ASP.NET MVC Framework, насколько я знаю, пришел в мэйнстрим из народа). |
| Автор: jk1 27.4.2010, 13:44 | ||
1) Servlet API + JSP будет самым простым и понятным решением 2) Использовать фильтр сервлетов (см. пункт 1), например http://tuckey.org/urlrewrite/ 3) Не могу сказть насчет того, как это делается в современных играх, однако возможно делать вызовы из сервера клиенту с помощью любой реализации спецификации Comet Рекомендую вот этот обзорный цикл статей http://www.java-course.ru/. После него все должно встать на свои места, по крайней мере относительно Java. |
| Автор: nns2009 27.4.2010, 13:54 |
| А что посоветуете скачать в качестве компилятора и среды разработки? |
| Автор: Vasay 27.4.2010, 14:07 | ||
NetBeans из бесплатных на мой вкус - лучший. Еще есть eclipse - может в плане ресурсоемкости получше NetBeans, но много чего не хватает из коробки, нужно доставлять плагинами. Есть базирующиеся на eclipse среды ( типа SpringSource Tool Suite ). Есть JDeveloper - среда красивая, но ИМХО глючная, да и заточена под продукты Oracle. Есть коммерческая idea. Многие считают ее лучшей. У нее, кстати, есть и бесплатная версия, но, слегка, урезанная в плане функциональности. А компилятор - часть JDK. Так что все что нужно - это JDK . |
| Автор: nns2009 27.4.2010, 15:17 |
| А перед установкой NetBeans(которую я сейчас скачиваю) нужно ли установить JDK? |
| Автор: Vasay 27.4.2010, 16:59 |
| nns2009, Обычно нужно, но есть варианты с JDK в комплекте |
| Автор: nns2009 27.4.2010, 20:59 |
| Всё установил, всё работает. Теперь некоторое время буду изучать Java после чего выскажу своё мнение о нём. |
| Автор: nns2009 28.4.2010, 21:45 |
| Сейчас читаю http://www.java-course.ru/ . Дошёл до базы данных, а вот тут ничего не понятно(сам код SQL запроса понятен, т.к. я немного работал с БД на PHP, а не понятно куда его совать, куда совать JDBC и т.п.). Не подскажите? (с командной строкой я никогда в жизни не работал.) |
| Автор: Shtrun 29.4.2010, 10:04 |
| Не обязательно работать с командной строкой. Ты MySQL установил? Все работает? На каком этапе ты остановился и у тебя не получается? |
| Автор: nns2009 29.4.2010, 11:04 | ||||||
| 1) Скачал mysql тут: http://www.softportal.com/get-65-mysql.html, установил в C:\Program Files\MySQL\MySQL Server 5.1 2) Скачал connector/j 5.0.6 тут: http://soft.mydiv.net/mac/files-MySQL-Connector-J.html, распаковал в C:\Program Files\MySQL\mysql-connector-java-5.0.6 После этого на сайте http://www.java-course.ru/ написано:
Всё после слов "И запустите команду"(совершенно непонятно какую) я не понял и пропустил. 3) Создал проект TestJDBC(в NetBeans 6.8) и сохранил в C:\Users\Nns2009\Documents\Java\Тренировки\Первые приложения\TestJDBC. 4) В папке src создал файл TestJDBC следующего содержания(как на http://www.java-course.ru/ только красиво оформлено) :
4) В папку src скопировал файл mysql-connector-java-5.0.6-bin из папки C:\Program Files\MySQL\mysql-connector-java-5.0.6 . 5) Запустил проект в NetBeans. 6) Получил, что-то вроде:
По идее пример не должен работать правильно(т.к. я не создавал таблицу), но ошибка тогда должна выскакивать совершенно другого рода. В архиве я прилагаю снимки некоторых папок. |
| Автор: nns2009 29.4.2010, 20:11 | ||
| Хорошие новости: Скачал connector/j 3.0.16, скопировал файл mysql-connector-java-3.0.16-bin-ga.jar в папку TestJDBC распаковал его и снова запустил проект. Теперь окно с ним выглядит так, как на приложенной картинке, а ошибку выдаёт такую:
Это уже в тему(как раз из-за не созданной таблицы, наверное). Теперь вопрос: как её(таблицу) создать? И неужели для каждого проекта потребуется распаковывать файл mysql-connector-java-3.0.16-bin-ga.jar в папку src? Хотелось бы поместить этот файл в какую-нибудь папку, прописать как-нибудь к нему путь и забыть про него. |
| Автор: nns2009 1.5.2010, 15:00 | ||
| Установил программу для редактирования БД: теперь всё вышеперечисленное работает. И я продолжил изучение http://www.java-course.ru/ . Сейчас я на Части 7(что такое Servlet) и тут возникла проблема: сервер Apache Tomcat не работает: сделал всё, как было описано, но при запуске <TOMCAT_HOME>\bin\startup.bat открывается 2 DOS-окна и сразу закрываются, а при введении в браузер http://localhost:8080/ выдаётся:
Что я неправильно сделал? Использую Windows 7 Home Premium и Firefox 3.6 и apache-tomcat-6.0.26-src . |
| Автор: Vasay 1.5.2010, 15:22 |
| nns2009, Если ты скачал версию NetBeans с поддержкой Java EE то там в комплекте TomCat и GlassFish. Управлять ими можно прямо из NetBeans, так же как и базами данных. |
| Автор: nns2009 1.5.2010, 16:42 |
| Честно говоря не знаю какая у меня версия. Скачивал вроде отсюда http://softidle.ru/93-netbeans-ide-polnaya-versiya.html . Добавлено через 7 минут и 25 секунд В разделе Tools -> Servers есть GlassFish. Попробую потыкать там. Добавлено через 14 минут и 28 секунд Я понятия не имею что там нажимать: нет ни кнопок запустить сервер/остановить сервер и т.п. Подскажите. |
| Автор: nns2009 1.5.2010, 17:36 |
| Благодаря видео на YouTube я смог запустить TomCat и всё заработало(умники на официальном сайте вместо того, чтобы поместить один рабочий архив, поместили много нерабочих и я не тот скачал). Но опять проблема: сервер работает только пока файл startup.bat открыт, неужели для работы сервера постоянно придётся держать это окно открытым. |
| Автор: nns2009 1.5.2010, 20:35 | ||
Ещё возникла проблема: при написании сервлета
т.к. пакета javax.servlet нет по умолчанию, я скопировал его в папку src проекта. И несмотря на то, что все классы доступны, NetBeans 6.8 настойчиво выдаёт ошибки типа package doesn't exist. Что делать? |
| Автор: Vasay 1.5.2010, 21:56 | ||||
nns2009,
Качать надо с официального ресурса: netbeans.org Там же есть документация, в том числе и на русском.
Там настройка. Можно добавлять новые. В окошечке, где ваш проект - на верху есть три вкладки, Projects, File, Services Нажмите на Services - там можно управлять серверами, базами данных. Вообще, создаете web aplication и при нажатии Run Netbeans сам стартанет GlassFish и задеплоет на нем приложение. Судя по картинке - Вы создали десктопное приложение, потому и не подключены нужные либы. Да и либы нужно добавлять в Libraries проекта. |
| Автор: nns2009 1.5.2010, 22:25 |
Привык искать через Яндекс, скачал с первого попавшегося сайта. Это какая папка? |
| Автор: Vasay 1.5.2010, 22:36 | ||||
Вы просто находка для ботнэтчика.
В проекте Libraries видете? Правой кнопокой мышки по ним нажмите, дальше, думаю, разберетесь. |
| Автор: nns2009 2.5.2010, 19:36 | ||
Огромное спасибо, заработало. Но можно ли как-нибудь настроить NetBeans, чтобы в других проектах он подключал некоторые библиотеки автоматически? Теперь перешёл к JSP, но вот проблема: как создать файл с расширением JSP: проводник не позволяет менять расширения: если я после имени текстового файла ставлю .jsp то имя файла становится hello.jsp.txt. Что делать? |
| Автор: Vasay 2.5.2010, 20:02 | ||
Вы создайте web проект. Тогда при нажатии file -> new file NetBeans будет Вам предлагать создать в том числе .jsp, а то судя по скриншоту - Вы пытаетесь написать веб приложении в проекте под десктоп. |
| Автор: nns2009 3.5.2010, 19:32 | ||||
В следующий раз учту: вначале не думал, что веб понадобится, а перекопировать все файлы не хочется, но проблему удалось решить, случайно обнаружив у себя на ноутбуке Adobe Dreamweaver. Перешёл к части 9. После того, как я проделал все шаги сервер выдаёт следующее:
Думал скачать исходники, которые обычно выкладываются в конце, но там их нет. Подскажите, пожалуйста. |