Open sigmadt opened 3 years ago
Спасибо за идеи и развёрнутое описание.
Это довольно масштабная, амбициозная задача, но со множеством подводных камней. Сюда относятся как требования к производительности и безопасности исполнения кода, так и адаптация под конкретную версию интерпретатора. Отсюда сложности и с реализацией, и с последующей поддержкой. Однако, подходы уже совершались, например, https://pythontutor.com/visualize.html
Если я правильно понял идею, то это не менее масштабная задача, потенциально оставляющая программистов без работы %) Там есть ещё один нюанс в части не «по-питоновски», потому как восприятие во многих случаях субъективно. Вместе с тем, часть с машинным обучением можно попробовать соотнести с #29
Новичкам обычно трудно понять, что происходит under the hood в коде. Я помню свои первые начинания, когда для меня было загадкой, как работают вложенные циклы в хитрых динамически изменяющихся массивах, тогда-то и пригодились визуальные интерпретаторы, что я нашел в интернете. Однако из-за низкой скорости серверов было тяжело подобрать стабильно работающее решение, поэтому на данном проекте я бы хотел реализовать что-то подобное. Причины я бы обозначил следующие:
Следующее интересное предложение состоит в следующем. Как часто, мы как студенты, которые используют Python ежедневно для своих учебных и рабочих целей пользуемся googling-ом, чтобы найти как сделать те или иные вещи? Почти всегда на помощь приходят форму stackoverflow или написанные решения с geeksforgeeks, однако так бывает не всегда, к тому же здесь играет роль человеческий фактор: зачастую там рабочие решения, но они больше похожи на костыли и выглядят не вполне элегантно (не по-питоновски). Поэтому я бы хотел реализовать модель машинного обучения, которая по заданным ключевым словам (или целым предложения) будет выдавать рабочий код по вопросу. Для простых вопросов (генератор словарей, применение лямбда функций для массивов, создание классов) уж точно можно реализовать и интегрировать в справочник. Если бы у меня под рукой был такой сервис в те года, когда я учился писать на Python, жизнь была бы сейчас совсем иной. В общем, идея относится к утопичной концепции "все и в одном месте", но на первых порах даже простых решений будет вполне хватать, потому что при обычном поиске в гугле мы тратим как минимум 3 операции: вбить запрос, посмотреть 2 источника, внутри каждого источника скопировать решения и адаптировать под свой код. В моем идеальном мире в справочнике можно будет задавать пространство имен переменных, желаемые функции и т.п. Я всегда мечтал поработать над реальным веб-сервисам и интегрировать туда модель машинного обучения, которая будет помогать нашему Python-community. (Кстати, 2 года назад я уже писал веб-сервис с интегрированной простой моделью машинного обучения, она даже завернута в Docker!).