Объектно ориентированное программирование

Sdílet
Vložit
  • čas přidán 8. 04. 2018
  • ООП.
    Telega и чатик - t.me/wndtn
    boosty(менторинг) - boosty.to/wndtn
    instagram - / winderton
    github проекта(код с канала) - github.com/winderton
    ___________
    Разговор Алана Кея - • Alan Kay at OOPSLA 199...
    Банда четырёх - www.amazon.com/Design-Pattern...
    Функциональное программирование - www.defmacro.org/2006/06/19/fp...
    Цитаты - www.yegor256.com/2016/08/15/wh...
    GTEngine - www.geometrictools.com/

Komentáře • 979

  • @BagiM3
    @BagiM3 Před 6 lety +294

    Если автор не против, я позволю себе дополнить это видео своей мыслью, чтобы новичкам от него был какой-то толк. Может быть, если рассуждать абстрактно и в ваакуме, то ооп действительно плох (не знаю), но это совсем не важно, чтобы решить учить его или нет. Для начала вам нужно определится со своими целями и задачами, а не с парадигмами которые вы хотите использовать. Выбирайте тот спектр задач, ту сферу/область деятельности, которой хотите заниматься и изучайте какие подходы там используются/ являются популярными, а когда достигните определенного уровня, тогда у вас уже появится возможность самостоятельно выбирать, что вам подходит, и что не мало важно, подходит для решения задачи. Вот, например, автору не удобно изпользуя ооп оптимизировать лейаут данных в памяти, когда он пишет какой-небудь лов-левел игрового движка. Его выбор обоснован его опытом и продиктован его задачами которые он хочет решить, и только этим, а не тем, что ооп - "гавно". Не пытайтесь выбрать идеальную парадигму/методологию/язык программирования, выбирайте задачи и пытайтесь их решать. И только так вы будете действительно понимать, что и для чего подходит или же нет. Спасибо

    • @user-te9dr5jf3e
      @user-te9dr5jf3e Před rokem +11

      Спасибо за совет

    • @misha2993
      @misha2993 Před rokem +2

      Согласен

    • @PanchodasPien
      @PanchodasPien Před rokem

      чертовски верно

    • @denisyusupov6528
      @denisyusupov6528 Před rokem +2

      Согласен, чел. Мне удобнее пихать всё в функции и мне всё равно что там сейчас модно.

    • @vladimirkorshunov7734
      @vladimirkorshunov7734 Před rokem +2

      А я немного дополню вас.
      При выборе подходов и написании кода помните что то что вы пишите, будет потом читаться в том числе и людьми, в том числе и вами. Так что не ленитесь "красиво" оформлять ваш код. (Если ещё и комментарии будут - то вообще супер)
      И старайтесь при выборе подходов и парадигм так же обращать внимание на распространенность своего выбора.
      Пример: круто если вы можете написать игровой движок на brainf#ck, но это будет бесполезно, т.к. кроме вас никто его не поймёт.

  • @Slakimil
    @Slakimil Před 5 lety +113

    Как здорово, что ролики Вина смотрят выпускники MIT. А еще они пишут комменты и делятся своими знаниями.

  • @GAVVVR
    @GAVVVR Před 6 lety +173

    Реклама на CZcams предлагает курсы по Питону перед просмотром этого видео :D

  • @thank_you_from_UA
    @thank_you_from_UA Před 2 lety +2

    Спасибо большое за твою работу. И столь полезную информацию:)

  • @demiurg999
    @demiurg999 Před 6 lety +7

    за статистику придётся поставить лайк, так качественно ещё никто не выпрашивал

  • @ICxemI
    @ICxemI Před 6 lety +3

    Лучшее по ООП на CZcams, красиво делаешь, Win! Спасибо! Жду новой годноты, а пока пошел прокачивать себя, всем пис V

  • @suzanashaula9233
    @suzanashaula9233 Před 6 lety +2

    отличнейшее видео и мораль про использование ООП хороша! спасибо, это было интересно :)

  • @ignatcolor
    @ignatcolor Před 5 lety +5

    Огромное спасибо за видео! Я ни фига не программист, но посмотрел (послушал) с большим интересом. Звук, видеоряд, подача информации - всё четко! Спасиб!

  • @IgorSukhinin777
    @IgorSukhinin777 Před 6 lety +15

    Основательный и методичный подход к архитектуре кодига. Я такие почти не встречаю, потому большущий респект автору :)

  • @semptra6196
    @semptra6196 Před 6 lety +60

    Все, что было сказано относительно производительности, справедливо по отношению к критическим по производительности же приложениям. Что не говори, а писать объектный код (в больших проектах) быстрее и удобнее для программистов, что в сегодняшних реалиях более актуально чем производительность железа. Мы написали неоптимизированную игру на юнити и она тормозит? Окей, завысим требования и проблемы отпадут

    • @user-wf2op7gu6n
      @user-wf2op7gu6n Před 6 lety +8

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

    • @sir.Geronis
      @sir.Geronis Před 6 lety +5

      Василий Голубцов
      Докупать оборудование вечно нельзя. Дешевле писать сразу код без лишнего оверхеда.

    • @globalpower6967
      @globalpower6967 Před 5 lety +12

      Евгений Витальевич
      Да что ты, а у ведущих мировых гигантов получается, а ты так и пиши без лишнего оверхеда, ты же ГЕНИЙ, а они глупые и богатые, но это такое, они же все равно не чета такому ГЕНИЮ, работающему за печенюшки.

    • @vpzbavmbiibjpjc
      @vpzbavmbiibjpjc Před 4 lety +29

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

    • @Ravarnit
      @Ravarnit Před rokem +1

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

  • @mantus3427
    @mantus3427 Před 6 lety +1

    С годами его видосы становятся все лучше и лучше :D

  • @lyubovs2242
    @lyubovs2242 Před 7 měsíci

    Спасибо, до технической части ещё рано, но суть наконец-то до меня дошла👍

  • @aleksandryushka9571
    @aleksandryushka9571 Před rokem +3

    Спасибо за видос. Мне кажется что нужно знать какой инструмент лучше применить в тех или иных условиях. В остальном это не имеет значения и чистая вкусавщина.

  • @nekitsan3837
    @nekitsan3837 Před 5 lety +7

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

  • @user-gv5gh7zg3h
    @user-gv5gh7zg3h Před 6 lety +2

    Как всегда все классно!

  • @artempolischuk3117
    @artempolischuk3117 Před 6 lety +2

    Отличная идея с сегментацией видео!

  • @Ggagulik1997
    @Ggagulik1997 Před 4 lety +6

    После 15 минуты поставил лайк . это не из того что ты сказал в начале . А за то что ты очень подробно и понятно обясняешь вся суть ооп . я блогодарень тебе за видоси . И ставлю подписку .

  • @user-mv8lq3pn3v
    @user-mv8lq3pn3v Před 3 lety +88

    У нас есть выбор:
    Написать за 100 минут через ООП код, который будет на одну операцию тратить 100 мс времени.
    Либо мы можем написать за 250 минут через функциональное программирование код, который будет на одну операцию тратить 80 мс времени.
    Может, конечно, написать и линейный код, за 400 минут, но он будет на одну операцию тратить всего 60мс времени.
    А можно упороться и написать код через прямое обращение к процессору и памяти, потратив на это 1000 минут, но код будет отрабатываться за 45 мс.

    • @smilk1000
      @smilk1000 Před rokem +24

      Самое дорогое, это не создание приложения, а его поддержка и развитие... И тут мы упираемся в текучку кадров и оплату того времени, которое они будут тратить на изучение программы и ее дебаг... Например дебаг в 1С занимает минуты...

    • @OMRKiruha
      @OMRKiruha Před rokem +16

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

    • @fatoldhikki4837
      @fatoldhikki4837 Před rokem +1

      @@smilk1000 именно поэтому 1с постоянно в каком-то месте сломана? Тип зпачем писать хорошо, когда за минуты можно понатыкать костылей?

    • @anatoliyv5607
      @anatoliyv5607 Před rokem +1

      ошибок больше без ооп

    • @anatoliyv5607
      @anatoliyv5607 Před rokem +1

      @@fatoldhikki4837 1 с это сплошной костыль сама по себе

  • @dalvincumter9473
    @dalvincumter9473 Před 5 lety +2

    Заебись спасибо видертон, никак не могу уснуть, думаю щас получиться ХD

  • @radio-stepa
    @radio-stepa Před 4 lety +2

    ну короче, молодец, правда, мне нравится то, что ты говоришь) особенно вставки, комментарии и прочее

  • @uf8398
    @uf8398 Před 6 lety +3

    Очень неплохо, по напрягает постоянная мысль о схожести с каном Sorax )
    Всё равно смотреть приятно. Лайк

  • @user-xk2lb2ob8p
    @user-xk2lb2ob8p Před 2 lety +4

    Лет 10 назад стек-трейс программ юзающих ООП-библиотеки был глубиной до 15. Это казалось очень много.
    Нынче все стараются использовать Unity Container, и в такой программе стек-терейс глубиной 100-150. При том что программа делает то же самое.

  • @user-zr6xn6qd9z
    @user-zr6xn6qd9z Před rokem +1

    Было интересно и полезно. Спасибо

  • @user-co6gw4bu8f
    @user-co6gw4bu8f Před 2 lety +1

    Спасибо за канал)) за информацию))) благодарим)))

  • @TheUV58
    @TheUV58 Před 2 lety +38

    про ООП не согласен - это парадигма более высокого уровня, чем считать биты на асме. С развитием систем, устойчивость к ошибкам (любым и прежде всего архитектурным) начинает преобладать перед производительностью. Тоже самое возможность масштабирования и изменения. Если ты считаешь биты и такты - используй асм. Но попробуй написать на нём например браузер (как просто пример), или более сложный - движок для анреала. Это всё мне напоминает старые-добрые 80-90ее , когда под каждую видеокарту в каждой игре нужно было устанавливать драйвера для именно этой игры и именно этой видеокарты - никаких абстракций, всё оптимально. Но потом появился ДиректХ и драйвера под Уиндовс :) У ООП есть издержки, но зачем сравнивать конструирование космического корабля и особенности производства гаек и болтов - это разный уровень - это связано, но это разный уровень.

    • @princessmary5556
      @princessmary5556 Před rokem

      Какие именно издержки есть у ооп?

    • @kosiak10851
      @kosiak10851 Před 7 měsíci

      @@princessmary5556 1) хранение указателя на таблицу виртуальных функций в каждом объекте абстрактного класса - самое очевидное. 2)Полиморфизм рушит предсказания переходов в процессоре.
      Ещё, я бы сказал, передача неявного this во все методы, но на это мне возразят "а как же иначе". Справедливо, в некоторые функции в процедурном стиле всё равно пришлось бы передавать указатель. Но ведь если код в процедурном стиле, то и нет необходимости столько процедур привязывать к объектам, было бы больше глобальных переменных и меньше параметров, передаваемых туда-сюда по вызовам.

  • @rinatsandyans8258
    @rinatsandyans8258 Před 6 lety +12

    JIT берёт на себя эти проблемы с КЭШ и размешает всё в куче в следствии чего все данные в нём немного по другому реагируют на разные условия отправки в КЭШ, а также есть разные способы перегрузки данных к слову об оптимизации.

  • @makspylypenko4289
    @makspylypenko4289 Před 6 lety +1

    Красавчик, действительно хорошее видео!

  • @KirSergeev
    @KirSergeev Před 6 měsíci +1

    Основатель и лидер ООП - это Ясер Арафат.

  • @OPERATOR_38M
    @OPERATOR_38M Před 6 lety +11

    Слоган по жизни: «Нормально делай -нормально будет».
    Да, да ребятишки, так тоже работает.
    Хорошо работает.
    🤓

  • @aleksandrsadchikov3704
    @aleksandrsadchikov3704 Před 6 lety +28

    а режиссёрская версия будет?

  • @danew1666
    @danew1666 Před 6 lety +1

    Класс. Очень много информации это сильно

  • @user-ee9qp6nn9t
    @user-ee9qp6nn9t Před 6 lety +1

    Красавчег! Хороший урок

  • @Zabavnoo
    @Zabavnoo Před 6 lety +4

    Good job

  • @andrewshukshov2538
    @andrewshukshov2538 Před 6 lety +196

    Выпал из реальности на 30 минут)

    • @Denitka
      @Denitka Před 6 lety +11

      После слов race condition и deadlock. Пришлось пару часов доп литературу читать.

    • @chroma_red
      @chroma_red Před 5 lety +2

      И ничего не запомнил...

  • @pinkierar_real
    @pinkierar_real Před 4 lety +1

    Потрясающе!

  • @kostiantynjohanlanguedoc3155

    Ваше резюмирование - более чем ЛАЙК

  • @user-wc6gu3ns2h
    @user-wc6gu3ns2h Před 6 lety +4

    Спасибо за видео, годный контент) влепил жирный лайк

  • @user-ny9fk5du3o
    @user-ny9fk5du3o Před 6 lety +5

    nice!!!!!!

  • @_mr_kot_
    @_mr_kot_ Před 6 lety

    Чаю с лайками этому прекрасному человеку! :3

  • @suvar8667
    @suvar8667 Před 4 lety +1

    Очень нравится подача.

  • @user-ls5kz3io8s
    @user-ls5kz3io8s Před 6 lety +4

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

    • @codingjerk
      @codingjerk Před rokem +1

      Прошло конечно 4 года, но ответ: Intel 64 and IA-32 Architectures Optimization Reference Manual

  • @s0nerik
    @s0nerik Před 6 lety +102

    13:10 "Код не должен быть читабельным..." - на этом моменте поставил диз. Доставались мне проекты после программистов с таким майндсетом и сказать ничего положительного о таком опыте не могу.

    • @user-vh5xv3sx1y
      @user-vh5xv3sx1y Před 5 lety +1

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

    • @kannsky8812
      @kannsky8812 Před 4 lety +1

      Бдя, жиза.

  • @longpolling8033
    @longpolling8033 Před 6 lety +1

    Давно ждал именно такой канал после того как пропал Sorax. Спасибо большое за ваш труд)

  • @user-cf5sd6sy7g
    @user-cf5sd6sy7g Před 6 lety +2

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

  • @ZeDfromVolga
    @ZeDfromVolga Před 5 lety +4

    А я вот со многим соглашусь, в отличие от большинства комментаторов! Читабельность кода в ОПП, немногим лучше чем в процедурной парадигме и порой вложенности - лишь затрудняют понимание... особенно когда решается какая-то элементарная задача в угоду общей концепции, при том что это пускай незначительно, но бьет по производительности. Если это единичный случай - не беда, но когда таких элементарных задач набирается критическое количество, начинаются танцы с бубном. Другой момент, что современные машинки, особенно при написание несложного софта, вполне позволяют пренебречь данной проблемой... а индустрия в свою очередь требует хорошего притока кадров и ОПП как всеобщий стандарт - обеспечивает его на 95%. Ведь далеко не перед всеми командами стоят задачи, требующие понимания и умения работать с аппаратной частью. Это собственно - не плохо, ведь те кто на это способны, ценятся в разы выше тех, для кого классический Си видится низким уровнем!

  • @GGGuy
    @GGGuy Před 5 lety +38

    Знаете я первый раз в жизни ощутил пот в мозгу.
    Мой мозг пытался понять хоть 30% процентов информации.
    27 лет.
    Человек.

    • @Dark-ic8hb
      @Dark-ic8hb Před 4 lety +1

      Когда 14,хд

    • @label5
      @label5 Před 4 lety +3

      Не переживай. Полгода назад я так-же ничего не понимал, 3 месяца назад и половины не понял. Сейчас скорее всего все понял, но неверно.
      21 год.
      Человек.

    • @Pla7on
      @Pla7on Před 4 lety +2

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

    • @cheekibreeki9315
      @cheekibreeki9315 Před 3 lety

      Там понимать нечего.

    • @be4awashere206
      @be4awashere206 Před 3 lety

      @@label5 😂😂😂 думаю, практика и опыт , расставят всё по местам.
      36 л.
      Человек ... Всё ещё. И слава Богу!

  • @dmitriykravets4690
    @dmitriykravets4690 Před 6 lety +2

    спасибо

  • @Nice__One
    @Nice__One Před 8 měsíci

    Спасибо патронами и донатерам

  • @den.di.khampton
    @den.di.khampton Před 4 lety +3

    В битве "СИтхов и JAVAев" я на тёмной стороне) Отличное видео.

  • @webzen92
    @webzen92 Před 6 lety +6

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

  • @viktor9107
    @viktor9107 Před 5 lety

    Прям кайфанул от видоса. Хочу шарить так же, как Майк Эктон)

  • @AlexeyNeklesa
    @AlexeyNeklesa Před 6 lety

    Вот это я наткнулся на твой канал. Подписка и лайк. Супер !!!

  • @kirillsosedkov3297
    @kirillsosedkov3297 Před 6 lety +5

    Годно, спасибо

  • @CarbonatGT
    @CarbonatGT Před 6 lety +8

    Это офигенно. У меня нет слов.

  • @Gromitinc
    @Gromitinc Před 6 lety +1

    Все правильно делаешь!

  • @whekin
    @whekin Před 6 lety +2

    Благодарю! Полезная информация, в особенности для тех, кто только начал свой путь с c++/c#/java, коих большенство...

  • @andymore2094
    @andymore2094 Před 5 lety +4

    Охуенный видос. Как говорится :"Нихуя не понял. Но очень интересно". Заставил пульсировать мозг, спасибо)) Подписка, лайк.

  • @nikolaipodonin7425
    @nikolaipodonin7425 Před 6 lety +104

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

    • @mechmaker9346
      @mechmaker9346 Před 4 lety +1

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

  • @psorbe
    @psorbe Před 6 lety

    В топ!

  • @ChillRuns
    @ChillRuns Před 5 lety +2

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

  • @MrKokokokokokkokokok
    @MrKokokokokokkokokok Před 6 lety +19

    Че, пацаны, уникальные? :D

  • @Tryjack999
    @Tryjack999 Před 6 lety +3

    Пушим тренды🔥😄

  • @stanislavsh6582
    @stanislavsh6582 Před 6 lety

    Мало нового узнал, но видео хорошее. Лойс.

  • @MrMegaVolk
    @MrMegaVolk Před 6 lety +1

    Просто взрыв мозга!

  • @user-rq8ux7xz3e
    @user-rq8ux7xz3e Před 6 lety +197

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

    • @supovar9455
      @supovar9455 Před 5 lety +1

      хакеры этим и занимаются через взлом (просмотром кода)

    • @petrovich1742
      @petrovich1742 Před 5 lety +2

      Не дам. Он мой любимый Python обосрал. Я жабу ненавижу и все си-подобные языки программирования за их никчёмные фигурные скобки. Ненавижу фигурные скобки и тех, кто их придумал применять в коде, да ещё и в таком количестве. Python-код на много красивей выглядит, чем всякие жабы. Одно только удручает - хреново с ним в винде работать и *.exe файлы плохо создавать.
      Может тот пикус и умные вещи излагает про концепции программирования, но он явно жабофил и питонофоб. Пайтону не сложней обучиться, чем джаве, а может даже проще. Мне лично ДЖава не интересна. Я лучше Си шарп выучу, чем на жабу даже посмотрю.

    • @user-pl3lo5hx8l
      @user-pl3lo5hx8l Před 5 lety +7

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

  • @tj3603
    @tj3603 Před 2 lety +16

    Перфекционист детектед 😁 На самом деле все зависит от того, как была поставлена задача.
    Если мы говорим про реальный мир, прогерам дают ограниченное время и ставят задачу написать фичу, которая работает комфортно для пользователя. Если для выполнения этой задачи достаточно приклеить уже работающую и проверенную библиотеку на скотч к продакшн билду - ты делаешь это и двигаешься дальше, потому что бизнесу пофиг на глубокомысленные раскопки в старых фреймворках с целью оптимизации производительности железа на 0,25%, и пользователю пофиг, потому что он не заметит, что прога загрузилась за 0,3мс вместо 0,4мс. Как следствие, заказчик отнесется без понимания к желанию довести код до идеала, ибо это требует слишком много времени и технически не является необходимым для работы фичи.
    Если мы говорим про глубокий внутренний мир программиста, и ты лично хочешь стать супер-гуру который понимает как все работает вплоть до процессов перемещения электронов по шине, ну да, в этом случае имеет смысл так заморачиваться. По сути, это единственный способ прокачать скилл реверс инжинеринга. Единственный минус вот таких разбирательств и оптимизаторств, что рискуешь никогда не добраться до реальной работы и написать хоть что-то свое)

    • @Alonso_Kinn
      @Alonso_Kinn Před rokem

      Правильно . По этому были придуманы ЯП : Php , Python.
      Человек не машина и ищет среднее , оптимизированное , упрощённое +)

  • @user-if6cv8eo3f
    @user-if6cv8eo3f Před 6 lety

    Шиииикарно

  • @user-dh8ul9bv2l
    @user-dh8ul9bv2l Před 6 lety +2

    +глаза +уши +знания, спасибо! Это красиво!

  • @basimal-jawahery5688
    @basimal-jawahery5688 Před 5 lety +32

    Назови пожалуйста число enterprise решений написанных на Си.

  • @mastasableful
    @mastasableful Před 5 lety +5

    Я люблю Java. Под джавой подразумеваю не язык, конечно же, а платформу. Занимался профессиональной разработкой на Scala, Java и Kotlin. Лично мое мнение Kotlin лучший ЯП для современной разработки. В свободное время изучаю clojure и считаю самым интересным ЯП (опять же личное мнение). Какое-то время тоже хейтил ООП и считал тупиковой ветвью развититя (хотя по сути так и есть). Но стоит признать, что ООП на данный момент это стандарт в разработке и от этого не уйти ближайшие годы. И уж поверь можно писать очень хороший ООПшный код, все зависит от компании и корпоративных правил, то что 90% разработчиков пишут нечитаемый булшит не говорит за индустрию в целом

  • @positiv8509
    @positiv8509 Před 3 lety

    Очень интересно!

  • @putinstop5940
    @putinstop5940 Před 3 lety +1

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

  • @abdelk.2060
    @abdelk.2060 Před 6 lety +14

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

  • @georgyvarvashtyan8866
    @georgyvarvashtyan8866 Před 6 lety +7

    Спасибо

  • @User-vz5ti
    @User-vz5ti Před 6 lety

    Благодарю.

  • @maksimhapeyenka2435
    @maksimhapeyenka2435 Před 6 lety +2

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

  • @vasisafronov
    @vasisafronov Před 4 lety +8

    Не НТВД, а ТНВД - топливный насос высокого давления (из системы питания дизельных двигателей). Но лайк!)))

    • @AnorAlchemist
      @AnorAlchemist Před rokem +1

      Не только дизеля. На бензине тоже есть ТНВД (та же GDI от Mitsubishi, к примеру).
      Но мне тоже слух резануло НТВД))

  • @cover24158
    @cover24158 Před 4 lety +15

    Было бы ООП таким говном, никто бы его не использовал, а значит это эффективное говно

  • @BELYJ-uh1ev
    @BELYJ-uh1ev Před 6 lety

    поставил лайк, не потому что попросил, а потому что инфа действительно годная ))))

  • @caesarqwerty
    @caesarqwerty Před 6 lety

    Самый харизматичный программист на ютубе :D

  • @aleksandrsolodov2848
    @aleksandrsolodov2848 Před 6 lety +315

    "Код не должен быть красивым и читаемым" - чувак, чо за хрень? Код пишется для людей в первую очередь, почему-то никто не использует машинный код для создания интерфейсов на WinAPI, даже от этих апи уже как-то убегают.

    • @wndtn
      @wndtn  Před 6 lety +45

      Зачем ты лайкаешь свой комментарий? Из-за неуверенности в том, что ты говоришь и попытках привлечь единомышленников к твоему мнению, чтобы сработал стадный инстинкт, и люди стали лайкать то, что уже кто-то лайкнул?
      А если серьезно, то все дело в компромиссах:
      - делаешь хуже для cpu, но лучше для человека
      - делаешь хуже для человека, но лучше для cpu
      Мне, например, не нужны языки с синтаксических сахаром. Я бы работал напрямую с ISA, но это слишком непрактично, поэтому я беру Си, мне хватит. От задачи, к задаче.

    • @aleksandrsolodov2848
      @aleksandrsolodov2848 Před 6 lety +77

      > Зачем ты лайкаешь свой комментарий?
      На случай, если это влияет на ранжирование комментариев. Бывает, что внизу идет сотня комментов без лайков, выше десяток комментов с единицами и наверху самый жир. Это увеличивает вероятность того, что он вообще будет хоть кем-то прочитан. Ну и да, эффект разбитого окна, стадное чувство работает.
      А если этот сахар не замедляет программу? ну мне например очень в матлабе нравится конструкция a=b[1..n,1..m], чтобы не писать развернуто циклы, когда тебе надо просто кусок массива скопировать.
      А если ты не последний программист в этой компании? Ты сам хаешь Дэвида Эберли, за то, что он пишет адово нечитаемый код. До этого были цитаты Торвальдса, Дейкстры и остальных, что ООП это классный способ создать нечитаемую дичь.
      Блин, да увеличение читаемости и *понятности* - это самый классный способ избежать программерских ошибок, которые делают код тормозным или глючным.
      Ну и вспомнил плюс ООП - когда используешь чужой объект, с кучей свойств по дефолту и меняешь только пару из них для своих нужд. Вот как бы это дико выглядело в процедурном стиле.

    • @sir.Geronis
      @sir.Geronis Před 6 lety +26

      Код впервую очередь пишется, чтобы программа работала. А не чтобы его читали. Читать тебе в библиотеку.
      Кстати ООП как раз очень не читаемый код. Это спагети в соусе. Хотели уйти от спагети и сделали вечное спагети.
      О чем кстати в видео было показано в примере.
      Разобраться в коде становится сложно. А еще при ООП программа медленней работает.
      Встает вопрос, если плохо читается, медленней работает, то может ООП не так хорош?

    • @alexstavitsky4288
      @alexstavitsky4288 Před 6 lety +12

      Евгений Витальевич, не все программы требовательны к скорости. Для заказчика порой лучше немного помедленнее, зато сильно подешевле. Это бизнес. Сильно тормозящие куски всегда можно переписать на С.

    • @andreikobyshev6232
      @andreikobyshev6232 Před 6 lety +74

      Это всё работало тогда, когда код был write-only - один раз написал и забыл, работало годами. Прошивку для какого-нибудь тамагочи/тетриса на сях, или автоматизацию банка на коболе. Сейчас, когда бизнес теснее связан с разработчиками и уже программы подстраиваются под постоянно меняющиеся и развивающиеся бизнес-процессы, а не наоборот, тогда выходит на первое место скорость внесения изменений (послушайте Грефа из сбербанка, он об этом в каждом интервью говорит). А тут без человекочитаемого кода далеко не уедете. Да, остаются ещё области, где write-only код уместен - всякий embedded, который "написал, прошил, забыл". Но там и денег меньше. Поэтому сейчас и рулит много где Python, который создавался с главной мыслью, что "код читают чаще, чем пишут". И ту же Java пытаются заменить на Kotlin/Scala. Блин, да даже контроллеры стиралок уже подключают к интернету и прочий IoT, чтобы прошивки обновлять. А там где обновления и уж тем более срочные патчи - код должен быть красивым и читаемым. Иначе лажанёте где-нибудь и разорвёт вашу стиралку нахрен. А ещё часто бывает, что дорабатывает код не тот, кто его написал. Сами, небось, открывая какую-нибудь библиотеку сишную восклицали "какой криворукий урод её писал? не понятно же ни черта!", и сами же призываете людей быть такими "криворукими уродами".

  • @theOffline268
    @theOffline268 Před 6 lety +33

    Мне кажется вы тут все смешиваете в кучу. Одно дело какой-то лютый 3д-графен рендерить без тормозов на калькуляторе, другое - пару кнопок в вебке запилить. Цели разные

    • @Eraston
      @Eraston Před 4 lety +1

      То-то я думаю, у меня каждый сайт при нажатии на кнопку думает ещё пару секунд прежде, чем что-то начать шевелиться

    • @rednil8242
      @rednil8242 Před 4 lety

      @@Eraston смени комп, если у тебя сайты по паре секунд думают.

    • @user-ni3yh1wr8y
      @user-ni3yh1wr8y Před 4 lety

      @@aammssaamm а может ещё добавить - это жрёт реклама которую разраб впихивает в код что б бабло грести?))

  • @amurlamur3125
    @amurlamur3125 Před 5 lety

    "Солидный Биологический бэкраунд" - подумала это бурную молодость ученого :)

  • @user-hf7oi4zi4e
    @user-hf7oi4zi4e Před 6 lety

    Без проблем бро. Держи лайк)

  • @MrVladoCC
    @MrVladoCC Před 6 lety +9

    Ни один человек из интерпрайза явы не может сказать что любит ее? Ну да, крайне логично.
    А в интерпрайзе какого языка есть люди, которые могу сказать, что любят свой язык?
    Интерпрайз это тот уровень, где ты уже должен знать все тонкости языка на котором кодишь, а соответственно его сильные и слабые стороны.
    А если ты знаешь сколько дыр есть в твоем языке, то уже не можешь его любить.
    Может конечно есть всякие Kotlin'ы и прочие языки, которые делаются людьми, которые понимают что делают и им не плевать на сообщесво, но даже там я не уверен, что человек, который знает тонкости скажет "О да, обожаю этот язык"

    • @user-we3ef9xx5u
      @user-we3ef9xx5u Před 4 lety

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

  • @MrKinein
    @MrKinein Před 5 lety +3

    Слышал ли ты о JAI? язык программирования от Jonathan Blow, с минимумом ООП, без Garbage collector, ран тайм типизации. Зато в нем есть возможность более удобно работать с памятью, есть удобная система reflections и многое другое. Джонатан много говорит на тему аналогичную этому видео. Что об этом думаешь?

  • @newGames_0
    @newGames_0 Před 2 lety +1

    Спасибо за проценты сверху справа

  • @excore1322
    @excore1322 Před 6 lety +2

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

  • @websoda
    @websoda Před 6 lety +9

    13:45 хэ

  • @andreypronko1859
    @andreypronko1859 Před 6 lety +14

    Возможно Никлаус Вирт (ETH) - ваш единомышленник. Я в индустрии программирования со времен памяти на магнитных доменах. Лет 30. И я не смог понять, что именно вас мучает.
    OOP код, который легко читается, и легко расширяется, компилируется в отвратительный медленный и не эффективный машинный код? JAVA - зло? Python - зло? ( часть ролика наводит на мысль, что вы рванулись с опытом энтерпрайз разработчика в gamedev ( т.е. в системы приближенные к системам реального времени, где за каждый чертов уровень абстракции приходится платить быстродействием)? -- программированию игр проще научить 3D художника, без опыта программирования, чем энтерпрайз программиста с опытом. Вот.

    • @bekzhan356
      @bekzhan356 Před 5 lety

      А почему проще 3д художника? Это из за его мышления, как мыслит художник или из за чего?

    • @ex-format
      @ex-format Před 5 lety +1

      @@bekzhan356 эм.. как минимум потому что не придется выбивать старые навыки и вбивать новые..
      Абстракция..
      Что проще, забить гвоздь или вытащить старый?

    • @osamablinkdagger2535
      @osamablinkdagger2535 Před 4 lety

      @@ex-format подколотить старый гвоздь чтобы держался - проще.

    • @vpzbavmbiibjpjc
      @vpzbavmbiibjpjc Před 4 lety

      @@osamablinkdagger2535 в нашем случае нужен совершенно другой по форме и материалу гвоздь. И варианта "подколотить старый" нет.

  • @TheMaxanas
    @TheMaxanas Před 6 lety +2

    Просто спасибо , что ты есть.

  • @Galaktikaa
    @Galaktikaa Před 4 lety +1

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

  • @CofaYoh
    @CofaYoh Před 3 lety +3

    ООП - это не про производительность, ООП про бизнес-логику, про модель и управление ее сложностью.
    Абстракция НЕ ДОЛЖНА зависеть от реализации!

  • @xxxxPomaHxxxx
    @xxxxPomaHxxxx Před 5 lety +9

    Лесть внутрь нужно только тогда когда появляется проблема, а не просто так потому что ты думаешь она появится. Вот когда начинает ворд 30 сек грузится, тогда идешь и ищешь из за чего.
    Скорость работы программы слабый аргумент, время программиста дороже чем время работы программы.

    • @tmb0183
      @tmb0183 Před 5 lety

      ++++

    • @vpzbavmbiibjpjc
      @vpzbavmbiibjpjc Před 4 lety +1

      А потом какой-то браузер жрет гигабайты оперативной памяти и чтоб оптимизировать нужно полностью переделать все с нуля. В итоге ничего не делается или делается ещё годами, а пользователи жрут говно, потому что на рынке альтернатив нет. За то менеджеры довольны.

    • @googleadmin4749
      @googleadmin4749 Před 4 lety +2

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

    • @user-ni3yh1wr8y
      @user-ni3yh1wr8y Před 4 lety

      @@vpzbavmbiibjpjc согласен., что за ересь когда один запущенный браузер жрёт оперативки столько сколько едят две запущенные одновременно игры такие как армата и етс 2? или я чего то не понимаю?

  • @kaiken9101
    @kaiken9101 Před rokem

    Я который пошел сразу в школу, еще и на год раньше остальных 🙂

  • @user-hb1ke7kn3s
    @user-hb1ke7kn3s Před 6 lety

    После этого видео, понял что ничего не знаю ещё про Программирование)) после 2 й половины видео ни слова не понимал ))

  • @garbendRaff
    @garbendRaff Před 6 lety +3

    Лайк + комент не глядя.
    Как же долго я ждал этого видоса.
    Теперь пойду зависну на 30 минут шик контента

  • @implicemon899
    @implicemon899 Před 6 lety +40

    Winderton, ты делишься своим мнением. Тогда узри же моё. Мы живем в рыночной экономике, любая человеческая деятельность (включая программирование) проходит через призму выгодности. И писать низкоуровневый эффективный код - экономически не выгодно. Это человеческая природа которая никогда не даст реализовать классные вещи в абсолюте. Из твоих роликов очевидны твои уникальные наклонности и пристрастия - так найди себе нишу в рынке и сделай что то не просто эффективное и красивое, а еще и выгодное, как тот же Дэвид Эберли. (Лайк воткнул)

    • @igorthelight
      @igorthelight Před 5 lety +4

      Полностью согласен.
      Я сам считаю, что нужно писать максимально производительный код, НО в условиях рынка это сделать очень сложно так как:
      * Профессиональные программисты, знающие как работать с железом и пишущие на ASM и С стоят дорого.
      * Накидать объектов намного быстрее, чем писать оптимизированный код.
      Так что обычно производительный код пишут только для модулей, требующих максимальную производительность. Всё остальное - ООП (к тому же ещё и в виртуальной машине, для кроссплатформенности).

    • @googleadmin4749
      @googleadmin4749 Před 4 lety

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

  • @user-bq3ez9ff7w
    @user-bq3ez9ff7w Před 5 lety

    Это какой-то рок (но только не в музыке а в программировании). Классно, что еще сказать. )))

  • @richardneztov
    @richardneztov Před rokem

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