Pull to refresh
0
0
Send message

Функциональное программирование для всех

Reading time33 min
Views353K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →

Как воровать бензин с помощью Ассемблера (основано на реальных событиях)

Reading time5 min
Views76K


Приветствую тебя, хабрачитатель!

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

Читать дальше →

Linux и бесплатные облачные хранилища

Reading time8 min
Views96K
В попытках подмонтировать MS Onedrive в линуксе возникла мысль — а какие вообще бывают облака, которые нормально монтируются в папку и при этом предлагают максимальный объем? Ниже — небольшой список сервисов и впечатления от попыток примонтировать их.
Сразу скажу — это все делалось только для удовлетворения любопытства, а не для последующего использования — потому не могу сказать, как себя поведут предложенные решения в долговременном плане. Но, возможно, кому-то будет полезно.
Облака выбирались по двум параметрам — максимальный бесплатный объем (желательно получаемый без нескольких десятков регистраций по вашей реферральной ссылке) и возможность монтирования в папку под линуксом.

Процесс тестирования состоял из
1) Регистрация или вспоминание пароля (если я уже был зарегистрирован на этом сервисе)
2) Попытка добавить свободное место по реферральной ссылке — чтобы проверить, как выглядит процесс и насколько просто самостоятельно «накрутить» себе место.
3) Попытка подключить облако в папку под линуксом (там, где работает WebDAV — использовал davfs2, где не работает — другие доступные варианты).
4) Если попытка удачная, то несколько попыток загрузить разные файлы — какая-нибудь мелочь в пределах мегабайта, 50-70 мегабайт и 1,6 гигабайта.
Эксперименты производились на hetzner'овском VPS с одним ядром и гигабайтом оперативки (debian stable).

Я не смотрел на: цены, удобство клиентов, возможности коллективной работы, встроенные редакторы и т.п. Это всё для полноценного сравнения сервисов, которым я заниматься не хочу. Кому лень читать буквы, в конце табличка.
Читать дальше →

Письмо Дейкстры: почему обучение программированию нужно начинать с функционального языка

Reading time4 min
Views102K


Недавний перевод статьи «Пора заменить Python как язык для обучения» спровоцировал большую дискуссию. Очевидно, что программисты считают эту тему очень важной. К сожалению, большинство споров были об императивных языках, и мало кто предлагал функциональные языки в качестве инструмента обучения программированию.

Мы в Хекслете недавно запустили новую версию, ключевой особенностью которой стали практические упражнения по программированию в браузере. В связи с этим мы стали получать еще больше писем от начинающих программистов с вопросами вроде «с чего начать». С одной стороны, они хотят выложить бета-версию приложения в app store через неделю. С другой стороны, мы понимаем, что за такой короткий срок, наверное, можно научиться кодить приложения, но нельзя научиться программировать. И сложно решить, что лучше: как можно быстрее научить созданию простых приложений без реального понимания программирования, алгоритмов и их вычислительной сложности, а потом начать знакомство с этими важными темами, или начать «с начала», и органично придти к созданию приложений и продуктов после освоения фундамента.

В 2001 году, Эдсгер Дейкстра написал письмо экономическому совету университета Техаса. В нем знаменитый ученый призывает членов совета задуматься о смене языка программирования для вводного курса. К сожалению, язык был заменен на Java. Примерно в то же время MIT сменили язык курса «Структура и интерпретация компьютерных программ» с функционального Scheme (диалекта LISP) на Python.

Сегодня мы публикуем перевод этого письма.

Членам Экономического Совета


Я пишу вам по поводу слуха о замене языка во вводном курсе по программированию с функционального языка Haskell на императивный язык Java. Я считаю, что Совет должен взять на себя ответственность, чтобы решение не было принято на неправильном уровне.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity