Size: a a a

2019 December 20

u

usanama in archlinux_ru
Julian =) Coffee
Я просто считаю, что у нас сейчас программы разрались до тех размеров, что ни одни живущий не знает, как они себя ведут
ты можешь спорить с олегом не со мной. мало понимаю в прогеров спорах. но вижу, что спор левый. тут только один прав-чистый асм. шутка
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in archlinux_ru
Julian =) Coffee
Я просто считаю, что у нас сейчас программы разрались до тех размеров, что ни одни живущий не знает, как они себя ведут
Ну, всё правильно. Поэтому я и топлю за reflection-based мета-программирование, в котором код сам определяет, как он будет писаться и выполняться

Старый подход: ты продумываешь архитектуру, например плагинную систему с экстеншен-поинтами, аккуратно всё выписываешь, превращаешь в стандарт, все по этому стандарту кодят и компилятор помогает им стандарт  не нарушить

Новый подход: ты пишешь такой код, который мог бы выдавать максимальное observability, чтобы он мог максимально рассказать о себе, что он делает, как он устроен. Дальше какой-то другой код самостоятельно это анализирует (как угодно, от алгоритмов и стандартов вплоть до нейросетей и прочего машинленинга), сам понимает как туда встроиться, и что со всем этим делать

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

JC

Julian =) Coffee in archlinux_ru
Ну и как ты это сделаешь в языке в котором нет типов
источник

JC

Julian =) Coffee in archlinux_ru
И ты не можешь указать, что ты ожидаешь, а чего не ожидаешь
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in archlinux_ru
Типы - есть, если ты хочешь. Ты сам определяешь "что такое тип" на уровне конкретного кода. У тебя даже в одном приложении может быть сразу несколько видов понримания "что такое тип" (например, в той части кода где фронтенд это будут прототипы, там где бэкенд - "классическое ооп", а в сетевом протоколе будет нечто go-подобное - и всё это в рамках одного языка).
источник

JC

Julian =) Coffee in archlinux_ru
И все это в ES6 уже можно сделать?)
источник

u

usanama in archlinux_ru
я пойду назад в будущее смотреть ок
источник

JC

Julian =) Coffee in archlinux_ru
Или просто коментарии к коду писать, а компилятор будет проверять?)
источник

CV

Captain Jack Vielfrass 🇷🇺🇮🇹🧚‍⃤ in archlinux_ru
usanama
я пойду назад в будущее смотреть ок
Ок
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in archlinux_ru
Julian =) Coffee
И все это в ES6 уже можно сделать?)
Ну по крайней мере, там ты можешь гораздо гибче всё это настраивать. Например, раньше в языке JavaScript не было классов, а в приложениях они были! Вроде бы еще в JS: The Good Parts на заре времен рассказывали, как написать поверх прототипной системы более хорошую схему наследования, например
источник

JC

Julian =) Coffee in archlinux_ru
🤔
источник

JC

Julian =) Coffee in archlinux_ru
ну мб
источник

JC

Julian =) Coffee in archlinux_ru
Но я лучше в уютную функциональщину с выводом типов
источник

JC

Julian =) Coffee in archlinux_ru
Просто если чего-то нет в языке, то все это будет ложиться на рантайм.
А никакой jit не исправит того хаоса, который мы делаем чтоб добавить неопределенного поведения в наш код.
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in archlinux_ru
Julian =) Coffee
Просто если чего-то нет в языке, то все это будет ложиться на рантайм.
А никакой jit не исправит того хаоса, который мы делаем чтоб добавить неопределенного поведения в наш код.
Xiaomi уже делает телефоны с 8 гигами памяти. Там везде уже восьмиядерные 3-гигагерцовы процессоры и гигагерцовые GPU

Ты еще попробуй напиши такой код, который это убьёт
источник

JC

Julian =) Coffee in archlinux_ru
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
Xiaomi уже делает телефоны с 8 гигами памяти. Там везде уже восьмиядерные 3-гигагерцовы процессоры и гигагерцовые GPU

Ты еще попробуй напиши такой код, который это убьёт
А что делать мне с телефоном купленым в прошлом году?
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in archlinux_ru
Искать работу где платят, и апгрейдить максимум раз в три года)

Потому что в этом году люди начнут писать более тормозные приложения под более мощное железо, и через три года понадобится радикально более мощное железо ))
источник

РП

Родион Панарин in archlinux_ru
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
Ну, всё правильно. Поэтому я и топлю за reflection-based мета-программирование, в котором код сам определяет, как он будет писаться и выполняться

Старый подход: ты продумываешь архитектуру, например плагинную систему с экстеншен-поинтами, аккуратно всё выписываешь, превращаешь в стандарт, все по этому стандарту кодят и компилятор помогает им стандарт  не нарушить

Новый подход: ты пишешь такой код, который мог бы выдавать максимальное observability, чтобы он мог максимально рассказать о себе, что он делает, как он устроен. Дальше какой-то другой код самостоятельно это анализирует (как угодно, от алгоритмов и стандартов вплоть до нейросетей и прочего машинленинга), сам понимает как туда встроиться, и что со всем этим делать

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

JC

Julian =) Coffee in archlinux_ru
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
Искать работу где платят, и апгрейдить максимум раз в три года)

Потому что в этом году люди начнут писать более тормозные приложения под более мощное железо, и через три года понадобится радикально более мощное железо ))
источник

JC

Julian =) Coffee in archlinux_ru
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
Искать работу где платят, и апгрейдить максимум раз в три года)

Потому что в этом году люди начнут писать более тормозные приложения под более мощное железо, и через три года понадобится радикально более мощное железо ))
И все этого из-за языка, который не дает свободу самовыражения.
источник