Сообщение Сloud functions и ограничения по ЯП от 31.07.2023 13:47
Изменено 01.08.2023 5:52 Shmj
Сloud functions и ограничения по ЯП
Такой вопрос.
Вот список ЯП для разных облачных функций:
AWS Lambda: Java, Go, PowerShell, Node.js, C#, Python, and Ruby.
Google Cloud Functions: Java, Python, Go, Node. js, and Rust.
Azure Functions: C#, JavaScript, Java, PowerShell, Python, TypeScript.
Т.е. в основном интерпретируемые языки или управляемые. Исключение — Rust для Google Functions — это же не управляемый язык, т.е. не выполняется в вирт. машине.
И вопрос у меня такой. Выбор языков чем-то принципиально ограничен? Ведь по сути эти функции крутятся на шаред-хостинге, можно так сказать. Не создается отдельная вирт. машина а изоляция достигается средствами ограничения API (как то стандартные функции записи в файл — не доступны или урезаны (как-то читать можно только из своей папки)).
Т.е. С++, получается, особо нельзя применить, т.к. там придется запретить прямой доступ к памяти процесса, а это уже не проканает — без этого язык не может существовать?
С Rust, как я понял, удалось за счет того, что можно отключит unsafe и оставить только safe. С C# та же петрушка, по сути — там тоже unsafe. А вот с С++ это не проканает, т.к. нету концепции safe|unsafe. Правильно я понял?
Вот список ЯП для разных облачных функций:
AWS Lambda: Java, Go, PowerShell, Node.js, C#, Python, and Ruby.
Google Cloud Functions: Java, Python, Go, Node. js, and Rust.
Azure Functions: C#, JavaScript, Java, PowerShell, Python, TypeScript.
Т.е. в основном интерпретируемые языки или управляемые. Исключение — Rust для Google Functions — это же не управляемый язык, т.е. не выполняется в вирт. машине.
И вопрос у меня такой. Выбор языков чем-то принципиально ограничен? Ведь по сути эти функции крутятся на шаред-хостинге, можно так сказать. Не создается отдельная вирт. машина а изоляция достигается средствами ограничения API (как то стандартные функции записи в файл — не доступны или урезаны (как-то читать можно только из своей папки)).
Т.е. С++, получается, особо нельзя применить, т.к. там придется запретить прямой доступ к памяти процесса, а это уже не проканает — без этого язык не может существовать?
С Rust, как я понял, удалось за счет того, что можно отключит unsafe и оставить только safe. С C# та же петрушка, по сути — там тоже unsafe. А вот с С++ это не проканает, т.к. нету концепции safe|unsafe. Правильно я понял?
Сloud functions и ограничения по ЯП
Такой вопрос.
Вот список ЯП для разных облачных функций по версии Гугла (на самом деле не точный):
AWS Lambda: Java, Go, PowerShell, Node.js, C#, Python, and Ruby.
Google Cloud Functions: Java, Python, Go, Node. js, and Rust.
Azure Functions: C#, JavaScript, Java, PowerShell, Python, TypeScript.
Т.е. в основном интерпретируемые языки или управляемые. Исключение — Rust для Google Functions — это же не управляемый язык, т.е. не выполняется в вирт. машине.
И вопрос у меня такой. Выбор языков чем-то принципиально ограничен? Ведь по сути эти функции крутятся на шаред-хостинге, можно так сказать. Не создается отдельная вирт. машина а изоляция достигается средствами ограничения API (как то стандартные функции записи в файл — не доступны или урезаны (как-то читать можно только из своей папки)).
Т.е. С++, получается, особо нельзя применить, т.к. там придется запретить прямой доступ к памяти процесса, а это уже не проканает — без этого язык не может существовать?
С Rust, как я понял, удалось за счет того, что можно отключит unsafe и оставить только safe. С C# та же петрушка, по сути — там тоже unsafe. А вот с С++ это не проканает, т.к. нету концепции safe|unsafe. Правильно я понял?
Вот список ЯП для разных облачных функций по версии Гугла (на самом деле не точный):
AWS Lambda: Java, Go, PowerShell, Node.js, C#, Python, and Ruby.
Google Cloud Functions: Java, Python, Go, Node. js, and Rust.
Azure Functions: C#, JavaScript, Java, PowerShell, Python, TypeScript.
Т.е. в основном интерпретируемые языки или управляемые. Исключение — Rust для Google Functions — это же не управляемый язык, т.е. не выполняется в вирт. машине.
И вопрос у меня такой. Выбор языков чем-то принципиально ограничен? Ведь по сути эти функции крутятся на шаред-хостинге, можно так сказать. Не создается отдельная вирт. машина а изоляция достигается средствами ограничения API (как то стандартные функции записи в файл — не доступны или урезаны (как-то читать можно только из своей папки)).
Т.е. С++, получается, особо нельзя применить, т.к. там придется запретить прямой доступ к памяти процесса, а это уже не проканает — без этого язык не может существовать?
С Rust, как я понял, удалось за счет того, что можно отключит unsafe и оставить только safe. С C# та же петрушка, по сути — там тоже unsafe. А вот с С++ это не проканает, т.к. нету концепции safe|unsafe. Правильно я понял?