Size: a a a

Compiler Development

2020 February 02

МБ

Михаил Бахтерев in Compiler Development
Eugene
зачем тогда вообще писать код? пишем спецификацию и генерируем из неё сразу машинный код, круто же
Спецификация может быть сложнее программы :) При чём, кажется, в 2^...^2...^2^N (для любого k степеней) раз. N - длина программы.
источник

KR

K R in Compiler Development
Михаил Бахтерев
Спецификация может быть сложнее программы :) При чём, кажется, в 2^...^2...^2^N (для любого k степеней) раз. N - длина программы.
Quick check - это алгоритм семейства Монте-Карло со всеми вытекающими минусами.

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

AT

Alexander Tchitchigin in Compiler Development
K R
Quick check - это алгоритм семейства Монте-Карло со всеми вытекающими минусами.

Кстати, недавно я слушал выступление одного из авторов QCheck (кажется), он много рассказывал про распределения вероятностей, о которых приходится думать.
Это же слияние software engineering и data science! Отлично же! 😄
источник

МБ

Михаил Бахтерев in Compiler Development
K R
Quick check - это алгоритм семейства Монте-Карло со всеми вытекающими минусами.

Кстати, недавно я слушал выступление одного из авторов QCheck (кажется), он много рассказывал про распределения вероятностей, о которых приходится думать.
Ну... Там есть оценки сверху на то, сколько достаточно сгенерировать тестов, чтобы вероятность пропуска ошибки была достаточно маленькой. Достаточно, это в том смысле, что для генерации входа, который убьёт программу потребуется время жизни Вселенной.
источник

KR

K R in Compiler Development
Alexander Tchitchigin
Это же слияние software engineering и data science! Отлично же! 😄
Увы нет, слияние матстатистики, тут думать надо.
источник

МБ

Михаил Бахтерев in Compiler Development
Но! Я не говорю, что это панацея. Но я говорю, что это тот самый good enough, который в своё время пришёл в виде unix-а и сгубил lisp-машины.
источник

KR

K R in Compiler Development
Михаил Бахтерев
Ну... Там есть оценки сверху на то, сколько достаточно сгенерировать тестов, чтобы вероятность пропуска ошибки была достаточно маленькой. Достаточно, это в том смысле, что для генерации входа, который убьёт программу потребуется время жизни Вселенной.
Да, а теперь представьте, что код слегка изменился распределения слегка поплыли.
источник

AT

Alexander Tchitchigin in Compiler Development
Михаил Бахтерев
Ну... Там есть оценки сверху на то, сколько достаточно сгенерировать тестов, чтобы вероятность пропуска ошибки была достаточно маленькой. Достаточно, это в том смысле, что для генерации входа, который убьёт программу потребуется время жизни Вселенной.
Подозреваю, что не так запросто. На это влияет и распределение вероятности значений, выдаваемых генератором, который пишет пользователь библиотеки. На этот счёт зарекаться трудно...
источник

МБ

Михаил Бахтерев in Compiler Development
K R
Да, а теперь представьте, что код слегка изменился распределения слегка поплыли.
Так снова запускаем quick check на пару месяцев :)
источник

KR

K R in Compiler Development
Михаил Бахтерев
Но! Я не говорю, что это панацея. Но я говорю, что это тот самый good enough, который в своё время пришёл в виде unix-а и сгубил lisp-машины.
К счастью нет - статичнские типы уже и в питон пихают.
источник

МБ

Михаил Бахтерев in Compiler Development
K R
К счастью нет - статичнские типы уже и в питон пихают.
Ага. Только никто ими не пользуется.
источник

KR

K R in Compiler Development
Большая часть людей нормальна, и не использует питон за его рабочей областью.

А в data science статические типы не помогают.
источник

AT

Alexander Tchitchigin in Compiler Development
Про Python, статические типы и Data Science: https://caterinaurban.github.io/project/lyra/ 😊
источник

МБ

Михаил Бахтерев in Compiler Development
Ага. Есть такой персонаж - George Francis Hotz. У него многомилионный стартап, который производит подключаемые по CAN автопилоты для автомобилей. И они все эти автопилоты пишут на Питоне. Без типов. http://github.com/openpilot и люди это покупают. И это дичь и жуть. Но такова реальность.
источник

EP

Evgeniy Partizan in Compiler Development
Михаил Бахтерев
Ага. Есть такой персонаж - George Francis Hotz. У него многомилионный стартап, который производит подключаемые по CAN автопилоты для автомобилей. И они все эти автопилоты пишут на Питоне. Без типов. http://github.com/openpilot и люди это покупают. И это дичь и жуть. Но такова реальность.
Так в этом репозитории 0,5% кода только на Python)
источник

KR

K R in Compiler Development
Михаил Бахтерев
Ага. Есть такой персонаж - George Francis Hotz. У него многомилионный стартап, который производит подключаемые по CAN автопилоты для автомобилей. И они все эти автопилоты пишут на Питоне. Без типов. http://github.com/openpilot и люди это покупают. И это дичь и жуть. Но такова реальность.
Ну люди пишущие автопилоты ориентируются по дорожной разметке. Так что питон это не самое страшное.
источник

МБ

Михаил Бахтерев in Compiler Development
Evgeniy Partizan
Так в этом репозитории 0,5% кода только на Python)
Там ещё Си много. На автопилот у них на Питоне, где они там скорости всякие считают, углы поворота и прочее.
источник

EM

Evgenii Moiseenko in Compiler Development
Evgeniy Partizan
Так в этом репозитории 0,5% кода только на Python)
А остальное на C++, я даже не знаю, что хуже
источник

KR

K R in Compiler Development
Други, египтяне пирамиды строили без моторов. Но это не повод считать, что и сейчас это надо делать.

Если вложить очень много сил, то часто и неправильным инструментом можно доделать.
источник

KR

K R in Compiler Development
Кстати, часто основная цель стартапов - это получить инвестиции. Для такой цели Питон отлично годится.
источник