Сухарев 🌞 компьютерное просвещение


Channel's geo and language: not specified, not specified
Category: not specified


Компьютерные науки, программирование, технологии и образование 🧮
автор — t.me/jlo_olj

Related channels

Channel's geo and language
not specified, not specified
Category
not specified
Statistics
Posts filter


ОНЛАЙН-УЧЕБНИК КОМПЬЮТЕРНЫХ НАУК

Наконец-то я закончил первую часть учебника!! Прошел год с момента, как я придумал программу, провел онлайн уроки и запустил учебник 👏

В учебнике я рассказываю про основы компьютерных наук — устройство железа (1 часть) и софта (2 часть) в компьютере.

Учебник подходит всем, кто хочет окунуться в компьютерные науки и не знает с чего начать.

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

Подробнее про учебник… Открывайте ссылку с компьютера, вам понравится.

Учитесь новому, потому что знания решают. Больше знаний — больше возможностей.


И вот первая новость.

Visual Studio Code теперь можно использовать прямо в браузере → https://vscode.dev

Наконец-то можно программировать на айпеде, я так долго ждал, что постарел 👴🏼


Привет! Меня долго не было, надеюсь, вы очень сильно скучали.

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


Сегодня в 19:30 я проведу бесплатный вводный урок для нового компьютерного класса. Буду рассказывать про программу обучения, будут основы компьютерных наук. Подключайтесь! Ссылку отправлю в этот канал за несколько минут до начала


Запись в компьютерный класс все еще открыта! Ссылка в посте выше 👆


Так, уже 9 человек хотят учиться. Добавляйтесь сразу в группу — https://t.me/joinchat/tESUTyhl5JkzZTdi. Буду туда апдейты присылать и организуемся на вводный урок.


Хотите на онлайн-уроки компьютерных наук?
Poll
  •   Да
  •   Да
  •   Нет
33 votes


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

Если соберется достаточно народу — проведу бесплатный вводный урок и расскажу про программу обучения. Минут за 20 все расскажу.

Пока отвечу на 1 вопрос — зачем я все это делаю? Хочу чтобы у людей было больше возможностей. Больше знаний = больше возможностей.

Запускаю голосовалку


Привет, закончил четвертую главу учебника про компьютерную память!

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


Написал второй раздел учебника.

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

Если уже заполняли форму и потеряли ссылку — пишите мне @jlo_olj, выдам.

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


Выпустил продолжение первой части учебника! Чтобы получить ссылку на учебник — заполните форму:
- если уже умеете программировать — https://forms.gle/EgviyjAXbVSF2mXx8
- если не умеете и только учитесь — https://forms.gle/aoQRsUWAMtv2sJnF6.

В конце формы выдается ссылка на учебник. Кто потерял ссылку — пишите мне @jlo_olj — скину.

Весь смысл учебника в практике, мы там собираем компьютер в симуляторе железа и программируем его. Если вы просто прочитали учебник — идите практиковаться! Все ссылки на задачки тоже в учебнике.

Чувак который уже сделал практическое задание из первой части оценил его 12/10 🤓


Работаю над продолжением первой части учебника. Будет готово в конце недели. Пока читайте первую часть, а то убежит и будет потом за деньги — зачем вам это надо.. не надо, правильно.

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

Чтобы начать читать учебник — заполните гугл-формуляр, пожалуйста.

Вот формуляр, если уже умеете программировать — https://forms.gle/EgviyjAXbVSF2mXx8. Вот, если не умеете и только учитесь — https://forms.gle/aoQRsUWAMtv2sJnF6. В конце выдается ссылка на учебник.


Учебник в бета-тесте, поэтому — спрашивайте вопросы если что-то не поняли и оставляйте комментарии прямо в самом ноушене (да так можно)


Свершилось! Я закончил первую главу учебника. Он доступен по ссылке всем кто зарегистрировался на бета-тест.

Если еще не зарегистрировались — идите или будете дворником, а может быть в тюрьму сядете.

Вот форма для бета-теста, если уже умеете программировать — https://forms.gle/EgviyjAXbVSF2mXx8. Вот форма, если не умеете и только учитесь — https://forms.gle/aoQRsUWAMtv2sJnF6. В конце формы получите ссылку, перейдете по ней и будете учиться.

Зачем я пишу учебник — хочу построить в России крутое образование. Я умею программировать, поэтому решил написать учебник по программированию.

Уже дал почитать однокласснице из гугла и CEO стартапа чуваков из яндекса — говорят круто (или они мне врут, не знаю). Ну вы можете и сами проверить.

Все вопросы по программе задавайте в группе @sukharev_qa

Прикрепил к посту несколько иллюстраций, я старался

йо


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

https://www.youtube.com/channel/UCj1VqrHhDte54oLgPG4xpuQ


На случай если не видели как в нейралинке Илона Маска научились управлять компьютером силой мысли — https://www.youtube.com/watch?v=rsCul1sp4hQ

охренеть


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

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

Бесплатно — потому что я буду спрашивать у вас фидбек (если вы не против). Фидбек — это «понятно/непонятно; скучно/весело; какие вопросы возникают; как сделать лучше».

Записываетесь на программирование, заполняйте формы.

Вот форма с вопросами, если уже умеете программировать — https://forms.gle/EgviyjAXbVSF2mXx8

Вот форма, если не умеете и только учитесь — https://forms.gle/aoQRsUWAMtv2sJnF6


Намасте 🙏

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

Надеюсь, что начнем в начале следующей недели (максимум через две). Готовьтесь выделить 10 часов на изучение первого уровня и рассказывайте друзьям. А то никто не узнает, что можно бесплатно научиться грамотно программировать.

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

Вот форма с вопросами, если уже умеете программировать — https://forms.gle/EgviyjAXbVSF2mXx8

Вот форма, если не умеете и только учитесь — https://forms.gle/aoQRsUWAMtv2sJnF6

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

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

Хочу чтобы в России было крутое образование, давайте вместе его сделаем 🌞


ЯЗЫКИ ПРОГРАММИРОВАНИЯ, ЧАСТЬ II

Зачем нужны разные языки программирования?

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

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

Некоторые технологии программируют только на JavaScript, например браузер, некоторые программируют только на C#, как игровой движок Unity. Выбор инструмента (языка) всегда зависит от условий задачи. Вы не будете писать программу навигации ракеты в космосе на JavaScript, скорее всего вы выберете C++, чтобы иметь полный доступ к памяти компьютера, и код выполнялся максимально быстро, а интерфейсы можно и на JavaScript сделать, как в SpaceX.

Иногда языки находятся в одной области применения и имеют общую парадигму программирования, но разный синтаксис — как кувалда и молот или Java и C#. Концептуально такие языки одинаковы, везде есть циклы, функции, строгая типизация, везде создаются объекты из классов, но синтаксис записи циклов или объявления переменных разный.

На Java программируют android приложения, на C# программируют игры в Unity. Так сложилось исторически, никаких законов природы тут нет. Просто Microsoft хотели свою Java и сделали C#, а в Unity, видимо, кто-то из первых разработчиков просто очень хорошо знал C#.

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

Парадигма определяет в каких категориях и терминах нужно думать, чтобы записать какой-то процесс, как код на языке программирования. Начинать программировать лучше с ООП (объектно-ориентированная парадигма), потом процедурной парадигмы и позже продолжить изучение функционального программирования, дальше уже разберётесь.

Примеры ООП языков, которые отличаются синтаксически, но имеют общую объектно-ориентированную парадигму: Java, C#, Python, JavaScript, С++, PHP, Perl, Ruby, Scala, Swift — это самые распространенные и популярные языки программирования.

Большинство из перечисленных выше языков мультипарадигменные и поддерживают не только ООП, но и процедурное или функциональное программирование. Например Python и JavaScript — два самых популярных мультипарадигменных языка в мире, если верить github.

Умея программировать на Python, написать код на JavaScript не будет проблемой, оба языка поддерживают одинаковые парадигмы программирования. Это как разные текстовые редакторы — Word и Google Docs — когда понимаешь идею, можешь использовать любой инструмент, если он лучше подходит для задачи.

На Python, например, написано очень много кода для машинного обучения. На JavaScript удобно программировать интерфейсы — от веб-сайта до ракеты SpaceX, у него там очень большая экосистема. У обоих языков огромное комьюнити, в интернете можно найти ответ на абсолютно любой вопрос.

Если хотите программировать бекенд, делать дата саенс и машинное обучение — начинайте с Python. Если интерфейсы приложений, фейсбуки и карму — берите JavaScript, а потом Python.


ЯЗЫКИ ПРОГРАММИРОВАНИЯ, ЧАСТЬ I

Язык программирования — это инструмент написания компьютерных программ.

Чем лучше понимаешь инструмент — тем точнее можешь его использовать.

Программа — это описание какого-то процесса на языке программирования. Например, робота можно запрограммировать на уборку квартиры, приготовление еды или мытье посуды, написав для робота программу. Без программы робот будет просто стоять, или вообще лежать, потому что держать баланс на двух ногах (если у робота они есть) — это еще одна программа.

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

Слова и символы в языке программирования называются токенами. Последовательности токенов, образующие программу, называются исходным кодом (source code). Раньше программы печатали на перфокартах, сейчас код пишут в текстовых файлах. Процессор (CPU) — главный компонент компьютера, отвечающий за выполнение программ — может прочитать программу только в машинном коде. Машинный код — это список инструкций процессора, которые он поддерживает. Исходный код переводится в машинный код с помощью программы-переводчика — компилятора или интерпретатора.

Исходный код на высокоуровневом языке:

function example() {
console.log("HEY 👴🏽");
}


Машинный код:

1000101101010111
1001100011010101
0011010111010101
0010100000011011
…

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

Например, в языке JavaScript токен function является ключевым словом. Семантика токена function означает объявление функции (function declaration).

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

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

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

Синтаксис объявления функции в языке JavaScript:

function example() {
// тело функции
}


Синтаксис объявления функции в языке Python:


def example():
# тело функции


Язык программирования сам по себе ничего не умеет, это просто последовательности символов, которые люди наделили смыслом. Когда говорят, например, что «язык медленный» имеют ввиду не сам язык, а конкретную реализацию языка. Реализация языка — это компилятор или интерпретатор — программа, которая переводит язык программирования в машинный код.

Например, CPython — реализация языка Python, написанная на языке C, считается медленнее, чем другая реализация языка — PyPy, написанная на Python. Да, такое тоже бывает. Интерпретатор языка Python может быть написан на языке Python и с помощью другой реализации языка, например на языке С скомпилирован в машинный код. Тогда становится не важно какой язык был использован изначально для реализации языка Python, потому что в результате он становится просто набором инструкций процессора в машинном коде.

У языка JavaScript, как и у любого другого, также множество реализаций (интерпретаторов), их еще называют движками. Самый популярный интерпретатор JavaScript — V8 написанный в Google.

Вне зависимости от реализации языка — синтаксис, грамматика и семантика языка не меняются.

20 last posts shown.

193

subscribers
Channel statistics