@strizhechenko @cauf Ну как бы то есть вот. Я к тому, что как можно учить некое «программирование» по абстрактным описаниям, когда для каждого языка есть свои фишки, принципиально различающиеся прям в самих основах?
Перефразирую: если я хочу таки въехать в Python — что мне даст описание низкоуровневых циклов, когда в нём всё объекты?
@erua Расписано, как всегда, шикарно, это да 🙂
Но я не совсем понял — чего конкретно «нету такого»?
Я как бы к тому, что вот эти все «условия и циклы» по идее изучаются в подростковом возрасте за неделю-другую. Тогда как «программирование» — это уже их конкретная реализация для языка и операционки, с учетом особенностей особенностей (sic!).
Разве не так? Спросить у сервера json с постами — 4 строчки; ебаться с красивой отрисовкой наших постов — пару месяцев работы и 100 мегабайт кода (утрирую, конечно).
@erua
> Но ведь они должны что-то и как-то делать — сами по себе без циклов и ветвлений, волшебных образом?
Вроде да. Сокрытие реализации, все дела. И только по тестам можно понять, что будет быстрее, меньше памяти сожрет и т.д. Разве нет?
Я как бы не спорю, что такие понятия как циклы, условия, рекурсию и прочее — надо понимать, но ведь это что-то совсем дефолтное из школьной программы либо совсем хардкорное, если речь об алгоритмах.
Но алгоритмы ботанить надо вроде уже после того, как все фишки конкретного языка усвоишь и будешь знать, как правильно выстрелить себе в ногу??
@erua Дык, телефоны-то в БД будут валяться, и маленький Бобби Пейджс кагбэ намекает, что вся «сортировка» там — это что-то типа SELECT че-те-надо? ;-)
P.S. Ну и тупо sorted() в зеленом змии, конечно?
@erua Ну так ведь зеленый змей умеет это в виде results = [t.age for t in mylist if t.person_id == 10], практически одно и то же (в плане того, что в одну строчку и вся магия под капотом)? И сложность можно измерить только тестами?
@erua Ну епт. Я ж не погромист, в конце концов. Для меня логично — посчитать хеши для всех записей, типа неизбежная операция по чтению. Сравнивать хеши в зависимости от того, какя выборка нужна. Перепроверять по реальным данным найденное, чтобы не попасть на коллизии.
Но это как бы максимум, что я знаю про поиск по бд, даже если это CSV, который мы считали в структуру.
Если у меня 100500 15-мегабайтных файлов — это вроде хороший подход. Если 100500 номеров телефонов, которые надо бы привести изначально к стандартному формату — плохой.
Что будет делать Зеленый в случае, если я натравлю его на то или другое — я могу только догадываться.
ГДЕ мне тут поможет знание абстрактных алгоритмов, если я не в курсе, как он будет делать выборку??
@erua
О! Вот пример из реальной жизни. У меня есть каталог из 20 000 шрифтов. Названных черти как. Мне надо распарсить каждый, создать папочку с его названием (надо парсить файл), все варианты начертания — в одну папочку. Можно велосипедить на зеленом, можно штатными средствами венды на PowerShell. Сцуко, медленно и если ошибка, то хз, где и почему.
И знания, как писать алгоритнымы на ассемблере/в псевдокоде/на паскале тут вообще не помогут...
@erua
> Там должна быть видна ссылка на какой из твоих «туутов» реагировал/отвечал.
У меня ветка предела достигла 😉
Там должна быть видна ссылка на какой из твоих «туутов» реагировал/отвечал.
Вот ты пишешь, что типа:
> как можно учить некое «программирование» по абстрактным описаниям, когда для каждого языка есть свои фишки, принципиально различающиеся прям в самих основах?
В каких таких основах отличающиеся? Вот про основы лежащие в каждом языке тебе и ответил.
> Перефразирую: если я хочу таки въехать в Python — что мне даст описание низкоуровневых циклов, когда в нём всё объекты?
А что эти объекты делают и для чего существуют? Утрировано, объекты — это экземпляры классов, а классы существуют нескольких типов (видов) используемых для различного назначения. Но ведь они должны что-то и как-то делать — сами по себе без циклов и ветвлений, волшебных образом?
Ну и т.д. и т.п.