На днях в комментариях на реддите опубликовали подборку видео о работе компиляторов Scala и Dotty вкупе с книгами о компиляторах вообще. Решил немного дополнить список обзорными видео, поскольку слушать полтора часа про построение деревьев в Dotty может показаться утомительным.
Scalac:
1. Scalac Survival Guide (1 час)
2. A deep dive into Scalac (47 минут)
3. Scala compiler plugins 101 (32 минуты)
4. Scalac micro-optimisation (7 минут)
Dotty:
1. Dotty Internals 1: Trees & Symbols (1.5 часа)
2. Dotty Internals 2: Types (2.3 часа)
3. Dotty Internals 3: Denotations (2.5 часа)
4. Hands-on Dotty — Dmitry Petrashko (1.6 часа)
5. What's Different In Dotty by Martin Odersky (1 час)
6. Integrating IDEs with Dotty (30 минут)
Отдельным пунктом хочу выделить презентацию How an Optimizing Compiler Works (47 минут) под авторством Li Haoyi, в которой затрагиваются основные аспекты работы оптимизирующего компилятора.
Scalac:
1. Scalac Survival Guide (1 час)
2. A deep dive into Scalac (47 минут)
3. Scala compiler plugins 101 (32 минуты)
4. Scalac micro-optimisation (7 минут)
Dotty:
1. Dotty Internals 1: Trees & Symbols (1.5 часа)
2. Dotty Internals 2: Types (2.3 часа)
3. Dotty Internals 3: Denotations (2.5 часа)
4. Hands-on Dotty — Dmitry Petrashko (1.6 часа)
5. What's Different In Dotty by Martin Odersky (1 час)
6. Integrating IDEs with Dotty (30 минут)
Отдельным пунктом хочу выделить презентацию How an Optimizing Compiler Works (47 минут) под авторством Li Haoyi, в которой затрагиваются основные аспекты работы оптимизирующего компилятора.
Reddit
From the scala community on Reddit
Explore this post and more from the scala community
Полезный cheatsheet от Филипа Шварца на тему базовых операций
Monad, Traverse и Foldable. Отлично подходит для запоминания тем, кто только начинает осваивать эти type-классы.На этой неделе в поле моего зрения попала статья 5 ЯП, которые должен знать разработчик в 2019 году. В списке, внезапно, присутствует Scala (также рекомендуют и Haskell), но больше всего привлекли моё внимание следующие заявления автора:
-Вы не можете быть программистом без понимания C или C++
-Инженеры ПО и разработчики, знающие C, в целом лучше программистов, которые C не знают
(Software engineers or developers who know C are solely better than programmers who don’t know C).
В целом, сложно поспорить с тем, что знание, например, скриптовых ЯП сильно пригождается при решении небольших утилитарных задач (хотя недавний твит от Олега Пыжкова свидетельствует, что и это не всегда так). Тем не менее, даже после прочтения статьи необходимость понимания C и тем более С++ для меня осталась спорной.
В связи с этим, возник вопрос - насколько знание этих языков реально пригождается тем же скалистам в профессиональной деятельности? Речь идёт, естественно, не столько о синтаксисе, сколько об языках в целом: общие принципы написания программ на языке, основные паттерны, механизм сборки и т.д.
-Вы не можете быть программистом без понимания C или C++
(You cannot be a programmer without understanding C or C++)-Инженеры ПО и разработчики, знающие C, в целом лучше программистов, которые C не знают
(Software engineers or developers who know C are solely better than programmers who don’t know C).
В целом, сложно поспорить с тем, что знание, например, скриптовых ЯП сильно пригождается при решении небольших утилитарных задач (хотя недавний твит от Олега Пыжкова свидетельствует, что и это не всегда так). Тем не менее, даже после прочтения статьи необходимость понимания C и тем более С++ для меня осталась спорной.
В связи с этим, возник вопрос - насколько знание этих языков реально пригождается тем же скалистам в профессиональной деятельности? Речь идёт, естественно, не столько о синтаксисе, сколько об языках в целом: общие принципы написания программ на языке, основные паттерны, механизм сборки и т.д.
Learn Worthy
Top 5 programming languages every programmer should know in 2019 | Learnworthy.net
Top 5 programming languages every programmer should know in 2019 are Python, Java, C, JavaScript and Scala. These are a must if you want to succeed
В процессе поиска информации про коэффекты обнаружил страницу под авторством Томаса Петричека с одноимённым названием coeffects, возникшую как дополнение к его докторской диссертации.
Сайт представляет собой отличный пример подачи материала - есть возможность как кратко ознакомиться с тематикой, так и углубиться в теоретическое основание или же, наоборот, практическое применение.
Для более наглядной иллюстрации материала присутствует также интерактивная составляющая, а для самых заинтересованных имеется перечень научных работ про коэффекты.
Сайт представляет собой отличный пример подачи материала - есть возможность как кратко ознакомиться с тематикой, так и углубиться в теоретическое основание или же, наоборот, практическое применение.
Для более наглядной иллюстрации материала присутствует также интерактивная составляющая, а для самых заинтересованных имеется перечень научных работ про коэффекты.
tomasp.net
Coeffects: Context-aware programming languages
Interactive essay that explains theory of coeffects and lets you type-check and run sample programs.
Буквально несколько часов назад была опубликована книга Дженса Грасселя Pure functional HTTP APIs in Scala. Издание расчитано на опытных Scala программистов, использующих "enterprise" библиотеки (Akka, Play, Spring), но стремящихся к более ФП-ориентированному подходу к разработке.
Книга по сути представляет из себя пример итеративной реализации web-сервиса с учётом всех значимых компонент: загрузка конфигурации, роутинг, тестирование и т.д. Дополнительным бонусом служит то, что получить книгу можно абсолютно бесплатно.
Книга по сути представляет из себя пример итеративной реализации web-сервиса с учётом всех значимых компонент: загрузка конфигурации, роутинг, тестирование и т.д. Дополнительным бонусом служит то, что получить книгу можно абсолютно бесплатно.
Небольшая коллекция слайдов от Филипа Шварца на тему функторов как таковых и мотивации к их появлению. Содержит выдержки объяснений от Бартоша Милевски и нескольких книг, среди которых крайне рекомендуемая мной Haskell programming from first principles.
SlideShare
Functors
Functors - Download as a PDF or view online for free
Похоже, что новый год начинается с очередных синтаксических предложений [1, 2] от доктора Одерски, на этот раз в отношении extension методов в Dotty. Первое позволяет именам методов начинаться с точки, в то время как второе вводит новое ключевое слово
До:
После значимой табуляции и изменений в синтаксисе присваивания (последние добавлены не были), данные изменения видятся гораздо менее спорными и, возможно, имеют реальные шансы в конечном итоге оказаться в Dotty.
extension (of) для определения таких методов взамен имеющемуся синтаксису с given.До:
given listOps: [T](xs: List[T]) extended with {...}
После:extension listOps of [T](xs: List[T]) with {...} После значимой табуляции и изменений в синтаксисе присваивания (последние добавлены не были), данные изменения видятся гораздо менее спорными и, возможно, имеют реальные шансы в конечном итоге оказаться в Dotty.
GitHub
Syntax Change: Allow '.' in front of extension method by odersky · Pull Request #7914 · lampepfl/dotty
Allow
def (c: Circle).circumference: Double
alongside
def (c: Circle) circumference: Double
The syntax with '.' is preferred for normal methods which have names
starting with a le...
def (c: Circle).circumference: Double
alongside
def (c: Circle) circumference: Double
The syntax with '.' is preferred for normal methods which have names
starting with a le...
После порядком затянувшегося перерыва решил попробовать написать что-то и на английском языке.
Итогом стала статья на Medium про использование
Искренне надеюсь, что дебют получился успешным. Буду очень рад вашим комментариям.
Итогом стала статья на Medium про использование
Ordering в Scala. Примером стало, конечно же, любимое сообществом семейство кошачьих.Искренне надеюсь, что дебют получился успешным. Буду очень рад вашим комментариям.
Medium
Sorting in Scala — a cat shop example
While Java and Scala both inhabit the same JVM grounds, the latter has become known as a far more concise and expressive language due to…
Вдогонку ко вчерашней новости: аналогичным образом поступила одна из наиболее масштабных компьютерных организаций, - Ассоциация Вычислительной Техники (Association for Computing Machinery) - открыв доступ к своей цифровой библиотеке до 30 июня.
В основной коллекции библиотеки содержится порядка 600 тысяч записей, в расширенной - немногим менее 3 миллионов. По ключевому слову "Scala" удаётся найти около 4000 результатов. Получить доступ к библиотеке можно по ссылке.
За новость спасибо Евгению Игнатьеву.
В основной коллекции библиотеки содержится порядка 600 тысяч записей, в расширенной - немногим менее 3 миллионов. По ключевому слову "Scala" удаётся найти около 4000 результатов. Получить доступ к библиотеке можно по ссылке.
За новость спасибо Евгению Игнатьеву.
Не так давно узнал, что вдобавок к сайту с вакансиями Profunctor запустил ещё и канал @profunctor_jobs с минималистичными описаниями вакансий, размещённых на сайте.
На фоне предложений с подробным описанием печенья и фруктов в офисе, но без зарплатной вилки/стэка/названия компании(!) очень приятно видеть продукт, ориентированный на разработчиков.
На фоне предложений с подробным описанием печенья и фруктов в офисе, но без зарплатной вилки/стэка/названия компании(!) очень приятно видеть продукт, ориентированный на разработчиков.
profunctor.io
∏ρ؃uñçτØρ Øπτµç∑ | 👁🗨›››› ::: profunctor optics ::: libmustdie
Programming job board, memes and stuff
Опубликовал перевод своей недавней статьи на Хабрахабр. Теперь почитать про сортировку кошек можно и на русском языке.
Хабр
Сортировка в Scala — пример на кошках
Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синта...
Вчера завершилась замечательная конференция ScalaLove, за которую огромное спасибо её организаторам. Надеюсь, в будущем такие мероприятия будут происходить значительно чаще.
Одним из докладчиков на конференции был Мартин Одерски, который уже не в первый раз (1, 2) описывал основные особенности Scala 3. Что особенно примечательно, синтаксические изменения, связанные с отступами, Мартин обозначил как наиболее сильно увеличившие персонально его продуктивность и отметил снижение числа строк кода в среднем на 10%.
Итогом доклада стал небольшой шедевр изобразительного искусства, вобравший в себя грядущие изменения:
Одним из докладчиков на конференции был Мартин Одерски, который уже не в первый раз (1, 2) описывал основные особенности Scala 3. Что особенно примечательно, синтаксические изменения, связанные с отступами, Мартин обозначил как наиболее сильно увеличившие персонально его продуктивность и отметил снижение числа строк кода в среднем на 10%.
Итогом доклада стал небольшой шедевр изобразительного искусства, вобравший в себя грядущие изменения:
YouTube
Scala 3 Is Coming: Martin Odersky Shares What To Know
Created in 2003, Scala has pioneered the fusion of object-oriented and functional programming in a typed setting. In its first redesign since 2010, Scala 3 will be a big step towards realizing the full potential of these ideas and will go into feature freeze…
Из-за многочисленных перестановок долго не знал, сложится или нет, но буквально несколько дней назад всё окончательно утвердилось. В эту субботу буду выступать на онлайн-митапе с обзорной презентацией про Scala, ФП и почему это важно.
Презентация рассчитана в основном на незнакомую с вышеозначенными понятиями публику и ставит своей целью обозначить основные направления для самостоятельного знакомства и заинтересовать попробовать новый язык программирования.
Мероприятие будет проходить на английском языке в эту субботу, в 13:30 по Московскому времени. Принять участие можно, зарегистрировавшись по ссылке. (Меня клятвенно заверили, что, несмотря на надпись на сайте, "вместимость" мероприятия - 100 человек)
Презентация рассчитана в основном на незнакомую с вышеозначенными понятиями публику и ставит своей целью обозначить основные направления для самостоятельного знакомства и заинтересовать попробовать новый язык программирования.
Мероприятие будет проходить на английском языке в эту субботу, в 13:30 по Московскому времени. Принять участие можно, зарегистрировавшись по ссылке. (Меня клятвенно заверили, что, несмотря на надпись на сайте, "вместимость" мероприятия - 100 человек)
connpass
WebHack#32 A Gentle Introduction to Scala and FP (2020/04/25 19:30〜)
# WebHack Follow us on @WebHackMeetup for more valuable contents & earlier updates 👨🎓 In light of the uncertainty we all face in our daily lives as the situation with COVID-19 unfolds, the safety of all WebHack friends and our community is the top priority.…
Что ж, митап подошёл к концу, большое спасибо всем, кто присутствовал, особенно за вопросы. Опыт выдался крайне положительным и я надеюсь, что в будущем представится возможность рассказать о чём-то более детально.
Запись доклада - здесь.
Презентация - здесь.
Запись доклада - здесь.
Презентация - здесь.
YouTube
WebHack#32 A Gentle Introduction to Scala and FP
Speaker slides: https://drive.google.com/file/d/1vDDWIufw18UPhtxI5r6vqfUkIGh8a92E/view?usp=sharing
HackMD (collaborative note): https://hackmd.io/R8i5WW2sSqiBO1N-3QvwLA
Nowadays, with so many programming languages in existence, it can be very difficult to…
HackMD (collaborative note): https://hackmd.io/R8i5WW2sSqiBO1N-3QvwLA
Nowadays, with so many programming languages in existence, it can be very difficult to…
С небольшим запозданием до меня добралась новость, что Scala обзавелась страницей для начинающих от SoftwareMill с кратким обзором IDE, курсов, книг и основных библиотек.
Коллеги, ещё только планирующие попробовать Scala, страницу оценили - удобно, когда вся необходимая информация собрана в одном месте.
Коллеги, ещё только планирующие попробовать Scala, страницу оценили - удобно, когда вся необходимая информация собрана в одном месте.
SoftwareMill
What is Scala? | SoftwareMill
Scala is a functional, strongly typed, general-purpose programming language. Dive into functional programming world with us & learn Scala!