Программирование, самый полезный Github репозиторий

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

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

Мой канал в телеге - https://t.me/tobeprog (там о самих методах обучения и обзоры на уч.материалы).

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

https://github.com/danistefanovic/build-your-own-x Легендарный репозиторий, несмотря на огромную популярность(100к звезд на github), все еще многим неизвестный, и что особенно печально - многим начинающим программистам.

Если кратко - подборка туториалов, основная идея которых - создание с нуля какой то сложной технологии: языка программирования, операционки, воксельного движка, физического движка и прочего. Привязки к определенному языку тоже нет: питон, плюсы, js, c# и т.д.

https://ruslanspivak.com/lsbasi-part1/ - пример, одного такого материала. Цикл из 19 статей, в котором автор(Ruslan Spivak), пишет интерпретатор языка Pascal на Python(кстати отличный пример ооп на python). Вообще, качество работы поражает - по сути это полноценная книга с подробнейшим разбором, графическими пояснениями, примерами из жизни, даже юмором, а в конце каждой главы - вопросы для проверки понимания темы и домашнее задание.

В данном случае - формат блога, в нем есть комментарии(из особенно интересных - переводы на другие япы), т.е. можно можно узнать какие вопросы появлялись, как они решались, какие-то интересные ссылки, рассуждения и т.д.

Возможные проблемы, при прохождении подобных материалов:

1. Ну разумеется - английский

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

К примеру, статья Питера Норвига, где он пишет интерпретатор языка Lisp на python:

Оригинал - http://norvig.com/lispy.html

2. Как минимум, нужно знать основы япа

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

Также, подразумевается хотя бы начальные знания в computer science. Гарвардский CS50 вполне может закрыть основные моменты. оригинал перевод

3. Сложность может быть не в коде

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

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

Ко всему прочему CS50 и "Код" Петцольда - идеальное сочетание. CS50 мало про архитектуру, а Код отлично ложится на ввод в computer science. Поэтому рекомендую ознакомится с книгой как можно раньше.

Если подытожить, эти туториалы, хорошо вписываются в момент обучения, когда основы пройдены, и хочется приступить/разобраться/покопаться чем то, по настоящему, сложном и главное - интересном. Именно поиск подобных уч. материалов и становится зачастую проблемой. Здесь же они собраны(их действительно много), отсортированы по темам и языкам, и даже пополняются время от времени.

113113
38 комментариев

Комментарий недоступен

23
Ответить

Комментарий недоступен

1
Ответить

Ооо, это я удачно зашел.
Чем JS плох для ботов?

7
Ответить
1
Ответить

"Код" - замечательная книга, но все-таки довольно поверхностная. Для введения в курс дела подойдёт отлично, но не более того.

Ответить

А статья про попы в это время собирает сотни комментариев и тысячи лайков...

Ответить

Вот-вот, автор не туда копает вообще, если хочет быть успешным :D

Ответить