#типизация — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #типизация, aggregated by home.social.
-
Зелёные галочки лгут: почему AI пишет тесты, которые ничего не тестируют, и как это починить
На QA-митапе инженер из крупной продуктовой компании показал: AI-агент пишет тесты — все зелёные, но баги не находят. Моки подогнаны, ассерты подменены, архитектура деградирует. Стек при этом — near-SOTA: свежая модель, топовый open-source агент. Я был комментатором на том митапе и сначала списал проблемы на слабые инструменты. Но при подготовке статьи перепроверил — и вынужден поправиться. Инструменты в порядке. Проблема — в коде и процессе. В статье разбираю формулу из четырёх множителей (модель × агент × процесс × качество кодовой базы), показываю, как any-типы из соседней команды обнуляют LSP-интеграцию, которую OpenCode даёт бесплатно из коробки, и даю пошаговый Spec-Driven Development — процесс, который ломает reward hacking и работает даже на слабых моделях. Плюс чеклист, что внедрить завтра.
https://habr.com/ru/articles/1023532/
#автотесты #ai #llm #lsp #opencode #glm #типизация #typescript #тестирование #qa
-
Зелёные галочки лгут: почему AI пишет тесты, которые ничего не тестируют, и как это починить
На QA-митапе инженер из крупной продуктовой компании показал: AI-агент пишет тесты — все зелёные, но баги не находят. Моки подогнаны, ассерты подменены, архитектура деградирует. Стек при этом — near-SOTA: свежая модель, топовый open-source агент. Я был комментатором на том митапе и сначала списал проблемы на слабые инструменты. Но при подготовке статьи перепроверил — и вынужден поправиться. Инструменты в порядке. Проблема — в коде и процессе. В статье разбираю формулу из четырёх множителей (модель × агент × процесс × качество кодовой базы), показываю, как any-типы из соседней команды обнуляют LSP-интеграцию, которую OpenCode даёт бесплатно из коробки, и даю пошаговый Spec-Driven Development — процесс, который ломает reward hacking и работает даже на слабых моделях. Плюс чеклист, что внедрить завтра.
https://habr.com/ru/articles/1023532/
#автотесты #ai #llm #lsp #opencode #glm #типизация #typescript #тестирование #qa
-
Зелёные галочки лгут: почему AI пишет тесты, которые ничего не тестируют, и как это починить
На QA-митапе инженер из крупной продуктовой компании показал: AI-агент пишет тесты — все зелёные, но баги не находят. Моки подогнаны, ассерты подменены, архитектура деградирует. Стек при этом — near-SOTA: свежая модель, топовый open-source агент. Я был комментатором на том митапе и сначала списал проблемы на слабые инструменты. Но при подготовке статьи перепроверил — и вынужден поправиться. Инструменты в порядке. Проблема — в коде и процессе. В статье разбираю формулу из четырёх множителей (модель × агент × процесс × качество кодовой базы), показываю, как any-типы из соседней команды обнуляют LSP-интеграцию, которую OpenCode даёт бесплатно из коробки, и даю пошаговый Spec-Driven Development — процесс, который ломает reward hacking и работает даже на слабых моделях. Плюс чеклист, что внедрить завтра.
https://habr.com/ru/articles/1023532/
#автотесты #ai #llm #lsp #opencode #glm #типизация #typescript #тестирование #qa
-
Зелёные галочки лгут: почему AI пишет тесты, которые ничего не тестируют, и как это починить
На QA-митапе инженер из крупной продуктовой компании показал: AI-агент пишет тесты — все зелёные, но баги не находят. Моки подогнаны, ассерты подменены, архитектура деградирует. Стек при этом — near-SOTA: свежая модель, топовый open-source агент. Я был комментатором на том митапе и сначала списал проблемы на слабые инструменты. Но при подготовке статьи перепроверил — и вынужден поправиться. Инструменты в порядке. Проблема — в коде и процессе. В статье разбираю формулу из четырёх множителей (модель × агент × процесс × качество кодовой базы), показываю, как any-типы из соседней команды обнуляют LSP-интеграцию, которую OpenCode даёт бесплатно из коробки, и даю пошаговый Spec-Driven Development — процесс, который ломает reward hacking и работает даже на слабых моделях. Плюс чеклист, что внедрить завтра.
https://habr.com/ru/articles/1023532/
#автотесты #ai #llm #lsp #opencode #glm #типизация #typescript #тестирование #qa
-
Архитектура европейского рационального мышления: 8 типов идей как каркас базы знаний
Большинство устройств в цифровом мире живёт по тактам. Процессор Intel i5 крутит свой цикл: выборка инструкции, декодирование, исполнение, предсказание перехода - и всё это миллиарды раз в секунду. У GPU от NVIDIA - совсем другой ритм: параллельные потоки, массовые вычисления , другая логика загрузки и исполнения. Архитектуры разные - но принцип один: есть повторяющийся рабочий цикл. У человеческого мышления тоже есть свой такт . Он не измеряется гигагерцами. Один его «оборот» может занять вечер, неделю или несколько лет. Но если присмотреться, в нём повторяются одни и те же фазы: мы вводим понятия, формулируем тезисы, строим модели , и т.д. . Потом цикл начинается заново - уже на новом уровне. Это не биологическая прошивка и не нейронный микрокод. Это культурно сформированная архитектура мышления . Та версия рациональности, которая сложилась в европейской традиции - от античной логики до научного метода - породила довольно специфический когнитивный ритм. При этом понятно, что в другой цивилизационной культуре, например китайской, такт познания может быть несколько иным. В данной статье детально рассматривается такт мышления европейского рационального сознания. А разные шаги этого такта - как основные маркеры (типы) для публикации/поиска идей в базе знаний.
https://habr.com/ru/companies/lumanbox/articles/1004132/
#философия #база_знаний #тактирование #европа #мышление #культура #мозг #типизация #идея #искусственный_интеллект
-
Архитектура европейского рационального мышления: 8 типов идей как каркас базы знаний
Большинство устройств в цифровом мире живёт по тактам. Процессор Intel i5 крутит свой цикл: выборка инструкции, декодирование, исполнение, предсказание перехода - и всё это миллиарды раз в секунду. У GPU от NVIDIA - совсем другой ритм: параллельные потоки, массовые вычисления , другая логика загрузки и исполнения. Архитектуры разные - но принцип один: есть повторяющийся рабочий цикл. У человеческого мышления тоже есть свой такт . Он не измеряется гигагерцами. Один его «оборот» может занять вечер, неделю или несколько лет. Но если присмотреться, в нём повторяются одни и те же фазы: мы вводим понятия, формулируем тезисы, строим модели , и т.д. . Потом цикл начинается заново - уже на новом уровне. Это не биологическая прошивка и не нейронный микрокод. Это культурно сформированная архитектура мышления . Та версия рациональности, которая сложилась в европейской традиции - от античной логики до научного метода - породила довольно специфический когнитивный ритм. При этом понятно, что в другой цивилизационной культуре, например китайской, такт познания может быть несколько иным. В данной статье детально рассматривается такт мышления европейского рационального сознания. А разные шаги этого такта - как основные маркеры (типы) для публикации/поиска идей в базе знаний.
https://habr.com/ru/companies/lumanbox/articles/1004132/
#философия #база_знаний #тактирование #европа #мышление #культура #мозг #типизация #идея #искусственный_интеллект
-
Архитектура европейского рационального мышления: 8 типов идей как каркас базы знаний
Большинство устройств в цифровом мире живёт по тактам. Процессор Intel i5 крутит свой цикл: выборка инструкции, декодирование, исполнение, предсказание перехода - и всё это миллиарды раз в секунду. У GPU от NVIDIA - совсем другой ритм: параллельные потоки, массовые вычисления , другая логика загрузки и исполнения. Архитектуры разные - но принцип один: есть повторяющийся рабочий цикл. У человеческого мышления тоже есть свой такт . Он не измеряется гигагерцами. Один его «оборот» может занять вечер, неделю или несколько лет. Но если присмотреться, в нём повторяются одни и те же фазы: мы вводим понятия, формулируем тезисы, строим модели , и т.д. . Потом цикл начинается заново - уже на новом уровне. Это не биологическая прошивка и не нейронный микрокод. Это культурно сформированная архитектура мышления . Та версия рациональности, которая сложилась в европейской традиции - от античной логики до научного метода - породила довольно специфический когнитивный ритм. При этом понятно, что в другой цивилизационной культуре, например китайской, такт познания может быть несколько иным. В данной статье детально рассматривается такт мышления европейского рационального сознания. А разные шаги этого такта - как основные маркеры (типы) для публикации/поиска идей в базе знаний.
https://habr.com/ru/companies/lumanbox/articles/1004132/
#философия #база_знаний #тактирование #европа #мышление #культура #мозг #типизация #идея #искусственный_интеллект
-
Архитектура европейского рационального мышления: 8 типов идей как каркас базы знаний
Большинство устройств в цифровом мире живёт по тактам. Процессор Intel i5 крутит свой цикл: выборка инструкции, декодирование, исполнение, предсказание перехода - и всё это миллиарды раз в секунду. У GPU от NVIDIA - совсем другой ритм: параллельные потоки, массовые вычисления , другая логика загрузки и исполнения. Архитектуры разные - но принцип один: есть повторяющийся рабочий цикл. У человеческого мышления тоже есть свой такт . Он не измеряется гигагерцами. Один его «оборот» может занять вечер, неделю или несколько лет. Но если присмотреться, в нём повторяются одни и те же фазы: мы вводим понятия, формулируем тезисы, строим модели , и т.д. . Потом цикл начинается заново - уже на новом уровне. Это не биологическая прошивка и не нейронный микрокод. Это культурно сформированная архитектура мышления . Та версия рациональности, которая сложилась в европейской традиции - от античной логики до научного метода - породила довольно специфический когнитивный ритм. При этом понятно, что в другой цивилизационной культуре, например китайской, такт познания может быть несколько иным. В данной статье детально рассматривается такт мышления европейского рационального сознания. А разные шаги этого такта - как основные маркеры (типы) для публикации/поиска идей в базе знаний.
https://habr.com/ru/companies/lumanbox/articles/1004132/
#философия #база_знаний #тактирование #европа #мышление #культура #мозг #типизация #идея #искусственный_интеллект
-
Первое знакомство с Rust
Язык программирования Rust в последние годы приобрел значительную популярность, выступая в качестве универсального языка, обеспечивающего высокую производительность и безопасную работу с памятью. Разработанный Mozilla, это современный язык программирования системного уровня, который является наиболее популярным среди разработчиков, работающих над различными приложениями, от операционных систем до веб-браузеров. Эта статья предназначена для тех, кто только начинает свое знакомство с миром Rust. Мы рассмотрим основные преимущества этого языка, установим необходимые компоненты и соберем первое приложение.
https://habr.com/ru/companies/otus/articles/1000836/
#rust #cargo #системное_программирование #безопасность_памяти #владение #многопоточность #типизация
-
Первое знакомство с Rust
Язык программирования Rust в последние годы приобрел значительную популярность, выступая в качестве универсального языка, обеспечивающего высокую производительность и безопасную работу с памятью. Разработанный Mozilla, это современный язык программирования системного уровня, который является наиболее популярным среди разработчиков, работающих над различными приложениями, от операционных систем до веб-браузеров. Эта статья предназначена для тех, кто только начинает свое знакомство с миром Rust. Мы рассмотрим основные преимущества этого языка, установим необходимые компоненты и соберем первое приложение.
https://habr.com/ru/companies/otus/articles/1000836/
#rust #cargo #системное_программирование #безопасность_памяти #владение #многопоточность #типизация
-
Первое знакомство с Rust
Язык программирования Rust в последние годы приобрел значительную популярность, выступая в качестве универсального языка, обеспечивающего высокую производительность и безопасную работу с памятью. Разработанный Mozilla, это современный язык программирования системного уровня, который является наиболее популярным среди разработчиков, работающих над различными приложениями, от операционных систем до веб-браузеров. Эта статья предназначена для тех, кто только начинает свое знакомство с миром Rust. Мы рассмотрим основные преимущества этого языка, установим необходимые компоненты и соберем первое приложение.
https://habr.com/ru/companies/otus/articles/1000836/
#rust #cargo #системное_программирование #безопасность_памяти #владение #многопоточность #типизация
-
Первое знакомство с Rust
Язык программирования Rust в последние годы приобрел значительную популярность, выступая в качестве универсального языка, обеспечивающего высокую производительность и безопасную работу с памятью. Разработанный Mozilla, это современный язык программирования системного уровня, который является наиболее популярным среди разработчиков, работающих над различными приложениями, от операционных систем до веб-браузеров. Эта статья предназначена для тех, кто только начинает свое знакомство с миром Rust. Мы рассмотрим основные преимущества этого языка, установим необходимые компоненты и соберем первое приложение.
https://habr.com/ru/companies/otus/articles/1000836/
#rust #cargo #системное_программирование #безопасность_памяти #владение #многопоточность #типизация
-
Почему IT-проекты жирные (опять)
Кратенький кейс на который наткнулся в ревью - значения одного типа переливаются в значения другого - хотя типы и значения совпадают :) Вот электронику когда ваяешь - там лишних компонент пихать не захочешь на плату - и место ограничено и каждая фитюлька каких-то копеек стоит. В софтварных же проектах иногда кажется что столкнулся с эпидемией. Хотя вопрос чуть глубже чем кажется. Сейчас покажу и поясню - и м.б. многосведущий ALL поделится как с этим в других проектах поступать решили. if true return true else return not true
-
Почему IT-проекты жирные (опять)
Кратенький кейс на который наткнулся в ревью - значения одного типа переливаются в значения другого - хотя типы и значения совпадают :) Вот электронику когда ваяешь - там лишних компонент пихать не захочешь на плату - и место ограничено и каждая фитюлька каких-то копеек стоит. В софтварных же проектах иногда кажется что столкнулся с эпидемией. Хотя вопрос чуть глубже чем кажется. Сейчас покажу и поясню - и м.б. многосведущий ALL поделится как с этим в других проектах поступать решили. if true return true else return not true
-
Почему IT-проекты жирные (опять)
Кратенький кейс на который наткнулся в ревью - значения одного типа переливаются в значения другого - хотя типы и значения совпадают :) Вот электронику когда ваяешь - там лишних компонент пихать не захочешь на плату - и место ограничено и каждая фитюлька каких-то копеек стоит. В софтварных же проектах иногда кажется что столкнулся с эпидемией. Хотя вопрос чуть глубже чем кажется. Сейчас покажу и поясню - и м.б. многосведущий ALL поделится как с этим в других проектах поступать решили. if true return true else return not true
-
Почему IT-проекты жирные (опять)
Кратенький кейс на который наткнулся в ревью - значения одного типа переливаются в значения другого - хотя типы и значения совпадают :) Вот электронику когда ваяешь - там лишних компонент пихать не захочешь на плату - и место ограничено и каждая фитюлька каких-то копеек стоит. В софтварных же проектах иногда кажется что столкнулся с эпидемией. Хотя вопрос чуть глубже чем кажется. Сейчас покажу и поясню - и м.б. многосведущий ALL поделится как с этим в других проектах поступать решили. if true return true else return not true
-
Метаутопия программистов: как построить государство на базе TypeScript и Git
В начале XVI века была издана книга английского юриста и философа Томаса Мора под названием "Утопия", в которой описывалась идеальная по мнению автора структура общества. Название этой книги стало именем нарицательным и дало имя всему жанру подобных трактатов. Книга Мора была далеко не первой: ещё за две тысячи лет до её выхода в свет древнегреческий философ Платон опубликовал трактат "Государство", в котором излагал свои взгляды на общественное устройство. Кто только не создавал своих утопий: например, Карл Маркс с его манифестом коммунизма и диктатурой пролетариата или Карл Поппер с его "Открытым обществом и его врагами". Почему бы не сделать этого и мне? Китайский философ-даос Лао-Цзы писал, что когда нечто доходит до предела, оно обращается в свою полную противоположность. Из истории нам известно, что любые попытки воплощения различных утопий в жизнь всегда заканчиваются их полной противоположностью - тоталитарными антиутопиями. Поэтому в этом эссе я планирую описать не утопию, которая практически невозможна, а метаутопию - не то, как общество должно быть устроено, а то на основе чего оно должно быть зиждется и как развиваться. Метаутопия в отличие от утопии может быть применима в реальности и полезна для реального общества. В основании этой метаутопии лежат два инструмента программирования - типизированный язык программирования и система контроля версий. Возьмём для примера в качестве языка программирования TypeScript, а в качестве системы контроля версий - Git. Сегодня на TypeScript пишут и веб-приложения, и мобильные приложения, и программы командной строки, и сервера для приложений. Почему бы не написать на нём государство?
-
Метаутопия программистов: как построить государство на базе TypeScript и Git
В начале XVI века была издана книга английского юриста и философа Томаса Мора под названием "Утопия", в которой описывалась идеальная по мнению автора структура общества. Название этой книги стало именем нарицательным и дало имя всему жанру подобных трактатов. Книга Мора была далеко не первой: ещё за две тысячи лет до её выхода в свет древнегреческий философ Платон опубликовал трактат "Государство", в котором излагал свои взгляды на общественное устройство. Кто только не создавал своих утопий: например, Карл Маркс с его манифестом коммунизма и диктатурой пролетариата или Карл Поппер с его "Открытым обществом и его врагами". Почему бы не сделать этого и мне? Китайский философ-даос Лао-Цзы писал, что когда нечто доходит до предела, оно обращается в свою полную противоположность. Из истории нам известно, что любые попытки воплощения различных утопий в жизнь всегда заканчиваются их полной противоположностью - тоталитарными антиутопиями. Поэтому в этом эссе я планирую описать не утопию, которая практически невозможна, а метаутопию - не то, как общество должно быть устроено, а то на основе чего оно должно быть зиждется и как развиваться. Метаутопия в отличие от утопии может быть применима в реальности и полезна для реального общества. В основании этой метаутопии лежат два инструмента программирования - типизированный язык программирования и система контроля версий. Возьмём для примера в качестве языка программирования TypeScript, а в качестве системы контроля версий - Git. Сегодня на TypeScript пишут и веб-приложения, и мобильные приложения, и программы командной строки, и сервера для приложений. Почему бы не написать на нём государство?
-
Метаутопия программистов: как построить государство на базе TypeScript и Git
В начале XVI века была издана книга английского юриста и философа Томаса Мора под названием "Утопия", в которой описывалась идеальная по мнению автора структура общества. Название этой книги стало именем нарицательным и дало имя всему жанру подобных трактатов. Книга Мора была далеко не первой: ещё за две тысячи лет до её выхода в свет древнегреческий философ Платон опубликовал трактат "Государство", в котором излагал свои взгляды на общественное устройство. Кто только не создавал своих утопий: например, Карл Маркс с его манифестом коммунизма и диктатурой пролетариата или Карл Поппер с его "Открытым обществом и его врагами". Почему бы не сделать этого и мне? Китайский философ-даос Лао-Цзы писал, что когда нечто доходит до предела, оно обращается в свою полную противоположность. Из истории нам известно, что любые попытки воплощения различных утопий в жизнь всегда заканчиваются их полной противоположностью - тоталитарными антиутопиями. Поэтому в этом эссе я планирую описать не утопию, которая практически невозможна, а метаутопию - не то, как общество должно быть устроено, а то на основе чего оно должно быть зиждется и как развиваться. Метаутопия в отличие от утопии может быть применима в реальности и полезна для реального общества. В основании этой метаутопии лежат два инструмента программирования - типизированный язык программирования и система контроля версий. Возьмём для примера в качестве языка программирования TypeScript, а в качестве системы контроля версий - Git. Сегодня на TypeScript пишут и веб-приложения, и мобильные приложения, и программы командной строки, и сервера для приложений. Почему бы не написать на нём государство?
-
Метаутопия программистов: как построить государство на базе TypeScript и Git
В начале XVI века была издана книга английского юриста и философа Томаса Мора под названием "Утопия", в которой описывалась идеальная по мнению автора структура общества. Название этой книги стало именем нарицательным и дало имя всему жанру подобных трактатов. Книга Мора была далеко не первой: ещё за две тысячи лет до её выхода в свет древнегреческий философ Платон опубликовал трактат "Государство", в котором излагал свои взгляды на общественное устройство. Кто только не создавал своих утопий: например, Карл Маркс с его манифестом коммунизма и диктатурой пролетариата или Карл Поппер с его "Открытым обществом и его врагами". Почему бы не сделать этого и мне? Китайский философ-даос Лао-Цзы писал, что когда нечто доходит до предела, оно обращается в свою полную противоположность. Из истории нам известно, что любые попытки воплощения различных утопий в жизнь всегда заканчиваются их полной противоположностью - тоталитарными антиутопиями. Поэтому в этом эссе я планирую описать не утопию, которая практически невозможна, а метаутопию - не то, как общество должно быть устроено, а то на основе чего оно должно быть зиждется и как развиваться. Метаутопия в отличие от утопии может быть применима в реальности и полезна для реального общества. В основании этой метаутопии лежат два инструмента программирования - типизированный язык программирования и система контроля версий. Возьмём для примера в качестве языка программирования TypeScript, а в качестве системы контроля версий - Git. Сегодня на TypeScript пишут и веб-приложения, и мобильные приложения, и программы командной строки, и сервера для приложений. Почему бы не написать на нём государство?
-
[Перевод] Pyrefly vs. ty: битва двух Rust-базированных анализаторов типов для Python
Команда Python for Devs подготовила перевод статьи о двух новых Rust-базированных анализаторах типов для Python — pyrefly и ty. Оба пока в ранней альфе, но уже демонстрируют впечатляющую скорость, разные подходы к выводу типов и новые возможности.
-
[Перевод] Pyrefly vs. ty: битва двух Rust-базированных анализаторов типов для Python
Команда Python for Devs подготовила перевод статьи о двух новых Rust-базированных анализаторах типов для Python — pyrefly и ty. Оба пока в ранней альфе, но уже демонстрируют впечатляющую скорость, разные подходы к выводу типов и новые возможности.
-
[Перевод] Pyrefly vs. ty: битва двух Rust-базированных анализаторов типов для Python
Команда Python for Devs подготовила перевод статьи о двух новых Rust-базированных анализаторах типов для Python — pyrefly и ty. Оба пока в ранней альфе, но уже демонстрируют впечатляющую скорость, разные подходы к выводу типов и новые возможности.
-
[Перевод] Pyrefly vs. ty: битва двух Rust-базированных анализаторов типов для Python
Команда Python for Devs подготовила перевод статьи о двух новых Rust-базированных анализаторах типов для Python — pyrefly и ty. Оба пока в ранней альфе, но уже демонстрируют впечатляющую скорость, разные подходы к выводу типов и новые возможности.
-
Ваши тесты упали по причине JavaScript
Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.
https://habr.com/ru/companies/pvs-studio/articles/967062/
#javascript #typescript #vscode #pvsstudio #статический_анализ #static_analysis #sast #visual_studio_code #типизация #динамическая_типизация
-
Ваши тесты упали по причине JavaScript
Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.
https://habr.com/ru/companies/pvs-studio/articles/967062/
#javascript #typescript #vscode #pvsstudio #статический_анализ #static_analysis #sast #visual_studio_code #типизация #динамическая_типизация
-
Ваши тесты упали по причине JavaScript
Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.
https://habr.com/ru/companies/pvs-studio/articles/967062/
#javascript #typescript #vscode #pvsstudio #статический_анализ #static_analysis #sast #visual_studio_code #типизация #динамическая_типизация
-
Ваши тесты упали по причине JavaScript
Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.
https://habr.com/ru/companies/pvs-studio/articles/967062/
#javascript #typescript #vscode #pvsstudio #статический_анализ #static_analysis #sast #visual_studio_code #типизация #динамическая_типизация
-
TypeScript: краткий гайд по дистрибуции типов
Привет, это Костя из Читать
-
TypeScript: краткий гайд по дистрибуции типов
Привет, это Костя из Читать
-
TypeScript: краткий гайд по дистрибуции типов
Привет, это Костя из Читать
-
TypeScript: краткий гайд по дистрибуции типов
Привет, это Костя из Читать
-
[Перевод] Ранняя история алгебраических типов данных
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
https://habr.com/ru/articles/962522/
#алгебраические_типы_данных #история_it #история #типизация #типсумма #типы_данных
-
[Перевод] Ранняя история алгебраических типов данных
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
https://habr.com/ru/articles/962522/
#алгебраические_типы_данных #история_it #история #типизация #типсумма #типы_данных
-
[Перевод] Ранняя история алгебраических типов данных
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
https://habr.com/ru/articles/962522/
#алгебраические_типы_данных #история_it #история #типизация #типсумма #типы_данных
-
[Перевод] Ранняя история алгебраических типов данных
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
https://habr.com/ru/articles/962522/
#алгебраические_типы_данных #история_it #история #типизация #типсумма #типы_данных
-
[Перевод] Почему Python такой медленный? И вот что об этом думают эксперты
Команда Python for Devs подготовила перевод статьи о том, почему Python так медленный и что сообщество делает, чтобы это исправить. PyCon 2024 показал: Python ждут субинтерпретаторы, immortal objects, JIT-компиляция и другие технологии, которые могут ускорить его в разы.
https://habr.com/ru/articles/948858/
#python #производительность #gil #субинтерпретаторы #cython #jit #типизация #оптимизация #многопоточность #pycon
-
[Перевод] Почему Python такой медленный? И вот что об этом думают эксперты
Команда Python for Devs подготовила перевод статьи о том, почему Python так медленный и что сообщество делает, чтобы это исправить. PyCon 2024 показал: Python ждут субинтерпретаторы, immortal objects, JIT-компиляция и другие технологии, которые могут ускорить его в разы.
https://habr.com/ru/articles/948858/
#python #производительность #gil #субинтерпретаторы #cython #jit #типизация #оптимизация #многопоточность #pycon
-
[Перевод] Почему Python такой медленный? И вот что об этом думают эксперты
Команда Python for Devs подготовила перевод статьи о том, почему Python так медленный и что сообщество делает, чтобы это исправить. PyCon 2024 показал: Python ждут субинтерпретаторы, immortal objects, JIT-компиляция и другие технологии, которые могут ускорить его в разы.
https://habr.com/ru/articles/948858/
#python #производительность #gil #субинтерпретаторы #cython #jit #типизация #оптимизация #многопоточность #pycon
-
[Перевод] Почему Python такой медленный? И вот что об этом думают эксперты
Команда Python for Devs подготовила перевод статьи о том, почему Python так медленный и что сообщество делает, чтобы это исправить. PyCon 2024 показал: Python ждут субинтерпретаторы, immortal objects, JIT-компиляция и другие технологии, которые могут ускорить его в разы.
https://habr.com/ru/articles/948858/
#python #производительность #gil #субинтерпретаторы #cython #jit #типизация #оптимизация #многопоточность #pycon
-
История статической и динамической типизации
Привет, Хабр! Меня зовут Глеб, я Java-разработчик в Сбере. Сегодня я хочу рассказать про исторический контекст двух фундаментальных подходов к системе типов в программировании. Наверное, каждый разработчик, знает, что такое статическая и динамическая типизация (или хотя бы одно из этих понятий). Действительно, все современные языки программирования можно отнести либо к статически, либо к динамически типизированным. Идеи, лежащие в основе этих подходов, достаточно легко объяснить на пальцах: при строгой типизации мы знаем все типы, используемые нашей программой, ещё во время её компиляции. При динамическом же подходе эта информация для нас открывается только во время выполнения программы (run-time) — это даёт больше гибкости и потенциального удобства при написании кода, однако влечёт за собой множество очевидных проблем: любая ошибка, связанная с типами данных, просто не будет выявлена на этапе компиляции и потребует дополнительного тестирования. Сегодня я хочу рассказать, как вообще зародились эти два подхода, и как они пришли к тому виду, в каком мы знаем их сейчас.
https://habr.com/ru/companies/sberbank/articles/947970/
#типизация #статическая_типизация #динамическая_типизация #программирование
-
История статической и динамической типизации
Привет, Хабр! Меня зовут Глеб, я Java-разработчик в Сбере. Сегодня я хочу рассказать про исторический контекст двух фундаментальных подходов к системе типов в программировании. Наверное, каждый разработчик, знает, что такое статическая и динамическая типизация (или хотя бы одно из этих понятий). Действительно, все современные языки программирования можно отнести либо к статически, либо к динамически типизированным. Идеи, лежащие в основе этих подходов, достаточно легко объяснить на пальцах: при строгой типизации мы знаем все типы, используемые нашей программой, ещё во время её компиляции. При динамическом же подходе эта информация для нас открывается только во время выполнения программы (run-time) — это даёт больше гибкости и потенциального удобства при написании кода, однако влечёт за собой множество очевидных проблем: любая ошибка, связанная с типами данных, просто не будет выявлена на этапе компиляции и потребует дополнительного тестирования. Сегодня я хочу рассказать, как вообще зародились эти два подхода, и как они пришли к тому виду, в каком мы знаем их сейчас.
https://habr.com/ru/companies/sberbank/articles/947970/
#типизация #статическая_типизация #динамическая_типизация #программирование
-
История статической и динамической типизации
Привет, Хабр! Меня зовут Глеб, я Java-разработчик в Сбере. Сегодня я хочу рассказать про исторический контекст двух фундаментальных подходов к системе типов в программировании. Наверное, каждый разработчик, знает, что такое статическая и динамическая типизация (или хотя бы одно из этих понятий). Действительно, все современные языки программирования можно отнести либо к статически, либо к динамически типизированным. Идеи, лежащие в основе этих подходов, достаточно легко объяснить на пальцах: при строгой типизации мы знаем все типы, используемые нашей программой, ещё во время её компиляции. При динамическом же подходе эта информация для нас открывается только во время выполнения программы (run-time) — это даёт больше гибкости и потенциального удобства при написании кода, однако влечёт за собой множество очевидных проблем: любая ошибка, связанная с типами данных, просто не будет выявлена на этапе компиляции и потребует дополнительного тестирования. Сегодня я хочу рассказать, как вообще зародились эти два подхода, и как они пришли к тому виду, в каком мы знаем их сейчас.
https://habr.com/ru/companies/sberbank/articles/947970/
#типизация #статическая_типизация #динамическая_типизация #программирование
-
История статической и динамической типизации
Привет, Хабр! Меня зовут Глеб, я Java-разработчик в Сбере. Сегодня я хочу рассказать про исторический контекст двух фундаментальных подходов к системе типов в программировании. Наверное, каждый разработчик, знает, что такое статическая и динамическая типизация (или хотя бы одно из этих понятий). Действительно, все современные языки программирования можно отнести либо к статически, либо к динамически типизированным. Идеи, лежащие в основе этих подходов, достаточно легко объяснить на пальцах: при строгой типизации мы знаем все типы, используемые нашей программой, ещё во время её компиляции. При динамическом же подходе эта информация для нас открывается только во время выполнения программы (run-time) — это даёт больше гибкости и потенциального удобства при написании кода, однако влечёт за собой множество очевидных проблем: любая ошибка, связанная с типами данных, просто не будет выявлена на этапе компиляции и потребует дополнительного тестирования. Сегодня я хочу рассказать, как вообще зародились эти два подхода, и как они пришли к тому виду, в каком мы знаем их сейчас.
https://habr.com/ru/companies/sberbank/articles/947970/
#типизация #статическая_типизация #динамическая_типизация #программирование
-
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Библиотека функций к Script-fu Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реально же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
-
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Библиотека функций к Script-fu Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реально же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
-
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Библиотека функций к Script-fu Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реально же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
-
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Библиотека функций к Script-fu Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реально же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
-
Почему стоит использовать Tagged Unions при разработке на TypeScript
Почему стоит использовать Tagged Unions при разработке на TypeScript 👋 Привет! Меня зовут Александр, я работаю фронтенд-разработчиком в компании «МегаФон». Сегодня я хочу поговорить на тему Tagged Unions (размеченных объединений) и объяснить, почему они ваш секретный инструмент для написания надежного TypeScript-кода.
https://habr.com/ru/companies/megafon/articles/933752/
#typescript #javascript #tagged_unions #типизация #код #программирование #типобезопасность
-
Почему стоит использовать Tagged Unions при разработке на TypeScript
Почему стоит использовать Tagged Unions при разработке на TypeScript 👋 Привет! Меня зовут Александр, я работаю фронтенд-разработчиком в компании «МегаФон». Сегодня я хочу поговорить на тему Tagged Unions (размеченных объединений) и объяснить, почему они ваш секретный инструмент для написания надежного TypeScript-кода.
https://habr.com/ru/companies/megafon/articles/933752/
#typescript #javascript #tagged_unions #типизация #код #программирование #типобезопасность