Перейти к содержимому


Фотография
- - - - -

Парсер XML


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 radev

radev

    Продвинутый

  • Участник
  • PipPipPip
  • 180 сообщений
  • 15 тем
  • Регистрация:10 Авг 2004
  • Пол:Мужчина
  • Город:Калуга

Отправлено 29 Ноябрь 2005 - 22:32

Какая библиотека лучше приспособлена для DOM парсинга XML:Expathttp://www.jclark.com/xml/expat.htmlXerces C++: http://xml.apache.or...es-c/index.htmllibxml: http://www.xmlsoft.orgИ почему?Доп. требования: Компиляция GCC, максимально портируемый код.
  • 0

#2 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 30 Ноябрь 2005 - 12:24

Какая библиотека лучше приспособлена для DOM парсинга XML:
Expat
http://www.jclark.com/xml/expat.html
Xerces C++:
    http://xml.apache.or...es-c/index.html
libxml:
    http://www.xmlsoft.org

И почему?

Доп. требования: Компиляция GCC, максимально портируемый код.

Просмотр сообщения

Если лучше - то MSXML - как по скорости (где-то раза в два быстрее всего перечисленного), так и по удобству (используется любым языком, который может создать COM-объект).

Из перечисленного - Xerces я не пробовал, libxml показался поприятнее.
Ну, и, конечно - нужно быть очень большим извращенцем, чтобы использовать XML из C++.
  • 0
Мир спасут красота и ковровые бомбардировки

#3 radev

radev

    Продвинутый

    Топикстартер
  • Участник
  • PipPipPip
  • 180 сообщений
  • 15 тем
  • Регистрация:10 Авг 2004
  • Пол:Мужчина
  • Город:Калуга

Отправлено 30 Ноябрь 2005 - 22:01

Если  лучше - то MSXML - как  по скорости (где-то раза в два быстрее всего перечисленного), так и по удобству (используется любым языком, который может создать COM-объект).

Из перечисленного - Xerces я не пробовал, libxml показался поприятнее.
Ну, и, конечно - нужно быть очень большим извращенцем, чтобы использовать XML из C++.

Просмотр сообщения

COM не подходит.

И любопытно, с каких пор формат файла определяет выбор языка программирования?

И что бы больше подошло?
  • 0

#4 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 02 Декабрь 2005 - 23:42

О, как раз сёдня в новостях видел:http://www.theserver...thread_id=37849

Ну, и, конечно - нужно быть очень большим извращенцем, чтобы использовать XML из C++.

Убил , от тебя не ожидал. :D

Сообщение отредактировал Axyd: 03 Декабрь 2005 - 00:15

  • 0
Харизма 20 см.

#5 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 03 Декабрь 2005 - 15:32

COM не подходит.

И любопытно, с каких пор формат файла определяет выбор языка программирования?

И что бы больше подошло?

Просмотр сообщения

Работать с текстом в C/C++ - все равно, что одевать штаны через голову - можно, но крайне неудобно.

Что подошло бы - практически все, что:
1) нормально работает с памятью (т.е., со сборкой мусора)
2) нетипизировано (не обязательно, но сильно упрощает жизнь)

JavaScript (идеально), Perl, Ruby, PHP и т.д.
  • 0
Мир спасут красота и ковровые бомбардировки

#6 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 03 Декабрь 2005 - 16:12

Убил , от тебя не ожидал. :D

Просмотр сообщения

А что в этом такого? Я C и C-подобные языки люто ненавижу.
  • 0
Мир спасут красота и ковровые бомбардировки

#7 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 05 Декабрь 2005 - 09:17

Работать с текстом в C/C++ - все равно, что одевать штаны через голову - можно, но крайне неудобно.

При чём вообще тут текст? Есть парсеры.Не думаю что работа с DOM в С++ чем то отличается от тогоже в Java.
  • 0
Харизма 20 см.

#8 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 07 Декабрь 2005 - 19:28

При чём вообще тут текст? Есть парсеры.

Не думаю что работа с DOM в С++ чем то отличается от тогоже в Java.

Просмотр сообщения

А я говорил, что Java сильно лучше?
1) Нормальная работа с XML подразумевает, что структуры XML отображаются на структуры приложения => для каждой структуры нужен отдельный класс.
При достаточно разветвленных структурах данных, количество классов начинает лавинообразно расти, что приводит к не менее лавинообразному падению эффективности (и выделение объектов, и обработка исключений в C++ удручающе неэффективны)
2) XML - глубоко нетипизированная вещь. В какой-то момент есть риск потеряться в явных и неявных преобразованиях типов. Вдобавок, в C++ отсутствует нормальная работа со строками, как явление. В совокупности с отслеживанием выделенных объектов, затраты на написание начинают превышать границы разумного
  • 0
Мир спасут красота и ковровые бомбардировки

#9 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 07 Декабрь 2005 - 19:49

[quote]JavaScript (идеально), Perl, Ruby, PHP[/quote]
[QUOTE]А я говорил, что Java сильно лучше?[QUOTE]
Сомневаюсь, что все вышеперечисленные языки составт хотябы пару процентов от объёма(стоимости) рынка Java. :)

JavaScript, Perl, PHP vs. Java, ты прикалываешся чтоли? :))) Ну ладно там Руби, новая звезда типа, да и то без нормальных средств разработки, новинка, поигратся если только.
  • 0
Харизма 20 см.

#10 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 08 Декабрь 2005 - 03:06

Сомневаюсь, что все вышеперечисленные языки составт хотябы пару процентов от объёма(стоимости) рынка Java. :)

Так я не понимаю: мы об удобстве или об объеме рынка? По этому параметру VB вне конкуренции.

Java - мертворожденный уродец, что бы ни говорили Sun и IBM. Единственное место, где ее позиции не выглядят шаткими - мобильные приложения (до тех пор, пока не появился .net cfme или что-то в этом роде).

JavaScript, Perl, PHP vs. Java, ты прикалываешся чтоли? :))) Ну ладно там Руби, новая звезда типа, да и то без нормальных средств разработки, новинка, поигратся если только.

Просмотр сообщения

Увы, я совершенно серьезен. Если сравнивать объем написанных Java-приложений с тем же PHP - маловероятно, что Java составит хотя бы сотые доли процента. Писать форум, CMS, портал на Java можно только за деньги, притом достаточно большие (и даже так удовольствия это не доставляет).

JavaScript безумно удобен, но (насколько я представляю ситуацию) в мире существует несколько десятков человек, которые могут на нем эффективно писать. За последние несколько лет я написал на нем порядка 100 К строк. Четко отслеживается, как выкидывание парадигм программирования, взятых из учебников, повышает скорость и читаемость кода и уменьшает объем.
Увы, учебники по прототипному программированию еще не написаны. А если писать процедурно или объектно-ориентировано - получается страшненько. (Впрочем, процедурные или ОО-программы получаются страшненькими на любом языке). Сильно помогают остатки умения писать на LISP, но пока я додумался их применить - много воды утекло.
  • 0
Мир спасут красота и ковровые бомбардировки

#11 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 08 Декабрь 2005 - 14:50

Java - мертворожденный уродец, что бы ни говорили Sun и IBM. Единственное место, где ее позиции не выглядят шаткими - мобильные приложения (до тех пор, пока не появился .net cfme или что-то в этом роде).

Её сильные позиции на данный момент это бизнес приложения. И мобильные тоже, и сейчас и в скором будущем ещё больше.

Писать форум, CMS, портал на Java можно только за деньги, притом достаточно большие (и даже так удовольствия это не доставляет).

http://mediaproducts...ibm/127514.htmlПочти все в качестве платформы используют Java. Я занимаюсь Java. Правда немного в другой области. Исключительно положительные впечатления. :)Большинство считают что Java это J2SE и делают на основании краткого обзора ложные выводы.Это не так, ударные силы и основная мощ Java - платформа J2EE. (А вовсе не аплеты и автоматический сборщик мусора, как пишут во многих придурковатых книжках)Впрочем, у нас слишком уж разные взгляды чтоб прийти к какомуто консенсусу, останемся каждый при своих. :)Хотя, может для того чтоб оч быстро что-то сделать лучше использовать пшп. У них разная область применения.ПШП это лопата, можно быстро вырыть канаву, но небоскрёб не построиш.А Java это целый комплекс оборудования, начиная от экскаваторов и заканчивая архитекторами, но нужно уметь им пользоватся.

Сообщение отредактировал Axyd: 08 Декабрь 2005 - 15:00

  • 0
Харизма 20 см.

#12 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 08 Декабрь 2005 - 14:54

А почти всё бабло идёт с небоскрёбов ;)С канавы разве что на портки :)
  • 0
Харизма 20 см.

#13 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 08 Декабрь 2005 - 20:51

Впрочем, у нас слишком уж разные взгляды чтоб прийти к какомуто консенсусу, останемся каждый при своих. :)

Хотя, может для того чтоб оч быстро что-то сделать лучше использовать пшп. У них разная область применения.
ПШП это лопата, можно быстро вырыть канаву, но небоскрёб не построиш.
А Java это целый комплекс оборудования, начиная от экскаваторов и заканчивая архитекторами, но нужно уметь им пользоватся.

Просмотр сообщения

Так небоскреб и на Java не построишь. 2-3 этажа, максимум пять. Можно девять, но крыша протекать будет, электричество отключаться, канализация периодически забиваться.... Для небоскребов народ использует старые, проверенные вещи: Lisp, Smalltalk и Forth.
Military Simulators - традиционно Smalltalk, большие торговые системы (класса, например, Yahoo Store) - Lisp, иногда Smalltalk, серьезное железо крутить в реальном времени (e.g. радиотелескоп) - Forth. И никакие новомодные игрушки (упор на это слово) там не приживаются: людям работать надо, а не фигней страдать.

Думаешь от хорошей жизни Microsoft за H# (aka Haskell.net) взялся? Фигу. Им хочется пролезть туда, где ни C#, ни Java - не место.

Опять же, все UML, паттерны проектирования и прочие активно проталкиваемые вещи - прямое свидетельство того, что язык к которому это относится... как бы это сказать помягче... не совсем подходит для решения поставленных задач.

When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough-- often that I'm generating by hand the expansions of some macro that I need to write.
© Paul Graham
http://www.paulgraham.com/icad.html - насто ятельно рекомендуется к прочтению.
  • 0
Мир спасут красота и ковровые бомбардировки

#14 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 08 Декабрь 2005 - 21:29

Так небоскреб и на Java не построишь. 2-3 этажа, максимум пять.

Ну а как же SAP R3? :)Система разрабатываемая порядка 500 девелоперами в течении нескольких лет может быть написана на JavaScript? :)Или средства разработки, MS Visual Studio отсасывает по полной по сравнению например с Eclipse, Idea. Что за среды для JavaScript или PHP вообще не слышал.

http://www.paulgraham.com/icad.html

Просмотрел, в статье про преимущества Lispa слово Java упоминается больше чем Lisp :).Есть отличная, мощная, постоянно развивающаяся среда Java. И есть все остальные, Лиспы, Ruby, Phython, ... так сказать эксперименты. И как только какойто из этих экспериментов оказывается успешным, успешная идея внедряется на Java. :)Например в следующей версии планируется динамическая компиляция (хз как точно называется). (Идея из тогоже Руби или Питона)
  • 0
Харизма 20 см.

#15 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 08 Декабрь 2005 - 21:40

When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough-- often that I'm generating by hand the expansions of some macro that I need to write.

Ну ты даёш, чувак пишет про то что если приходится писать что-то ещё помимо бизнес логики то это хреново. Ясен пень что хреново! :DПаттерны программирования это вовсе не "что-то", что приходится писать помимо логики задачи. Паттерн - это абстракция решения некоторой задачи. Взяли самые классные продукты, выдернули оттуда лучшие технологические(архитектурные) решения и записали их в каталоге. И получились паттерны программирования.А чувак из СС походу этого не догоняет.
  • 0
Харизма 20 см.

#16 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 08 Декабрь 2005 - 22:25

Ну а как же SAP R3? :)

Система разрабатываемая порядка 500 девелоперами в течении нескольких лет может быть написана на JavaScript? :)

Да. Только, я боюсь, для нее понадобится не 500 девелоперов, а 50. Да и сроки будут меньше, раз эдак в несколько.

Или средства разработки, MS Visual Studio отсасывает по полной по сравнению например с Eclipse, Idea. Что за среды для JavaScript или PHP вообще не слышал.

У меня есть легкое подозрение, что последний раз MSVC ты видел лет десять назад. С тех пор изменилось многое.

Idea я не видел, а вот Eclipse я бы не отнес в категорию того, что стоит использовать. Редкостно неприятная вещица.
И вообще, я не видел ни одной Java-программы, которой можно было бы пользоваться. В отличие от.

Просмотрел, в статье про преимущества Lispa слово Java упоминается больше чем Lisp :).

Если ты не знаешь, что такой Paul Graham - там есть раздел "Bio".

Есть отличная, мощная, постоянно развивающаяся среда Java. И есть все остальные, Лиспы, Ruby, Phython, ... так сказать эксперименты. И как только какойто из этих экспериментов оказывается успешным, успешная идея внедряется на Java. :)
Например в следующей версии планируется динамическая компиляция (хз как точно называется). (Идея из тогоже Руби или Питона)

Просмотр сообщения

Мда. Давно я так не смеялся. Вопрос на засыпку: сколько лет Lispу ? Сколько лет Java ?
  • 0
Мир спасут красота и ковровые бомбардировки

#17 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 08 Декабрь 2005 - 22:51

Ну ты даёш, чувак пишет про то что если приходится писать что-то ещё помимо бизнес логики то это хреново. Ясен пень что хреново! :D

Удивительно то, что подавляющее большинство принимает ситуацию, когда необходимо писать кучу дерьма помимо бизнес логики, как реальность, данную в ощущениях.

Паттерны программирования это вовсе не "что-то", что приходится писать помимо логики задачи.
Паттерн - это абстракция решения некоторой задачи.
Взяли самые классные продукты, выдернули оттуда лучшие технологические(архитектурные) решения и записали их в каталоге. И получились паттерны программирования.

Просмотр сообщения

Поясняю: если какое-то решение хорошее, полезное и эффективное - место ему - в библиотеках. Если же его приходится использовать раз за разом - определенно, что-то не так. Либо со средой программирования, либо с проектированием.

Я немного перейду на личности, ок? Сейчас ты пишешь на Java - хорошо. Это позволяет тебе иметь твой кусок хлеба с ветчиной - совсем замечательно. Но, если все вдруг забросят Java и перейудт, скажем, на C# - что ты будешь делать? Это и заставляет тебя говорить о крутости Java. Я прав?

Я пишу на всем. (Разве что до Brainfuck никак не доберусь). 4-5 языков в рамках одного проекта - вполне нормальная ситуация. Мне, с одной стороны, есть с чем сравнивать, с другой стороны, какие бы языки и технологии ни применялись, у меня будет мой бутерброд с икрой. Поэтому я могу отстаивать те подходы, которые удобны и притны в использовании.
Да, за то, чтобы сидеть на табуретке с гвоздями, вполне могут платить, но я предпочту удобное мягкое кресло, сколько бы меня ни убеждали, что упомянутая табуретка - выгоднее.
  • 0
Мир спасут красота и ковровые бомбардировки

#18 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 08 Декабрь 2005 - 23:19

Вообще, вернемся к теме.Буквально сегодня м не понадобилось поработать с XML. Посмотрел я на работу с DOM, повздыхал и решил наваять маленький постпроцессор, который строит по DOM tree объекты. Т.е., из:
<root>  <item attr1=value1 attr2=value2><subitem>data</subitem></item>   <item attr1=value3 attr2=value4><subitem>data2</subitem></item> </root>
строится
{ item: [{ attr1:value1, attr2: value2, subitem:data}, { attr1: value3, attr2: value4, subitem: data2} ]}
Или, проще говоря, value4, например, можно получить как root.item[1].attr2При этом объект, соответствующий тэгу, может быть как типизированным, так и нетипизированным.Полчаса работы. 19 строк (25 с комментариями). Вопрос на засыпку: сколько времени и кода понадобится, чтобы сделать такое на Java (про C++ я просто молчу) при условях: 1) структура и тэги XML заранее неизвестны (у меня ограничение, что обрабатываются только элементы, атрибуты и текст, остальное пропускается) 2) вложенность тэгов может быть произвольной.
  • 0
Мир спасут красота и ковровые бомбардировки

#19 vint83

vint83

    Продвинутый

  • Новичок
  • PipPipPip
  • 178 сообщений
  • 11 тем
  • Регистрация:13 Июн 2004
  • Пол:Мужчина
  • Город:Калуга-Москва

Отправлено 09 Декабрь 2005 - 01:39

Нет так уж много,причем используя довольно примитивный tinyxml
doc.FirstChildElement()->FirstChildElement()->NextSiblingElement()->FirstAttribute()->Next()->Value();

  • 0

#20 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 09 Декабрь 2005 - 03:42

Нет так уж много,причем используя довольно примитивный tinyxml

doc.FirstChildElement()->FirstChildElement()->NextSiblingElement()->FirstAttribute()->Next()->Value();

Просмотр сообщения

Еще раз: XML должен преобразовываться в объекты языка. Т.е., в случае C(++){0,1} к полю нужен доступ вида root->item[1]->arg2.

Плюс к тому, речь не шла о разовом доступе. Штука писалась для того, чтобы можно было нормально подгружать с сервера внутренние данные приложения. Соответственно, вопрос был про объем сериализатора для произвольных структур.

Конкретно по этому приложению - подгружается порядка 20 типов объектов, в них, в общей сложности, порядка 100 полей (считая только те, которые инициализируются server-side; client-side - раза в три больше) и достаточно ощутимое количество методов.

Чтобы усугубить картину, эти объекты используются если не на каждой второй, то на каждой третьей строчке точно. Какова вероятность пропустить где нибудь NextSiblingElement ?

Сообщение отредактировал walenok: 09 Декабрь 2005 - 03:44

  • 0
Мир спасут красота и ковровые бомбардировки

#21 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 09 Декабрь 2005 - 11:40

class Item{    public String attr1;    public String attr2;}public List<Item> root = new ArrayList<Item>();XMLDecoder decoder = new XMLDecoder("file.xml");Root root = (Root) decoder.readObject();String value = root.get(2).attr2;
Это по простому, можно сделать ещё несколькими способами управляя мапингом обектов на XML елементы, генерацию Java обектов по XML схеме и ещё с целой кучей наворотов.

Поясняю: если какое-то решение хорошее, полезное и эффективное - место ему - в библиотеках. Если же его приходится использовать раз за разом - определенно, что-то не так. Либо со средой программирования, либо с проектированием.

Нет не так. Паттерны это скелет, архитектура, фреймворк. Паттерны это и есть проектирование, не имеют ничего общего с кодингом. MVC, Composite, Strategy это что кодинг?

Я немного перейду на личности, ок? Сейчас ты пишешь на Java - хорошо. Это позволяет тебе иметь твой кусок хлеба с ветчиной - совсем замечательно. Но, если все вдруг забросят Java и перейудт, скажем, на C# - что ты будешь делать? Это и заставляет тебя говорить о крутости Java. Я прав?

Нет. 3-4 года назад я потратил 2 месяца изучая обзоры и прогнозы по языкам программирования и технологиям, и выбрал Java. (До этого писал на C++)К томуже в скором времени не я, а на меня будут работать. :)

У меня есть легкое подозрение, что последний раз MSVC ты видел лет десять назад. С тех пор изменилось многое.

Использовал MSVC 6.0, видел Net, сосут по сравнению с Eclipse 3.1 (Кстати JBuilder почему-то считающийся у нас в России одним из лучших средств разработки для Java, на самом деле полный отстой).

Сообщение отредактировал Axyd: 09 Декабрь 2005 - 11:46

  • 0
Харизма 20 см.

#22 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 09 Декабрь 2005 - 12:08

Кстати, название JavaScript это маркетинговый ход, его пытались продвинуть используя имя Java. :)
  • 0
Харизма 20 см.

#23 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 09 Декабрь 2005 - 20:06

class Item{    public String attr1;    public String attr2;}public List<Item> root = new ArrayList<Item>();XMLDecoder decoder = new XMLDecoder("file.xml");Root root = (Root) decoder.readObject();String value = root.get(2).attr2;
Это по простому, можно сделать ещё несколькими способами управляя мапингом обектов на XML елементы, генерацию Java обектов по XML схеме и ещё с целой кучей наворотов.

Мда. Как и ожидалось - результат удручающий. Даже для однородного файла - куча кода. Что будет для более реальных примеров - представить страшно. Более жизненный пример - что-то вроде:
<pack id='orderid'>  <template id='templateid1' type='templatetype'>     <width>value1</width>     <height>value2</height>  <template>  <template .... /template> <!-- их много-->  <page id='pageid'>    <template id='templateid' />    <filename>filename</filename>    <filelength>value3</filelength>    <crop>      <w>value4</w>      <h>value5</h>      <x>value6</x>      <y>value7</y>    </crop>    <annotation x='value8' y='value9'>text</annotation>    <annotation.../annotation>  </page>  <page ... /page> <!-- страниц тоже много, 
И тут уже ArrayList не спасет. Генерация по схеме будет методом, но вопрос о размере (и, стало быть - эффективности) кода это не снимает.

Нет не так. Паттерны это скелет, архитектура, фреймворк. Паттерны это и есть проектирование, не имеют ничего общего с кодингом. MVC, Composite, Strategy это что кодинг?

Нет. Но и не паттерны. Паттерн - это Delegate, Factory, Singleton - костыли для компенсации иммутабельности языка. Я бы незвал все это ни приятным, ни очевидным.
  • 0
Мир спасут красота и ковровые бомбардировки

#24 walenok

walenok

    Продвинутый

  • Новичок
  • PipPipPip
  • 222 сообщений
  • 4 тем
  • Регистрация:15 Окт 2004
  • Город:Москва

Отправлено 09 Декабрь 2005 - 20:16

Кстати, название JavaScript это маркетинговый ход, его пытались продвинуть используя имя Java. :)

Просмотр сообщения

Это логично.
JavaScript (в девичестве - LiveScript) придумала Netscape, после того, как идея использования Java в web-приложениях потерпела сокрушительный крах.
  • 0
Мир спасут красота и ковровые бомбардировки

#25 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 14 Декабрь 2005 - 18:33

Можно даже ещё короче, даже класы не нужно писать, они сами генерируются по XSD схеме. :) (http://xmlbeans.apache.org/)Месяц назад закончили проект по интеграции ~10 независимых систем у заказчика. Тысячи обектов, никаких тормозов не заметили :)
  • 0
Харизма 20 см.

#26 Bolan

Bolan

    шволочь

  • Жильцы
  • PipPipPipPipPipPipPipPip
  • 3 296 сообщений
  • 54 тем
  • Регистрация:23 Сен 2005
  • Пол:Мужчина

Отправлено 18 Декабрь 2005 - 15:11

Или средства разработки, MS Visual Studio отсасывает по полной по сравнению например с Eclipse, Idea. Что за среды для JavaScript или PHP вообще не слышал.
Просмотрел, в статье про преимущества Lispa слово Java упоминается больше чем Lisp :).

Есть среда разработки. Емакс зовется. Есть вим. Есть сликедит. Есть миндмапер для разработки собственно каркаса программы - который требует порядка 70% обдумывания. А зашоренность на одном языке к хорошему не приводит.

Есть отличная, мощная, постоянно развивающаяся среда Java. И есть все остальные, Лиспы, Ruby, Phython, ... так сказать эксперименты. И как только какойто из этих экспериментов оказывается успешным, успешная идея внедряется на Java. :)
Например в следующей версии планируется динамическая компиляция (хз как точно называется). (Идея из тогоже Руби или Питона)

Просмотр сообщения

То есть, как обычно, ничего нового не придумывается, постоянно плететесь в хвосте. Видать, судьба такая, постоянно догонять. И постоянно твердить, что ява лучшая. Для самоуспокоения.
  • 0

#27 Axyd

Axyd

    Новичок

  • Новичок 80 lvl
  • Pip
  • 72 сообщений
  • 8 тем
  • Регистрация:21 Окт 2004
  • Город:Калуга

Отправлено 19 Декабрь 2005 - 21:38

Хех, случайно наткнулся, в Java можно даже использовать XML также как ты написал :Dhttp://groovy.codehaus.org/GPath
...gromit =  node.character[1]...

Есть миндмапер для разработки собственно каркаса программы - который требует порядка 70% обдумывания.

А чем он лучше UML?

То есть, как обычно, ничего нового не придумывается, постоянно плететесь в хвосте. Видать, судьба такая, постоянно догонять. И постоянно твердить, что ява лучшая. Для самоуспокоения.

Ну да, O/R мапинги, шаблоны, сервисы, компонентная разработка из пшп пришли :D.
  • 0
Харизма 20 см.

#28 Bolan

Bolan

    шволочь

  • Жильцы
  • PipPipPipPipPipPipPipPip
  • 3 296 сообщений
  • 54 тем
  • Регистрация:23 Сен 2005
  • Пол:Мужчина

Отправлено 20 Декабрь 2005 - 08:57

А чем он лучше UML?

А зачем лишняя сущность? Есть русский язык. Для описания. Для комментариев. Есть инструмент помогающий обдумывать нетривиальные задачи. Чем здесь поможет умль?

Ну да, O/R мапинги, шаблоны, сервисы, компонентная разработка из пшп пришли :D.

Просмотр сообщения

Их Алан Кей придумал. "Автор всего" (с).
  • 0




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных