LINUX.ORG.RU

Perl 6 получает финансирование

 ,


0

0

Свершилось! Разработчики этого замечательного языка программирования, героически выстояв голодные и опальные годы, наконец-то дождались инвестиций. The Perl Foundation получила 200 000 долларов от Яна Хага (Ian Hague) — сооснователя Firebird Management LLC. Половину этой суммы фонд направит на развитие Perl 6. Также известно, что в ближайшее время разработку Perl 6 собирается спонсировать одна из российских компаний.

>>> Подробности

С питоном и его спонсором (М. Шатллвортом) тягаться всё равно бесполезно... Так что закапывайте обратно!

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

> 36000 - это зарплата _с которой_ платят налоги.

Полицейские платят налоги. З/п программера только закончившего тамошний ВУЗ (без практики) начинается от %60000/год и со временем растет. До 100000/год - без проблем если голова на плечах. Это по словам моих коллег, работавших там.

У нас же $5000 для обычного смертного программера - потолок.

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

> Полицейские платят налоги. З/п программера только закончившего
> тамошний ВУЗ (без практики) начинается от %60000/год и со временем
> растет. До 100000/год - без проблем если голова на плечах. Это по
> словам моих коллег, работавших там.
> У нас же $5000 для обычного смертного программера - потолок.

Вот я объясняю, как живущий и работающий "там" и как живший и работавший в России.

$5000 в месяц в москве - это зарплата с которой _уже_заплачены_налоги_. В России если посмотришь соц. налоги + подоходный + то что за тебя работодатель платит, то сумма выплат
каждый месяц легко до тех же 5000 штук дойдет, то есть по американской системе подсчета зарплаты у тебя будет не 5, а 10 в месяц, что есть те же самые 120 в год.

Что такое $36000 с которых платит налоги полицейский. Это сумма из которой нужно вычесть налог (~20%), пенсию. Из этих $36000 в год остается на руки хорошо если 12.

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

Но тут сравнение полицейского и програмиста вообще никак не будет корректным, так например полицейскому при покупке новой мазды дают скидку в $8000, при съеме жилья если полицейский паркует свое авто "на виду" - то либо не платит за парковку либо за жилье платит на 10% меньше. Формально у полицейского денег меньше 36 vs 100, но он с них и платит в четыре раза меньше налогов и возможно имеет мед.страховку (которая платится с облагаемых налогом денег и стоит прилично).

Если же смотреть глазами работодателя на программиста в США и в Москве - то московские по цене совсем не на много выгоднее, а в свете укрепления рубля и падения доллара - так выгода становится еще менее очевидной.

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

2anonymous (*) (21.05.2008 22:11:24):

>> На $10 в штатах можно сходить в неплохой ресторан

> это ты по телевизору видел или ты имел ввиду "сходить" в буквальном смысле этого слова :)

Про Штаты не знаю, всё по-разному, но в Торонто, а он не сказать что дешёвый город, на 10-15 канадских долларов можно очень вкусно покушать в ресторане в обед.

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

> Ты на современные линейки то посмотри.

Нигде на мобильниках нету JavaSE. И не будет ещё лет пять. Вся остальная дискусия бессистемна.

Занимаешься JEE, так что не лезь в те области, в которых не разбираешься.

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

+1. Дороговизна и жлобство - признак постсовковой системы. В Вене и в Венеции обед обходится в 10-15 йоро, а в совковообразной Праге - 30, чем жутко напоминает МСК (чешская глубинка не уступает российской).

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

Да, я имел ввиду не префикс, а контекст. То есть вот такое:
@a = @list; # @a - массив
$b = @list; # $b - число элементов

Различие между Perl5 и Perl6:
$a = $list[5]; # perl 5
$b = @list[6]; # perl 6

В perl 6 по префиксам контекст(от которого зависит действие) определить невозможно.
$... = @... может означать и присвоение размера массива, и присвоение значения элемента.
Теперь будет какое-нибудь Ruby-подобное(все есть объект) $foo = @bar.count. :(

anonymous
()

Добрая весть. Но денег мало дали, это факт :-(

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

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

> re.compile

Всё таки тебе надо срочно научиться читать, что же именно имеется в виду. Ты сравниваешь вызов функции в run-time с операцией в compile-time. В этом и разница между встроенными регекспами и подцепенными сбоку. Кроме прочего ещё и выдавать ошибки в них уже в compile-time. У Питона такого нет.

> x = '1' y = '2' print '%(x)s : %(y)s : %(x)s' % locals()

Ты можешь понять разницу между интерполяцией кода или переменных внутри строки/регекспа, и оператором '%'? Если нет, спроси, тебе объяснят.

> > Ты невнимателно читаешь. Определи перегружаемый метод у _любого_ класса, даже без явных родителей, сделав это в едином корневом суперклассе (такого концепта в Питоне нет).

> И это приводит к тому, что программа написаная в расчёте на другое поведение базового класса просто не будет работать?

Опять полнейшие глупости говоришь. Нет, это к такому никак не может привести, потому как законы наследования в ООП никто не отменял. Зато появляется возможность разом создать __дефолтный__ dump или print для любого объекта, ничего не меняя в иерархиях классов. В Питоне такого нет.

> Всё консистентно, запись выражений и отделение операторов разные вещи

Что за "отделение операторов"? :) Консистентно - это когда всё многоуровневое можно описать открывающимися и закрывающимися скобками, а то что в Питоне я консистентным считать отказываюсь.

> [pawnhearts] Так я ведь про читабельные программы в одну строку говорил такого не бывает в природе))

Ещё один "знаток". :) Мало того, что цитировать правильно не умеет и обрезает в цитатах самую ценную информацию, так ещё и свои питоновские комплексы на другие языки выплёскивает. :) Это в Питоне такого не бывает, да и быть в природе не может, потому как в который раз даёт о себе знать ущербная идея с чувствительной индентацией. А в нормальных языках после запуска /usr/bin/indent любые километровые однострочники превращаются в читабельные программы с настраиваемым стилем.

> > Меня не надо Питону учить, я его неплохо знаю, и в курсе в какой версии догнали Перл относительно перегрузок. Хочешь подискуссировать по поводу "контекстов" и "многочисленности"?

> Видимо всё таки надо, потому что ты его нифига не знаешь

Извинения за необоснованные обвинения будут, или вы с pawnhearts и анонимусами любите заниматься пустозвонством?

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

>> в древнем Китае был закон карающего смертью того, кто придумывал новый иероглиф

(Как же они тогда столько тысяч иероглифов напридумывали? И сколько китайцев при этом казнили? :-)

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

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

А спорить о преимуществах одного языка над другим бессмысленно: профессионал должен знать несколько языков и уметь применять наиболее подходящий по ситуации. (Так же, как полезно знать несколько иностранных языков. "Сколько языков ты знаешь - столько раз ты человек", сказал Гёте.)

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

>> re.compile

> Всё таки тебе надо срочно научиться читать, что же именно имеется в виду. Ты сравниваешь вызов функции в run-time с операцией в compile-time. В этом и разница между встроенными регекспами и подцепенными сбоку. Кроме прочего ещё и выдавать ошибки в них уже в compile-time. У Питона такого нет.

Размещаешь вызовы re.compile на уровне класса или модуля и они будут компилироваться только один раз при первой загрузке модуля их содержащего, т.е. при запуске программы. И вообще python это прежде всего динамика, а для compile-time есть другие языки, поэтому обвинение не по адресу.

> Ты можешь понять разницу между интерполяцией кода или переменных внутри строки/регекспа, и оператором '%'? Если нет, спроси, тебе объяснят.

Ой, вполне себе замена. Не то же самое, извини.

> интерполяцией кода ... внутри строки/регекспа

Какой ужас. А вообще это дело ещё можно классом имитировать. Задавая любое нужное поведение. http://www.python.ru/2002-04/56.html

>> И это приводит к тому, что программа написаная в расчёте на другое поведение базового класса просто не будет работать?

> Опять полнейшие глупости говоришь. Нет, это к такому никак не может привести, потому как законы наследования в ООП никто не отменял. Зато появляется возможность разом создать __дефолтный__ dump или print для любого объекта, ничего не меняя в иерархиях классов. В Питоне такого нет.

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

> появляется возможность разом создать __дефолтный__ dump или print для любого объекта, ничего не меняя в иерархиях классов

И как это там делается не ломая поведения других классов отнаследованных от того же базового?

> консистентно - это когда всё многоуровневое можно описать открывающимися и закрывающимися скобками

фиеричное определение

> а то что в Питоне я консистентным считать отказываюсь

та пжалуста

>> Видимо всё таки надо, потому что ты его нифига не знаешь

> Извинения за необоснованные обвинения будут, или вы с pawnhearts и анонимусами любите заниматься пустозвонством?

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

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

> А спорить о преимуществах одного языка над другим бессмысленно: профессионал должен знать несколько языков и уметь применять наиболее подходящий по ситуации. (Так же, как полезно знать несколько иностранных языков. "Сколько языков ты знаешь - столько раз ты человек", сказал Гёте.)

профессионал переписывает все свои наработки N раз на каждом известном ему языке, чтобы потом можно было выбирать? или он просто каждую новую программу пишет с нуля?

anonymous
()

Похоже, наезды на Питон сводятся к двум вопросам - отсутствие каких-то действий по умолчанию, которые производит Перл (компиляция регекспов, операция %) и отступы.

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

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

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

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

> > А спорить о преимуществах одного языка над другим бессмысленно: профессионал должен знать несколько языков

Спасибо, смешно. ЗАЧЕМ ему 10 языков? Если ты профи, ты просто ментально не можешь _хорошо_ знать хотя бы 2 языка. А если ты и пишешь на 2 языках сразу, то в голове возникает каша. Бросайте ваш дилетантский телеграф и говорите от себя лично.

Я последние 4 года пишу на си-шарпе. Ничего КРОМЕ шарпа мне почему-то не надобилось. Проекты: банковская система(основной), небольшой дизайнер форм, всякие конвертеры, веб-сервисы... Вобщем, разнообразия хватает. Теоретически, конвертеры можно было сваять на Перле, но ЗАЧЕМ? Шарп имеет прекрасный Regex класс, да и разбор там был простой. Ну написал бы я перл-скрипт, через пол-года взял бы его и... выкинул! Потому что НЕ ПИШУ я на Перле! И без этого хватает сложностей.

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

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

> с отступами удобнее

Вы недоговариваете: с отступами КАК ДОПОЛНИТЕЛЬНЫМ ФОРМАТИРОВАНИЕМ - удобнее, но это не говорит о том, что скобки надо выкинуть! Есть МОРЕ случаев, когда код переносится из разных мест, включая ужасно сформатированные веб-страницы. КТО будет разбирать эту пестонокашу без скобок? В погоне за оригинальностью, автор выкинул важный элемент языка - scope delimiter. Говорить, что он самодовольный идиот - сильно ему польстить.

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

> Я последние 4 года пишу на си-шарпе. Ничего КРОМЕ шарпа мне почему-то не надобилось. Проекты: банковская система(основной), небольшой дизайнер форм, всякие конвертеры, веб-сервисы... Вобщем, разнообразия хватает. Теоретически, конвертеры можно было сваять на Перле, но ЗАЧЕМ? Шарп имеет прекрасный Regex класс, да и разбор там был простой. Ну написал бы я перл-скрипт, через пол-года взял бы его и... выкинул! Потому что НЕ ПИШУ я на Перле! И без этого хватает сложностей.

Мой коллега писал скрипт для анализа XML на разработку и отладку ушло два дня и 100 строк кода. Аналогичный скрипт на JS занял два часа и 30 строк кода.

Вот такая вот арифметика получается!

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

> Вы недоговариваете: с отступами КАК ДОПОЛНИТЕЛЬНЫМ ФОРМАТИРОВАНИЕМ - удобнее, но это не говорит о том, что скобки надо выкинуть! Есть МОРЕ случаев, когда код переносится из разных мест, включая ужасно сформатированные веб-страницы. КТО будет разбирать эту пестонокашу без скобок? В погоне за оригинальностью, автор выкинул важный элемент языка - scope delimiter. Говорить, что он самодовольный идиот - сильно ему польстить.

Не все пользуются Notepad :-)

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

> Увы, но в коммерческом мире есть препятствия, которые не так просто перепрыгнуть. Например, увольнение :) Кому нужен пионер-радикал с маргинальным Лиспом, когда есть слаженная команда Дельфизоидов при 70% готовности проекта? Как правильно показывает практика, чем проще язык, тем легче сопровождать и развивать продукты (и искать новых девелоперов).

> Так что сопротивляться можно, но только за свой счёт. :)

Как верно подмечено! Дело исключительно в экономической стороне вопроса.

Почему было бы выгодно содержать радикала-лиспера в штате дельфи:

1) написание прототипа на Delphi потребует в 50 раз больше человеко/часов

2) отдельные задачи носят разовый характер (например миграция старых разрозненных баз клиентов в вашу новую супер систему)

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

> И вообще python это прежде всего динамика, а для compile-time есть другие языки, поэтому обвинение не по адресу.

Ну и не надо тогда утверждать, что регекспы в Питоне ничем не хуже. Они хуже и неудобней. Настолько сильно, что с ними никакого удовольствия работать нет. Как нет и удовольствия/эффективности работать с оператором '%'.

> А вообще это дело ещё можно классом имитировать.

То есть предлагаешь определять один объект на один оператор "%"? Как такое извращение можно сравнивать с интерпретацией хотя бы переменных (о коде не будем, такого Питон не может) в строках/регекспах, например: "error $name: $object1 conflicts with $object2\n". В Perl 5 (и 6 естественно) оператор явного и неявного перевода любого объекта в стринг переопределяем. Или ты до сих пор не видишь разницы между компиляцией строки и binding в compile-time (хоть интерполяция и происходит в run-time) и оператором "%", где всё происходит в run-time?

> > появляется возможность разом создать __дефолтный__ dump или print для любого объекта, ничего не меняя в иерархиях классов

> И как это там делается не ломая поведения других классов отнаследованных от того же базового?

Почему бы тебе не изучить как это делается в языках с нормальным OOP, теми же Ruby или Perl? Повторю в 3-ий раз: единый корневой суперкласс. Если ты осуществил свою самодостаточную иерархию классов, то определение любого _юзерского_ метода в корневом Object (или UNIVERSAL), даже такого, который ты определил у себя, ничего не поломает, твоё определение победит. Иначе твоя имплементация баговая, а не самодостаточная.

> Извинений не будет, не за что, т.к. то, что ты посмотрел на синтаксис питона, не значит что ты знаешь питон.

То есть ни одного доказательства моего незнания Питона ты не привёл, но свои слова обратно не берёшь. Как тебя называть, если не лгун?

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

> по сути отступы можно вообще убрать из синтаксиса, заменив их скобочками.

Как только все Питонисткие программисты будут так делать, я торжественно обещаю забрать свои слова о глубокой ущербности идеи чувствительных пробельных символов, порождающей с десяток серьёзных проблем разного свойства (смотри другой тред). А до тех пор я позволю себе остаться при своём аргументированном мнении.

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

>Спасибо, смешно. ЗАЧЕМ ему 10 языков? Если ты профи, ты просто ментально не можешь _хорошо_ знать хотя бы 2 языка. А если ты и пишешь на 2 языках сразу, то в голове возникает каша. Бросайте ваш дилетантский телеграф и говорите от себя лично.

Я последние 4 года пишу на си-шарпе.....

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

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

почему проблемы с отступами замечают только те, кто не используют питон?

почему вы хотите навязать свое субъективное мнение о неудобстве скобочек тем, кому они вполне удобны?

и почему эти якобы существующие проблемы вдруг исчезнут, если вдруг все перейдут на скобочки?

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

предусматривая естественный вопрос на первый вопрос, приведу линку для тех, кто не использует Python ТОЛЬКО из-за отступов

http://timhatch.com/projects/pybraces/ (3-я линка в гугле :))

если кто заинтересуется - сообщите, оно вообще работает или нет :)

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

>А спорить о преимуществах одного языка над другим бессмысленно: >профессионал должен знать несколько языков и уметь применять наиболее >подходящий по ситуации. (Так же, как полезно знать несколько >иностранных языков. "Сколько языков ты знаешь - столько раз ты
>человек", сказал Гёте.)

по-поводу иностранных языков, солидарен - сам прожил 3 года в америке,
5 лет в Swiss, там знание 3-4 языков - это норма (для некоторых
категорий гос.служащих - это необходимый мин.набор).

> профессионал должен знать несколько языков

нет, не должен, а должен знать базовые "технологии", APIs, libs,
toolkits etc.

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

> очему проблемы с отступами замечают только те, кто не используют питон?

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

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

> Мой коллега писал скрипт для анализа XML на разработку и отладку ушло два дня и 100 строк кода. Аналогичный скрипт на JS занял два часа и 30 строк кода.

> Вот такая вот арифметика получается!

Увы, вы спутали арифметику с зоопарком. Читайте ещё раз мой пост: я МОГ написать скрипт. И как у вас, он тоже получился бы в 10 строк. Вопрос: НАСТРУЯ мне раскладывать перед собой грабли? А что будет делать мой напарник, не знающий Перла? А как я сам буду разбирать этот скрипт, если постепенно Перл выветривается из головы? Напоминаю: у нас УЖЕ ЕСТЬ один язык, на нём и пишем. Достаточно универсальный, чтобы не прыгать с языка на язык, ибо сопровождаемость дороже понтов и мнимой эффективности.

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

>> И вообще python это прежде всего динамика, а для compile-time есть другие языки, поэтому обвинение не по адресу.

> Ну и не надо тогда утверждать, что регекспы в Питоне ничем не хуже. Они хуже и неудобней. Настолько сильно, что с ними никакого удовольствия работать нет. Как нет и удовольствия/эффективности работать с оператором '%'.

Эх вырвал фразу из контекста, малаца.

> Размещаешь вызовы re.compile на уровне класса или модуля и они будут компилироваться только один раз при первой загрузке модуля их содержащего, т.е. при запуске программы.

Ты думаешь это как-то затормозит запуск?

>> А вообще это дело ещё можно классом имитировать.

> То есть предлагаешь определять один объект на один оператор "%"? Как такое извращение можно сравнивать с интерпретацией хотя бы переменных (о коде не будем, такого Питон не может) в строках/регекспах, например: "error $name: $object1 conflicts with $object2\n". В Perl 5 (и 6 естественно) оператор явного и неявного перевода любого объекта в стринг переопределяем. Или ты до сих пор не видишь разницы между компиляцией строки и binding в compile-time (хоть интерполяция и происходит в run-time) и оператором "%", где всё происходит в run-time?

Если не по глазам, то это вполне универсальный eval. В перле же делаются одни и те же вещи по разному, ну в питоне по другому, всего то навсего.

Дело в том, что в питоне регэкспы используются только когда они действительно нужны, а не где попало, в осальном используется модуль string напиример.

> Почему бы тебе не изучить как это делается в языках с нормальным OOP, теми же Ruby или Perl?

Критерии НОРМАЛЬНОСТИ ООП в студию

>> Если ты осуществил свою самодостаточную иерархию классов

Ну вот свою самодостаточную. Думаешь в питоне нельзя сделать свою самодостаточную иерархию?

>> Извинений не будет, не за что, т.к. то, что ты посмотрел на синтаксис питона, не значит что ты знаешь питон.

> То есть ни одного доказательства моего незнания Питона ты не привёл, но свои слова обратно не берёшь. Как тебя называть, если не лгун?

Доказательства того, что ты свои субъективные ощущения и неприязнь выдаёшь за объективную истину? Мдя... Довод по крайней мере один. Если ты судишь по питону только в том месте где он пересекается с перлом. причём не пытаясь понять почему там сделано именно так. и считаешь это достаточным для того, чтобы обосрать язык, то ты нифига не знаешь питон. А если ты жить не можешь без регэкспов в синтаксисе, то это твои личные проблемы, и питон тебе из-за них не подходит по всей видимости, но это не повод чтобы обсирать язык. Никаких аргументов, достаточных для того, чтобы объективно дескредитировать питон, ты не привёл, поэтому можешь размахивать своим НЕаргументированным мнением сколько угодно.

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

> почему проблемы с отступами замечают только те, кто не используют питон?

Потому что у них ещё нет проблем с головой. :)

Логика тут совсем обратная: зачем использовать угловатый Питон, когда есть сотни других, более вразумительных языков?

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

> Почему было бы выгодно содержать радикала-лиспера в штате дельфи:

> 1) написание прототипа на Delphi потребует в 50 раз больше человеко/часов

Больше - да, но не надо этих страшных кратностей! :) И потом, вы говорите про прототипы - то, что УЖЕ БЫЛО СДЕЛАНО перед этими 70%. И главное: пусть дольше, пусть негибко, ЗАТО ПОНЯТНО. Сопровождаемость (или долгоживучесть) - вот залог успеха. Писать хакерские прототипы - занятие нетрудное, а вот лазить по чужому коду, отлавливая баги - это 90% последующего сопровождения! Вот тут ваша экономия на днях выльется потерянными месяцами! Чисто в силу "динамикозавёрнутости" кода.

> 2) отдельные задачи носят разовый характер (например миграция старых разрозненных баз клиентов в вашу новую супер систему)

Для таких вещей в командах всегда есть "зелёные" студенты. :) И кстати, даже в такой "одноразовой" задаче всегда найдётся место другим: подсказать алгоритм, оптимизировать скорость и т.п. Вопрос: кому надо перепрыгивать (ментально) со, скажем, Перла на Лисп, чтобы только ответить новичку "почему у меня не работает?"? Единый язык даёт куда больше преимуществ, чем разовые выгоды в пару дней. Да и Лисп - не бог весть какой волшебник, чтобы решать любые задачи в 2 строки - по любому рулят БИБЛИОТЕКИ.

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

> Единый язык даёт куда больше преимуществ, чем разовые выгоды в пару
> дней. Да и Лисп - не бог весть какой волшебник, чтобы решать любые
> задачи в 2 строки - по любому рулят БИБЛИОТЕКИ.

Вы знаете. Все-таки бывают ситуации когда сгородить зоопарк выгоднее по всем аспектам. По скорости разработки, по сопровождаемости, по читаемости, по цене ошибки.

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

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

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

> почему проблемы с отступами замечают только те, кто не используют питон?

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

> почему вы хотите навязать свое субъективное мнение о неудобстве [...] тем, кому они вполне удобны?

Место, где я что-то кому-то навязывал, приведёшь? Вот мне Питон навязывает объективно проблемный синтаксис без альтернатив, когда приходится на нём писать, и мне это не нравится. Я рад, что кому-то нравится.

> и почему эти якобы существующие проблемы вдруг исчезнут, если вдруг все перейдут на скобочки?

Опять повторять и пережёвывать тот десяток разных типовый проблем, возникающий при опускании такой важной информации как явные границы блока и замена их на невидимые символы? Или сам прочтёшь то обсуждение, линк на которое я приводил?

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

>> почему проблемы с отступами замечают только те, кто не используют питон?

>Лживое (с точки зрения булевой логики) и нерелевантное утверждение.

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

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

>Если бы проблем не было, то и другие языки переняли бы. Объективные проблемы есть, как бы кому-то не хотелось обратного.

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

> Место, где я что-то кому-то навязывал, приведёшь? Вот мне Питон навязывает объективно проблемный синтаксис без альтернатив, когда приходится на нём писать, и мне это не нравится. Я рад, что кому-то нравится.

вот:

>> Как только все Питонисткие программисты будут так делать, я торжественно обещаю забрать свои слова о глубокой ущербности идеи чувствительных пробельных символов, порождающей с десяток серьёзных проблем разного свойства (смотри другой тред). А до тех пор я позволю себе остаться при своём аргументированном мнении.

>Опять повторять и пережёвывать тот десяток разных типовый проблем, возникающий при опускании такой важной информации как явные границы блока и замена их на невидимые символы? Или сам прочтёшь то обсуждение, линк на которое я приводил?

символы вовсе не являются НЕВИДИМЫМИ. уж как ни плохо моё зрение, я способен различить блок с отступом 8 от блока с отступом 4. а делать больше 3-4 уровней вложенности - это плохой слиль, обычно в таких случаях надо делать отдельную функцию - будет более читаемо. и не важно, будут там скобочки или нет - когда функция разрастается до состояния 5+ уровней вложенности, то все скобочки обычно всё равно не видны на странице, а вот отступы как раз становятся более полезными т.к. они есть на каждой строке.

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

anonymous
()

Интересно, когда же хаселл за принудительные отступы будут ругать? А то все питон, да питон...

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

>Интересно, когда же хаселл за принудительные отступы будут ругать?

Тссс - никому не говори! Сча начнется питониды разорвут перловиков:)

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

> > Ну и не надо тогда утверждать, что регекспы в Питоне ничем не хуже. Они хуже и неудобней. Настолько сильно, что с ними никакого удовольствия работать нет. Как нет и удовольствия/эффективности работать с оператором '%'.

> Эх вырвал фразу из контекста, малаца.

Я таким не занимаюсь в академических спорах. Что-то из того, что я сказал - не так?

> Ты думаешь это как-то затормозит запуск?

Я же ответил. То что это затормозит запуск не суть важно, тему скорости динамических языков я в дискуссию не вносил. Важнее, что это сделает работу программиста неудобной и неэффективной. Когда можно использовать специальный и более читабельный синтаксис и многие ошибки в регекспах и интерполиравании в стрингах/регекспах обнаруживать уже на этапе компиляции. Согласись, что получить ошибку "KeyError: 'varname_with_typo'" через чаз пробега не очень приятно.

> Критерии НОРМАЛЬНОСТИ ООП в студию

Я тебя обрадую, сказав, что считаю, что в Python, Ruby, Perl 5 (и тем более 6) - одно из самых приличных ООП, ни в какое сравнение не идущее со статическими языками. Просто объектная модель в Ruby и Perl более классическая (с единым корневым суперклассом по типу Smalltalk). Я такое реально использовал, но могу согласиться, что это не самая критическая деталь. Просто одна из многих накопившихся.

> Думаешь в питоне нельзя сделать свою самодостаточную иерархию?

Я никогда такого не утверждал. Это ты решил, что критиковать Питон может лишь не знающий его.

> причём не пытаясь понять почему там сделано именно так

Почему же. Идеалогии языков и их создателей широко известны. Понять запросто, но принять несовместимые идиологии сложно, надо выбирать свою сторону умом и сердцем. И говоря идеалогией Питона, если в программировании "There should be one — and preferably only one — obvious way to do it", то этот путь должен быть не Питоном, слишком уж там много арбитральных и субъективных решений Гвидо, который далеко не для всех авторитет. Вот это уже ближе к истине: "man perl | grep more". Хотелось бы пожелать знатокам лишь Питона изучить побольше языков.

> Никаких аргументов, достаточных для того, чтобы объективно дескредитировать питон

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

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

> Интересно, когда же хаселл за принудительные отступы будут ругать? А то все питон, да питон...

Нету там принудительных, лишь опциональные.

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

Михалыч, ну уже не смешно даже тебя читать. Ты не только питон, но и хаскелл не знаешь, а все лезешь рассуждать.

Принудительные в хаскелле отступы, принудительные. Можно конечно и {}; использовать, но никто этого не делает.

По слухам, Гвидо как раз из хаскелла идею с отступами и позаимствовал, вместе с list-comprehensions.

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

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

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

http://www.linux.org.ru/view-message.jsp?msgid=1206475&page=-1#1208677

http://www.linux.org.ru/view-message.jsp?msgid=1956779&page=-1#1959638

Удивительно, как всё повторяется. Казалось бы, топики про Perl 6, ан нет, неспокойны Питоновцы, как же это, кто-то усомнился в гениальности Гвидо. :)

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

> Ты не только питон, но и хаскелл не знаешь

> Принудительные в хаскелле отступы, принудительные. Можно конечно и {}; использовать, но никто этого не делает.

Как же никто, если я использую, как у себя, так и в форумах, когда надо код приводить и в одну строку писать.

Извинись за ложь.

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

Так значит в хаскелле все таки отступы принудительные появились?

Реквестирую пруфлинк с массовым использованием скобок в хаскелле. То, что ты их используешь это не показатель — клоун в цирке тоже много чего интересного делает.

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

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

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

>Нету там принудительных, лишь опциональные.

Там опциональным является скобочный символ - а с общепринятый с выравниванием.

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

> Ну так и для питона есть альтернатива. Скрипт выше уже давали.

Кого ты хочешь обмануть? Скрипт помеченный "There is no stable version, this is a joke" решает коренную проблему синтаксиса. Ура, веселится и ликует Питоновский народ. Теперь можно гордиться, что и на их языке возможно написание устойчивых кусков кода, правильность которых не изменится от дуновения ветра. Смешно.

> В чем твоя проблема?

У меня проблем нет. А вот у Питона их и кроме извратного безальтернативного синтаксиса блоков достаточно.

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

Не понимающих мудрости структурирования кода при помощи его форматирования отступами следует (что совершенно очевидно любому здравому человеку) уничтожать физически и прилюдно.

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

2mihalych ** (*) (23.05.2008 0:21:26):

> У меня проблем нет. А вот у Питона их и кроме извратного безальтернативного синтаксиса блоков достаточно.

У Питона тоже проблем нет. Безальтернативный синтаксис - это его сила, а не слабость. Кажется, все это понимают, кроме тебя.

Либо ты никогда не работал над большими проектами, либо просто упрямый, как баран.

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

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

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

> +1 Полностью согласен. Perl 5 - идеальный язык

Буду знать, что xTERM - гений программирования (я ничего не упустил? типа приставки "супер")...

Наверное ему тяжко жить, когда одно быдло вокруг.

"... быдло или бизнесмены" Как я понял: мала бабла - быдло, много - бизнесмен, много перла - крутой программер

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

> До 100000/год - без проблем если голова на плечах. Это по словам моих коллег, работавших там. У нас же $5000 для обычного смертного программера - потолок.

100000 в год грязными в США - это недалеко от 5000 в РФ. Не считая разницы цен и других факторов, конечно.

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