LINUX.ORG.RU
ФорумTalks

Вам не кажется, что Java и XML, как их сейчас употребляют, слишком многословны?

 


0

2

Названия переменных по 10-30 символов, полные имена классов, не умещающиеся в строку, сообщения о синтаксических ошибках на 5-10 килобайт текста c собственно ошибкой закопанной глубоко-глубоко...

★★★
Ответ на: комментарий от olegd

Конфиги в XML никуда не делись. Возможно, их можно не трогать, но авторы мануалов об этом не пишут.

Они считают, всем понятно, что

@Bean
public DataSource dataSource(...) {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl(url);
dataSource.setUsername(user);
dataSource.setPassword(password);
return dataSource;
}
тоже самое, что и
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="DriverClass" value="oracle.jdbc.driver.OracleDriver"\>
<property name="url" value="url"\>
...
</bean>

crutch_master ★★★★★
()

Я думаю ты не освоил либо слепой набор текста, либо автозавершение.

Возможно ты не освоил ни то ни то.

Предлагаю тебе писать на ассемблере.

Shulman
()

Не кажется, так оно и есть. Впрочем, XML, если его применять куда положено - для разметки текста - не сильно хуже альтернатив эквивалентного могущества. Т.ч. уточнение «как их употребляют» уместны, в чём я сильно не уверен в отношении жавы.

DonkeyHot ★★★★★
()

Ну, используй QBasic. Там всё коротенько и ясно.

tiinn ★★★★★
()

Т.е. ты предлагаешь вместо какой-нибудь UserName писать UN. а потом какой-нибудь Вася Пупкин, пытаясь вдуплить в ваш код, будет недоумевать «какой нахрен ООН, че он курил?».

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 1)
Ответ на: комментарий от RiseOfDeath

Во LDAP это неплохо работает :)

Я бы предпочёл вместо WildNonsenseFactoryUserName видеть wnfUser :) Но это только одно из проявлений многословности.

olegd ★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Ну не знаю, для меня yaml просто работает и там можно писать комментарии и многострочные тексты, в отличии от json.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

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

А закрывающие теги очень полезны, когда имеешь дело с портянкой текста.

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Когда имеешь портянку текста полезно свёртывание блока/элемента/диапазона просмотрщиком. А коммент по месту закрытия никто написать не мешает

Deleted
()
Ответ на: комментарий от Deleted

У тебя есть кроссплатформенный GUI-шный просмотрщик логов с автосворачиванием, который можно настроить меньше, чем за день?

olegd ★★★
() автор топика
Ответ на: комментарий от Deleted

В логах с трейсами в бесконечно длинных цепочках классов очень тяжело искать собственно сообщение об ошибке. Где их просматривать помимо консоли?

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

в бесконечно длинных цепочках

Так тема про длинну имён или про высокий уровень вложенности вызовов? С последним в больших системах беда безотносительно первого

Deleted
()
Ответ на: комментарий от demrnd

Ты его вот так:

{"test":"1", "arr":[1,2,3]}
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <arr>
      <element>1</element>
      <element>2</element>
      <element>3</element>
   </arr>
   <test>1</test>
</root>
перегони любым конвертером и ты избавишься от ненавистного json, будешь парсить полученное xml дерьмо и проклинать 1сников или откуда ты там это берешь.

crutch_master ★★★★★
()
Ответ на: комментарий от mimico

Ню ню...

>>> e = etree.XPathEvaluator(doc)
>>> print(e('es:hello(local-name(/a))'))
Ola a

>>> namespaces = {'f' : 'http://mydomain.org/myfunctions'}
>>> e = etree.XPathEvaluator(doc, namespaces=namespaces)
>>> print(e('f:hello(local-name(/a))'))
Hello a

>>> xslt = etree.XSLT(etree.XML('''
...   <stylesheet version="1.0"
...          xmlns="http://www.w3.org/1999/XSL/Transform"
...          xmlns:es="http://mydomain.org/myother/functions">
...     <output method="text" encoding="ASCII"/>
...     <template match="/">
...       <value-of select="es:hello(string(//b))"/>
...     </template>
...   </stylesheet>
... '''))
>>> print(xslt(doc))
Ola Haegar

demrnd
()
Ответ на: комментарий от mimico
<xsl:template match="*">
    <my:python-extension>
        <some-content />
    </my:python-extension>
</xsl:template>
>>> class MyExtElement(etree.XSLTExtension):
...     def execute(self, context, self_node, input_node, output_parent):
...         print("Hello from XSLT!")
...         output_parent.text = "I did it!"
...         # just copy own content input to output
...         output_parent.extend( list(self_node) )

demrnd
()
Ответ на: комментарий от bread

МФЦ это вообще кал мамонта, я в школе учился когда его пытался понять. Штабеля макросов эти. Только при чем тут С++, тут люди наваяли. А есть Qt, он няшен

i36_zubov
()

Ладно имена ты на их пути каталогов глянь в сорцах

org/corp/com/home/server/module/isp/main.java

Откуда такой бред чем src/main.java не угодил? Объясните джависты почему так? Или без этого никак?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.