Задачи разработки компиляторов и интерпретаторов Читать полностью »
Рубрика «функциональное программирование»
Практика использования парсер-комбинаторов peco и оператора match для создания простых DSL на языке Python
2024-12-14 в 22:40, admin, рубрики: dsl, peg, python, Компиляторы, лексический разбор, парсер-комбинаторы, предметно-ориентированный язык, синтаксический разбор, формальные языки, функциональное программированиеПолгода задает изощренные вопросы как начать программировать, но не написал даже Hello, world
2024-05-20 в 16:27, admin, рубрики: asic, CUDA, hello world, Verilog, обучение программированию, объектно-ориентированное, страх перед кодом, функциональное программирование, юморЯ не понимаю, как на это реагировать. Некий товарищ полгода спрашивает у меня советы как начать с Verilog/FPGA/ASIC, но при этом ничего не начинает, хотя его вопросы становятся все более экзотическими. Чтобы было понятнее, опишу как бы это выглядело для программирования. Предположим к вам пришел молодой человек и спрашивает как научиться программировать. Вы ему говорите что-нибудь типа:
Как изучить Haskell всего за 15 лет
2024-02-12 в 13:00, admin, рубрики: elm, ruvds_переводы, xmonad, функциональное программирование, чистые функцииHaskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, что смогу сделать это снова, если мне когда-нибудь понадобится ещё одна компьютерная программа.
Я не знаю, как изучал функциональное программирование в целом и Haskell в частности. В 2006-м я следил за проектами why the lucky stiff и читал передовой тамблелог Леа Нойкирхен Anarchaia, и какой-то из этих источников познакомил меня с миром за пределами ООП. В декабре 2006 года Леа опубликовала на Anarchaia ссылку на Pandoc, и тогда я впервые узнал о своём любимом ПО и языке, на котором оно было написано.
Читать полностью »
Люди не понимают ООП
2024-02-07 в 13:00, admin, рубрики: ruvds_переводы, инкапсуляция, наследование, объекты, ооп, полиморфизм, структурное программирование, функциональное программирование«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1
Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.
Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.Читать полностью »
Арифметика первого класса в системе типов Rust
2024-01-19 в 13:00, admin, рубрики: Rust, ruvds_перевод, математика, Программирование, функциональное программированиеАрифметика – наука непростая, но к нашему удобству работу с ней можно облегчить с помощью экспрессивной системы типов языка Rust. В статье мы разберём реализацию на этом языке простейших математических операций, таких как сложение, вычитание, умножение и деление. Читать полностью »
Что такое формальная верификация
2023-08-05 в 10:52, admin, рубрики: coq, Rust, Алгоритмы, безопасность, безопасность веб-приложений, безопасность данных, информационная безопасность, Криптовалюты, формальная верификация, функциональное программированиеЭто обзорная статья, в которой очень поверхностно и не подробно рассказывается о том, что такое формальная верификация программного кода, зачем она нужна и чем она отличается от аудита и тестирования.
Формальная верификация — это доказательство с использованием математических методов корректности программного обеспечения.
Формальная верификация молода. На сегодняшний день, на сайте хабр, например, нет (пока) специализации «Формальная верификация», нет специальности «Proof инженер» или «Специалист по формальной верификации». А люди, работающие по этой специальности — есть.
Звучащий код — пишем музыку на языке ByteBeat
2023-06-24 в 22:17, admin, рубрики: Brainfuck, bytebeat, chiptune, open source, sizecoding, Блог компании Undefined DIY fest, взрыв мозга, Демосцена, зачем программисту математика, звук, ненормальное программирование, функциональное программированиеДорогой Хабр, через два месяца мне предстоит организовать и провести фестиваль компьютерного искусства, поэтому я уже сейчас собираю информацию про необычные проявления демосцены, на которые обычно никто не обращает внимания. Язык программирования для генеративной музыки ByteBeat — это как раз то, что я ищу.
5 антипаттернов при написании кода на функциональном ЯП
2023-05-21 в 10:00, admin, рубрики: ruvds_перевод, scala, антипаттерны, Блог компании RUVDS.com, Программирование, программирование для начинающих, функции, функциональное программирование
Антипаттерны в функциональных языках программирования могут показаться непривычными в силу отличия этих языков от других их видов, в связи с чем разработчики нередко пишут не самые удачные реализации, склонные к ошибкам и трудные в обслуживании. В статье мы разберём пять наиболее типичных антипаттернов, избегая которые вы сможете создавать более удобный в работе код при меньшем количестве ошибок.Читать полностью »
Наиболее распространённые мифы о Scala: сеанс с разоблачением
2023-04-07 в 12:32, admin, рубрики: java, scala, Блог компании Издательский дом «Питер», Программирование, функциональное программированиеВ этом посте развенчивается ряд очень существенных мифов о языке Scala, которые, как нам известно, циркулируют в блогосфере. Для каждого развенчанного мифа мы представим альтернативную точку зрения, подкреплённую данными из надёжных источников. Читать полностью »
Слышали ли вы про язык «e»? А ведь он был продан за $315 миллионов долларов
2023-03-24 в 7:08, admin, рубрики: constraint programming, fpga, functional coverage, Hardware Verification Language, Specman, SystemVerilog, SystemVerlog Assertions, Vericity, vhdl, Анализ и проектирование систем, верификация микросхем, программирование микроконтроллеров, Производство и разработка электроники, функциональное программирование, Школа СинтезаВсе знают про язык программирования C, поменьше — про язык программирования F, кое‑кто про B, предшественник C, а вот знаете ли вы про язык «e»? Их кстати два — один с большой буквы «E», а другой с маленькой «e».