Наверно некорректно:) Так, как единственным мотивом перехода на Linux считаете бесплатность.
Я использую Linux потому, что это Unix, а не из-за открытости/бесплатности.
Хотя, по большей части я пользуюсь MacOS'ом, т.к. это более «человечный» Unix.
Ну и на Windows я переходить я совсем не собираюсь. Ну только ради того, чтобы $1000 за фотошоп не платить:)
>>Windows из-за .NET Framework'a.
mono! Хотя, он так и будет всегда «догонятором» .net'а.
>>Имхо, ни одна другая пара ЯП+библиотека программ на сегодня не превосходят C#+.NET по удобству разработки.
Вы, судя по всему, динамические языки не пробовали:)
Сразу решил сделать клиент на вашем api. Такая проблема, перед скобкой(`{`) в json ответе идут три байта 0xFE 0xBB 0xFB. Что это?:) Из-за них вобщем ни java ни ruby ваш json не переваривает, приходиться до скобки все символы вручную убирать. Может быть я чегото не понял, и это не баг а фича?:) Но байта то 3, значит уже не BOM.
int main() { int i, n = 20; for (i = 0; i < n; n--) { printf("*"); } }
int main() { int i, n = 20; for (i = 0;-i < n; i--) { printf("*"); } }
int main() { int i, n = 20; for (i = 0; i + n; i--) { printf("*"); } }
Вы не поверите, но classmates.com еще не закрыли дырку:)
Меньше ста строк руби кода граббера, и у меня есть их код:)
Они кстати на перле написаны.
Судя по всему еще очень мало кто закрыл эту дырку, поторопились вы с обнародованием.
Парсер гуглозапроса inurl:.svn/entries и вот вам код половины интернета:)
Ну, в JS все очень от реализации зависит. Тот же аналог method_missing. Или eval в контексте, ниже вы говорите, что есть только в определенных версиях SpiderMonkey.
>Да и JS немалые ;) Такие же, в своём представлении.
Ну да. Вобщем так и есть. Но в данном случае «сахар» решает:) Хотя это конечно субъективно очень.
Ну, по сути прогресс языка это либо новая идеология(как си и си++), либо тюнинг старой идеологии(как c++ и java) либо как синтаксический сахар(как python и ruby).
Своими динамическими взможностями ruby превосходит js(по крайней мере в их «сахарности»).
Но все это легко парировать вашим аргументом — «допишу». Нет потоков? Портируем pthreads на SpiderMonkey. Нет сокетов? Напишим обертку. Недостаточно сладкий синтаксис? Пропатчим интерпретатор. Так можно дойти до того, что «ничто» ничем не хуже «супер мега языка»:) Потому как всегда можно дописать.
Может в том, что очень многое уже есть, и не надо дописывать, и есть прогресс?
>Я вообще не понимаю смысла в статье по ссылке. Уж извините.
Смысл, краткая иллюстрация возможностей метапрограммирования. Да, DSL для конфигов это не очень удобно, зато это необыкновенно удобно в контексте какой-либо библиотеки:) Таже синатра например.
>Я не понимаю зачем забивать гвозди электронным молотком под управлением Андроид…
Эм, теперь вы про то что в Ruby избыток функциональности? Или я нетак понял?:)
Корректно, например Ruby с Python или JS с Io. Хоть динамические классовые и близки к прототипам, но сами же указываете в статье их различия. Кстати, статья очень интересная, спасибо.
Хотя, можно эти различия считать несущественными, не буду спорить:)
Да, примеси не являются большим отличием Ruby. Схожая функциональность достигается прототипами.
Но опять же, прототипы и классы сравнивать не очень корректно.
Пример примеси:
module ExtString
def five_times
self*5
end
end
class String
include ExtString
end
puts "asdf".five_times
Замусоренность кода странноватыми подстановками говорит о его не ооп'шности.
Меня это например в питоне раздражает, почему длину строки я получаю функцией а не методом?
Я использую Linux потому, что это Unix, а не из-за открытости/бесплатности.
Хотя, по большей части я пользуюсь MacOS'ом, т.к. это более «человечный» Unix.
Ну и на Windows я переходить я совсем не собираюсь. Ну только ради того, чтобы $1000 за фотошоп не платить:)
mono! Хотя, он так и будет всегда «догонятором» .net'а.
>>Имхо, ни одна другая пара ЯП+библиотека программ на сегодня не превосходят C#+.NET по удобству разработки.
Вы, судя по всему, динамические языки не пробовали:)
Проверены такие символы:
Сам код: pastie.org/private/tsx9h978dw1jfekm0x1w
Возможно какие-нибудь операторы упустил. По всей ascii таблице долго проходиться:)
Что там писать-то, работы на полчаса:)
Но некоторые и вправду нормално скачиваются.
Уже подыскиваю хостинг под клон motherless.com:)
Меньше ста строк руби кода граббера, и у меня есть их код:)
Они кстати на перле написаны.
Судя по всему еще очень мало кто закрыл эту дырку, поторопились вы с обнародованием.
Парсер гуглозапроса inurl:.svn/entries и вот вам код половины интернета:)
>Да и JS немалые ;) Такие же, в своём представлении.
Ну да. Вобщем так и есть. Но в данном случае «сахар» решает:) Хотя это конечно субъективно очень.
Еще есть такая забавная вещь, как red
По сути, то же что и GWT только на Ruby.
писать
Ну, тут уж о вкусах не спорят:)
>Зачем в скриптовом языке вам понадобилось битами жонглировать?
Не все. В Ruby во-первых есть методы pack/unpack для работы с бинарными данными.
А во вторых, просто волшебная библиотека bindata(тоже DSL:))
Своими динамическими взможностями ruby превосходит js(по крайней мере в их «сахарности»).
Но все это легко парировать вашим аргументом — «допишу». Нет потоков? Портируем pthreads на SpiderMonkey. Нет сокетов? Напишим обертку. Недостаточно сладкий синтаксис? Пропатчим интерпретатор. Так можно дойти до того, что «ничто» ничем не хуже «супер мега языка»:) Потому как всегда можно дописать.
Может в том, что очень многое уже есть, и не надо дописывать, и есть прогресс?
>Я вообще не понимаю смысла в статье по ссылке. Уж извините.
Смысл, краткая иллюстрация возможностей метапрограммирования. Да, DSL для конфигов это не очень удобно, зато это необыкновенно удобно в контексте какой-либо библиотеки:) Таже синатра например.
>Я не понимаю зачем забивать гвозди электронным молотком под управлением Андроид…
Эм, теперь вы про то что в Ruby избыток функциональности? Или я нетак понял?:)
Хотя, можно эти различия считать несущественными, не буду спорить:)
Но опять же, прототипы и классы сравнивать не очень корректно.
Пример примеси:
Меня это например в питоне раздражает, почему длину строки я получаю функцией а не методом?
Ruby: