image

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

В перерывах между полетами на реактивном ранце и переводами материалов Y Combinator, я делаю проект «Ontol» — такое место в сети, где максимальная концентрация полезного, апгрейдящего мировоззрение материала (ценного на горизонте 10+ лет, например, такого), которым можно делиться бесплатно в 1 клик. (канал в телеграм: t.me/ontol)

Вот мои предыдущие бесплатные образовательные подборки:



Simple Made Easy 2012 (Rich Hickey)


Рич Хики, создатель языка программирования Clojure, обсуждает «простоту», почему она важна и как добиться её в дизайне, как распознать ее отсутствие в инструментах, языковых конструкциях и библиотеках.



The Mess We're In (Joe Armstrong)


Джо Армстронг — один из создателей Erlang. Он работал в лаборатории компьютерных наук Эрикссон в 1986 году и был частью команды, которая разработала и внедрила первую версию Erlang. Он написал несколько книг про Erlang, в том числе «Programming Erlang Software for a Concurrent World». Джо имеет докторскую степень в области компьютерных наук Королевского технологического института в Стокгольме, Швеция.



The Unreasonable Effectiveness of Multiple Dispatch (Karpinski)


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

  1. Совместное использование базовых типов в большом количестве пакетов, обеспечивающих разную функциональность;
  2. Совместное использование общих алгоритмов, которые работают с различными реализациями общих абстракций.

Почему общий код в Julia «просто работает»? Почему кажется, что пакеты Julia разделяют типы с таким незначительным трением? Предполагается, что оба вида повторного использования являются естественными преимуществами объектно-ориентированных языков на основе классов. В конце концов, наследование и инкапсуляция — два из четырех столпов ООП. Еще более загадочным является то, что Julia не имеет инкапсуляции и вообще не позволяет наследовать от конкретных типов. Тем не менее, широко распространены оба вида повторного использования кода. Что происходит? В этом выступлении я утверждаю, что оба вида совместного использования напрямую связаны с парадигмой множественного диспетчерского программирования Julia.



Low Level JavaScript


image

Low Level JavaScript — это канал YouTube, который глубоко погружается в суть низкоуровневого программирования — возится с единицами и нулями — но все это делается на чистом JavaScript.

Пример лекции:



David Beazley


Дэвид Бизли — автор книг Python Cookbook и Python Essential Reference. Вот его канал.

Пример лекции:



Jacob Sorber


Якоб Сорбер освещает темы, полезные как для новичков, так и для продвинутых: network programming, threads, processes, operating systems, embedded systems и других.

Пример лекции:



Computerphile


Канал Computerphile — младший брат Numberphile. Про всякие компьютерные штуки.

Пример лекции:



Category Theory (Bartosz Milewski)


Серия «Теория категорий» Бартоша Милевски открывает новый взгляд на программирование в целом.

Пример лекции:



Build a 65c02-based computer from scratch (Ben Eater)


Разбираемся, как работают компьютеры. В этих лекциях Ben Eater создет и программирет базовый компьютер с классическим микропроцессором 6502.

Пример лекции:



Building an 8-bit breadboard computer! (Ben Eater)


Попытка построить еще один 8-битный компьютер с нуля.

Пример лекции:



How to Become a Good Backend Engineer (Hussein Nasser)


Прокачиваем Backend.

Пример лекции:



Semicolon&Sons


Хардкорные скринкасты для программистов, которые создают собственный бизнес.

Пример лекции:



Andrew Kelley


Эндрю создает язык системного программирования Zig. Но он также останавливается на других общих проблемах системного программирования, которые не зависят от языка. Перееехал с YouTube на Vimeo из-за бесящей рекламы.

Пример видео:



Jon Gjengset


Мы создаем библиотеки и инструменты на языке программирования Rust. У Джона Дженгсета лучший канал про Rust для учеников среднего и продвинутого уровней. Также он соавтор/создатель «Missing Semester»

Пример лекции:



George Hotz | Programming | Livecoding SLAM | twitchslam | Part1


8-часовой прямой эфир. Изучение контрактов на блокчейн и обнаружение ошибки безопасности в одном из них.



Jordan Harrod


Аспирантка Гарварда и Массачусетского технологического института, изучает интерфейсы мозг-машина и машинное обучение для медицины (анестезия) и рассказывает про взаимодействие человека с ИИ и алгоритмами.

Пример видео:



ACM SIGPLAN


Видео с технических выступлений на крупных исследовательских конференциях по программированию. Это тот канал, на котором можно получить самые «продвинутые навыки программирования».

Пример видео:



Fun Fun Function


Канал, где можно узнать и про софт скилы и про трансдьюсеры.

Пример лекции:



GOTO Conferences


Канал от сообщества GOTO

Пример видео:



Javidx9


Для тех, кто занимается программированием игр. Видео от Javidx9 четкие, лаконичные и насыщенные примерами.

Пример видео:



TechLead


Уволенный из Google и Facebook техлид за стаканчиком кофе делится мудростью.



TheCherno


Канал от бывшего разработчика из EA. Видео в основном посвящены C ++ и разработке игровых движков.

Пример видео:



DefogTech


Темы канала: Java concurrency, distributed systems, system design, microservice.

Пример видео:



Simons Institute video archive

.
Больше теории, чем программирования, но много концепций SOTA.

Пример видео:



C?? Weekly With Jason Turner


Советы и новости про C++. И живое программирование.

Пример видео:



CppCon 2020


CppCon — это ежегодная недельная встреча всего сообщества C ++. Канал конференции.

Пример видео:



NDC London 2020


Канал крупнейшей в Европе конфы по .NET & Agile development

Пример видео: