Рубрика «F#» - 3

Примечание переводчика: в текущий момент я подготавливаю материалы для обещанной статьи по монадам. К сожалению, это занимает довольно много времени, не говоря о том, что я всё же должен заниматься основной работой и уделять время семье, но процесс идёт. А пока представляю вам перевод небольшой свежей заметки от замечательного товарища Mark Seemann'а, которая мне показалась любопытной.

Я часто становлюсь участником длительных и жарких дебатов на тему статической типизации против динамической. Сам я определенно отношу себя к сторонникам статической типизации, но эта статья не о достоинствах статической типизации. Цель статьи — устранить распространённое заблуждение насчет статически типизированных языков.

Церемонность

Люди, которые предпочитают динамически типизированные языки статически типизированным, часто подчеркивают тот факт, что отсутствие церемонности делает их продуктивнее. Это звучит логично, однако, это ложная дихотомия.

Церемонность — это то, что вы делаете до того, как начнете делать то, что вы действительно собирались сделать.

Venkat Subramaniam

Динамически типизированные языки производят такое впечатление, что им не требуются особые церемонии, но отсюда нельзя сделать вывод что статически типизированные языки их требуют. К сожалению, все мейнстримные статически типизированные языки относятся к одной и той же семье, и они требуют церемонности. Я думаю, что люди экстраполируют то, что они о них знают, ложно заключая что все статически типизированные языки обязательно идут в комплекте с оверхедом церемонности.

Это привело меня к мысли о том, что существует злосчастная Зона Церемонности:

Статическая типизация не обязательно требует церемоний - 1

Конечно же, эта диаграмма всего лишь упрощение, но я надеюсь, что она демонстрирует суть. C++, Java и C♯ — языки, которые требуют церемонности. Справа от них находятся языки, которые мы могли бы назвать транс-церемониальными, включая F♯ и Haskell.

Читать полностью »

Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты - 1

Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты
Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энетрпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать полностью »

Когда вы думаете о блокнотах Jupyter, на ум, вероятно, приходит код Python, R, Julia или Scala, а не .NET. Сегодня мы рады сообщить, что вы можете писать .NET-код в Jupyter Notebooks.

Try .NET развился, чтобы поддерживать больше интерактивных возможностей в Интернете с помощью сниппетов исполняемого кода, генератора интерактивной документации для .NET Core с глобальным инструментом dotnet try. Ну а теперь .NET доступен в Jupyter Notebooks.

.NET Core с блокнотами Jupyter — Preview 1 - 1Читать полностью »

Томными зимними вечерами, когда солнце лениво пробегало сквозь пелену дней — я нашел в себе силы заняться реализацией давней мечты: разобраться как же устроены процессоры. Эта мечта привела меня к написанию формально спецификации RISC-V процессора. Проект на Github

imageЧитать полностью »

в 22:09, , рубрики: .net, F#

Итак, мы продолжаем наше путешествие к большему количеству типов F#. На этот раз мы рассмотрим типы Записей.
Читать полностью »

в 21:50, , рубрики: .net, F#

Итак, наше путешествие в F # продолжается. Следующая статья будет посвящена типам F #, которые могут иметь или не иметь стандартные эквиваленты .NET. Этот пост о кортежах.
Читать полностью »

в 10:31, , рубрики: .net, F#

Я намеревался написать 1/2 достойного поста в блоге об операторах F #, но потом я подумал, и, честно говоря, я не мог видеть слишком много достоинств в простом повторении того, что уже свободно доступно на MSDN, где перечисляются ВСЕ операторы F#.
Читать полностью »

в 1:07, , рубрики: .net, F#

В этом посте мы рассмотрим привязки в F#, в частности мы рассмотрим Let / Use / Do. Теперь вы, возможно, спрашиваете себя, что такое привязки, и, поскольку мы еще не рассмотрели их, сейчас самое время поговорить об этом.

Проще говоря, привязка связывает идентификатор со значением или функцией.
Читать полностью »

«Освоить F# не сложнее, чем Entity Framework или WPF»: интервью со Скоттом Влашиным - 1

Кого расспрашивать про F#, как не человека, посвятившего этому языку подробный сайт? Скотт Влашин создал ресурс «F# for Fun and Profit», знакомый многим хабравчанам: на Хабре переводили оттуда и серию статей «Функциональное мышление», и статью «Железнодорожно-ориентированное программирование».

А в ноябре он выступит в Москве на нашей конференции DotNext с докладом «The power of composition». И в преддверии этого выступления мы расспросили его про F# и вообще функциональное программирование.
Читать полностью »

Как разработчик, я никогда не знаю себе цену, потому что её нет. Но вся система построена так, как будто она есть - 1

Каждый раз перед собесом я говорю себе: "Спокойно, не нужно ничего выдумывать, доучивать и врать, твоих знаний и опыта достаточно для того, что бы работать у них. Ты усилишь любую команду, тебе есть что предложить, а пробелы в твоих знаниях — приемлемы. Если бы они знали о твоих навыках всё, что знаешь ты, они бы точно тебя взяли". Но когда начинается собеседование, я всегда перестаю в это верить. Все два часа интервью я хожу как по минному полю, что бы не дай бог не спалиться, что я чего-то не знаю.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js