OSDev http://osdev.su/ |
|
C++ Grandmaster Certification http://osdev.su/viewtopic.php?f=2&t=690 |
Страница 1 из 3 |
Автор: | Yoda [ 04 фев 2013, 19:15 ] |
Заголовок сообщения: | C++ Grandmaster Certification |
Прочитал на буржуйском форуме, дублирую здесь. http://www.cppgm.org/ Учебный курс по созданию с нуля компилятора C++ (стандарт 2011) вместе со всем набором инструментов (линкер, ассемблер) под архитектуру x86-64. Всё это должно быть самодостаточным (self-hosted), то есть, весь набор должен уметь компилировать сам себя. По окончанию курса выдаётся сертификат (если, конечно, сумел закончить ). Применительно к ОСДеву помимо очевидных плюсов вижу ещё один неочевидный плюс в самодостаточности компилятора. Да, понятно, что можно портировать GCC. Но это же цельный и неделимый монстр! А карманных компиляторов с С++ нет, есть только с С. Лично я вижу ещё один аспект. Я давно мечтаю реализовать собственный ЯВУ, в таком случае, высокоуровневые компоненты ОС можно именно на нём и писать. Однако, одолевают некоторые сомнения. Этот курс создан впервые, до 15 февраля идёт первый набор. Не перегнули ли они палку со сложностью учебной задачи? Да, я читал их ответ в FAQ, но всё же... |
Автор: | Freeman [ 04 фев 2013, 20:25 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
Yoda писал(а): Я давно мечтаю реализовать собственный ЯВУ, в таком случае, высокоуровневые компоненты ОС можно именно на нём и писать. Если перестать мечтать и начать проектировать, пройдет еще столько же времени, сколько мечтал. Единственный способ ускорить -- бросить все и заниматься только языком. Вообще же, как мне кажется, разработать язык сложнее, чем компилятор по готовой спецификации. Если, конечно, разработка языка не сводится к косметическим изменениям в каком-либо существующем языке. А при наличии проработанной спецификации разработку компилятора можно отдать на подряд. Yoda писал(а): Однако, одолевают некоторые сомнения. Меня тоже. Выскажу осторожное предположение: либо курс окажется архисложным и до конца дойдут немногие -- реальные мастера, либо разработка будет в той или иной мере сведена к игре в конструктор из более-менее готовых компонентов. |
Автор: | pavia [ 04 фев 2013, 20:55 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
Цитата: Однако, одолевают некоторые сомнения. Этот курс создан впервые, до 15 февраля идёт первый набор. Не перегнули ли они палку со сложностью учебной задачи? Да, я читал их ответ в FAQ, но всё же... Это не учебная задача. А тест на крутость. И для хорошего его прохождения ты уже должен был написать учебный компилятор. Ты уже должен знать как он пишется. А вот то что тесты тебе писать не придётся это плюс. Тем более у тебя будет вся документация. И тесты. Если кодить каждый день по 2 часа в день, то к концу года ты закончишь компилятор. |
Автор: | Yoda [ 05 фев 2013, 01:24 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
Freeman писал(а): Вообще же, как мне кажется, разработать язык сложнее, чем компилятор по готовой спецификации. А мне кажется, наоборот. Концепция языка сама в голове возникает, когда изучишь несколько языков, прочувствуешь недостатки и преимущества, поимеешь практику и сидишь, делаешь какой-либо крупный проект. Пишешь и думаешь, как остро чего-то не хватает, а что-то лучше было бы сделано по-другому. Freeman писал(а): Если, конечно, разработка языка не сводится к косметическим изменениям в каком-либо существующем языке. По большому счёту, если не считать экстравагантные языки типа Forth, Prolog или Lisp, всё остальное, пожалуй, можно свести к косметическим изменениям друг друга. Freeman писал(а): А при наличии проработанной спецификации разработку компилятора можно отдать на подряд. Так некому отдавать. Новыми языками, как и новыми операционными системами сейчас никого не заинтересуешь. pavia писал(а): Это не учебная задача. А тест на крутость. Написано, что это учебный курс. То есть, конечно и тест, но основа - всё же курс. Учебные заготовки будут давать. |
Автор: | Nable [ 06 фев 2013, 01:17 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
> экстравагантные языки типа Forth, Prolog или Lisp > экстравагантные Ну-ну. Про то что хороших (идеологически и с т.з. лаконичности) и используемых в серьёзных задачах языков много - я промолчу, лишь скажу что "Новыми языками, как и новыми операционными системами сейчас никого не заинтересуешь" - неправда. Есть, конечно, нюансы, но суть в том что на "жабе и сишечке" жизнь остановилась лишь у тех кто сам себя ограничил. Собственно, суть в чём: > можно свести к косметическим изменениям друг друга. можно, но не нужно. Многие языки позволяют существенно сократить код (не говоря уж про всякие идеи ООП и data-flow), а это важно как с точки зрения отлова ошибок, так и с т.з. того что жизнь коротка и написать можно лишь конечное число строк кода, так что это количество надо рациональнее использовать. К слову, всем 10 минут доброго чтива на эту тему: http://erlang.org/pipermail/erlang-ques ... 71949.html |
Автор: | Phy [ 06 фев 2013, 10:30 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
Я бы записался! Но сейчас вообще не вариант... времени нет |
Автор: | Yoda [ 06 фев 2013, 11:05 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
Написал им запрос по поводу планируемой длительности курса и ожидаемой нагрузки. pavia писал(а): Если кодить каждый день по 2 часа в день, то к концу года ты закончишь компилятор. Ты попал в точку . Ожидаемая нагрузка около 10 часов в неделю, т.е. по два часа в рабочий день при длительности курса больше 12 месяцев. Блин, это серьёзно. У меня на мой проект с загрузчиками не получается выделить столько времени. С другой стороны, для меня полноценный компилятор - необходимая работа. Да и работа в группе по расписанию всегда дисциплинирует. Ладно, запишусь, а там видно будет. Если не потяну, в любой момент можно бросить. |
Автор: | ZarathustrA [ 12 фев 2013, 01:45 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
По моему опыту общения с компиляторостоением, написать компилятор С++ на С\С++ достаточно эпическая задача. Red Dragon Book вам в помощь! И поверть эта написаная в стиле Кнута книга вам ооочень пригодиться и мозг вы на ней сломаете конкрентно (стиль изложения там такой). НО! Но книга несомненно полезная. Мое имхо. Если вы хотите забросить ОС и заняться разработкой компиляторов и языков, то оно того стоит. Два эпичных проекта единовременно не потянуть. Один из них вытянуть за уровень песочницы, уже требует неимоверных усилий и трудозатрат. |
Автор: | ZarathustrA [ 12 фев 2013, 01:48 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
И еще пять копеек. Курсе на втором писал простенький (очень простенький) компилятор. Что запомнилось - это сам процесс разработки. Сначала недели пилишь модели диаграммы конечных автоматов, а потом по модели кодишь часа два-четыре и подругому никак. Теория и теоретическая проработка решает. |
Автор: | Yoda [ 12 фев 2013, 10:21 ] |
Заголовок сообщения: | Re: C++ Grandmaster Certification |
ZarathustrA писал(а): Red Dragon Book вам в помощь! Уже изучаю. ZarathustrA писал(а): И поверть эта написаная в стиле Кнута книга вам ооочень пригодиться и мозг вы на ней сломаете конкрентно (стиль изложения там такой). Да не, пока всё понятно. ZarathustrA писал(а): Мое имхо. Если вы хотите забросить ОС и заняться разработкой компиляторов и языков, то оно того стоит. Два эпичных проекта единовременно не потянуть. Об одновременности речь не идёт. Я хочу последовательно. Просто чем дальше в ОС, тем больше упираешься в необходимость компилятора с ЯВУ. На С работать не хочется, он очень сильно устарел. С++, несмотря на то, что это лучший на сегодня язык, многих проблем не решает, тянет за собой проблемы С (по совместимости) и добавляет малую толику новых. Java не годится для системного программирования. Другие языки ещё хуже. На курс записался. Потом опишу здесь впечатления. |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |