#1. Этапы трансляции программы в машинный код. Стандарты | Язык C для начинающих

  Рет қаралды 45,341

selfedu

selfedu

Күн бұрын

Пікірлер: 79
@Mertvyy_chel
@Mertvyy_chel Жыл бұрын
Автор, вы единственный человек который рассказывает всё досконально, спасибо вам за такую работу) Сегодня я не смогу просмотреть данное видео, но завтра после полудня обязательно обращу на него внимание)
@РоманПавлов-ц9к
@РоманПавлов-ц9к Жыл бұрын
Мужик ты для меня целое открытие спасибо за труд. Прошел твой курс по питончику и тер веру. Так же очень зашли алгоритмы на питоне и плюсах. Продолжай в том же духе, это меняет мир
@jirniy_bob2000
@jirniy_bob2000 Жыл бұрын
Молодец! Как всегда - актуальный и сделанный с большой любовью материал... Автор сочетает в себе крепкого профи и талант потрясающего Учителя! Представляю, сколько труда стоит каждый подобный ролик..... Очередной раз "снимаю шляпу" перед Учителем за великолепный труд .....
@Alexey-gp7vc
@Alexey-gp7vc Жыл бұрын
Историческая часть - огонь! Курс посмотрю хотя бы за тем, чтобы лучше понимать работу питона :)
@skvizix9106
@skvizix9106 11 ай бұрын
Это Си
@user-qy8ul3xo2x
@user-qy8ul3xo2x 10 ай бұрын
Это питон ​@@skvizix9106
@АндрейМирошников-е1р
@АндрейМирошников-е1р 6 ай бұрын
​@@skvizix9106вы далеки от программирования и вообще от cs
@qwertymangames1800
@qwertymangames1800 4 ай бұрын
питон очень сильно ушёл от Си. Там и конструкции функциональных языков есть вроде генераторов, map, reduce, filter. Тогда уже и Haskell можешь посмотреть, если хочешь разобрать функциональную составляющую современных языков.
@epsilon.sw_
@epsilon.sw_ 2 ай бұрын
@@qwertymangames1800 а для haskell нужно посмотреть курс лекций по лямбда-исчислению. Но тогда лучше почитать книжки по математической логике, чтоб понять этих математиков. А для чтения этих книг лучше ознакомиться с теорией множеств. А если говорить о математической логике, то лучше почитать совместный труд Рассела и Вайтхеда. Начать с истоков так сказать. Изучить проблематику, откуда возникла потребность в таком подходе к математике. А значит надо задать вопрос, что есть математика?
@bonterkoz
@bonterkoz Жыл бұрын
Какие же классные видеоуроки! Эх, где мои 15 лет 😢😅
@stalker7999
@stalker7999 Жыл бұрын
Классно обязательно буду смотреть этот курс!
@qwertymangames1800
@qwertymangames1800 4 ай бұрын
Круто что настолько подробно рассказывается курс. А по поводу работы компьютера как он работает мне помогла игра Turing complete. Она в стиме ещё в раннем доступе, но там уже с нуля можно собрать компьютер и запрограммировать на ассемблере свои простейшие программы. И самое главное понимать как эти команды работают на электрической схеме. Что там с регистрами происходит например. Очень познавательная и затягивающая игра. То что надо чтобы на низком уровне разобрать устройство ЭВМ
@aercrow1073
@aercrow1073 2 ай бұрын
Кинь ссылку,пожалуйста
@Сэцуко-й6й
@Сэцуко-й6й Жыл бұрын
ХОРОШЕЕ начало. Выбрал программирование как хобби. Не знаю чем мозги занять а тут просто крутое изложение материала. Пробывал лекции смотреть МФТИ . Надеюсь в совокупности с этим пойму.
@JamesSmith-ix5jd
@JamesSmith-ix5jd Жыл бұрын
Пиши прикладные программы, на теории далеко не уедешь, нужно поддерживать интерес решая собственные задачи.
@КонстантинФандорин-й7ч
@КонстантинФандорин-й7ч 9 ай бұрын
А что за лекции МФТИ? Можешь ссылку кинуть?
@olegmolotov6354
@olegmolotov6354 Жыл бұрын
Данный канал и его Автор для меня открытие, преподаватель от Бога))
@faustgete9869
@faustgete9869 Жыл бұрын
Великолепные лекции! Спасибо!
@AbdibekNasanbekov-rh6ov
@AbdibekNasanbekov-rh6ov 3 ай бұрын
Язык Си великий язык. Я сначала написал программу для автомойки самообслуживания на Си++. Потом переписал её на языке Си с прямым руководством состояний регистров. В результате программа начала работать в два раза быстрее и стала надёжно работать без сбоев.
@isorport32
@isorport32 Ай бұрын
мне почему-то намного проще разбираться в своем же коде для мк, если пишу на си нежели на с++.
@MrMaddrum
@MrMaddrum Жыл бұрын
Отлично. Ждём продолжения. Самая понятная подача материала.
@mazur_vg
@mazur_vg Жыл бұрын
Интересно 😁👍 надо посмотреть 🙂
@ТимурВахитов-щ4ч
@ТимурВахитов-щ4ч 4 ай бұрын
Ты просто мой красавчик на ютубе. Года полтора-два назад смотрел от тебя Django, теперь работают python бэкендером, увидел первый ролик в атобусе решил глянуть, а оказалось действиетьлньо интересной штукой. Очень рад что есть ты! P.S. Я еще успел бесплатно урвать твой курс на Stepik`е по ООП. И , кстати, твой курс Django 3, помог мне получить стажировку на бэкенд
@selfedu_rus
@selfedu_rus 4 ай бұрын
Круто! Дальнейших успехов!!!
@alexeymatveev9031
@alexeymatveev9031 11 ай бұрын
Как же здорово, спасибо Вам.
@ВикторЧеботарь-з2в
@ВикторЧеботарь-з2в Жыл бұрын
спасибо за занятие) как всегда - всё по делу и ничего лишнего)
@animelikesakura7088
@animelikesakura7088 Жыл бұрын
Спасибо, дружище. Ты делаешь неоценимый вклад для сообщества.
@TSM_149
@TSM_149 Жыл бұрын
Огромное СПАСИБО! Like в копилку и очень ждём продолжения!!
@QwertyQwerty-en3fb
@QwertyQwerty-en3fb Жыл бұрын
Наконец-то долгожданный плэйлист)))
@ДмитрийСергеев-л6г
@ДмитрийСергеев-л6г Жыл бұрын
Очень интересный урок! Спасибо!
@artemposadskiy6959
@artemposadskiy6959 2 ай бұрын
Изучаю. Огромное спасибо
@zilokol
@zilokol Жыл бұрын
Класс. Очень рад буду смотреть.
@Ordinary_man2049
@Ordinary_man2049 Жыл бұрын
На одном дыхании
@Dr.ShtefanNein
@Dr.ShtefanNein 8 ай бұрын
Хочу начать изучать программирование с языка C, надеюсь эксперимент окажется удачным)
@АндрейМирошников-е1р
@АндрейМирошников-е1р 5 ай бұрын
Как успехи?
@andredru4278
@andredru4278 10 ай бұрын
Спасибо. Отлично!
@vilka3177
@vilka3177 5 ай бұрын
я новичок в програмировании и я хочу выучить язык "С" надеюсь ваши уроки помогут мне
@jamjam3337
@jamjam3337 Жыл бұрын
спасибо! 👏👍
@lindx2533
@lindx2533 Жыл бұрын
Просто супер!
@asfdasdf9019
@asfdasdf9019 Жыл бұрын
да,коль питон написан на С узнать о нем больше надо, возможно чтобы переписывать какието затупки питона на С и тем ускорять программу. не уверен правда что С дастся мне, питон вроде терпимо но заходит...а еще я знаю что в еденицу времени можно получать лишь один навык.считаю что в школе нас не учили а калечили, ну как можно за один день 5-6разных уроков то одно то другое....к концу дня каша в голове...
@igorb.4917
@igorb.4917 Жыл бұрын
Топ контент!
@blackdragon7047
@blackdragon7047 Ай бұрын
Спасибо!
@mksmvnv
@mksmvnv Жыл бұрын
понеслась, подготовка к школе 21
@ВладимирПолуян-ж1р
@ВладимирПолуян-ж1р 4 ай бұрын
от себя хотел добавить, что использование объектных файлов ведёт к тому, что программа может быть написана на нескольких языках.Т.к. подключаемые бибилиотеки в исходном коде необязательно могут быть написаны на Си
@kpanat
@kpanat Жыл бұрын
Там есть ещё 2 модификации С11 и С17 но там небольшие дополнения только. В разных операционнках особенно в линуксовый есть ещё доп вариации языка С(не С++) существенно расширяющих его возможности. В некоторых моментах язык С даже опережает язык С++. В целом программы на С работают немного быстрее и требуют меньше ресурсов потому как более простые не перегружены функциональностью С++. Вопрос в том нужна она вам или нет. В целом писать на С++ боле комфортно и проще из-за ООП. Но если у вас это не надо, то лучше использовать просто С, а не С++.
@gne4do
@gne4do Жыл бұрын
Года 2 назад, переписывал "вычеслялку простых чисел" с Си на Ассемблер, щас смотрю сишный вроде понятно что и как делается, асмовый смотришь и думаешь я что реально это с нуля писал😅😅😅
@romanbykov5922
@romanbykov5922 Жыл бұрын
Ох, кто писал на ассемблере, тот над анекдотами не смеется... помню этот треш в 90-х... Но это мало что заменит для понимания, что происходит в компе.
@ШамильРамазанов-с9ю
@ШамильРамазанов-с9ю Жыл бұрын
Топчик
@isorport32
@isorport32 Ай бұрын
9:47 😁
@АлександрКаптуров-с8и
@АлександрКаптуров-с8и Жыл бұрын
Сергей, спасибо за урок! Сколько ориентировочно видео будет в этом плейлисте?
@selfedu_rus
@selfedu_rus Жыл бұрын
без понятия, курс еще не сформирован
@Семен-е2р
@Семен-е2р Жыл бұрын
вы так скилбокс разорите:)) спасибо за труд:) можно спросить а если я буду чистый код блокс или вирчуал студио код без установки мин гв можно так изучать?😍😍
@selfedu_rus
@selfedu_rus Жыл бұрын
Спасибо! Можно и codeblocks )
@gamepark6068
@gamepark6068 Жыл бұрын
Будут ещё выпуски?
@dzhegutin9876
@dzhegutin9876 Жыл бұрын
Здравствуйте, селфеду! Было бы круто увидеть в вашем исполнении создание веб сайта-интернет магазина
@Kitvideostudio
@Kitvideostudio Жыл бұрын
Здравствуйте, спасибо за новый курс, я прошел Ваш на степики по Пайтону. Хотелось бы уточнить, а разве для ассембелра перевод в машинный код называется компиляцией ? а что тогда называется транслятором языка ассемблер ?
@selfedu_rus
@selfedu_rus Жыл бұрын
в данном случае - это одно и то же, просто трансляция кода - это перевод из текстового вида в другой требуемый, часто машинный код, но не всегда, например, в Java, C# трансляция - это перевод в байт-код.
@РусланКарнеенко
@РусланКарнеенко 10 ай бұрын
Спасибо. А можно изучать сразу С++ без знания С?
@selfedu_rus
@selfedu_rus 10 ай бұрын
нет
@slizverg23
@slizverg23 Жыл бұрын
Посмотрел уже две лекции и пока вроде всё понятно более-менее, не пойму чего все говорят что С сложный?:)))
@selfedu_rus
@selfedu_rus Жыл бұрын
Он, скорее, сложен не в понимании, а в написании программ.
@NationalVerrater
@NationalVerrater 7 ай бұрын
А для языка ассемблера нельзя было создать разные компиляторы для разных архитектур процессора и операционных систем и спокойно переносить программы с одного компьютера на другой?
@z59h2
@z59h2 7 ай бұрын
Они и созданы. Но если на C мы можем написать с = b + a не особо задумываясь о том, где именно хранятся и какой тип и разрядность имеют переменные a, b и с, то в программе на ассемблере мы должны учитывать структуру регистров процессора, поддерживаемые им типы адресации и много чего ещё. Фактически, ассемблер - это чуть более удобочитаемый машинный код, и ту работу, что обычно делает компилятор C, приходится делать программисту. Даже для одного и того же процессора для разных операционных систем одна и та же программа на ассемблере будет выглядеть по-разному в части взаимодействия с операционной системой. Именно поэтому трансляторы с ассемблера и С поставляются разработчиком операционной системы, а не разработчиком процессора.
@NationalVerrater
@NationalVerrater 7 ай бұрын
@@z59h2 Почему вот это все: "мы должны учитывать структуру регистров процессора, поддерживаемые им типы адресации и много чего ещё" не делает компилятор для соответствующего процессора и операционной системы?
@z59h2
@z59h2 7 ай бұрын
@@NationalVerrater потому что ассемблер - это язык очень низкого уровня, максимально близкий к программированию в машинных кодах. Он даёт полный контроль над железом, но взамен требует хорошо знать это железо. Тут аналогия такая: есть водитель и есть пассажир. Пассажиру нет необходимости знать, как управлять конкретным автомобилем, ему достаточно знать пункт назначения и сообщить его водителю. А вот водителю, чтобы туда доехать, нужно знать, как включить двигатель, как разгоняться и тормозить, как и когда переключать скорости, как поворачивать. Если вы пишете программу на ассемблере - то вы подобны водителю, непосредственно управляете работой вычислительной машины. Хотите быть пассажиром - есть Python, Java и ещё множество языков, которые избавляют от необходимости знать ужасные подробности из жизни железа. Но не бесплатно. Например, вы никогда не запустите программу на питоне на 16 килобайт ОЗУ. И никогда не сможете точно предсказать, в какой момент ваша программа на джаве затормозится, потому что включился сборщик мусора. Есть разные инструменты для разных задач, требующие разных навыков от тех, кто их использует. На ассемблере пишут то, что должно быстро работать на _конкретном_ железе и не потреблять много ресурсов. Если такая задача не стоит - разумно выбрать другой, более подходящий инструмент.
@NationalVerrater
@NationalVerrater 7 ай бұрын
@@z59h2 Спасибо. Но все-таки, мне не до конца понятно - сделать язык ассемблера универсальным, создав разные компиляторы для разных архитектур процессоров и операционных систем невозможно? Чтоб везде например mov оставалось мувом и ничем другим и всегда работало одинаково? Ведь, как я понял для С и Пайтона это делают. А они тоже в конечном счете управляют конкретным железом, которое может быть разным.
@z59h2
@z59h2 7 ай бұрын
@@NationalVerrater можете считать таким универсальным ассемблером C, в нём даже можно указать, что переменная должна храниться в регистре процессора, а не в памяти. Создать универсальный язык ассембера можно только в том случае, если вы создадите универсальную архитектуру процессора. Например, вы написали программу для процессора, у которого 16 универсальных 32-битных регистра, 32-битная шина данных и 36-битная шина адреса. И вам нужно перенести её на процессор, у которого 4 универсальных 16-битных регистра, 16-битная шина данных и 20-битная адресная шина. Можете написать алгоритм переноса? И это мы ещё не затронули разную ширину команды и разные режимы адресации.
@МаксЛавров-э3в
@МаксЛавров-э3в 8 ай бұрын
Хотел изучить С и С++ для понимания низкоуровневых концепцийи для олимпиадного программирования а тут такой шедев с нуля
@weerbox
@weerbox Жыл бұрын
Разве стандарты С и С++ это не разные стандарты, С11 и С++11 например, это же разные документы? Стандарты си закончились на С18 вроде.
@selfedu_rus
@selfedu_rus Жыл бұрын
Да, там разные документы, а закончились они или нет, кто знает? ))
@weerbox
@weerbox Жыл бұрын
@@selfedu_rus имел ввиду последний на текущий момент, то что будет новый стандарт по Си, это не секрет, известно что работы над C2x ведутся.
@kpanat
@kpanat Жыл бұрын
Ну вобще-то это не компилятор а транслятор. потому что он переводит код 1:1. Т.е. просто изменяет его вид ничего с ним по сути не делая. А компилятор это когда происходит изменение самого кода в форму понятную машине из формы понятной человеку. Т.е. это совершенно другой процесс. Поэтому процесс трансляции происходит оч быстро по сравнению с компиляцией, это оч сложный и ресурсоёмкий процесс. Хотя суть обоих одна создать выполняемый код. Но делают они это по разному. Не надо их путать.
@IgorMunirov
@IgorMunirov 10 ай бұрын
душнила
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 48 МЛН
Hoodie gets wicked makeover! 😲
00:47
Justin Flom
Рет қаралды 127 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,8 МЛН
КАК РАБОТАЕТ ПРОЦЕССОР
10:24
GopherTech
Рет қаралды 2,8 МЛН
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 62 М.
Как компьютеры складывают числа
14:27
Хекслет
Рет қаралды 482 М.
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 48 МЛН