Признаки слабого программиста

Поділитися
Вставка
  • Опубліковано 24 вер 2019
  • Практикуй английский с иностранцами в Cambly: bit.ly/2ll3im4
    А в этом видео мы разберем основные ошибки и проблемы плохих программистов.
    Видео о инкапсуляции: • ТВОЯ ГЛАВНАЯ ОШИБКА В ООП
    Доп. ссылки:
    ● Insta: / _extremecode
    ● VK: extremecodetv
    ● Telegram Chat: t.me/extremecode (или в поиске @extremecode)
  • Наука та технологія

КОМЕНТАРІ • 1 тис.

  • @ExtremeCode
    @ExtremeCode  2 роки тому +17

    Братан, хорош, давай подпишись на наш Telegram канал, мы там байки и кулстори травим
    🖤 t.me/extremecode

    • @wanes101
      @wanes101 Рік тому

      я кочу собес проходил и мне не интересно даже если кому то не нравится мой ответ. Компании все разные и они остро реагируют, на то что инкапсуляция это сокрытие реализации и говорит что нет, то видимо тут нужна Л - логика. И про санные тряпки менять блевать тянет.
      На счет Л(логики) - есть такая вещь как сложные понятия и более простые, вот сокрытие данных это более простое понятие, которое входит в понятие инкапсуляция. Просто смотря как ты в общем раскроешь эту тему важно если скачать что это только сокрытие данных это не правильно. А само по себе это определение верное если все правильно дополнить

    • @user-wc3ku9rh3g
      @user-wc3ku9rh3g Рік тому

      Автор видео тот ещё пирожок.

    • @worker9249
      @worker9249 Рік тому

      Патерн - патерн поведения

    • @ger_Kringe
      @ger_Kringe 10 місяців тому

      Инкапсуляция == сокрытие ))

  • @UNDAGROUNDCREEP
    @UNDAGROUNDCREEP 3 роки тому +908

    Видео не смотрел, но могу уверенно сказать, что признак сильного программиста заключается в понимании инкапсуляции, то есть сокрытия

    • @ulanaitbay
      @ulanaitbay Рік тому +48

      АХАХХАХАХАХАХ

    • @levleynov3663
      @levleynov3663 Рік тому +28

      Согласен,это одно и тоже :)

    • @UNDAGROUNDCREEP
      @UNDAGROUNDCREEP Рік тому +6

      @@levleynov3663 Все так, братец xd🥹

    • @crawfish5220
      @crawfish5220 Рік тому +44

      Тоже не смотрел, зашел чисто убедиться, что инкапсуляция это сокрытие, а тут такой полезный коммент

    • @FelixX138
      @FelixX138 Рік тому +2

      ахахахаха

  • @QwertyQwerty-jv8cu
    @QwertyQwerty-jv8cu 4 роки тому +328

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

    • @alexanderbelov6892
      @alexanderbelov6892 4 роки тому +6

      😱😂👍 Я этот прикол знаю. Пришлось как-то везти монитор... на кресле с колесиками.

  • @user-yx8cr5or1n
    @user-yx8cr5or1n 4 роки тому +1680

    Ждём "ООП для недоразвитых"

    • @paveldumavin5068
      @paveldumavin5068 4 роки тому +9

      для чайников что то надо показывать максимально просто но не проще )))

    • @homo-ergaster
      @homo-ergaster 4 роки тому

      Стесняюсь, спросить. А вы недоразвитый, что так этого ждете?

    • @zdogadnytsya
      @zdogadnytsya 4 роки тому

      @@homo-ergaster я да я

    • @kiryavll
      @kiryavll 4 роки тому +2

      @@paveldumavin5068 Для прожённых самоваров*

    • @igoryudnikov6198
      @igoryudnikov6198 3 роки тому

      Оно и так для недоразвитых)

  • @user-tf5ww6bx8r
    @user-tf5ww6bx8r 4 роки тому +743

    Если ты не знаешь паттерн PIDOR ты не программист

    • @idizor309
      @idizor309 4 роки тому +101

      Ты допустил пару ошибок в слове SOLID

    • @AlekseiKazantcev
      @AlekseiKazantcev 4 роки тому +40

      @@idizor309
      А вот щас обидно было, жду чтоб остасал завтра прям на столе

    • @user-co4py7ru3h
      @user-co4py7ru3h 3 роки тому

      Chixx это ты?

    • @user-gx8gk9ur1n
      @user-gx8gk9ur1n 3 роки тому +1

      Я овладел.

    • @user-mv3on8jd5h
      @user-mv3on8jd5h 2 роки тому

      ухты что то новенькое узнал Надо затащить на собес

  • @TopToro
    @TopToro 4 роки тому +89

    Месяц назад пришел студент устраиваться и сказал, что инкапсуляция это когда данные и методы содержаться в одном компоненте, и объяснил почему это не сокрытие. Я чуть не расплакался=) На работу приняли.

    • @smaramna
      @smaramna Рік тому +15

      Я так же объяснял
      На работу не взяли =)

    • @billymon11
      @billymon11 Рік тому +10

      @@smaramna Надо было объяснить что методы СОДЕРЖАТСЯ, а не "содержатЬся". Тогда может и взяли бы. Но это не точно.

    • @smaramna
      @smaramna Рік тому +2

      @@billymon11
      Это было общение с рекрутёром и технарём не в переписке, а в гугл мите, то есть со звуком
      Ну и да, грамотно писать текст я тоже умею, иногда не без помощи словаря или даже гугла, но к вопросу трудоустройства это отношения практически не имеет
      Точнее, если ты пишешь безграмотно - больше вероятность получить отказ или "мы вам перезвоним" (что в принципе одно и то же)
      Но если грамотно - то вероятность получить приглашение, не увеличивается

    • @billymon11
      @billymon11 Рік тому

      @@smaramna
      Согласен. Поэтому и добавил "Но это не точно" :)

    • @loeoeowoa
      @loeoeowoa Рік тому

      @@billymon11 душноватый ты школяр

  • @illiaostrovskyi5101
    @illiaostrovskyi5101 4 роки тому +1092

    инкапсуляция - это сокрытие)

    • @TheVolkovAlexandr
      @TheVolkovAlexandr 4 роки тому +76

      блин, жир из монитора потек!

    • @error4ik614
      @error4ik614 4 роки тому +55

      бан

    • @me_000_xXx
      @me_000_xXx 4 роки тому +35

      Инкапсюляция - это РАЗДЕЛЕНИЕ интерфейса от реализации.
      есть сокеты, я "кря" как они реализованы(никто в душе не "кря"), но с их интерфейом я могу работать и клипать, например, клиент-серверные аппликухи.

    • @mayonnaizzee
      @mayonnaizzee 4 роки тому +108

      @@me_000_xXx ого ты что программист

    • @night_h4nter
      @night_h4nter 4 роки тому

      Бан.

  • @andreyisaev1774
    @andreyisaev1774 3 роки тому +99

    "Первое, о чем мы должны беспокоиться - чтобы ваши коллеги и вы экономили время..."
    Вот и получаем игры, которые вынуждают менять видеокарты и процессоры каждые 4 года...

    • @Nikolay_K1
      @Nikolay_K1 2 роки тому +3

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

    • @testerjohnson7940
      @testerjohnson7940 2 роки тому

      >Не беспокоимся об экономии времени
      >Выпускаем идеально оптимизированную игру раз в 15 лет
      >"Ебоные погромисты погромируйте игры быстрее сука"

    • @Gameplayer55055
      @Gameplayer55055 2 роки тому

      а сейчас делают браузеры вместо программ, обленились нахуй и жрет оперативку

    • @rightpowered
      @rightpowered Рік тому +9

      Ну время шло и закон Мура лососнул тунца в итоге, теперь тренд на оптимизацию появился, т.к. графические процессоры развиваются медленее центральных и тот же ксеон на 1155 сокете так же хорошо работает с видяхами до 1660й включительно, а уж на 2011 сокете и вовсе по 3090.
      Другое дело, что люди берут домой ради энергоэффективности пользовательские процы за оверпрайс при тех же хар-ках что и серверные из недавнего времени, что успели значительно подешеветь.
      Так что от оптимизации никуда не деться, и говнокодеры в двойном плюсе: сначала тяпляп в продакшн, а потом оптимизэйшн в продакшене за новые бабки. И все счастливы.

    • @andreyisaev1774
      @andreyisaev1774 Рік тому +3

      @@rightpowered не открою секрет, наверно, но кодеры за оптимизацию зп получают редко и далеко не всегда по вине собственной лени.
      Почти у любого профи оптимизация идёт как отдельная задача, но бизнес, как правило, не согласует работу по ней - не выгодно.

  • @Razorityful
    @Razorityful 4 роки тому +27

    Есть один тонкий момент, о котором ты не упомянул. Есть еще особый вид "программистов", которые только что познали силу и мощь паттернов и начинают хуярить эти паттерны, там где нужно и не нужно и потом получается тот самый "Overengeneered garbage code". Лишь хочу добавить, что паттерны тоже нужно применять с умом и понимать где они действительно нужны и главное какие из них.

  • @user-qv4hn6qq4n
    @user-qv4hn6qq4n 4 роки тому +66

    Справедливости ради вынужден сказать, что одна хорошая мысль в видео есть: непонимание ООП ведет к непониманию паттернов. Уверен многие кто в свое время заморочился изучением ООП открывал книжку про паттерны и такой "О, да я всегда так делал"

    • @Alekseev95
      @Alekseev95 Рік тому +3

      паттерны нахуй не нужны, если кодить умеешь, то умеешь, не умеешь - книжка с паттернами не поможет

    • @user-th4ws1cq4c
      @user-th4ws1cq4c Рік тому +1

      @@Alekseev95 Внатуре. Код есть код! А всякие там понапридуманные абстрактные парадигмы-шмарадигмы - второстепенно.

    • @Creekererer
      @Creekererer 11 місяців тому +1

      @@Alekseev95 чо? Тоесть ты когда с коллегами общаешься и тебе предлагаю реализовать абстрактную фабрику, ты такой: кококо нипонимаю на маслятском?

  • @-mrws-
    @-mrws- 4 роки тому +262

    Похоже на девиз современного геймдева: "Ваше время стоит диких бабок - нахер оптимизацию!"

    • @me_000_xXx
      @me_000_xXx 4 роки тому +5

      "нахер античиты!!!"

    • @luck3949
      @luck3949 4 роки тому +33

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

    • @revester8165
      @revester8165 4 роки тому +14

      Кстати да, я тоже это заметил. Дожились, ебать, что на $2000 ПК еле-еле выдает 100 FPS на УГ4 играх.

    • @_CossaCShocK_
      @_CossaCShocK_ 3 роки тому

      @@luck3949Рефакторинг: ну да, ну да, пошел я нахер...

    • @_CossaCShocK_
      @_CossaCShocK_ 3 роки тому +6

      @@luck3949 Каким хреном читаемость касается оптимизации использования ресурсов? Я так понимаю, тест-кейсами код не покрывается, особенно когда мы пытаемся добиться максимальный выхлоп с кода? Если разрабатывать , чтобы вывалить в релиз поскорее, а потом угандошиваться годами с допиливанием до работоспособного состояния, то как раз и получается гуано высшей пробы. Программист не работает где-то в вакууме, и его обязан курироваться прожект-менеджером и ебаться в мозг тестировщиком, ну или все 3 эпостасии должны в нем одновременно уживаться, ибо в противном случае результат проекта - кал.

  • @r.tsvetkov
    @r.tsvetkov 4 роки тому +2

    Один из немногих каналов, где хочется поставить колокольчик!
    Спасибо за интересную подачу!

  • @sergeyivanov3351
    @sergeyivanov3351 4 роки тому +412

    Видос - балабольство - признак слабого программиста.

  • @andrewmandrew5608
    @andrewmandrew5608 4 роки тому +35

    Спасибо, за подробный разбор! Теперь никогда не забуду, что инкапсуляция - это сокрытие!

  • @dudai525
    @dudai525 4 роки тому +142

    1) 3:36
    2) 5:37
    3) 6:48
    4) 9:47

    • @oliwwateatwonan1321
      @oliwwateatwonan1321 4 роки тому +1

      Дишмон 4/4 , кто хуже?

    • @dudai525
      @dudai525 4 роки тому +13

      @@oliwwateatwonan1321 чего блять, про что несет хуй пойми

    • @AlekseiKazantcev
      @AlekseiKazantcev 4 роки тому +1

      @@oliwwateatwonan1321
      Мне кажется 3

  • @zordq
    @zordq 4 роки тому +1

    Спасибо за мотивацию, ещё бы проектов найти больше для практики, было бы вообще замечательно .)

  • @user-mq9ee4zg7z
    @user-mq9ee4zg7z 4 роки тому

    Отличное видео! Для начинающего - особо нужная инфа!! Спасибко!!!

  • @user-do4oh6rw9u
    @user-do4oh6rw9u 4 роки тому +549

    Толкового ничего не сказал, видео из жанра - "как заезжать в хату на зоне".

    • @j.d.3890
      @j.d.3890 4 роки тому +58

      как и все другие его видео)))

    • @mikeistp5736
      @mikeistp5736 4 роки тому +4

      Просто ты не целевая аудитория этого видоса/канала.

    • @Aimilomim
      @Aimilomim 4 роки тому +6

      Дальше сингтона и фабрики так и не ушел.

    • @alexlightweight
      @alexlightweight 4 роки тому +44

      Заходишь на собеседование в IT контору, а тебе hr полотенце кидает под ноги ))))))))))

    • @user-ef4wu1kt9i
      @user-ef4wu1kt9i 4 роки тому +1

      Cамая точная аналогия для собесов))

  • @serhii5321
    @serhii5321 4 роки тому +14

    Собеседование - это X-фактор, где умение или не умение петь мало влияют на мнение жюри (решение принято в первые 15 минут общения). Тебя по unit-тестированию "гоняют", а по факту в проекте лютый легаси окажется и никаких тестов :)

  • @DecapitatedHamster
    @DecapitatedHamster Рік тому

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @Kilosaw
    @Kilosaw 4 роки тому +21

    Дада, в принципе, все правда, а вот за аргумент против синглтона в качестве показывания навыков спасибо) 🙃👍🏽

    • @lnvaIidUsername
      @lnvaIidUsername 4 роки тому +3

      да лажа. У меня ~15 лет опыта на шарпе, я паттерны знаю как свои 5 пальцев, но на собеседовании на вопрос о паттернах всегда начинаю с синглтона и смотрю на реакцию.

    • @andreykrasnov7851
      @andreykrasnov7851 4 роки тому

      lnvaIidUsername И какая бывает реакция ?

    • @samtux762
      @samtux762 Рік тому +2

      Singleton и factory - два основных паттерна в ООП. Ну не при flyby же мне рассказывать (это экзотика и я не хочу смутить интервьюеров своим вычурным примером).

  • @mayonnaizzee
    @mayonnaizzee 4 роки тому +106

    Спасибо, теперь я еще больше считаю себя куском говна

  • @alexl7161
    @alexl7161 4 роки тому +54

    Чет аффтар, похоже, сам не шибко крутой программист. Воды как в моем дипломе (а эта штуке напоила пол-Африки), зато категоричности и пафоса - хоть отбавляй. Особенно позабавило про синглтон - мол, если с него начинают, то слабый программист, который, скорее всего, ничего не знает. Надо, видимо, начинать сразу с пула абстрактных фабрик, производящих какие-нибудь врапперы, чтобы собеседующий понял, что перед ним бог ООП

  • @dadadodo123
    @dadadodo123 4 роки тому

    Какой же у вас божественный канал! Боже храни youtube рекомендации!

  • @truman5652
    @truman5652 4 роки тому +9

    Ну такое. Спорные моменты, особенно на счет спросить о паттернах и узнать знает ли человек ООП. Рекомендуемые шаблоны решения часто возникающих задач это одно, а знание как реализуется ООП в тех или иных языках это другое. Сам по себе ООП не является овернжинирингом, а наоборот в виду своей философии позволяет в более легкой форме реализовать бизнес задачи.
    Но, в целом, спасибо за видос) Лайк за труды!

  • @user-cy1rm5vb7i
    @user-cy1rm5vb7i 4 роки тому +193

    и что это было? Аффтор просто потыкал в нас ссаными тряпками. Я и сам себя могу потыкать ссаной тряпкой, а вот привести пример, например, почему ооп ведет к оверинженирингу и какие паттерны используются 24/7 в большинстве проектов нет.

    • @KaraMaslyatam
      @KaraMaslyatam 4 роки тому +18

      Наследование: может быть настолько глубокое, что тебе надо полдня потратить, чтобы понять, как работает простейший объект и наследование ненужных конечному объекту данных.
      Инкапсуляция: private когда можно public, магические методы, не всегда нужные геттеры-сеттеры...
      Паттерны: смотри видео на канале "Паттер PIDOR".

    • @ex-format
      @ex-format 4 роки тому +13

      @@KaraMaslyatam знакомый рассказывал. Попал на проэкт из времён 1.4 джавы...
      Под 40 наследований... 3 месяца только вникали что с этим делать

    • @hendospirit889
      @hendospirit889 4 роки тому +7

      @@ex-format в данной ситуации подходит универсальный вывод - всё хорошо в меру)

    • @LedoCool1
      @LedoCool1 4 роки тому +5

      >и какие паттерны используются 24/7 в большинстве проектов
      Все паттерны, которые ведут к уходу от ООП. Например, dependency injection.

    • @inbuckswetrust7357
      @inbuckswetrust7357 4 роки тому +1

      @@LedoCool1 а инжектируешь то ты что ? :) какую сущность ?

  • @LYNCH1PC
    @LYNCH1PC 4 роки тому +31

    Признак слабого программиста - говорить про ООП, но не говорить про другие подходы

  • @aleksandrhusliakov8042
    @aleksandrhusliakov8042 4 роки тому +1

    Спасибо вам, ребятки с ExtremeCode! Очень полезно для новичка по С#:))

  • @TurboLocb
    @TurboLocb 4 роки тому

    Видос на вес золота, дай Бог тебе здоровья, хлопiц.

  • @MavelRoll
    @MavelRoll 4 роки тому +202

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

    • @TheVolkovAlexandr
      @TheVolkovAlexandr 4 роки тому +23

      Поддерживаю. Особенно когда паттерны добавляют потому, что знают их, жертвуя этими принципами.

    • @zkksch
      @zkksch 4 роки тому +40

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

    • @denedi8485
      @denedi8485 4 роки тому +27

      @@zkksch паттерны нужны не только для того чтобы их использовать самому, а чтобы было легче объяснять свою идею другим людям. Вместо того чтобы описывать пол часа алгоритм, ты можешь просто сказать название паттерна и тебя должны понять. (Ну эт в теории.....)

    • @alexpotap3985
      @alexpotap3985 4 роки тому +5

      многие из старых паттернов уже признаны антипаттернами, solid да, норм тема

    • @inbuckswetrust7357
      @inbuckswetrust7357 4 роки тому +10

      солид спорная шляпа очень спорная. это отрыжка рынка в IT по сути.

  • @mainframe8123
    @mainframe8123 4 роки тому +252

    Такой надменный тон у автора, сразу видно - молодой =)

    • @theHaPK
      @theHaPK 4 роки тому +7

      Ахаха... поддерживаю! Все рассмотренные вопросы нацелены на молодых (потому что опыта у них нет и непонятно что с них еще спросить можно)...

    • @Petro_Bandera
      @Petro_Bandera 4 роки тому +27

      Поработал бы автор на аутсорсе когда с десяток легаси проектов с таким говнокодом что на голову не налазит гораздо проще к качеству кода стал бы относиться.

    • @TopToro
      @TopToro 4 роки тому +9

      @@Petro_Bandera я думаю автор потому и не работает на аутсорсе с легаси проектами, так как к качеству кода относится адекватно

    • @pacckat
      @pacckat 4 роки тому

      @@TopToro , слабак чтоль? ))

    • @user-ef4wu1kt9i
      @user-ef4wu1kt9i 4 роки тому

      @@pacckat немужык штоль?

  • @daldlaushel5841
    @daldlaushel5841 Рік тому

    Братан хорош! Давай контент! В кайф! Можно ещё?! Вообще красавчик!!

  • @denisvladimirovich661
    @denisvladimirovich661 4 роки тому +1

    Спасибо тебе за видосы. Я надеюсь твой канал проживёт вечно ну и духом не падай. Буду ждать новых видосов по ООП и C# ну и python если конечно знаешь его)

  • @NoName-nj3zw
    @NoName-nj3zw 4 роки тому +4

    Блять, уже не первое видео смотрю этого парня. Пишу комменты чуть реже чем никогда. Но тут надо сука... Я ржу каждый раз как конь, камеди клаб просто слезно отсасывает... Красава! И боевой дух поднимается и хочется учить еще больше и дольше все. Спасибо за канал. Пойду дальше набираться мудрости под дикий лошадиный ржачь. Как же это ахуенно.

  • @_-BIMBO-_
    @_-BIMBO-_ 4 роки тому +17

    Спасибо чувак! Но признаюсь. Я байтики и даже битики гоняю. и знаю такую хрень как BOOL. А еще я обожаю калькуляторы на смартфоне весом в 1ГБ это признак вундервафельного програмиста. В пиратской бухте Embedded и IOT неумение делать так " HREN &= ((1

    • @destroy_swarm
      @destroy_swarm 4 роки тому

      эмбеддер детектед )

    • @_-BIMBO-_
      @_-BIMBO-_ 4 роки тому

      МИСТЕР! Имеешь что то против ембеддед?

    • @destroy_swarm
      @destroy_swarm 4 роки тому

      @@_-BIMBO-_ имею только за )

    • @Dron008
      @Dron008 4 роки тому

      Как-то переживаю за HREN. Ты лучше его как константу объяви.

    • @Evgeny_Ermakov
      @Evgeny_Ermakov 4 роки тому +3

      Возможно вы имели ввиду поразрядное ИЛИ, а не логическое?

  • @mari0netk0
    @mari0netk0 4 роки тому

    ООП в массы! Ждемс!

  • @vladbreez4036
    @vladbreez4036 Рік тому

    Const - это директива, которая позволяет создавать условия для оптимизирующего алгоритма турбофан, который позволяет увеличить производительность в сотни раз, если он знает что то или иное значение будет неизменным, но есть одно но, эти оптимизации работают не дальше одной вложенности области видимости.
    Поэтому, тут не всё так просто как ты рассказал... И пора воспользоваться своей же фразой, не стыдно чего-то не знать. Я смотрел много твоих видосов и ты красава, много шаришь и мне нравится твой контент поэтому продолжай :)

  • @alexlightweight
    @alexlightweight 4 роки тому +5

    А я за 15 лет программирования (C#/Go) понял что сила не в GoF, SOLID, GRASP и т.д., а в простой вещи, называемой принцип KISS.
    Кстати мало кто знает что KISS не айтишный принцип, а пришел в IT из американской военной промышленности 70-х годов, там были те же проблемы проектирования, что сейчас у нас в IT.
    Суть моего спитча: любой простой гавнокод можно срефакторить до норм кода, а вот 10 этажную архитектуру с использованными +100500 паттернами, которая просто выводит на экран список пользователей, срефакторить очень тяжело и иногда просто невозможно на реально работающей системе => поддержка превращается в запуск шатла на марс.

    • @alexanderbelov6892
      @alexanderbelov6892 4 роки тому +2

      Спасибо за понимание, чоо паттерны - это стандартные способы решения стандартных задач в ООП, а не создание архитектуры проблем, решаемых архитектурой паттернов там, где можно написать несколько десятков строк просто кода без затей.

  • @user-cw9iy8fm7w
    @user-cw9iy8fm7w 4 роки тому +7

    Охренеть! 2 наносекунды против каких-то там жалких бабок каких-то программистов и программисты выигрывают...
    2 наносекунды, даже по минимуму, даже если монитор выключен, даже если всё выключено, только процессор работал, какой ни будь i5 9400, это:
    0.000000002 * 65 джоулей энергии просто в тепло (тепловыденение процессора),
    даже для миллиона пользователей всего 100 раз в день это уже за 1 день:
    130 джоулей.
    А если это происходит у миллиарда пользователей тысячу раз в день, скажем, код где-то в популярном браузере, то:
    130000 джоулей энергии.
    130 мегаджоулей!
    130 мегаджоулей в тепло просто потому, что "их время стоит дохрена бабок".
    Да не стоит ваше время дохрена бабок, если вы сливаете почти 4 литра бензина каждый день в помойку просто потому что вам так проще понять чей то там код.
    И ведь это реально 2 наносекунды и всего лишь миллиард пользователей и всего 1000 раз в день, а тот или иной участок кода может выполняться далеко не 1000 раз в день, а миллионы раз в день у многих миллиардов, например, декомпрессия jpeg или разборка HTTP заголовка или сраный a+b в каком ни будь интерпретаторе JS.

  • @sergeyknol
    @sergeyknol 4 роки тому

    благодарю за видос!

  • @lightmidnight2078
    @lightmidnight2078 4 роки тому

    годное видео, и отдохнул, и обучился.

  • @dicloniusN35
    @dicloniusN35 4 роки тому +9

    за 2 года прогрессировал: научился китайские порно мультики рисовать и забыл код

  • @vomgame
    @vomgame 4 роки тому +6

    Из-за таких гениев мне самому хочется стать блогером по программированию

  • @user-ni9tf5yr6m
    @user-ni9tf5yr6m 3 роки тому

    Ой ей, последнее про оптимизацию всего подряд - это про меня. Теперь расслаблюсь)

  • @trikrapka
    @trikrapka Рік тому

    пол видео как обычно бомбежка на сокрытие, то есть инкапсуляцию 👍

  • @mechmaker9346
    @mechmaker9346 4 роки тому +10

    "ООП - целостный набор парадигм"
    Чо?
    Почему тогда это ООП?
    Объектно ориентированное программирование...
    Где здесь парадигмы?
    Знание паттернов != Знание ООП.
    Это лишь топовая фича,которую стоило бы знать.

    • @adeusexmachina
      @adeusexmachina 4 роки тому +1

      объектно-ориентированное парадиграммирование :D

    • @darellldark
      @darellldark 4 роки тому +1

      Вероятно, автор имел в виду, что ООП является парадигмой. Либо автор просто не знает, что такое парадигма в целом.

  • @maktor7697
    @maktor7697 4 роки тому +7

    Я из этого видео запомнил что инкапсуляция это не сокрытие))

  • @jd-chnl
    @jd-chnl 3 роки тому

    Улыбнуло)) Спасибо! Коротко и понятно, а главное по сути

  • @maksp.5366
    @maksp.5366 4 роки тому +1

    "Не каждая система требует оптимизации", я у Sorax'а услышал в под касте в первые*. Спасибо что прямо все разложил - некогда месяцами* размышлять о таком - делать надо :)

    • @samtux762
      @samtux762 Рік тому

      В играх бывали проблемы, когда со 100 очками скрытности и шмотом на +28 скрытности перс начинал шуметь со страшной силой, так как скрытность была int8 и интерпретировалась как int8(128)=-128. Но этот косяк легко исправляется заменой на тип uint8.
      В этом примере расходовать по любому бздёху int64 для более быстрого говнокода ведет к требованиям 100 Gb на диске, 32 Gb оперативки. Я понимаю, что менеджеру пох на пользователей, но это - плохая практика.

  • @painpb5550
    @painpb5550 4 роки тому +15

    Вижу новый видос ExtremeCode - ставлю лайк

  • @andor1904
    @andor1904 4 роки тому +83

    Ясно аффтору пять лет

  • @Fenrir-Wolf
    @Fenrir-Wolf 4 роки тому

    отличный советы)

  • @olegtsenilov3610
    @olegtsenilov3610 4 роки тому +2

    Как бы то ни было, константы все же помогают компилятору или интерпретатору оптимизировать, "зная" точно, что параметр или переменная всегда остается неизменной. Например компилятор может не выделять место в памяти под переменную а добавить в свою "символьную таблицу"(или как ее зовут на русском) и сразу подставить значения (в случае если не запрашивать в коде адрес переменной например, что форсит компилятор выделять память). Но конечно это не главный смысл const.

    • @olegtsenilov3610
      @olegtsenilov3610 4 роки тому

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

  • @user-fd6il4we1g
    @user-fd6il4we1g 3 роки тому +15

    Нихуя не понял, но ооочень интересно. Вернусь пожалуй когда разберусь в HTML.

    • @leosv0
      @leosv0 2 роки тому

      @КУБАНЕНКО КАВКАЗОИДОВИЧ ХУЙЛОСТАНЦЕВВАТНОПЕРДАКОВИЧ а кто нужен-то? И как ваше высказывание соотносится с вакансиями на НН?

  • @maximmagadeev1414
    @maximmagadeev1414 3 роки тому +3

    В сообществе C++ или Java принято рассматривать инкапсуляцию без сокрытия как неполноценную.

  • @user-lg7tl6yu1n
    @user-lg7tl6yu1n 4 роки тому

    Спасибо за полезное видео! ЛАЙК
    Вопрос: Можете посоветовать видео уроки по обручении PYTHON

    • @mayonnaizzee
      @mayonnaizzee 4 роки тому +6

      Уже обручились?

  • @user-sr4nw2iu2u
    @user-sr4nw2iu2u 3 роки тому +2

    Использую инкапсуляцию для сокрытия. Чем меньше в твоей библиотеке открытых методов, тем проще её изменять.

  • @edward.vstock
    @edward.vstock 4 роки тому +4

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

    • @user-wd4xu7sp2o
      @user-wd4xu7sp2o Рік тому +1

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

    • @igorkor4804
      @igorkor4804 Рік тому

      Тоже в первые пол года своей карьеры думал что нужен "оптимальный баланс".
      Но сейчас, как тот кто работает в отрасли 10 лет могу сказать, что оптимизировать не нужно пока не появится необходимость, так как твоя оптимизация (даже в плане поиска "оптимального баланса") в итоге окажется нахрен никому не нужна в бОльшем проценте случаев. Например, ты думаешь такой: "Вот этот участок должен работать максимально быстро, так как это популярная фича и все ей пользуются". В итоге этой фичей раз в пол года пользуется баба Нюра, во время полного затемения, когда луна в Марсе. Или второй пример: ты думаешь что в метод будут приходить огромные массивы данных и оптимизируешь его, в итоге туда приходят массивы по 1-5 объектов. И таких примеров ещё можно навалить кучу. Получается что ты бессмысленно убил на эту оптимизацию кучу времени, ещё и наговнял в коде, так как обычно оптимизированный код очень хреновый с точки зрения чтения, исключения лишь подтверждают правило.
      Лучше писать код максимально просто и прямолинейно, принцип даже такой есть KISS, вот его надо в первую очередь использовать . А оптимизировать стоит уже готовый код, когда 100% известно что он используется постоянно, и когда оптимизация этого участка принесёт какую-то ощутимую экономическую пользу.

  • @SteelyGlow
    @SteelyGlow 4 роки тому +5

    "Харэ байтоёбить, мне надо, чтоб твой калькулятор весил тридцатку и жрал двести мегов оперативы"

  • @antonproshchenko2613
    @antonproshchenko2613 4 роки тому

    Уух. Вы делаете мир лучше

  • @user-mp3md3yg8h
    @user-mp3md3yg8h 4 роки тому +1

    Сейчас только начал учить HTML и CSS. Ни**го не понял, но очень интересно.

  • @TheXbxeh
    @TheXbxeh 4 роки тому +133

    Да я байто-еб но я программирую промышленные контроллеры, с размером памяти 8 Мбайт)))

    • @pejtepivo
      @pejtepivo 4 роки тому +12

      Я программировал компьютер с 16 килобайтами озу. А в 128 килобайтах я сделал игру с хорошей графикой и музыкой.

    • @user-jn4cq9dy3f
      @user-jn4cq9dy3f 4 роки тому +6

      @@pejtepivo, МК-52 105 шагов программы... Первый курс института, все счётные работы на нём. После него и РК86 выглядел просто шикарно.

    • @Dron008
      @Dron008 4 роки тому +11

      Помню офигительные демки размером 4 килобайта. А сегодня коллега искал в старом Ruby функцию обрезания символов в начале строки, не нашёл. Но нашёл функцию обрезания в конце. Chomp или как-то так. (я не рубист, если что, давно когда-то писал немного). И ещё нашел функцию разворачивания строки. Так он додумался развернуть строку и обрезать в конце, а потом развернуть назад. Вот серьёзно, не анекдот, реальный случай! О том, какие вычислительные операции за этим стоят, он, конечно, не думал. говорит, а что , у нас компы быстрые (ему недавно подогнали макбук этого года). Пипец!

    • @vladislavdudnikov26
      @vladislavdudnikov26 4 роки тому +5

      o_O шикарно живёте. Не знаю размер какой памяти, но, видимо, оперативной. Я прогал на контроллерах с 32, 64 килобайтами памяти. Да, байто-дрочерство там обязательно, но в пределах разумного. Я в своё время даже в циклах писал uint8_t, потому что знал, что массив размером поменьше будет. Но в реальности это нафиг не нужно, тем более когда меняешь программу, то такие вещи отслеживать очень сложно.

    • @user-gk1vv2jd7n
      @user-gk1vv2jd7n 3 роки тому

      @@Dron008 Если не ошибаюсь, то строка в Ruby - объект. Тогда среди его свойств может быть что-то вроде "порядка символов", 0 - обычный, 1 - перевёрнутый. И тогда получается, что совершается не так уж и много лишних операций

  • @dmitriyzhernoviy8781
    @dmitriyzhernoviy8781 4 роки тому +3

    thumb down:
    reason :
    git push --force
    😆
    Working one year as SDEt for one small/medium s/w house in us. Probably 90% of a staff would fail passing this test. Even an internal wiki onbord docs suggest to use SourceTree as a git client. Not sure even if anyone aware that git has CLI. So if you happen to be our candidate. No worries 👍 you would pass

  • @fgbtebette5469
    @fgbtebette5469 4 роки тому

    Спасибо за видос,сразу попал в пару моих проблем или проблем моих друзей,будем меняться)

  • @michkovskyi
    @michkovskyi 4 роки тому +2

    10:40 пора вьіходить из криокамерьі, хороший довод 5 лет назад. Сейчас можно узнать у azure сколько в деньгах стоит указанньій кусок кода на исполнении. Вцелом - очень хороший обзор.

  • @MrOverlord243
    @MrOverlord243 4 роки тому +70

    Неплохо поплавал, столько воды, ууух!

  • @user-wr9vf1wr8l
    @user-wr9vf1wr8l 4 роки тому +8

    Мне вот стало интересно, а как по-твоему переводится инкапсуляция, гений?

    • @agentsmith9708
      @agentsmith9708 4 роки тому +2

      объединение свойств и методов в один объект. а сокрытие - это либо использование полей и методов с директивой private либо замыканий в JavaScript. но вообще если надо что-то скрыть без инкапсуляции никак

    • @borisn879
      @borisn879 3 роки тому

      @@agentsmith9708 это узкий пример из конкретных ЯП. Инкапсуляция как реализация - это объединение свойств и методов. А инкапсуляция как цель - это сокрытие в смысле изоляции. В разных ЯП инкапсуляция может совмещать и сокрытие, и совмещение, или же что-то одно.

  • @user-rp4uc6ri4m
    @user-rp4uc6ri4m 3 роки тому +2

    константа оптимизирует мозг программиста разве что)

  • @Psyh-su3et
    @Psyh-su3et 3 роки тому

    Відео супер, відкрило очі. Дякую!

  • @alex-rr5mt
    @alex-rr5mt 4 роки тому +30

    А когда мы уже увидем CODE (код) на этом данном канале?

  • @illegalboy8508
    @illegalboy8508 4 роки тому +48

    Я говорил на собеседованиях кучу раз что это сокрытие. И все было ок, кидали офферы

    • @juliusmalkov9620
      @juliusmalkov9620 4 роки тому +13

      они просто не знают правду)

    • @VladDraculator
      @VladDraculator 4 роки тому +13

      После этого видео все изменится)

    • @scary_ai
      @scary_ai 4 роки тому

      бляц

  • @VictorPK100
    @VictorPK100 4 роки тому

    золотые слова!

  • @maloun4726
    @maloun4726 4 роки тому

    с годами всё больше убеждаюсь что всё вышеизложенное правда, прошёл все косяки новичка на себе

  • @shans-on
    @shans-on 4 роки тому +16

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

  • @klxqz
    @klxqz 4 роки тому +8

    Пафаса дофига, а смысла ноль)

    • @agentsmith9708
      @agentsmith9708 4 роки тому +3

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

  • @andreybiryulin7207
    @andreybiryulin7207 4 роки тому

    полиморфизм это использование указателя на указатель функции, а не прямого указателя функции (то есть даёт возможность поменять указатель и тем самым поменять имплементацию в будущем, но фиксирует публичный контракт во время написания кода)
    указатель на указатель это Action,Func в C#
    interface в C# это именованный массив Action/Func в C#
    ООП живёт ещё в определенных нишах, а т.к. 90% программирования сейчас это backend HTTP service, которые по сути stateless, то там ООП не очень заходит, потому что суть ООП об изменяемом состоянии, которого в веб сервисах просто нет (REST по факту это набор функций с передаваемым состоянием в аргументах). В десктоп приложениях и там играх всяких на Unity ООП вполне себе подходит. Поэтому не очень согласен с тем что ООП очень жив, на подавляющем большинстве современного бэка ООП скорее вредно, чем полезно.

  • @liletl3083
    @liletl3083 2 роки тому +2

    Я который только скачал visual studio и начал "программировать" и зашедший сюда: Неее поняяял, вы на каком языке разговарываете, сэр ?

  • @Aricael
    @Aricael 4 роки тому +32

    автор, а где твой гитхаб?

  • @lsankazarez6174
    @lsankazarez6174 4 роки тому +66

    Всрал 11 минут...

  • @user-ns6jx5ew4q
    @user-ns6jx5ew4q 4 роки тому +1

    Инкапсуляция - способность объекта вмещать данные и манипулировать с ними скрывая при это детали реализации. Сокрытие одно из свойство инкапсуляции которое возможно применять отдельно от нее. Или я не понял в чем соль конфликта или не правильно понимаю инкапсуляцию. Помогите разобраться)

  • @user-yx8gu4hm6z
    @user-yx8gu4hm6z Рік тому

    Контент огонь.

  • @damik_max
    @damik_max 4 роки тому +15

    Инкапсуляция это сокрытие, я вам это от всей души говорю, это сокрытие, просто 100%.
    Я в этом уверен и меня нельзя переубедить.

    • @error4ik614
      @error4ik614 4 роки тому +1

      бан

    • @alekseymudla5374
      @alekseymudla5374 4 роки тому

      Тут даже на википедии вопрос рассмотрен ru.m.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

    • @vfnikster
      @vfnikster 4 роки тому +1

      Здесь путаете цель и средство. Средство - сокрытие (от изменения посторонними операциями), цель - защита данных и кода от ошибок в посторонних модулях.

    • @BlizzardLight
      @BlizzardLight 2 роки тому

      @@vfnikster взрыв пукана
      инкапсуляция делается сокрытием
      *горит канал

  • @_CossaCShocK_
    @_CossaCShocK_ 4 роки тому +10

    Ну да, раскажите про байтоебство в геймдеве)))

    • @user-vb6kh3ep7p
      @user-vb6kh3ep7p 3 роки тому +3

      Или в программировании микроконтроллеров, особенно Attiny и подобных.

    • @HardLOLMaster
      @HardLOLMaster 3 роки тому +1

      @@user-vb6kh3ep7p сударь, да вы как разраб слабы. Видеоролик то не о контроллерах и не о том как экономить память. Он об ошибках начинающих разработчиков в большом мире энтерпрайза

  • @ko_fes
    @ko_fes 3 роки тому +1

    8:46 - 9:04 - не совсем верное высказывание: const объекты в js мутабельны (их можно изменять), но переопределять их нельзя

  • @MrAidenUs
    @MrAidenUs 3 роки тому

    За цитату из Мартина Фаулера по поводу противоречия оптимизации и рефакторинга респект.

  • @LordoftheLamerS
    @LordoftheLamerS 4 роки тому +38

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

    • @iosifguzeev4362
      @iosifguzeev4362 4 роки тому

      Всех знакомых спрашивали (С++, С#), но да, конечно от отрасли зависит.

    • @LordoftheLamerS
      @LordoftheLamerS 4 роки тому +1

      @@iosifguzeev4362 ну на плюсах не удивлён такому)

    • @mars8430
      @mars8430 4 роки тому +3

      @@LordoftheLamerS на каждом собесе по пыхе меня спрашивают паттерны. Наверное про них не спрашивают только html программистов

    • @LordoftheLamerS
      @LordoftheLamerS 4 роки тому +10

      ​@@mars8430 Яндекс, Касперский, Mail.ru, Ingram Micro, МегаФон на вакансию веб-разработчика меня не спрашивали об этом, обычно спрашивали только там где на мой взгляд достаточно слабые команды как ни странно). Другой вопрос почему так? Я полагаю просто потому что опытные разрабы/тимлиды реально понимают, что если ты используешь паттерны проектирования, то либо ты пилишь свою библиотеку, либо делаешь что-то неоправданно сложным (там где можно сделать проще), как правило все эти паттерны проектирования уже вшиты во внутрянки всяких фреймворков/библиотек и нам остается просто этим пользоваться.

  • @justamosquito191
    @justamosquito191 4 роки тому +6

    1:40 эта реклама настолько внезапная, что мне понадобилось 10 секунд, чтобы сообразить.

  • @maximalyokhin2296
    @maximalyokhin2296 4 роки тому +1

    Вы нарезку со стрима сделали?)

  • @laman4183
    @laman4183 4 роки тому

    Мой первый колокольчик, пили еще, пожалуйста

  • @squidwardfromua
    @squidwardfromua 3 роки тому +4

    10:54
    Судя по Киберпанку, оптимизировать не нужно никогда, ибо всегда есть железо помощнее.

  • @k1ark143
    @k1ark143 4 роки тому +3

    "Инкапсуляция это сокрытие" ExtremeCode

  • @user-lm6xq2pq5e
    @user-lm6xq2pq5e 4 роки тому +1

    Первый канал, которому действительно не впадлу поставить колокольчик

  • @useit1
    @useit1 4 роки тому +1

    Тыкнул паузу на "у чела 2 репозитория с разницей в полтора года и там одно и то же", ммм а давай прикинем что челик рвется к тебе на джуна и прикинь, он и шарит не выше джуна. Что у него должно быть в соседних репах, в одной хеловорлд, во второй колайдер?
    Если он пытается устроиться джуном, значит у него опыта скорей всего нет, либо самоучка, либо студик. В любом случае ему толком опыта неоткуда набраться и прогресс если есть, то только усилием самого персонажа, что автоматом накидывает ему плюсиков и выделяет из массы, то бишь он качал скилуху не получая за это денег, respect+ таким пацанам.

  • @U7Craft
    @U7Craft 4 роки тому +8

    учите ооп, не байтоебте, учите английский на камблу, забудьте про синглтон - учите мултитон

  • @user-cx8kh4sb2i
    @user-cx8kh4sb2i 4 роки тому +5

    Понятие инкапсуляции из книги по Java Шилдта. Если это не сокрытие то я хз как это назвать. возможно просто автор этого ролика сам не очень хороший программист
    Механизм, связывающий код и данные, которыми он манипулирует, защищая оба
    эти компонента от внешнего вмешательства и злоупотреблений, называется инкап­
    суляцией. Инкапсуляцию можно считать защитной оболочкой, которая предохраня­
    ет код и данные от произвольного доступа со стороны другого кода, находящегося
    снаружи оболочки. Доступ к коду и данным, находящимся внутри оболочки, строго
    контролируется тщательно определенным интерфейсом.

  • @yakub8798
    @yakub8798 4 роки тому +1

    я начинающий программист и поэтому половину того что ты сказал я не понял но было интересно

  • @seastraus1
    @seastraus1 4 роки тому

    Супер!

  • @diasakishev8897
    @diasakishev8897 4 роки тому +19

    10:55 и вправду звучит как цитата говнокодера)))

    • @MrSmith01
      @MrSmith01 4 роки тому +3

      "Premature optimization is the root of all evil" -- DonaldKnuth

  • @FoxInGlases
    @FoxInGlases 3 роки тому +5

    Такой чувство что мне про зону росказуют

  • @aliakseiliavonik541
    @aliakseiliavonik541 4 роки тому +2

    Инкапсуляция-это точно сокрытие, слова синонимы просто