С момента создания питона разработчики языков додумались, удивительное дело, в статически типизированных языках типа Kotlin выводить тип переменной из вида (написания) присваемого значения. Меньше синтаксического мусора, почти как в питоне).
Вольное присваивание аргументам функций в питоне значений произвольного типа - это удобное решение для скриптовых языков. В котлине сходной гибкости и выразительности добиваются созданием нескольких одноименных функций с разной сигнатурой, но писанины больше. Аннотирование функций в питоне подравнивает ситуацию по объёму писанины, но котлином его не делает, в смысле строгости и производительности. Так что присоединяюсь к автору статьи: хочешь типов - присмотрись к другим языкам.
... уход крупного игрока из России сподвигнет отечественных разработчиков улучшать качество своих продуктов. И это, по словам эксперта, пойдет рынку только на пользу.
Java - язык с непростой судьбой, начнём с того, что он задумывался как язык "для программирования бытовых электронных устройств" (wiki). Ему было трудно стать естественным, выразительным и красивым языком общего назначения, и он не смог. Многословный и суетливый старикан - так бы я его описал.
Его сильная сторона - то, что производимый им код исполняется на java-машине, а таковая машина портирована на все мыслимые архитектуры. Но за прошедшие годы многие это оценили и создали языки, генерирующие байткод для java-машины, есть даже реализация питона для неё, правда, она заброшена.
Я бы советовал глянуть в сторону Kotlin - современный, динамично развивающийся язык с прекрасной компиляцией в java-код и бесшовно интегрирующийся с java, мультипарадигменный, лаконичный и выразительный. Официальный язык для android-разработки. А зная его, вы автоматом будете знать и java - так уж оно устроено )
ps
Типизация: Мягкая
В питоне строгая динамическая типизация, а мягкая типизация существует только у вас в статье. Зачем, спрашивается? Недосуг заглянуть в ту же wiki?
Эх, был и я когда-то молод, учил питон, а еще качал без меры книжки. Глаза завидущие, руки загребущие. Дубликаты случались. Ну и написал вот это. Это не cli, это для выполнения в IDE, мне так удобно. Смотрел на вывод, выбирал что удалять. Писал для себя, давно было, учился, тапками не кидаться.
Не так чтобы очень сложно.
from os import walk
from os.path import basename, getsize, islink, join
from hashlib import md5
from collections import defaultdict
def duplicates(*roots, findLink=False, extensions=(".pdf", ".djvu", ".djv")):
"""
usage: duplicates("папка1", "папка2", "папка3")
"""
uniq_sizes = defaultdict(list)
for root in roots:
for pth, folder, files in walk(root):
for name in [join(pth, f) for f in files if f.lower().endswith(extensions)]:
if findLink or not islink(name):
uniq_sizes[getsize(name)].append(name)
if uniq_sizes[0]:
print("файлы-пустышки:", *sorted(uniq_sizes.pop(0)), sep="\n", end="\n\n")
for v in [v for v in uniq_sizes.values() if 1 < len(v)]:
duples = defaultdict(list)
for name in v:
with open(name, "rb") as f:
duples[md5(f.read()).hexdigest()].append(name)
for names in [v for v in duples.values() if 1 < len(v)]:
print(min(map(basename, names), key=len))
for name in names:
print(f'rm "{name}"')
print()
ps Сейчас запустил, глянул - мама дорогая, что творится-то!
В заключение статьи дам некоторые советы по чтению любой технической или научной литературы.
Ваша самоуверенность превосходит даже вашу дурь. Вместо того, чтобы обозначить свою квалификацию в предмете статьи (она никакая), и уровень целевой аудитории, который никак не может превосходить ваш, вы решительно раздаёте свои советы и рекомендации, где-то банальные, где-то спорные, а кое-где просто смешные.
COBOL по-прежнему способствует развитию бизнеса, сообщает Майк Бедфорд.
... 54% респондентов ожидают увеличения использования COBOL в ближайшие 12 месяцев.
Майк Бедфорд, похоже нанятый компанией Micro Focus или OpenText, выдал глупый маркетинговый шлак. Способствует развитию, надо же! И много стартапов запускают проекты на коболе?
С Бредфордом понятно, ему заплатили именно за маркетинг нанимателя. Но у переводчика-то был выбор. Хорошо бы он объяснил, зачем перевёл именно это. Как статья для цикла "об истории языков", она слишком комплиментарна к этому зомби.
Я в чем-то согласен савтором. Алгоритмы действительно полезны. Здорово, если соискатель знает все алгоритмы, о чем ни спросишь, и может воспроизвести их не гугля. Хуже, когда соискатель выдаёт оригинальное решение, если оно неоптимально - он умеет думать самостоятельно, но не оптимально. Здесь вам не фолс-позитив!
Одно плохо в алго-собеседованиях: нарвёшься на такого вот козла, а у него в башке пять критериев, на роже спесь, а в душе - злоба. Прямо хоть святых выноси.
К уважаемому @wataru это, разумеется, не относится.
все_величайшие_математики = set()
assert all(математик.сходится_во_мнении("мы все равно придём к единице")
for математик in все_величайшие_математики)
Произвольное утверждение относительно всех элементов множества всегда верно для пустого множества. Те из нас, кто не входит во множество "все величайшие математики", могут принять на веру вместо доказательства вышеприведённый код на питоне.
Но мне всё-таки хочется верить, что это множество - непустое. Прошу, огласите весь список!
С момента создания питона разработчики языков додумались, удивительное дело, в статически типизированных языках типа Kotlin выводить тип переменной из вида (написания) присваемого значения. Меньше синтаксического мусора, почти как в питоне).
Вольное присваивание аргументам функций в питоне значений произвольного типа - это удобное решение для скриптовых языков. В котлине сходной гибкости и выразительности добиваются созданием нескольких одноименных функций с разной сигнатурой, но писанины больше. Аннотирование функций в питоне подравнивает ситуацию по объёму писанины, но котлином его не делает, в смысле строгости и производительности. Так что присоединяюсь к автору статьи: хочешь типов - присмотрись к другим языкам.
Уж лучше мордокнижник (референс - чернокнижник).
фокусное расстояние - знаю. размерность - длина, метры например.
оптическую силы линзы - знаю. измеряется в диоптриях. диоптрия - это метр^(-1).
выходной диоптрии не бывает. я вам больше скажу - внутренняя диоптрия (она тоже в текст затесалась) - так вот, её тоже не существует. беда.
фокусной силы не бывает. что-то вы зарапортовались.
В тред призывается@AlexeyNadezhin, чел, сделавший из своего любопытства к лампочкам профессию.
Какой лютый глум.
Зачотный бред. А термостатический комп будет?
ps. Не поймите меня неправильно, может парни и придумали что-то дельное, но написанное - бред.
Java - язык с непростой судьбой, начнём с того, что он задумывался как язык "для программирования бытовых электронных устройств" (wiki). Ему было трудно стать естественным, выразительным и красивым языком общего назначения, и он не смог. Многословный и суетливый старикан - так бы я его описал.
Его сильная сторона - то, что производимый им код исполняется на java-машине, а таковая машина портирована на все мыслимые архитектуры. Но за прошедшие годы многие это оценили и создали языки, генерирующие байткод для java-машины, есть даже реализация питона для неё, правда, она заброшена.
Я бы советовал глянуть в сторону Kotlin - современный, динамично развивающийся язык с прекрасной компиляцией в java-код и бесшовно интегрирующийся с java, мультипарадигменный, лаконичный и выразительный. Официальный язык для android-разработки. А зная его, вы автоматом будете знать и java - так уж оно устроено )
ps
В питоне строгая динамическая типизация, а мягкая типизация существует только у вас в статье. Зачем, спрашивается? Недосуг заглянуть в ту же wiki?
Эх, был и я когда-то молод, учил питон, а еще качал без меры книжки. Глаза завидущие, руки загребущие. Дубликаты случались. Ну и написал вот это. Это не cli, это для выполнения в IDE, мне так удобно. Смотрел на вывод, выбирал что удалять. Писал для себя, давно было, учился, тапками не кидаться.
Не так чтобы очень сложно.
ps Сейчас запустил, глянул - мама дорогая, что творится-то!
Ваша самоуверенность превосходит даже вашу дурь. Вместо того, чтобы обозначить свою квалификацию в предмете статьи (она никакая), и уровень целевой аудитории, который никак не может превосходить ваш, вы решительно раздаёте свои советы и рекомендации, где-то банальные, где-то спорные, а кое-где просто смешные.
У вас в тэгах "лучшие книги".
Майк Бедфорд, похоже нанятый компанией Micro Focus или OpenText, выдал глупый маркетинговый шлак. Способствует развитию, надо же! И много стартапов запускают проекты на коболе?
С Бредфордом понятно, ему заплатили именно за маркетинг нанимателя. Но у переводчика-то был выбор. Хорошо бы он объяснил, зачем перевёл именно это. Как статья для цикла "об истории языков", она слишком комплиментарна к этому зомби.
Я в чем-то согласен савтором. Алгоритмы действительно полезны. Здорово, если соискатель знает все алгоритмы, о чем ни спросишь, и может воспроизвести их не гугля. Хуже, когда соискатель выдаёт оригинальное решение, если оно неоптимально - он умеет думать самостоятельно, но не оптимально. Здесь вам не фолс-позитив!
Одно плохо в алго-собеседованиях: нарвёшься на такого вот козла, а у него в башке пять критериев, на роже спесь, а в душе - злоба. Прямо хоть святых выноси.
К уважаемому @wataru это, разумеется, не относится.
Беда, когда в голове селятся тараканы.
Стыдоба, когда маркетологи так беззастенчивы в своих устремлениях.
Серьёзно?
На две единицы чего?
шок-контент
del
Произвольное утверждение относительно всех элементов множества всегда верно для пустого множества. Те из нас, кто не входит во множество "все величайшие математики", могут принять на веру вместо доказательства вышеприведённый код на питоне.
Но мне всё-таки хочется верить, что это множество - непустое. Прошу, огласите весь список!
del
Джон Лорд из Deep Purple с достоинством нёс свою фамилию Лорд.
А лорд Кельвин с достоинством нёс свой титул.
Улавливаете?
Рассказать вам о разнице между компилятором и интерпретатором, или предпочитаете остаться при своих заблуждениях?
Вам, должно быть, очень сортировать нравится, но вообще-то удаление элемента не нарушает порядка оставшихся.
Да и вставка при помощи insort() выйдет подешевле, чем просто вставка/сортировка.