Первоначально я очень скептически относился к написанию кода нейросетками. Но при этой оценке я допустил ошибку: пробовал технологию на сишарпе, который, во-первых, знаю хорошо, во-вторых, на котором пишут в основном всякий энтерпрайз, где важна архитектура.
Нейросети раскрываются, когда тебе нужно закодить чисто утилитарную вещь на малознакомом языке. Архитектуру ты всё равно строишь сам, да и проверить существующий код в большинстве случаев можешь без проблем. Но при этом не обязан помнить, как там в какой-то популярной библиотеке называется нужный метод, или какие есть в этом языке нюансы синтаксиса.
Программирование это разговор человека с компьютером на языке компьютера. Нейросети делают шаг в сторону языка человека, но не так, как думают авторы новостных заголовков. Пока ещё в основном нельзя сказать «Сделай мне программу, которая посчитает деньги». Ты всё ещё должен иметь представление о структурах данных, алгоритмах, и, в общем-то, должен быть способен за вменяемое время написать такую программу самостоятельно. Поэтому и с нейросетью ты общаешься соответственно: «Два метода, в первый на вход поступает словарь с таким-то ключом, вытащи из него значения и отсортируй вот этим вот лямбда-выражением, второй метод проверяет пересечение таких-то двух выборок на непустоту и возвращает булев ответ, затем...». И вот это работает очень круто, потому что ты труба шатал помнить, что в этих ваших питонах None вместо Null или как там в каком языке инициализируется список.
А так можно написать проект в два-три раза быстрее и с тем же уровнем качества, что и сам.
#dev
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js