Pull to refresh
0
0
JC_Piligrim @JC_Piligrim

User

Send message
Обычно да, так всё и происходит. :) Неоптимальный код заливают баблом на железо. Но это бывате только там, где что железо дешевле времени разработчика. Если было бы наоборот — сидели бы все безвылазно в профайлерах. :)

Ну и если совсем уж всё плохо и пара часов времени разработчика дешевле двух сотен серваков для хайлоад-проекта — то запустят-таки и исправят. Вон, фейсбук и вконтакт дальше пошли — то компилируемый PHP изобретут, то из этого PHP всё тормозящее ООП повыкидывают, то на C++ с ассемблерными вставками перепишут критичные сервисы.
Неправда. Если это действительно такое тормозное и отъедающее много времени место, то первый же сеанс профилирования покажет, что именно в этом месте алгоритм надо оптимизировать, и при достаточной чистоплотности — выложить в open source форк/pull request.
И это аргумент, почему лучше использовать готовый модуль, а не самописную функцию (или, вообще копипаст).
Вот смотрите:
1. Народ обратил внимание на то, что сложность O(N^2).
2. Грамотный чувак сделал из неё оптимизированную O(N) и бросил пулл-реквест.
3. Автор принял пулл-реквест и обновил репозиторий.
4. С этого момента миллионы чуваков делают npm update (или как там) и у них код начинает работать быстрее и эффективнее, без усилий и рефакторинга с их стороны. И пролетают те, кто вместо использования готового лепит велосипеды и забивает на них. Тут можно возразить, что без тестов может что-то поломаться. Ну те, кто не пишут тесты на свой код — ССЗБ.

Вся мощь модулей в том, что вы можете отдать части логики на опенсорс-аутсорс, где она дотачивается и оптимизируется. И иметь возможность быстро обновиться до актуальных версий. Чего не скажешь о самопале, глубоко зарытом в коде проекта. Даже маленьких модулей, которые вынуждены покрывать крайнюю нищету и скудость стандартной библиотеки. Непонятно, чем занимаются авторы ES-стандартов, если такие нужные каждый день в быту однострочные вещи приходится подтягивать из npm-репы.
Вообще вся эта история с выбросами больше похожа на всемирный развод на бабки. Тут любой вулкан может пёрнуть так, что выбросит в атмосферу CO2 больше, чем всё человечество за своё существование.
Под силу. Дудук, например, может потягаться со скрипкой в умении «пробирать». :)
Почему-то никто не вспомнил про такую штуку как зрение. Если лазер не рентгеновский и отражается от материалов, то даже малейший блик способен ослепить кучу народа в большом радиусе. Тут микросекундное отражение 10-ваттного китайского лазера от шкафа или стены без специальных защитных очков способно пожечь сетчатку и навсегда ослепить человека. Что будет с 10кВт? Как насчёт гуманности применения такого оружия? (Хотя гуманность и оружие не очень вяжутся у меня в голове, несмотря на существование такой формулировки в мировой практике).
Наверное тут нет однозначно правильного ответа. И с вашим доводом согласен и понимаю, что, может, к тому времени действительно новая таблетка будет лучше хаченной старой. Лишь бы без революций, ломающих всё нахрен без веских на то причин.
В том и соль, что за 20 лет в индустрии многое поменялось, а языки отстают. Хачить старые и сложившиеся можно либо сломом обратной совместимости (никто не хочет переписывать человекотысячелетия кода), либо нагромождением. Вот и делают новые, актуальные.
Не просто же так появляются все эти Scala, Kotlin, Go, Rust и прочие. Я думаю, это говорит о том, что штуки вроде Java, C++ и остальные просто сильно отстали от реалий современной жизни, не помгоают, а скорее мешают быстро и эффективно писать код, имеют довольно высокий порог вхождения и их уже не исправить. Это даже не поиск таблетки от всего, это скорее попытка произвести новые таблетки от современных болезней взамен тех, у которых уже дважды истёк срок годности и которые лечат от болезней, которыми уже мало кто болеет.

Для меня преимущество Kotlin в том, что в нём можно использовать всё то, что уже написано для JVM-экосистемы (в которую, напомню, вложены человекотысячелетия), при этом код писать в 3 раза быстрее, читаемее и с поддержкой актуальных концепций. Собственно, ради этого и batteries included я в своё время выбрал python, ради этого же сейчас выбираю JVM. Могу сказать, что Kotlin для Java — это как Swift для ObjC или как CoffeeScript, каким он должен был получиться, для Javascript.
Т.е. основная цель как раз — дать возможность работы с уже имеющимся, но по-новому. А не как, скажем, Go, с революционной идеей — пожертвовать всем уже созданным до него ради создания полностью своей изолированной от всего имеющегося очередной yet another экосистемы со своей атмосферой. Вот это экстенсивный путь.

А то, что предлагает Kotlin — это замена ручной пилы «Дружба-2» на нормальную импортную бензопилу для промышленного лесоповала. :)
Хочу от себя поблагодарить ребят за эту крутую штуку!

Моя история: давно хотел запилить себе пару приложений на андроид, но всегда пугала Java с её архаичным синтаксисом из 90-х, aka public static void main, который уже они не смогут поменять по соображениям совместимости. Хотелось проинвестировать своё время в изучение чего-то более эффективного в мире JVM. Уже собрался щупать Scala (и иметь проблемы с интеропом и слишком быстро меняющимся языком и сломом обратной совместимости) или Groovy (автор которого чуть ранее от него отказался). Но наткнулся на Kotlin. И вот, после того как я решился сделать свой проект на нём, мои волосы стали мягкими и шелковистыми. Лично для себя отметил:
— 30 минут чтения обзорных статей по базовому синтаксису, и можно начинать (если уже есть опыт в программировании).
— IDEA помогает изучать язык, выдавая в нужные моменты очень информативные подсказки.
— Она же, наконец-то, делает половину тупой работы, типа выведения типов и статического анализа за разработчика, что нереально облегчает жизнь. Не понимаю людей, которые пишут сложный код в блокнотах, Sublime или vim'е, если можно делать это в нормальных IDE.
— Маленький рантайм и прямой интероп с Java в обе стороны, без плясок. Синдром Not Invented Here и желание «переписать весь мир» под свой модный язык не наблюдаются. Наоборот, ставка на максимальное реиспользование того, что есть, но при этом чтобы делать это удобно.
— В плагине к IDEA есть крутая фича — Ctrl+Shift+Alt+K — и Java-код преобразуется в Kotlin, попутно вычищая тонны синтаксического мусора. Не всегда работает гладко, но даже я разобрался, что исправить в паре мест, чтобы заработало (когда мелкую java-либу сконвертил для того, чтобы дописать).
— Статическая типизация и их решение по nil-типу помогает существенно сократить вероятность отстрелить себе ногу.
— Кода пишешь как на Python'е (в плане читаемости и краткости), а получаешь все плюшки JVM.
— Семантически и большей частью синтаксиса похож на Swift. Очень похож (хотя Swift в плане удобства немного впереди). Так что, считай, в довесок ещё и Swift, считай, изучаешь.

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

И да, я до этого никогда не щупал ничего связанного с JVM. Java отпугивала, а небольшой опыт в Clojure — не совсем про то. Имел дело только с вещами типа Python, JS, C#.
Мне одному кажется, что 40 миллионов лет — это как-то слишком дофига, чтобы так хорошо сохранилась органика? Тут за миллион лет пирамиды в труху превратятся, не говоря уже о растительной клетчатке, пусть даже и в янтаре.
Когда будете пилить поддержку Android-проектов не забудьте про Kotlin, пожалуйста. В мире Java он как Swift в мире Objective-C.
Остальные 60% пользуются не «интернетом», а «хромом», «оперой» или «айфоном»? :)
Замените «сложное» на «простое» в заголовке и будете правы.
Офигеть. Я думал, что подобные истории — совпадение.
У самого недавний случай — как-то супруга имела неосторожность в присутствии наших телефонов (у неё iPhone, у меня Android) произнести фразу: «дорогой, у меня швабра сломалась, будешь мусор выносить — выброси, а будешь в магазине — купи новую».
Каково же было наше удивление, когда у меня гуггл в контекстной рекламе на следующий день выдал «ищете новую швабру? Купите xxxx!» с ссылкой на интернет-магазин. А у неё перед просмотром ролика с ipad с её аккаунтом youtube выдал целый 15-секундный видеоряд о преимуществах моющего пылесоса компании yyyyy.
При этом совершенно точно никто из нас не искал информацию о швабрах и пылесосах, т.к. и так понятно что это «одноразовая» вещь и где её брать, а пылесос есть и устраивает.

Как по мне, это уже за гранью.
Я, конечно, подозревал, что нас «пасут» шпионские модули с функцией звонков и СМС, но не думал, что прослушивают и логгируют всё и вся настолько дерзко.

Так что все эти дешёвые завявления о том, как корпорации заботятся о моей приватности — не более чем популизм.
Будь я таким банком, сделал бы на базе старенького firefox какого-нибудь, поддерживающего эти апплеты, приложение «банк-клиент» для работы с ними. Выход всегда есть, даже если этот выход не «переписать всё нафиг».
Не надо никого отстреливать! :)

Вы же не отстреливаете повара за то, что в ресторане вам подали стейк из говядины, которую закупили у фермеров, а не вырастили сами на заднем дворе ресторана. Если человек сделал какую-то интересную и полезную фиговину на ардуине для себя, а потом оказалось, что эта фиговина нужна ещё двум десяткам человек — не вижу никакого криминала, чтобы он собрал её так же на ардуине, без этапа «причёсывания» и разработки отдельной платы с тем же микроконтроллером и без лишней обвязки. А если завтра с апдейтом прошивки появится новая функция? При ардуине внутри пользователю достаточно будет шилдик докупить прицепить к ней, а в случае с «монолитным» решением — отзывать партию и перепаивать, если не предусмотреть «порты расширения» заранее. Это как с программными фреймоврками. В релиз попадает куча лишнего кода, который никогда не будет задействован, но на фреймворке проще и быстрее решать многие задачи.
Подтверждаю, дискомфортно.

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

Ах, да, можно ещё виньетирование, помимо зума сделать рандомный/осмысленный сдвиг кадра и всё такое прочее, чтобы «дороже смотрелось». Но это уже advanced-уровень. :)
Теперь просто всё больше приложений будет по подписке.
Пользуешься — платишь. Не пользуешься — не платишь. Очень удобно и для пользователей и для разработчиков, плюс мотивирует первых действительно платить, а последних поддерживать программы, фиксить баги, добавлять фичи.
Наклейка не подойдёт. Всем давно известно, что только кактус в горшочке рядом способен излучение поглотить.
Во всей этой истории удивляет тот факт, что чуваки заплатили деньги за то, чтобы похоронить аудиторию в 70 миллионов активных пользователей, о которых мечтают, пожалуй, большинство стартапов с, максимум, миллионом. Можно было развивать его, сделать его каким-нибудь spotify'ем или, хотя бы, посадить двух программеров и не давать умереть, выпуская багфиксы и минорные enhacements, поддержку новых платформ, чтобы потом как-то монетизировать. А по факту — купили и дали умереть. WTF?!

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity