Обновить
26
ApeCoder@ApeCoder

Разработчик

6
Подписчики
Отправить сообщение
itertools там можно написать? будет ли оно работать со диапазонами, строками, и всем тем что представляет собой концептуально последовательность
>>>И не нужно говорить, что это просто пример

это просто пример.
>>>Написал, что дальше

Дальше мы посмотрим на их свойства
Мы щас как раз рзбираемся можно ли написать такую же функцию на php. Или придется писать по одной на каждый тип данных.
cработает ли implode со строкой?
с множеством?
со множетсвом ключей dictionry?
со можеством его жлементов?
Это например то, что все объект, включая строки числа и прочее. Можно абстрагировать например алгоритмы над последовательностями и оно будет работать везде (см модуль itertools).

>>>Но зато в пхп я не заморачиваюсь и всегда пишу array, не думая нужны ли мне ассоциации или нет

Вот это интересно — вы заводите объект, не зная для чего он вам нужен? Можно пример?
Это образное выражение. Предствьте себе, что у вас язык где нету функций — как не дублировать код, например на брейнфаке?

По поводу питона и пхп, попробуйте посмотреть на комментарий habrahabr.ru/post/142342/#comment_4764012 и написать такую же функцию, но на PHP. Если захочется поииследовать как работает — можно сходить на www.trypython.org/#
Дык он может больше и лучше, только это больше и лучше не значит принципиальную невозможность сделать то же самое на брейнфаке.

Язык он для человека а не для компа — это ж давно известно.

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

В питоне больше мезанизмов для запасания знаний и для того, чтобы одинаковый по сути код работал с большим числом разных объектов.
ну вот это я и называю «приходится дублировать код»
1. функциями типа map пользовался постоянно, когда писал на питоне. Имхо достаточно взять любую достаточно навороченную библиотеку типа BeautifulSoup и там можно найти кучу примеров.
2…

>>>(приведите пример реального проекта, где python сделал бы что-то такое, чего не смог бы php)


Знакомо ли вам понятие тьюринг-эквивалентность?
в языке должны быть механизмы для запасания кода.
Напишите на php такую функцию:

def make_list(xs):
    return ''.join('<li>'+x+'</li>' for x in xs)


Функция берет то, что можно перечислять, элементов чего является строка (может быть список, строка и т.д) и возвращает строку c элементами исходного объекта, обрамленными тегами li.

Пример:

print make_list('abc')
print make_list(['1', '2', '4'])

Output: 

<li>a</li><li>b</li><li>c</li>
<li>1</li><li>2</li><li>4</li>


//«сделать правильный отступ для этой строки», если с помощью отступов определяются блоки

сделать такой же отступ как и у предыдущей строки.
1. Кроме использования self ничего не напрягло? Не увидели ли вы в питоне что все является объектом, что интерфейсы объектов унифицированны и вы можете у себя воспроизвести полностью интерфейс строки и большая часть кода работающая со строками будет работать и с вашим объектом?

2. Я даже в обычных языках вижу прежде всего переход отступа, а потом мне приходится проверять себя выискивая скобочки.

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

Не могло ли так получиться, что вы стали жертой блаб-парадокса: те возможности которые есть в вашем любимом языке — это и так понятно; tо, что неудобнее чем в вашем любимом языке — это недостаток; то чего нет в вашем любимом языке — просто невидимо/непонятно зачем?
Не могли бы вы пока зать на примере? Почему редактор, грубо, говоря не может сам держать в уме все эти begin и end — они же однозначно выводятся из отступов?
Унификация физульаного языка делает код читаемее. О том, что отступы более наглядны чем скобочки свидетельствует то, что
— в тех языках где можно обойтись скобочками все равно делают отступы
— периодически сталкиваюсь с тем, что если по ошибке отступ сделан неправильно, я читаю его а не скобочки, не смотря на то, что у меня большая привычка к и подобному синтаксису.

Человек читает прежде всего отступы (иначе бы их не делали). Скобочки дублируют отступы и надо проверять, что скобочки правильно их дублируют.

Как-то раз на 1 апреля Гвидо ван Россум написал, что со следующей версии языка в компиляторе будет забит отступ 4 пробела и при его несоблюдении будет ошибка компиляции.

С моей точки зрения такая штука должна быть, так как заставляет соблюдать единый стандарт по всему языку — в нормальных командах поверх языка еще есть нечто вроде StyleCop который не дает зачекинить код, не отвечающий принятому в команде стилю. В данном случае, я был бы не против, если бы StypeCop был бы в самом языке.
Вобще-то, я про встроенные функции самого php :)
В других языках может быть больше возможностей для сохранения результатов своей работы в виде библиотек за счет унификации понятий языка. В результате функций и классов больше область применения — не надо дублировать код.

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность