LINUX.ORG.RU

Python деградирует?

 ,


1

1

Вылез я из криокамеры и вот, что обнаружил — из Python 3.x удаляют все, что является «сложным» (вопрос для кого?). Один из примеров — метод reduce().

Как пишет Гвидо:

I’m not killing reduce() because I hate functional programming;

I’m killing it because almost all code using reduce() is less readable

than the same thing written out using a for loop and an accumulator variable.

Иными словами — повышаем читаемость, чтобы очередному «индусу» даже знать не нужно было про функциональное программирование?

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

По-моему у тебя какие-то проблемы с логикой. Дерьмовый и нечитабельный код - отнюдь не признак профессионализма. Что уж говорить о «в реальном мире программисты ленивы, и пытаются укоротить свою портянку с кодом» — так могут говорить лишь быдлокодеры.

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

Да не, значение спора «reduce vs цикл» сильно преувеличено. reduce - это не комплексный анализ, не квантовая физика, любой дебил это может понять за 5 минут. И код тоже понятен как дважды два. Код становится только короче, чище, понятнее и легче в поддержке. Просто несогласные есть всегда, не обращайте внимание. Обычно это старперы защищающие свою зону комфорта.

Но это именно касается reduce. А вот спор о более сложных концепциях того же ФП вполне справедлив, так как вы говорите. На монадах, всяких стрелках, или даже не касаясь ФП, макросах, можно наворотить такого что это вообще никто никогда не расшифрует.

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

Ну валяй, изобрази функцию Аккермана на reduce. Без явной рекурсии и без комбинатора фиксированной точки.

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

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

s/программисты/тупое школоло/g

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

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

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

«Мощные» языки - это всего лишь игрушка для тупой школоты и для задротов, и к профессиональной разработке не имеют ни малейшего отношения.

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

Сам не видишь противоречия? «Профессионалы», и вдруг чего-то очевидного «не понимают».

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

Профессионала отличает в первую очередь ответственность и серьезность. Профессионал думает не о том, как ему другие «профессионалы» рукоплескать будут за задротский изъйопский код, а о тех, кто будет этот код через десять лет поддерживать.

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

без комбинатора фиксированной точки.

почему это без, болезный? Т.е ты хочешь чтоб вообще без рекурсии?

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

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

anonymous
()

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

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

В общем случае reduce эквивалентен оператору неявной рекурсии

он же оператор неподвижной точки, неуч.

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

Ну валяй, изобрази функцию Аккермана на reduce.
без комбинатора фиксированной точки.

Поверь, я очень переживаю за твое умственное здоровье, брат аннон!

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

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

no way!

anonymous
()

из Python 3.x удаляют все, что является «сложным»

«Профессионалы» и «профессиональный» язык.

Набор разноцветных кубиков для обезьянок-инвалидов.

Это настолько показательно, что говорить ничего не хочется. Хочется молчать и давиться от смеха.

ak376067
()

Не удаляют, а переносят в functools, но в целом верно - катят в язычок для обезьянок.

Гвидо вообще тот еще неосилятор.

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

Самый профессиональный в мире язык - Java. А в нем вообще никакого говна нет, даже тупейших list comprehensions. Так-то!

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

В общем случае без дублирования кода нельзя irreducible CFG привести к reducible (то есть, к циклам и прочим конструкциям структурного программировния). В этом плане рекурсия эквивалентна не циклу, а goto.

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

Ха ха. Даже 7й Java не существует. Нет ее. Не нужна она никому. Все 6ю используют и всегда будут использовать.

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

Самый профессиональный в мире язык - Java.

Над Вами кто-то зло подшутил. Это неправда. Не надо так безоглядно верить взрослым дядям.

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

не очень дружественный к новичкам

- вам нужно обратить внимание на Ruby

Знатно поделил!

Код на нём у настоящего мастера немного напоминает алхимические тексты, но зато какая мощь:)

Было бы здорово пример видеть, если вас не затруднит.

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

Чо? Покажи мне хвостовую рекурсию, которая не описывается циклом.

Мы теряем его!

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

Гы, лошара, ты профессионалов, значит, и не видел-то никогда.

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

Самый профессиональный в мире язык - Java

Если не ставить под вопрос сам критерий... То вообщем Java наиболее «решабельный» язык. На нем просто берешь и пишешь практически любую задачу за небольшими исключениями. И она будет решена с большей вероятностью чем на чем то другом.

Но Java-программисты явно не самые образованные, Java точно не самая гибка, краткая и удобная

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

Все 6ю используют и всегда будут использовать

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

vertexua ★★★★★
()

Как пишет Гвидо:

Кстати, на будущее.

Уровень LOR'а (за что он мною любим) предполагает не абстрактное словословие, а ссылки на источники. Желательно на оригинальном языке. Ибо человек - существо, очень любящее излагать не так, как было, а так, как он понял.

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

Уровень LOR'а (за что он мною любим) предполагает не абстрактное словословие, а ссылки на источники

Вы не верно понимаете манеру общения ЛОРа. Это так увы сложилось. Ссылок приводить не буду

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

Вы не верно понимаете манеру общения ЛОРа. Это так увы сложилось. Ссылок приводить не буду

Как-то сбойнуло тут. Я писал топикстартеру. А ссылки в самом топике здесь пишут, как раз. Почти всегда.

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

Если не ставить под вопрос сам критерий... То вообщем Java наиболее «решабельный» язык. На нем просто берешь и пишешь практически любую задачу за небольшими исключениями. И она будет решена с большей вероятностью чем на чем то другом.

Но Java-программисты явно не самые образованные, Java точно не самая гибка, краткая и удобная

Вы совершенно правы. В обоих случаях.

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

Странно. Я как-то выпал, видно, из темы.

Обещали же вроде в языке серьезные добавления. Замыкания, там. Еще что-то. Список изменений большой, но это же явно 6.1, а не 7. Практически одна мелочь.

Странно.

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

В общем, Sun были инженеры. А это... коммерсанты. Главное - выдать на гора и обозвать погромче.

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

Если упереться явно в фичу, то она очень полезна. Но среднестатистический проект можно хоть на шестой, хоть на седьмой. Fork/Join вообще не похоже что суперски улучшит Concurrency

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

Но среднестатистический проект можно хоть на шестой, хоть на седьмой.

Ну да, я тоже об этом...

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

Неужели? Как же вы живете в этом убожестве. Замыканий нет, модульности нет, лапша finally на каждом шагу(вместо try-with-resources), длинные портянки из бесполезных ключевых слов и т.д. и т.п. Ужас-ужас.

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

Так из вышеперечисленного же вроде только try-with-resouces есть

vertexua ★★★★★
()

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

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

Я переполз на scala почти везде и не соглашусь. У java нет ни одного плюса по сравнению со скалкой. А от ее многословности меня теперь подташнивает.

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

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

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

Вы не верно понимаете манеру общения ЛОРа. Это так увы сложилось. Ссылок приводить не буду

Что-то начинает казаться, что ты хочешь навязать исторически-фантастическую точку зрения на свежую кучку твоего говна. Извинись и укажи ссылку.

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

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

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

x_hash
()

Питонщики дегадируют?

Вылез я из криокамеры и вот, что обнаружил — из Python 3.x удаляют все, что является «сложным» (вопрос для кого?). Один из примеров — метод reduce(). Его вынесли в functools. Теперь для этого нужно его импортировать.

Что это - пускаем сопли без повода, когда очередной «индус» даже знать не знает про импорт reduce из functools?

cdshines ★★★★★
()

Python деградирует?

Это программисты деградируют. А питон всего лишь следует тренду.
Да чего уж там, питон и появился как следствие тренда.

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

Ну, типа, код на APL/J/K(q) не может сходу понять вообще никто, кроме интерпретаторов, так что, все, что на нем написано - говно и написано придурками?

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

Ну, типа, код на APL/J/K(q) не может сходу понять вообще никто, кроме интерпретаторов, так что, все, что на нем написано - говно и написано придурками?

если это всё написано в 12, то да - придурками и гогно. И, независимо от времени написания, сейчас оно не нужно.

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

Цикл - трудная концепция. На уроках информатики в школе циклам посвящали чуть ли не половину курса, потому что это основа почти всех алгоритмов.

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

в 12 чего, лет?

Ты что, совсем дурак? Зайди на kx.com, полазь по сайту, почитай. Что бы там тебе, убогому, «не нужно» ни было, дядям из ънтърпръйза это все еще нужно. Но ты же не в теме, но орать не нужно любишь, да?

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