Microsoft представила новый язык программирования Power Fx

12.03.2021     

Компания Microsoft расширила возможности своей платформы Power Platform и представила язык программирования Power Fx. Его синтаксис вдохновлен формулами электронных таблиц Microsoft Excel.

Ключевые особенности

Power Fx – проект с открытым исходным кодом. В качестве основы для него выбрали Microsoft Excel потому, что много пользователей уже знакомы с электронными таблицами и смогут быстро начать писать код на новом языке. Таким образом, Power Fx будут использовать не только профессиональные разработчики, но и другие специалисты из самых разных областей бизнеса. Язык позволит им быстро реализовать логику программы и решить практически любую прикладную задачу.

Power Fx разрабатывается в рамках концепции low-code. Она предполагает, что создание, настройка и совершенствование даже сложных программных систем не требует написания большого количества кода.

Обычно low-code-платформы используют визуальные интерфейсы и позволяют составить программу из готовых блоков. Интуитивно понятные инструменты позволяют строить готовые решения без знаний об архитектуре ПО, процессах разработки, жизненном цикле. Один из примеров low-code – Scratch, который преподают в начальной школе для обучения основам программирования.

 

 

Цель проекта

Зачем low-code-платформам отдельный язык программирования, если они изначально рассчитаны на визуальное проектирование – когда вы перетаскиваете готовые объекты в нужные места экрана, задаете связи между ними и устанавливаете параметры? В Microsoft пояснили, что в задачах реального мира этого часто недостаточно. Поверх такой модели нужен слой логики, который точно отразит рабочие процессы. Например:

  • нужно быстро вывести список клиентов, которые за последние 7 дней выходили в сеть в пределах 15 км от определенного места;

Или:

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

С помощью готовых блоков реализовать подобные сценарии часто не получается. Настраиваемая логика – именно то, чего не хватает многим low-code-платформам. А те, которые ее поддерживают, предлагают написать код на традиционных языках программирования – сложных и неочевидных для начинающих. Power Fx в этом плане значительно проще и доступнее.

 

 

Связь с Excel

Power Fx использует практически тот же синтаксис создания функций, что и Excel. Формулы здесь декларативны и мгновенно пересчитываются, как и в электронных таблицах. Таким образом, обновлять вручную значения переменных и данные, рассчитанные ранее, не придется – и это сэкономит время.

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

Сравните, насколько проще создать решение несложной задачи на Power Fx по сравнению с JavaScript:

 

 

Перспективы Power Fx

По данным IDC, самый популярный язык программирования, JavaScript, сегодня используют 11,7 млн разработчиков. К 2024 году число профессиональных программистов, которые трудятся полный рабочий день, вырастет на 32% и достигнет 19,4 млн.

В Microsoft верят, что Power Fx также продемонстрирует подобный рост аудитории. Язык расширит круг людей, которые потенциально могут создавать сложные программные решения – даже тех, кто не занимается разработкой профессионально.

В Power Fx доступны инструменты, привычные для специалистов, например, редактирование в сторонних программа – от «Блокнота» до Visual Studio Code, поддержка систем контроля версий. Таким образом, программисты и люди от бизнеса смогут работать быстрее и находить точки соприкосновения с миллионами других людей – архитекторов ПО, производителей, клиентов, партнеров.

 

 

Power Fx уже используется в Microsoft Power Apps. В ближайшее время разработчики обеспечат поддержку нового языка в других проектах Power Platform: Dataverse, Power Automate, Power Virtual Agents.

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

 


Автор:
Ксения Шестакова Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 27 12.03.21 14:30 Сейчас в теме
К какому поколению стоит отнести данный язык: 4GL или 5GL?
Но, если честно, ничего особого в приведённом примере не увидел
Более короткий синтаксис - ну дык это решается просто библиотеками.
Хотя, если честно, вообще не понял как работает ни первый ни второй листинг, хотя вроде бы понял, что идёт банальный поиск первой строки по некой таблице "Orders" c отбором по Номеру (видимо в именованной ячейке "Selected"), и выводом в вложенного поля Фамилии сотрудника из этой строки (с конкатенацией со строкой - причём на выходе должна быть полностью пустая строка - если не нашли).
Это я понял из примера на коде "Power FX" - но где-то за кадром осталось то - как задаются (короткие имена) и этой таблицы "Orders" и ячейки "Selected".
Код на JavaScript вообще какой-то явно перегруженный. Пример составлен специально чтобы очернить JavaScript
Артано; +1 Ответить
2. Darklight 27 12.03.21 15:15 Сейчас в теме
Вот так бы выглядела реализация этой функции в Python (на псевдофремоврке)

def LookUp(DataSource, **Filter)
	if DataSource is none :
		return none;

	filter = DataSetFilter();
	for flt in Filter:
		filter.Add(flt.Key,flt.Value, DataSetFilter.Operation.Equal)

	return DataSource.filter(filter).first();
Показать


Единственное чего не хватает Питону для полноты - это встроенной проверки на null (Power FX судя по всему поддерживает nullable изначально, и изначально же везде использует безопасные операторы, в т.ч. разыменования "." (аналогично как в C# или Kotlin "?." - но в этих языках нет нефиксированных именованных аргументов).

Конечно, можно предположить, что обычным фильтром на "=" возможности "Power FX" не ограничивается - и на нём можно написать и такой вызов "LookUp(Order, Number in AllowedList, Date between [DateFrom, DateTo], Employee != CurrentEployee)" (ну тут понятно - что в правой части перечисляемых выражений стоят какие-то именованные источники значений, а "[ ]" формирует массив или список)
Такой синтаксис уже именованными аргументами не передать. Но это всё-равно не повод делать ради этого отдельный язык программирования!
Можно было бы просто либо расширить синтаксис языка (как когда-то в питоне появились нефиксированные именованные параметры функций)
Или - я бы ввёл специальный тип - "Expression" - от которого можно было бы наследовать свои типы выражений с заданными параметрами формата ) - вот так бы мог выглядеть заголовок такой функции на Питоне "def LookUp(DataSource, *Filter : FilterExpression)" - ну сами элементы FilterExpression - уже бы содержали в себе текстовые имена поля, оператора, а так же ссылки на значение - которые нужно было бы уже просто перевести в алгоритм заполнения экземпляра объекта фильтрации источника данных аналогично приведённому выше примеру (оператор только найти надо будет в перечислении типа оператора, ну и если надо - отдельно обработать случай с двойными значениями интервалов - переданных в списке/массиве)
Ну а списки в Python тоже определяются квадратными скобками

Так же можно было расширить Kotlin, C#....
Всё пользовательское удобство выражается только удобным API библиотек с небольшой долей синтаксического сахара
Ну я бы ещё макрофункции добавил (хотя бы как в Nemerle) - вообще лепота была бы!

Так в чём новаторство то Power Fx?
4. Darklight 27 12.03.21 16:47 Сейчас в теме
(2)Немного подумав, решил предложить ещё более простое решение, чем ввод cпециального типа "Expression" (хотя это было бы круто). Но уже на языке Kotlin - в нём есть инфиксные функции - с помощью них очень удобно делать комбинции левого и правого выражения
например так

class EQExpression : OperationExpression {...} //Обычный класс
...

infix fun eq(filed : String, value : Any)  = EQEx * pression(field, value)
infix fun neq(filed : String, value : Any) = NEQEx * pression(field, value)
infix fun inside(filed : String, value : list<Any>) = INEx * pression(field, value)
infix fun between(filed : String, value : list<Any>) = BetweenEx * pression(field, value)
...

fun LookUp(DataSource : DataSourceTable, *Filter : Expression) {

return DataSource?.with {
   myfilter = DataSetFilter();
   Filter.foreEach { myfilter.Add(it.Left,it.Right, it.Operator) }
   filter(myfilter).first(); //this = DataSource контекст объекта, и возвращает из with значение последнего вычисления, красота
}
}

LookUp(Order, "Number" inside AllowedList, "Date" between [DateFrom, DateTo], "Employee" neq CurrentEployee)
Показать

Может и выглядит не так красиво как на Power Ex (особенно необходимость указывать имена в кавычках) - но если нужно красивее - то нужно просто немногого доработать существующий язык - чем делать новый!

P.S.
В этих словах "Ex * pression" - это движок infostart код попортил - зёздочек с пробелами там быть не должно
3. booksfill 12.03.21 16:02 Сейчас в теме
Не понял - это какой-то учебный язык (для альтернативно одаренных?), или специализированный вариант для конфигурирования объектов "производственного процесса"?
Например, на металлургическом комбинате можно таким образом настроить очередность открытия бункеров с присадками и т.п..

Если нет, то зачем?

Или это такой троллинг: "Язык расширит круг людей, которые потенциально могут создавать сложные программные решения – даже тех, кто не занимается разработкой профессионально"?

Я, не владея данными об устройстве телевизора, могу, потенциально (прелестный оборот речи) обеспечить управление сложной системой посредством пульта управления и "языка", который, например, позволяет вбить ip адрес роутера, или задать наименование каналов.
Называть себя не то. что электронщиком, но даже продвинутым пользователем телевизора, было бы несколько странно.

Кстати, "надежно" вбить ip адрес тоже не получается - где-то раз в квартал телевизор от интернета отключается :(


P.S.
IMHO надо создавать системы, которыми могут пользоваться даже идиоты, но не стоит доверять их создание идиотам.

Я за облегчение работы программистов, хоть визуально (5GL), хоть при помощи ИИ.

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

Болит голова - топор! Не хватает программистов? Обучим грузчиков складывать "блоки", им не привыкать.
5. Darklight 27 12.03.21 16:54 Сейчас в теме
(3)полностью с Вами согласен.
Как я понял язык создан сейчас в виде эксперимента для новой версии Excel не совсем для идиотов, а для тех, кто в состоянии освоить формы Excel - время покажет как оно приживётся

Ещё поправлю - что визуальное программирование - общепринято относить к 4GL (4-е поколение языков) - хотя это некоторая условность
А вот применение ИИ при трансляции программного кода в исполняемые команды - это как раз уже языки 5GL - но таковых практически не существует пока ещё

И да - наверняка тут тоже будут какие-то графические ассистенты для задания таких расширенных формул практически одной только мышью
7. booksfill 12.03.21 17:17 Сейчас в теме
(5)
Как я понял язык создан сейчас в виде эксперимента для новой версии Excel


А, ну тогда даже хорошо. Т.к. мало кто из пользователей Excel умеет готовить даже VBA.
Я, кстати, за остутсnвием практики, тоже сходу мало чего вспомню. :)

Может быть даже сумеют сделать так, чтобы не объяснять чем округление отличается от форматирования, а то мой "любимый" вопрос: "Почему я складываю 20 + 15 и получаю 26"?
6. awk 729 12.03.21 17:15 Сейчас в теме
SQL - то же придуман для пользователей, однако терпеть его приходится программистам.
Darklight; zqzq; Cерый; +3 Ответить
8. booksfill 12.03.21 17:19 Сейчас в теме
(6)
Боялся это написать.:)
Ибо нет более наглядного примера, когда хотели шоб пользователи сами такой ерундой занимались.
А вылилось в непростые курсы для программистов и пучок диалектов.

Справедливости ради, многие пользователи в то время были куда как более продвинутыми.
Darklight; shard; PowerBoy; Jeka44; awk; +5 Ответить
11. Darklight 27 15.03.21 10:52 Сейчас в теме
(8)Справедливости ради, пользователей, которые умеют написать запрос в 1С (в ручную или хотя бы конструктором запросов) - я встречаю до сих пор, но их очень мало, примерно столько же, сколько и тех, кто готов пользоваться (настраивать) готовые запросы в консоли запросов или настраивать СКД.
Абсолютное большинство современных способно лишь заполнять пару полей на основной форме отчёте (акромя периода и организации) и нажать "Сформировать".

Вот я и думаю, нафига вообще нужны такие пользователи - не проще ли автоматизировать всю их работу и перевести документооборот полностью в электронную форму (оставив только нескольких продвинутых пользователей для анализа и контроля, ну и формирования задач автоматизации) - это же какой профит по бюджету должен быть
9. Darklight 27 15.03.21 10:44 Сейчас в теме
(6)Тогда пользователи сами были либо программистами, либо инженерами. Гуманитариев тогда к настройкам программ вообще не допускали ;-)
10. awk 729 15.03.21 10:51 Сейчас в теме
(9) Да что вы говорите? Пересмотрите фильмы "Привидение" и "Терминатор 2". От там биржевой инженер и инженер полиции хорошо показаны.. :P
12. Darklight 27 15.03.21 10:52 Сейчас в теме
(10)Это кино...
В котором рядовой пользователь сам чинит глюки компьютера или ведёт его взлом ударом ладонью (в особых случаях - кулаком) по.... МОНИТОРУ
14. awk 729 15.03.21 10:55 Сейчас в теме
(12) Ага... Более того это фантастика. Только там показана жизнь в 80-х. Эра создания SQL.
16. Darklight 27 15.03.21 11:18 Сейчас в теме
(14)Считаю язык SQL - абсолютно устаревшим (даже такие современные и развивающиеся диалекты как Transact SQL, PL/SQL).
Не считаю их пригодными (на будущее) ни для профессионалов, ни для автоматизации (кодогенерации) ни для применения на пользовательском уровне.

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

Вот язык Power FX - это, возможно попытка Microsft в создании такого языка - более простого и дружественного для всех (без ущерба в производительности), особенно на фоне других современных языков программирования.

Но, пока, я не увидел в этом языке ничего особо инновационного, что сделало бы его более удобным языком, чем Python или Kotlin (с библиотеками и небольшими расширениями языка). В сравнении с Java - да, конечно, разница будет видна - но ведь есть куда более дружественные, мощные и современные языки - чем Java

Хотя, может просто не хватает примеров, чтобы полноценно оценить всю мощь синтаксиса нового языка (именно синтаксиса, а не API встроенных библиотек).

Я, вот тоже, прорабатываю идею замены языка SQL (и вообще языка обработки данных в т.ч. вне СУБД) - именно языка 5-го поколения (ну или как минимум поколения 4GL+), который должен быть прикиданным-декларативно-императивно-функциональным (гибрид - как это модно нынче), но алгоритм на нём перед выполнением должен анализироваться, оптимизироваться (по смыслу) и транслироваться ИИ в более чёткий императивный язык - а далее уже компилироваться в тот или иной байткод оптимизирующим компилятором (и далее уже исполняться в т.ч. компилироваться в машинный код при необходимости). Считаю, что будущее за такими языками! А SQL устарел! Как устарел и VBA, Java, Python, Kotlin... как язык бизнес-приложений и обработки данных!
13. user1534961 15.03.21 10:55 Сейчас в теме
Интересно, сколько организаций имеют настроенное oData для получения данных из 1с в ексель.?
15. user1534961 15.03.21 10:57 Сейчас в теме
А если sql 'це рiдна мова', чему удивляться? При капитализме жить жизнью предприятия нормально.
17. MikhailDr 15.03.21 12:58 Сейчас в теме
1С тоже изначально задумывался как язык программирования для бухгалтеров, но что-то пошло не так. Не верю я, что обычный пользователь полезет что-то программировать, а если и будут, то их количество будет в долях процентов от общего измеряться.
Оставьте свое сообщение

См. также

Microsoft присоединилась к Open Infrastructure Foundation для развития облаков

Новость ИТ-новость Новости компаний Облачные технологии

Microsoft стала платиновым членом организации Open Infrastructure Foundation. Компания будет представлять интересы своих телекоммуникационных клиентов в OpenStack.

15.09.2021    2294    VKuser24342747    0       

Microsoft разрешит устанавливать Windows 11 на старые компьютеры

Новость Windows ИТ-новость Новости компаний

Microsoft пересмотрела правила установки Windows 11, которые не позволяли использовать ОС на компьютерах, не соответствующих системным требованиям. Для инсталляции придется создать загрузочный диск.

14.09.2021    2047    VKuser24342747    0       

Оплата лицом заработает на всех станциях метро Москвы

Новость Искусственный интеллект ИТ-новость Цифровая экономика

В столичном метрополитене внедряют систему FacePay. С 15 октября оплатить проезд можно будет, не доставая смартфон, карту или жетоны из кармана.

14.09.2021    1721    user1015646    2       

«Яндекс» представил технологию автоматического перевода любых видео на русский язык

Новость ИТ-новость Яндекс

«Яндекс» сделал функцию автоматического закадрового перевода иностранных роликов доступной для почти любых видео в интернете. Функция встроена в фирменный браузер компании.

13.09.2021    1920    VKuser24342747    4       

Исследователи синтезировали выразительную устную речь

Новость Искусственный интеллект ИТ-новость

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

10.09.2021    6509    user1015646    0       

GitHub выпустил веб-редактор кода: возможности, о которых вы могли не знать

Новость GitHub Автоматизация Интернет ИТ-новость

Начинающим программистам часто сложно настроить среду разработки и установить весь необходимый софт. Для них, а также для специалистов, которые работают в распределенных командах, GitHub запустил новый сервис github.dev.

10.09.2021    3816    user1015646    0       

Раскрыта дата релиза Windows 11

Новость Windows ИТ-новость Новости компаний

Microsoft официально объявила, когда станет доступна новая версия самой популярной десктопной ОС. Обновиться с Windows 10 до Windows 11 можно будет уже 5 октября 2021 года.

09.09.2021    6146    user1015646    0       

В Google научились увеличивать изображения в 16 раз с восстановлением деталей

Новость Искусственный интеллект ИТ-новость

Раньше увеличить видео с камер наблюдения в десятки раз получалось только у героев фильмов. Но теперь такая возможность существует и в реальной жизни – инженеры Google разработали прорывную технологию масштабирования изображений.

09.09.2021    3482    user1015646    3       

Эксперты подготовили рекомендации по использованию кириллицы в доменах и почте

Новость Интернет ИТ-новость

Рабочая группа представила стандарты внедрения, обработки, хранения, валидации и адаптации кириллических символов для программ, поддерживающих доменные имена и email-адреса.

07.09.2021    2656    VKuser24342747    0       

Госструктуры перейдут на российские системы видеоконференций

Новость Импортозамещение ИТ-новость Облачные технологии

Российских чиновников переводят на использование отечественного сервиса видеоконференций. Будут внедрять систему TrueConf на базе ОС Astra Linux и процессоров Baikal-M от «Байкал Электроникс».

03.09.2021    3027    user1015646    0       

Минэкономики раскритиковало требования к обновлению оборудования для суверенного Рунета

Новость Импортозамещение Интернет ИТ-новость Телекоммуникации

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

03.09.2021    2393    VKuser24342747    0       

Разработчики назвали любимые языки программирования

Новость ИТ-новость Языки программирования

Крупнейший форум для разработчиков Stack Overflow составил рейтинг любимых языков программирования. Первую строчку списка занял молодой, но перспективный Rust.

02.09.2021    5042    user1015646    3       

Петербургские ученые обучили нейросеть находить вредоносных ботов в соцсетях

Новость Безопасность Искусственный интеллект ИТ-новость Соцсети

Сотрудники Санкт-Петербургского федерального исследовательского центра Российской академии наук (СПб ФИЦ РАН) создали решение для поиска ботов, размещающих спам и дезинформацию на любом языке.

02.09.2021    2071    VKuser24342747    1       

Windows Server исключается из эксперимента по поставке обновлений Microsoft WaaS

Новость Windows ИТ-новость Новости компаний Облачные технологии

По результатам четырехлетнего эксперимента Windows as a Service Microsoft решила, что больше не будет обновлять Windows Server несколько раз в год. Для серверной ОС было решено вернуться к практике обновления каждые 2-3 года.

01.09.2021    4305    SKravchenko    0       

Microsoft добавила в Power BI инструменты аналитики для Angular-приложений

Новость Аналитика ИТ-новость

Microsoft представила новый компонент для создания веб-сервисов аналитики данных. Он позволит интегрировать функции Power BI в Angular-приложения.

31.08.2021    3084    user1015646    0       

Windows 11 лишится нескольких функций предыдущей версии системы

Новость Windows ИТ-новость

Microsoft в бета-версии Windows 11 изменила привычные функции. Из ОС исчезло отображение секунд на часах и возможность быстро добавлять события в календарь, а кнопка «Пуск» переместилась в центр панели задач.

31.08.2021    4758    VKuser24342747    6       

GitHub в версии утилиты CLI 2.0 добавил поддержку расширений

Новость GitHub ИТ-новость Новости компаний

Разработчики GitHub представили вторую версию утилиты для управления проектами при помощи командной строки CLI. Приложение поддерживает несколько стандартных расширений и создание собственных.

27.08.2021    5778    VKuser24342747    0       

Круглая дата: ядру Linux исполнилось 30 лет

Новость Linux ИТ-новость Новости компаний

Ядро Linux отмечает юбилей. О создании новой ОС 21-летний Линус Торвальдс объявил 25 августа 1991 года.

27.08.2021    4414    user1015646    2       

Искусственный интеллект научился распознавать изображения лучше человека

Новость Искусственный интеллект ИТ-новость

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

26.08.2021    3028    user1015646    5       

Facebook представил криптобиблиотеку для разработчиков – Winterfell

Новость ИТ-новость Новости компаний

Специалисты Facebook выпустили новую библиотеку Winterfell. Проект с открытым исходным кодом может генерировать доказательство вычислительной целостности STARK.

24.08.2021    4312    user1015646    3       

В GitHub добавлена поддержка цитирования из репозиториев

Новость GitHub ИТ-новость

GitHub позволил использовать файл CITATION.cff, в котором можно указать, как правильно ссылаться на содержимое репозитория при написании академических публикаций.

24.08.2021    4711    VKuser24342747    0       

GitHub официально представил новую версию «Обсуждений»

Новость GitHub ИТ-новость

GitHub заявил о завершении бета-тестирования обновленной версии раздела Discussions. Релизный вариант площадки для обсуждений репозиториев разрабатывался почти год при активном участии сообщества.

23.08.2021    3150    VKuser24342747    0       

Разработчик создал браузерную версию OpenAI Codex для управления веб-страницами

Новость Интернет Искусственный интеллект ИТ-новость

Программист Эндрю Кантино рассказал, что сделал расширение для модификации страниц в Google Chrome, работающее на основе ИИ-ассистента для разработки OpenAI Codex.

23.08.2021    5395    VKuser24342747    0       

Российский разработчик создал эмулятор для запуска приложений iOS на M1 Mac

Новость Mac OS ИТ-новость Мобильные приложения

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

20.08.2021    5651    VKuser24342747    0       

Вместо директора Nvidia на презентации выступил его цифровой клон

Новость Искусственный интеллект ИТ-новость Новости компаний

Во время презентации Nvidia выступила точная цифровая копия генерального директора компании Дженсена Хуанга. Виртуальный аватар предпринимателя создан при помощи ИИ-технологий.

20.08.2021    3472    VKuser24342747    1