Re[5]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 08:54
Оценка:
Здравствуйте, anonymous, Вы писали:

N>>>> — javascript — слишком убоговатый и малофункциональный;

Г>>>в чем "убоговатый"? какой функциональности не хватает?
N>>Работы с файлами и базами данных

A>А какой из выше перечисленных имеет встроенную функциональность работы с БД? Зачем скрипту в браузере уметь работать с файлами?


Никто не говорит о браузерах. Просто был вопрос какой из динамических языков лучше, и я не мог пропустить javascript, т.к. он все-таки является динамическим языком, используемым программистами. Конечно, как динамический язык общего назначения он не подходит, т.к. работает только внутри песочницы браузера, и по умолчанию не имеет доступа к внешним ресурсам.
Re[3]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 09:03
Оценка:
Здравствуйте, anonymous, Вы писали:

N>> — perl — нечитабельный и способствует к тому чтобы программист писал нечитабельные скрипты;

N>> — ruby — позволяет слишком много вольностей, что в итоге опять-таки может привести к нечитабельности;

A>Это проблемы программиста, а не языка.


Если бы все программисты были бы идеальными, тогда даже разговора бы не было. В реальных условиях чем больше язык и стандарты кодирования ограничивают программиста, тем обычно получается лучше, т.к. код прежде всего создается для людей, а не для машин. Конечно, имеются в виду промышленное программирование в командах, писать для себя на один раз — это совершенно другая тема.

N>> — php — даже разговоров быть не может, странно что вообще его кто-то использует;


A>Низкий порог вхождения.


И что? Из этого следует что он лучше? В Basic тоже низкий порог вхождения — это автоматом делает его лучшим?

N>> — python — есть свои недостатки, но несомненный лидер на фоне остальных.


A>Из чего это следует?


Был поставлен вопрос "что лучше?" Я на него ответил — конечно, со своей колокольни, и претендовать ни на что не хочу.
Re[6]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 09:13
Оценка:
Здравствуйте, Nuald, Вы писали:

N>>>>> — javascript — слишком убоговатый и малофункциональный;

Г>>>>в чем "убоговатый"? какой функциональности не хватает?
N>>>Работы с файлами и базами данных
A>>А какой из выше перечисленных имеет встроенную функциональность работы с БД? Зачем скрипту в браузере уметь работать с файлами?
N>Никто не говорит о браузерах. Просто был вопрос какой из динамических языков лучше, и я не мог пропустить javascript, т.к. он все-таки является динамическим языком, используемым программистами. Конечно, как динамический язык общего назначения он не подходит, т.к. работает только внутри песочницы браузера, и по умолчанию не имеет доступа к внешним ресурсам.

В WSH используется JavaScript, а это далеко не браузер. Да и в браузерах через COM JavaScript умеет работать и с БД, и с ФС.
Re[4]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 09:23
Оценка: -1
Здравствуйте, Nuald, Вы писали:

N>>> — perl — нечитабельный и способствует к тому чтобы программист писал нечитабельные скрипты;

N>>> — ruby — позволяет слишком много вольностей, что в итоге опять-таки может привести к нечитабельности;
A>>Это проблемы программиста, а не языка.
N>Если бы все программисты были бы идеальными, тогда даже разговора бы не было. В реальных условиях чем больше язык и стандарты кодирования ограничивают программиста, тем обычно получается лучше, т.к. код прежде всего создается для людей, а не для машин. Конечно, имеются в виду промышленное программирование в командах, писать для себя на один раз — это совершенно другая тема.

(:
[r'% r',][~0] % {(): '''^''' uR'|' in 2**2*__name__[::-8//(lambda _:~_)(3 or 2)]*2}<2>3j,(`3`) is ([])

Да-да, это Python. Вердикт: "нечитабельный и способствует тому, чтобы программист писал нечитабельные скрипты".

N>>> — php — даже разговоров быть не может, странно что вообще его кто-то использует;

A>>Низкий порог вхождения.
N>И что? Из этого следует что он лучше? В Basic тоже низкий порог вхождения — это автоматом делает его лучшим?

Это был ответ на вопрос о его популярности.
Re[4]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 09:24
Оценка:
Здравствуйте, VoidEx, Вы писали:

N>>> — perl — нечитабельный и способствует к тому чтобы программист писал нечитабельные скрипты;

N>>> — ruby — позволяет слишком много вольностей, что в итоге опять-таки может привести к нечитабельности;
A>>Это проблемы программиста, а не языка.
VE>Если нечитабельность и вольность отрицательно сказываются на популярности языка, то это именно его проблема, а не тех, кто его не использует.

Всё сложное непопулярно, вот PHP простой, рекомендую.
Re[7]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 09:27
Оценка:
Здравствуйте, anonymous, Вы писали:

N>>Никто не говорит о браузерах. Просто был вопрос какой из динамических языков лучше, и я не мог пропустить javascript, т.к. он все-таки является динамическим языком, используемым программистами. Конечно, как динамический язык общего назначения он не подходит, т.к. работает только внутри песочницы браузера, и по умолчанию не имеет доступа к внешним ресурсам.


A>В WSH используется JavaScript, а это далеко не браузер. Да и в браузерах через COM JavaScript умеет работать и с БД, и с ФС.


Угумс, знаю, поэтому и написал, что по умолчанию (выделил жирным). А вы пробовали отлаживать WSH? Да я бы и не сказал, что с COM удобно работать, особенно если нужны нетривиальные вещи. И вообще, мне WSH как-то побоку, а всем его использующим, если уж застряли на винде, мог бы только посоветать юзать powershell — в принципе, мне кажется, и в Microsoft так думают, иначе бы не делали новый скриптовый язык.
Re[5]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 09:50
Оценка:
Здравствуйте, anonymous, Вы писали:

A>
A>[r'% r',][~0] % {(): '''^''' uR'|' in 2**2*__name__[::-8//(lambda _:~_)(3 or 2)]*2}<2>3j,(`3`) is ([])
A>

A>Да-да, это Python. Вердикт: "нечитабельный и способствует тому, чтобы программист писал нечитабельные скрипты".

Я и не говорил, что он идеален. А нечитабельный код при старании можно написать на любом языке программирования. Ну и конечно, не буду говорить, что вышеприведенный код высосан из пальца и смысла не имеет, и такой код нормальные программисты не пишут — ибо это фактически объявление кортежа (False, False). А вот для того же Perl-а, конструкции c использование $_, @_, <>, \$ и т.п. вполне в порядке вещей, и без бутылки чая иногда в коде не разберешься (хотя и не буду спорить, что иногда пишут и достойный код, но это обычно исключение).


N>>>> — php — даже разговоров быть не может, странно что вообще его кто-то использует;

A>>>Низкий порог вхождения.
N>>И что? Из этого следует что он лучше? В Basic тоже низкий порог вхождения — это автоматом делает его лучшим?

A>Это был ответ на вопрос о его популярности.


А, ну это да. Это же и объясняет популярность бейсика, не лучшего, но очень популярного ЯП.
Re[5]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 10:02
Оценка:
Здравствуйте, anonymous, Вы писали:

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


A>Всё сложное непопулярно, вот PHP простой, рекомендую.


Python сложный?? Ой, умоляю — не надо смешить мои тапочки
Если не углублять в метапрограммирование, всякого рода list comprehensions, декораторы и остальные фичи, то программировать на нем легко и просто (если конечно, привыкнешь к отступам).
Вот то, что он не такой популярный — это другой вопрос. ИМХО, вижу две основные причины:
— нет хорошего встроенного GUI-фреймворка (tk все-таки не то);
— нет настолько же простой схемы деплоймента на веб-серверах как в том же PHP.

Но с другой стороны, только PHP имеет такую простую схему деплоймента, за что его и обожают всякого рода хакеры — залил через дырку на сайте какой-нить шелл и хакаешь себе дальше сайт в свое удовольствие Так что за удобным деплойментом скрываются всякого рода security vulnerabilities.

А про GUI — это вообще отдельная песня. Я, например, использую у себя PyGtk, и уже запарился собираться инсталляки под винду — Gtk за собой столько всего тянет Потом может посмотрю на PyQT, но пока нет надобности.
Re[6]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 10:14
Оценка:
Здравствуйте, Nuald, Вы писали:

A>>
A>>[r'% r',][~0] % {(): '''^''' uR'|' in 2**2*__name__[::-8//(lambda _:~_)(3 or 2)]*2}<2>3j,(`3`) is ([])
A>>

A>>Да-да, это Python. Вердикт: "нечитабельный и способствует тому, чтобы программист писал нечитабельные скрипты".
N>Я и не говорил, что он идеален. А нечитабельный код при старании можно написать на любом языке программирования. Ну и конечно, не буду говорить, что вышеприведенный код высосан из пальца и смысла не имеет, и такой код нормальные программисты не пишут — ибо это фактически объявление кортежа (False, False).

Вообще да, код придуман специально. Но ведь можно писать так, а можно так не писать. С Perl то же самое.

N>А вот для того же Perl-а, конструкции c использование $_, @_, <>, \$ и т.п. вполне в порядке вещей, и без бутылки чая иногда в коде не разберешься (хотя и не буду спорить, что иногда пишут и достойный код, но это обычно исключение).


Perl нужно уметь готовить, и употреблять его тоже нужно уметь. Трудности чтения говорят о том, что недостаточно практики, а не о том, что язык нечитаемый. (Если конечно не касаться кода, специально сделанного нечитаемым.)

Перечисленные выше конструкции скорее можно отнести к синтаксическому сахару. Трудность их чтения проистекает исключительно из отсутствия аналогов в других распростанённых языках.
Re[8]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 10:17
Оценка:
Здравствуйте, Nuald, Вы писали:

N>>>Никто не говорит о браузерах. Просто был вопрос какой из динамических языков лучше, и я не мог пропустить javascript, т.к. он все-таки является динамическим языком, используемым программистами. Конечно, как динамический язык общего назначения он не подходит, т.к. работает только внутри песочницы браузера, и по умолчанию не имеет доступа к внешним ресурсам.

A>>В WSH используется JavaScript, а это далеко не браузер. Да и в браузерах через COM JavaScript умеет работать и с БД, и с ФС.
N>Угумс, знаю, поэтому и написал, что по умолчанию (выделил жирным).

А по умолчанию в браузере и не нужна ФС, и БД не нужна. А там, где нужны, все необходимые интерфейсы присутствуют.

N>А вы пробовали отлаживать WSH? Да я бы и не сказал, что с COM удобно работать, особенно если нужны нетривиальные вещи. И вообще, мне WSH как-то побоку, а всем его использующим, если уж застряли на винде, мог бы только посоветать юзать powershell — в принципе, мне кажется, и в Microsoft так думают, иначе бы не делали новый скриптовый язык.


Да, я на WSH даже утилиты писал. Ничего так, немного практики и отладка идёт.
Re[9]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 10:30
Оценка: -1
Здравствуйте, anonymous, Вы писали:

A>А по умолчанию в браузере и не нужна ФС, и БД не нужна. А там, где нужны, все необходимые интерфейсы присутствуют.


Блин, я не понимаю — вы пытаетесь защитить javascript? Но ведь и так понятно, что как язык программирования он достаточно слаб. Простейший пример — реализация классов. Только не надо говорить, что классы не нужны — мало ли какие случаи бывают. Когда под боком есть достаточно мощные и удобные ЯП, зачем использовать более слабые альтернативы?
Re[10]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 10:37
Оценка: +1
Здравствуйте, Nuald, Вы писали:

A>>А по умолчанию в браузере и не нужна ФС, и БД не нужна. А там, где нужны, все необходимые интерфейсы присутствуют.

N>Блин, я не понимаю — вы пытаетесь защитить javascript? Но ведь и так понятно, что как язык программирования он достаточно слаб. Простейший пример — реализация классов. Только не надо говорить, что классы не нужны — мало ли какие случаи бывают. Когда под боком есть достаточно мощные и удобные ЯП, зачем использовать более слабые альтернативы?

В JavaScript нет классов вообще, это прототип-ориентированный язык, а не класс-ориентированный. Видимо, именно об этом Вас спрашивал Гест в сообщении выше. Вообще, понимание используемой в JavaScript парадигмы ООП — основы понимания этого языка. Отсюда можно сделать вывод, что с JavaScript Вы знакомы только понаслышке и, в общем-то, не можете судить о его слабых и сильных сторонах.
Re[6]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 10:41
Оценка:
Здравствуйте, Nuald, Вы писали:

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

A>>Всё сложное непопулярно, вот PHP простой, рекомендую.
N>Python сложный?? Ой, умоляю — не надо смешить мои тапочки

Вообще мы Perl обсуждали.

N>Если не углублять в метапрограммирование, всякого рода list comprehensions, декораторы и остальные фичи, то программировать на нем легко и просто (если конечно, привыкнешь к отступам).


Если не использовать регулярные выражения, встроенные переменные и прочие фичи, то Perl вполне читаемый и не сложный. Имеет ли смысл тогда сравнивать языки без этих фич?
Re[7]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 10:43
Оценка: +1
Здравствуйте, anonymous, Вы писали:

A>Perl нужно уметь готовить, и употреблять его тоже нужно уметь. Трудности чтения говорят о том, что недостаточно практики, а не о том, что язык нечитаемый. (Если конечно не касаться кода, специально сделанного нечитаемым.)


Вот часть моего кода, который натравливает Perl::Critic на все скрипты в каталогах и подкаталогах (соотвественно, сам скрипт тоже проходит валидацию Perl::Critic, т.е. считается анализатором достаточно качественным):

my @folders;
foreach (@both) {
  next if /^(\.|\.\.)$/;
  if (-d) {
    push(@folders, $_);
  } else {
    push(@all, $_) if /.+\.(pl|cgi|pm)$/;
  }
}


Вроде бы все просто, и нормально читается. Но если писать (или читать) на Perl-е достаточно редко, то сразу в этот код и не вникнуть. А ведь это еще хороший пример. И такое я вижу сплошь и рядом — Perl способствует к тому, что код получается не особо многословный, и надо иметь большую силу духа, чтобы заставить себя не пользоваться возможностями по умолчанию.

A>Перечисленные выше конструкции скорее можно отнести к синтаксическому сахару. Трудность их чтения проистекает исключительно из отсутствия аналогов в других распростанённых языках.


Не спорю, но нужны ли такие аналоги большинству? Сильно сомневаюсь, что для обычного программиста читать конструкцию if (-d) будет проще чем if (os.path.isdir(directory_name)) — особенно если ты не гуру перла (а во втором случае даже не надо знать питон, чтобы догадаться о чем речь).
Re[7]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 10:49
Оценка:
Здравствуйте, anonymous, Вы писали:

N>>Если не углублять в метапрограммирование, всякого рода list comprehensions, декораторы и остальные фичи, то программировать на нем легко и просто (если конечно, привыкнешь к отступам).


A>Если не использовать регулярные выражения, встроенные переменные и прочие фичи, то Perl вполне читаемый и не сложный. Имеет ли смысл тогда сравнивать языки без этих фич?


А никто и не сравнивает. Я имел в виду, что Python достаточно простой, и можно его использовать даже не зная всяких мудреных фич. А в Perl-е даже функцию с параметрами нельзя использовать не зная о существовании @_.
Re[8]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 10:58
Оценка:
Здравствуйте, Nuald, Вы писали:

N>>>Если не углублять в метапрограммирование, всякого рода list comprehensions, декораторы и остальные фичи, то программировать на нем легко и просто (если конечно, привыкнешь к отступам).

A>>Если не использовать регулярные выражения, встроенные переменные и прочие фичи, то Perl вполне читаемый и не сложный. Имеет ли смысл тогда сравнивать языки без этих фич?
N>А никто и не сравнивает. Я имел в виду, что Python достаточно простой, и можно его использовать даже не зная всяких мудреных фич. А в Perl-е даже функцию с параметрами нельзя использовать не зная о существовании @_.

Ну да, а в Python нельзя функцию с параметрами использовать, не зная, что такое аргументы. Можно ли из этого сделать вывод, что плохо всё непривычное Вам?
Re[11]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 11:02
Оценка:
Здравствуйте, anonymous, Вы писали:

A>В JavaScript нет классов вообще, это прототип-ориентированный язык, а не класс-ориентированный. Видимо, именно об этом Вас спрашивал Гест в сообщении выше. Вообще, понимание используемой в JavaScript парадигмы ООП — основы понимания этого языка. Отсюда можно сделать вывод, что с JavaScript Вы знакомы только понаслышке и, в общем-то, не можете судить о его слабых и сильных сторонах.


Ну если использование во всю jQuery можно назвать "знакомством понаслышке", тогда я умываю руки. И из того, что javascript является прототип-ориентированным языком, автоматически не следует, что он чем-то лучше других. Для эстетов — может да, для мейнстрима — скорее нет. Конечно, есть всякие фреймворки, типа того же jQuery, которые облегчают написание скриптов, но ведь не зря Google разработала GWT — значит не все так гладко со яваскриптом, если им проще писать на чистой Java, а потом транслировать код в JS.
Re[9]: Что лучше?
От: Nuald Россия http://nuald.blogspot.com
Дата: 26.12.08 11:14
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Ну да, а в Python нельзя функцию с параметрами использовать, не зная, что такое аргументы. Можно ли из этого сделать вывод, что плохо всё непривычное Вам?


В принципе да — большую часть времени код читается, а не пишится, и если мне синтаксис непривычен, или не хочется держать в голове какие умолчания предполагает данный ЯП, то я автоматом считаю такой код малочитабельным. Вот такой я старый маразматик И думаю, со мной согласятся многие team leader-ы или PM-ы, которым приходится делать codereview большого количества кода. Что ни говори, питоновский синтаксис ближе к естественному языку, чем того же Perl-а. И опять-таки не буду утверждать, что Python — серебряная пуля, в нем много недостатков, просто из того разнообразия, с которым я работал, он мне большего всего по душе.
Re[5]: Что лучше?
От: VoidEx  
Дата: 26.12.08 11:22
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Всё сложное непопулярно, вот PHP простой, рекомендую.

Очевидно, сложность является недостатком. Хотя я не согласен, что сложное непопулярно. От PHP воздержусь, спасибо.
Re[8]: Что лучше?
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.12.08 11:29
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Вроде бы все просто, и нормально читается. Но если писать (или читать) на Perl-е достаточно редко, то сразу в этот код и не вникнуть. А ведь это еще хороший пример.


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

N>И такое я вижу сплошь и рядом — Perl способствует к тому, что код получается не особо многословный, и надо иметь большую силу духа, чтобы заставить себя не пользоваться возможностями по умолчанию.


Ну вот мы и пришли к тому, что всё зависит от программиста, а не от языка.

A>>Перечисленные выше конструкции скорее можно отнести к синтаксическому сахару. Трудность их чтения проистекает исключительно из отсутствия аналогов в других распростанённых языках.

N>Не спорю, но нужны ли такие аналоги большинству? Сильно сомневаюсь, что для обычного программиста читать конструкцию if (-d) будет проще чем if (os.path.isdir(directory_name)) — особенно если ты не гуру перла (а во втором случае даже не надо знать питон, чтобы догадаться о чем речь).

Большинство вообще программировать не умеет.

Про -X достаточно знать, что эти операторы предназначены для тестирования файлов, а то, что "d" значит "directory", по-моему достаточно очевидно. Но это опять же синтаксический сахар. В Python, к примеру, вообще нет подобного, os.path.isdir это уже библиотеки, для Perl тоже есть библиотека с "простым" синтаксисом.

$is_dir = -d $path;
$is_dir = Fcntl::S_ISDIR((stat($path))[2]);
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.