Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Вниз

О выборе платформы для ВЕБ и ФТП сервера   Найти похожие ветки 

 
kaif ©   (2007-12-24 14:53) [80]

Возможно ASP.NET - пока не лучший выбор для написания Web-сайтов для WWW. Если исходить из того, что пользователь отключил все куки, джава-скрипты и использует специально экзотический браузер, то в ASP.NET придется отказаться от 90% его прелестей. К тому  же, выбирая ASP.NET, мы ограничиваем себя в выборе хотера, чего не происходит, если ставка делается на связку PHP+MySQL.

Однако для интранет-приложений и специализированных систем, ИМХО, ASP.NET 2.0 - на сегодня очень привлекательный выбор. И вполне достойная альтернатива системам на JAVA. А для дельфиста, ИМХО. ASP.NET - вещь более элегантная, нежели Tomcat. Так как объектно-ориентированное мышление в голове у дельфиста, ИМХО, сильно отличается от оного в голове у джависта. Оно, если можно так выразиться, более прагматично, более визуально и лучше ощущает ресурсы, которые юзает закетно или незаметно для себя самого.


 
homm ©   (2007-12-24 14:54) [81]

> [75] Kerk ©   (24.12.07 14:31)
> И какая же CMS позволяет не смешивать разметку с кодом?

Я слабо себе предствляю, как .NET не смешивать разметку с кодом. Все равно, если у тебя набор элементов, некоторые их которых выводятся в зависимости от группы пользователя, другие от текущего раздела, не получится не смешать. А если получится, неужели это будет эфективнее, вместо операторов языка видеть операторы вставки класа реализуещего уловие, потом лезть в код этого класса, искать уловие. Не лучше ли, если сразу видно все. А на уровне «вот большой кусов разметки» , а вот «большой кусок кода» то большенство, наверное позволяют.


 
Kostafey ©   (2007-12-24 14:57) [82]

> kaif ©  

Мы, конечно в разных весовых категориях,
но я постараюсь выступить в защиту Java.


> Пример на JSP (выводим столбец таблицы с цифрами от 1 до 10):
> <HTML>
> <BODY>
> <table>
> <% for (int i=0; i<10;i++){
>    %><tr><td>%> <%=i + 1%> <%</td></tr><%
> }%>
> </table>
> </BODY>
> </HTML>

зато наглядно :)


> Пример на ASP.NET:
>
> ..
> <HTML>
> <BODY>
> <cc:MyComponent start="1" stop="10"/>
> </BODY>
> </HTML>

Вообще, есть такая штука JSF, очень похоже на
приведенный код.


> [72] kaif ©   (24.12.07 14:20)
> А что касается серьезности...
>
> Давайте так.
> Вот если Вы заменили страницу JSP, то из нее будет сгенерирован
> текст класса сервлета, сервлет откомпилирован и Tomcat автоматически
> подключит этот новый сервлет.
> А вот если Вы изменили исходный текст используемого обычного
> JAVA-класса или исходный текст явно используемого сервлета
> (например, сервлета-контроллера), то Вам придется после
> компиляции этих классов руками перезапускать Tomcat.

Вот Weblogic точно не потребует перезагрузки, хоть
все классы сразу перекомпилируй.

Tomcat - тут проблемматичнее, но по-моему
у меня получалось без перезапуска перекомпилированные классы
Web-приложения прикручивать.


 
kaif ©   (2007-12-24 15:02) [83]

Ломброзо ©   (24.12.07 14:47) [79]
Что-то вы недоучили. Бегло: в ASP.NET тоже есть прекомпиляция, и все предкомпилированные страницы валяются на моей, например, машине в c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files.


Допустите, что мне это известно.

Что же касается компонентов, то в JSP не существует компонентов в том смысле, какой используется в ASP.NET (каждый компонент сам генерирует свою часть HTML-разметки) или я о них ничего не знаю.
Расскажите поподробнее о "компонентах" для JSP и мы сможем сравнить это с тем, что сделано в ASP.NET. Вы, вероятно, хорошо в этом разбираетесь. А я хорошо разобрался в том, что такое компонент ASP.NET. Нам есть о чем поговорить.


 
b z   (2007-12-24 15:09) [84]


> Возможно ASP.NET - пока не лучший выбор для написания Web-
> сайтов для WWW. Если исходить из того, что пользователь
> отключил все куки, джава-скрипты и использует специально
> экзотический браузер, то в ASP.NET придется отказаться от
> 90% его прелестей.

ASP.NET, как и другие (PHP ...), не позиционируют себя как средство создания только сайтов, это уже уровень приложений. А со всеобщей любовью к AJAX и т.п. (SilverLight ...) актуальность отключения сводится "на нет". Да и к тому же, если пользователь намерян воспользоваться неким ресурсом, то и поступать будет соответственно, а ресурсу и все не нужны.


> К тому  же, выбирая ASP.NET, мы ограничиваем себя в выборе
> хотера, чего не происходит, если ставка делается на связку
> PHP+MySQL.

Я сейчас работаю в компании, являющейся по основному своему направлению - хостером, и поверте, это не проблема, предложений много и в цене не уступают.


 
kaif ©   (2007-12-24 15:18) [85]

homm ©   (24.12.07 14:54) [81]
> [75] Kerk ©   (24.12.07 14:31)
> И какая же CMS позволяет не смешивать разметку с кодом?

Я слабо себе предствляю, как .NET не смешивать разметку с кодом. Все равно, если у тебя набор элементов, некоторые их которых выводятся в зависимости от группы пользователя, другие от текущего раздела, не получится не смешать.


Если представлять себе страницу ASP как нечто, что будет сканироваться сверху вниз и синхронно превращаться в HTML-результат (как это сделано в PHP и JSP), то, разумеется, это совершенно невозможно будет себе представить.

А теперь возьмите файлы *.pas и *.dfm в Дельфи.
И ответьте мне на вопрос. Возможно ли решить ту задачу, о которой Вы говорите (не высвечивать какие-то контролы в каких-то ситуациях) без того чтобы вставлять программный код в файл *.dfm ?

Вот в *.dfm лежат лишь свойства контролов. А в *.pas-е обработчики событий формы, функции и прочий программный код.
Разве это не банальный пример разделенного кода?

В JSP до того как дело дошло до строки, в которой написано

for (i = ...

система не знает, что вообще предполагается дальше.

А в ASP.NET система сначала сканирует всю страницу разметки, затем создает все компоненты, а затем только начинает генерировать HTML-результат. То есть там больше одного прохода. Причем сканирование разметки происходит на стадии компиляции. А на стадии исполнения происходит создание дерева компонентов, потом вызов событий, потом в конце - генерация HTML, причем каждому компоненту предлагается самому сгенерировать свою разметку. Поэтому в событии Page_Load Вы можете присвоить ряду компонентов состояние Visible=false и они просто не выведут себя в результирующий HTML-код, если это требуется.

И все эти присвоения

aaa.Visible=false;
bbb.Visible=false;
...

у вас будут сосредоточены в одном месте, в обработчике Page_Load а не разбросаны по всей странице в виде if-ов вперемкешку с HTML-тэгами.


 
kaif ©   (2007-12-24 15:21) [86]

2 b z   (24.12.07 15:09) [84]
То, что Вы говорите, очень вдохновляет.


 
homm ©   (2007-12-24 15:26) [87]

> [85] kaif ©   (24.12.07 15:18)

Спасибо за развернутое объяснение :)


 
b z   (2007-12-24 16:01) [88]


> Kostafey ©   (24.12.07 14:57) [82]
> зато наглядно :)

В ASP.NET, перейдя в режим визуального дизайнера, еще нагляднее. ;)
Там контролы и компонетны умеют себя рендерить и в нем.


 
DiamondShark ©   (2007-12-24 16:11) [89]


> Никакой мешанины из кода и HTML-тэгов в ней нет и быть не
> может.

Есть. Только глубже и аккуратнее запрятанная.
Вообще-то, грамотно запрятанная.

Что реально бесит в ASP.NET, так это потуги эмулировать десктопное поведение в веб-среде.


 
Семен Сурков   (2007-12-24 17:58) [90]


> Что реально бесит в ASP.NET, так это потуги эмулировать
> десктопное поведение в веб-среде.

Вот за что всегда уважал мнение Димыча, это за то, что такую умную штуку скажет, что и не понимаю ничего...

ЧТо есть десктопное поведение?


 
DiamondShark ©   (2007-12-24 18:58) [91]


> ЧТо есть десктопное поведение?

Это поведение, характерное для десктоп-приложений.
Ну, на пальцах: нажал кнопку -- сработало ОнКлицк.


 
Ломброзо ©   (2007-12-24 21:56) [92]

kaif ©   (24.12.07 15:02) [83]


Допустите, что мне это известно.

Что же касается компонентов, то в JSP не существует компонентов в том смысле, какой используется в ASP.NET (каждый компонент сам генерирует свою часть HTML-разметки) или я о них ничего не знаю.
Расскажите поподробнее о "компонентах" для JSP и мы сможем сравнить это с тем, что сделано в ASP.NET. Вы, вероятно, хорошо в этом разбираетесь. А я хорошо разобрался в том, что такое компонент ASP.NET. Нам есть о чем поговорить.


JSP - это спецификация, причём расширяемая. Тут уже упоминали о JSF - ровно те же самые серверные контролы ASP.NET, c пропертями, событиями и датабиндингом, серверным и клиентским кодом. Только в профиль.


<h:view>
 <h:form>
   <h:inputText value="#{loginBean.name"></h:inputText>
 </h:form>
</h:view>


Почти все Java-IDE позволяют запихивать эти компоненты в тулбар, драг-дропать их в дезайн-тайм на страницу, настраивать свойства и генерировать обработчики событий.

Вот скриншоты для eclipse:
http://www.medista.ru/eclipse/wpe.png
http://www.medista.ru/eclipse/wpe_palette.png


 
Семен Сурков   (2007-12-24 22:09) [93]

Технологии это, конечно, очень хорошо. Но все равно что на ASP.NET, что на JSP нужно писать, т.е. программировать. Само собой всего не напрограммируешь. Нужно чем-то готовым пользоваться. Вопрос у меня такой - бывают ли под ASP.NET богатые наборы визуальных компонентов? Например, навернутый грид?


 
Ломброзо ©   (2007-12-24 22:10) [94]

Семен Сурков   (24.12.07 22:09) [93]

http://www.extjs.com


 
Семен Сурков   (2007-12-24 22:33) [95]


> Ломброзо ©   (24.12.07 22:10) [94]
> Семен Сурков   (24.12.07 22:09) [93]http://www.extjs.com

Да, спечатляет.
Прошу прощения за ламерский вопрос, но как это прикручивается к JSP или ASP.NET?


 
Ломброзо ©   (2007-12-24 22:36) [96]

Шут его знает, ещё не разбирался. Вроде бы через HTML-DOM/XML и через объекты JavaScript.


 
Семен Сурков   (2007-12-24 22:42) [97]

Ну да, вроде это js, значит как-то нужно заюзать :)
Вообще действительно впечатляет. Некоторые компоненты почти не отличаются от обычного приложения. Так это ж можно вообьще без клиентов обойтись, все через браузер делать!


 
Ломброзо ©   (2007-12-24 22:50) [98]

Семен Сурков   (24.12.07 22:42) [97]

К этому все и стремятся. Типа универсальный тонкий клиент.
При всём моём уважении к разработчикам подобных библиотек, считаю, что это тупиковый путь. Слишком много интерпретируемого, недетерминированного, сложно понимаемого и плохо сопровождаемого кода. Отчего бы в спецификацию HTML не добавить пару-тройку деклараций для контролов типа "дерево" или "таблица"?


 
Семен Сурков   (2007-12-24 23:05) [99]


> Отчего бы в спецификацию HTML не добавить пару-тройку деклараций
> для контролов типа "дерево" или "таблица"?

Я думаю, что все к этому и прийдет. Гугл как аполагет AJAX и просто мощная контора соединит усилия с кем-нибудь (или сама сможет) и будет продавливать расширение HTML для лучшей поддержки AJAX. Вот сейчас же Опера поддерживает AJAX. Насколько я помню в самом начале GMAIL на опере он вообще не работал. Ну это так, имхо.


 
Семен Сурков   (2007-12-24 23:40) [100]

Прошу прощения за ламерский вопрос.

Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.

ВОПРОС. Что в области .NET является МАСТ РИД? Что нужно прочесть, чтобы быть вполне в теме и вмеру профессионально писать web-приложения?


 
Ломброзо ©   (2007-12-24 23:47) [101]

Семен Сурков   (24.12.07 23:40) [100]
ИМХО:
- HTML/XHTML/XML/XSLT/XPath/XSD
- Транспортную прослойку (webServices и иже с ними (ORM, сериализация, WSDL), .NET Remoting, WCF)
- ADO.NET
- Скриптовые языки (не только синтаксис, но и то, как работают их интерпретаторы)
- Службы каталогов (LDAP = Active Directory, ADAM и т.п.)
- Аутентификация, авторизация, аудит


 
Семен Сурков   (2007-12-24 23:57) [102]


> Ломброзо ©   (24.12.07 23:47) [101]

А если только ASP.NET ограничиться?
Может как-то можно сократить список? :)

Мне сайт нужен, причем серьезный WEB 2.0 сайт со всеми его особенностями. Сайт развлекательно-интеллектуальной  направленности. Поэтому может мне не нужно .NET Remoting и WebServices?

MSSQL, как и Дельфи знаю вполне достойно - лет 8 на них пишу. Дельфи надоел. Вот и хочу ринуться за Анатолием в мир ASP.NET :)

Если вернуться к книгам - то какие авторы заслуживают доверия подченного сообщества?


 
Ломброзо ©   (2007-12-25 00:03) [103]

Семен Сурков   (24.12.07 23:57) [102]

Чтобы не париться, лучше, наверное, за основу какую-нить документированную CMS взять.


 
sdts   (2007-12-25 00:16) [104]


> При всём моём уважении к разработчикам подобных библиотек,
>  считаю, что это тупиковый путь. Слишком много интерпретируемого,
>  недетерминированного, сложно понимаемого и плохо сопровождаемого
> кода. Отчего бы в спецификацию HTML не добавить пару-тройку
> деклараций для контролов типа "дерево" или "таблица"?

Ну плохой код возникает не просто так, его везде хватает. Но в целом, тоже есть такое ощущение. А вот "таблица" в HTML по моему уже есть. ;)


 
Семен Сурков   (2007-12-25 00:50) [105]


> Ломброзо ©   (25.12.07 00:03) [103]
> Семен Сурков   (24.12.07 23:57) [102]Чтобы не париться,
> лучше, наверное, за основу какую-нить документированную
> CMS взять.


Ну а все же насчет книг (представим, что твой совет не подходит в моем случае)? Помню Рихтер по .net писал что-то. Но это было давно. Актуален он еще? Года 3 назад я книгу Петцольда по C# прочел. Есно не помню почти ничего. Что сейчас актуально и МАСТ РИД?


 
Anatoly Podgoretsky ©   (2007-12-25 02:10) [106]

> Evanescence  (24.12.2007 12:39:09)  [69]

Точно шапку мне доверили только в 6 лет.


 
Германн ©   (2007-12-25 02:15) [107]


> Anatoly Podgoretsky ©

А на Германн ©   (23.12.07 21:44) [44] ответишь?
:)


 
Anatoly Podgoretsky ©   (2007-12-25 02:31) [108]

> Семен Сурков  (24.12.2007 23:57:42)  [102]

> MSSQL, как и Дельфи знаю вполне достойно - лет 8 на них пишу. Дельфи надоел. Вот и хочу ринуться за Анатолием в мир ASP.NET :)

Вперед, я уже научился работать с базой, таблицы генерируются на лету, с гиперссылками и гиперкартинками, с сортировкой по щелчку на заголовке. И это пока без изучения документации.
А что бы серьезно научится разрабатывать сайты изучить придется много.
Завтра приступлю наверно к написанию обработчиков. А то меня не устраивает как выглядит гиперссылка, хочу вместо ее подсовывать дружественное имя, а по щелчку подменять его на гиперссылку.

Среда дружественная к разработчику.


 
homm ©   (2007-12-25 09:01) [109]

> [108] Anatoly Podgoretsky ©   (25.12.07 02:31)
> вместо ее подсовывать дружественное имя, а по щелчку подменять
> его на гиперссылку

Интересно, что имеется ввиду :)


 
Семен Сурков   (2007-12-25 09:29) [110]


>  [108] Anatoly Podgoretsky ©   (25.12.07 02:31)
> > Семен Сурков  (24.12.2007 23:57:42)  [102]
> Среда дружественная к разработчику.


Вылитая дельфи 2007 :)
Странно, но факт, у меня дельф2007 работает шустрее чем VWD.
Я тоже вчера свой первый сайт написал :)


 
Anatoly Podgoretsky ©   (2007-12-25 13:18) [111]

> homm  (25.12.2007 09:01:49)  [109]

Вместо длинного имени в ссылке, хочу иметь короткое, например "загрузить". А по щелчку переходить как будто в гиперссылке полное, длинное имя. Поскольку гиперссылки в ячейках, то длинные имена очень неудобны, слишком широкие колонки.


 
kaif ©   (2007-12-25 14:51) [112]

2 Ломброзо

Я Вас правильно понял, что я могу создать свой JSF-компонент, зарегистрировать для него, например, свой оконный редактор свойства (PropertyEditor) и из Инспектора объектов любой среды проектирования (например, Eclipse) я смогу редактировать это типизированное свойство своим типизированным редактором, как я это могу сделать в Delphi и в ASP.NET?

Я Вас правильно понял, что так же, как и в ASP.NET, компоненты JSF можно создавать рантайм и вставлять в страницу?
Я Вас правильно понял, что так же, как и в ASP.NET, компоненты JSF имеют гарантированно уникальные именования (ID), позволяющие обращаться к их свойствам из любых обработчиков?

Давайте сделаем проще.
Я дам ссылку на компонент навороченной сетки ASP.NET 2.0 стороннего пролизводителя и участники смогут оценить ее работу в онлайн демо.

Я Вы дайте ссылку на аналогичный JSF компонент и его онлайн демо, а участники сравнят их возможности и интерактивное поведение независимо от наших с Вами точек зрения.
Лучше один раз увидеть.

Вот демонструха сетки от DeveloperExpress:
http://demos.devexpress.com/ASPxGridViewDemos/Default.aspx


 
homm ©   (2007-12-25 14:53) [113]

> [111] Anatoly Podgoretsky ©   (25.12.07 13:18)

Текст ссылки и адрес ссылки, это разные вещи, а Вы говорите о них как об одной, или я чего то не понял. Как длинный адрес в параметре href может повлиять на ширину колонок? (Может поможет: У ссылок еще параметр Title есть)


 
kaif ©   (2007-12-25 17:03) [114]

2 Ломброзо.

Мне вот что интересно.
Вы сами-то используете JSF?
Или только хвалите?

Кстати, такой вопрос.
Я правильно представляю историческую хронологию, что ASP возникла намного раньше, чем JSP, а ASP.NET раньше, чем JSF?
То есть многие уже несколько лет с успехом писали, не парясь, приложения на ASP.NET, пока Sun лихорадочно дописывала свою сервлетную технологию до поддержки такой естественной вещи, как дерево компонентов на сервере?
Я лично в своей жизни видел несколько живых писателей на JSP (и сам недавно писал), но ни одного живого писателя чего-нибудь на JSF я пока не видел. Если Вы и есть такой писатель, буду рад это услышать от Вас лично.

Повторюсь, ничего не имею против сервлетных технологий Java как таковых.
В них есть своя прелесть. Например, огромное количество открытого кода.

Просто мне симпатичнее и ближе по духу подходы ASP.NET, так как они мне напоминают мышление дельфиста.
На JSP я программировал, и мне это все (весь этот гимор) порядком ПОДНАДОЕЛО. Переходя на ASP.NET, я испытал ОБЛЕГЧЕНИЕ. Посмотрев на технологию JSF (после Ваших слов), я испытал УЖАС и одновременную РАДОСТЬ от того, что не пытался ими пользоваться.

Но это все мои личные проблемы и эстетические пристрастия - я их никому не навязываю.
Надеюсь, лично Вас ничем не задел.


 
kaif ©   (2007-12-25 17:20) [115]

Семен Сурков   (24.12.07 23:40) [100]
Прошу прощения за ламерский вопрос.

Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.


C# достаточно элегантный и простой язык. Многим напоминает Java. Освоить его можно буквально за несколько дней. Больше времени потребуется для освоения архитектуры самой ASP.NET.

В отличие от Java в C# отсутствует идиотское (на мой взгляд, конечно) требование исходный код каждого класса помещать в отдельный файл.


 
Семен Сурков   (2007-12-25 17:22) [116]


>  [115] kaif ©   (25.12.07 17:20)
> Семен Сурков   (24.12.07 23:40) [100]
> Прошу прощения за ламерский вопрос.
>
> Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.
>
> C# достаточно элегантный и простой язык. Многим напоминает
> Java. Освоить его можно буквально за несколько дней. Больше
> времени потребуется для освоения архитектуры самой ASP.NET.
>
> В отличие от Java в C# отсутствует идиотское (на мой взгляд,
> конечно) требование исходный код каждого класса помещать
> в отдельный файл.


да я вообще и c# и java (как языки) неплохо знаю :) правда, инкогда не писал серьезно.

вопрос я задавал вот в каком свете. сейчас я собираюсь начать писать серьезное web-приложение. ASP.NET мне очень понравился.

МОЙ ВОПРОС можно перефразирвоать так - нужно ли глубочайшее знание c# для ASP.NET?


 
Ломброзо ©   (2007-12-25 17:37) [117]

kaif ©   (25.12.07 14:51) [112]

слишком много вопросов, к существу дела не относящихся. Я наглядно проиллюстрировал, что всё то, что есть в .NET, есть и в Java, а даже если чего-то и нет - то это не убогость ума разработчиков, а скорее by design. В самом деле - ничего не стоит наворотить над design-time в Java инфраструктуру дотнетовских System.ComponentModel и System.Design, тем более, что Java концептуально позволяет это сделать через reflection, только кому это надо?

JSP/JSF я не использую. Предпочитаю связку XML/XSLT.


 
Семен Сурков   (2007-12-25 17:41) [118]


> [115] kaif ©   (25.12.07 17:20)
> В отличие от Java в C# отсутствует идиотское (на мой взгляд,
> конечно) требование исходный код каждого класса помещать
> в отдельный файл.


Кстати, уважаемый Kaif, не могу согласится с этим высказываением. И вот почему. У java вообще есть подход (я уверен, что он был изначально заложен в язык) : любое действие делается минимальным количеством способов. Вот например, в delphi есть property. В результате концептуальное понятие атрибута в дельфи можно реализовать как в помощью property, так и с помощью методов Set и Get (как в java, собсно). В java (не берем рефлексию!) для реализации атрибута есть одна возможность: методы Get и Set. Лично я считаю, что минимализация синтаксических конструкций есть огромный ГУД. И в этом убеждении меня еще больше вдохновляет текущее состояние дел с языком Дельфи - он становится все сложнее и менее выразительным, опять же из-за того, что на любой чих есть МАССА синтаксических вариантов его реализации.
Опять же. В java нет out параметров. Я считаю, что это есть гигантское достоинство, ибо приближает java к функциональным языкам, минимизируя тем самым побочные эффекты при вызове методов.


 
Ломброзо ©   (2007-12-25 17:43) [119]

>с языком Дельфи - он становится все сложнее и менее выразительным

Чего уж там скрывать - он просто сдох.


 
Семен Сурков   (2007-12-25 17:52) [120]


> Чего уж там скрывать - он просто сдох.

пока я не могу согласица. это станет для меня ясно после выхода тибурона.
но то, что стройность языка изрядно потерялась это точно.



Страницы: 1 2 3 4 5 вся ветка

Форум: "Прочее";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.72 MB
Время: 0.051 c
15-1199350896
Riply
2008-01-03 12:01
2008.02.10
Помогите "сами мы тут не местным" :)


2-1200803639
_Shuler_
2008-01-20 07:33
2008.02.10
новая строка


15-1199560136
kuvalda
2008-01-05 22:08
2008.02.10
Сгорела материнка?


2-1200304324
гость
2008-01-14 12:52
2008.02.10
получение всех точек дуги (arc)


15-1199221336
Kenny
2008-01-02 00:02
2008.02.10
Компьютер написал книгу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский