На взгляд автора, сущность программирования заключается в решении проблем. Программист всегда думает о проблеме и возможных решениях - либо пишет код для выражения этих решений. Язык Haskell имеет множество впечатляющих возможностей, но главное его свойство в том, что меняется не только способ написания кода, но и сам способ размышления о проблемах и возможных решениях. Этим Haskell действительно отличается от большинства языков программирования. С его помощью мир можно представить и описать нестандартным образом. И поскольку Haskell предлагает совершенно новые способы размышления о проблемах, изучение этого языка может изменить и стиль программирования на всех прочих. Ещё одно необычное свойство Haskell состоит в том, что в этом языке придаётся особое значение рассуждениям о типах данных. Как следствие, вы помещаете больше внимания и меньше кода в ваши программы. Вне зависимости от того, в каком направлении вы намерены двигаться, путешествуя в мире программирования, небольшой заход в страну Haskell себя оправдает. А если вы решите там остаться, то наверняка найдёте чем заняться и чему поучиться! Эта книга поможет многим читателям найти свой путь к Haskell. Продираясь сквозь оригинальные (и порой безумные) примеры автора своим способом, вы научитесь: - Смеяться в лицо побочным эффектам, поскольку вы овладеете техниками чистого функционального программирования - Использовать волшебство "ленивости" Хаскеля для игры с бесконечными наборами данных - Организовывать свои программы, создавая собственные типы, классы типов и модули - Использовать элегантную систему ввода-вывода Хаскеля, чтобы делиться гениальностью ваших программ с окружающим миром Нет лучшего способа изучить этот мощный язык, чем чтение «Изучай Хаскель во имя добра!», кроме, разве что, поедания мозга его создателей.
Na vzglyad avtora, sushchnost programmirovaniya zaklyuchaetsya v reshenii problem. Programmist vsegda dumaet o probleme i vozmozhnykh resheniyakh - libo pishet kod dlya vyrazheniya etikh resheniy. YAzyk Haskell imeet mnozhestvo vpechatlyayushchikh vozmozhnostey, no glavnoe ego svoystvo v tom, chto menyaetsya ne tolko sposob napisaniya koda, no i sam sposob razmyshleniya o problemakh i vozmozhnykh resheniyakh. Etim Haskell deystvitelno otlichaetsya ot bolshinstva yazykov programmirovaniya. S ego pomoshchyu mir mozhno predstavit i opisat nestandartnym obrazom. I poskolku Haskell predlagaet sovershenno novye sposoby razmyshleniya o problemakh, izuchenie etogo yazyka mozhet izmenit i stil programmirovaniya na vsekh prochikh. Eshchye odno neobychnoe svoystvo Haskell sostoit v tom, chto v etom yazyke pridayetsya osoboe znachenie rassuzhdeniyam o tipakh dannykh. Kak sledstvie, vy pomeshchaete bolshe vnimaniya i menshe koda v vashi programmy. Vne zavisimosti ot togo, v kakom napravlenii vy namereny dvigatsya, puteshestvuya v mire programmirovaniya, nebolshoy zakhod v stranu Haskell sebya opravdaet. A esli vy reshite tam ostatsya, to navernyaka naydyete chem zanyatsya i chemu pouchitsya! Eta kniga pomozhet mnogim chitatelyam nayti svoy put k Haskell. Prodirayas skvoz originalnye (i poroy bezumnye) primery avtora svoim sposobom, vy nauchites: - Smeyatsya v litso pobochnym effektam, poskolku vy ovladeete tekhnikami chistogo funktsionalnogo programmirovaniya - Ispolzovat volshebstvo "lenivosti" KHaskelya dlya igry s beskonechnymi naborami dannykh - Organizovyvat svoi programmy, sozdavaya sobstvennye tipy, klassy tipov i moduli - Ispolzovat elegantnuyu sistemu vvoda-vyvoda KHaskelya, chtoby delitsya genialnostyu vashikh programm s okruzhayushchim mirom Net luchshego sposoba izuchit etot moshchnyy yazyk, chem chtenie Izuchay KHaskel vo imya dobra!, krome, razve chto, poedaniya mozga ego sozdateley.
In the author's opinion, the essence of programming is to solve problems. The programmer is always thinking about the problem and possible solutions or writing code to Express these solutions.
The Haskell language has a lot of impressive features, but its main feature is that not only changes the way of writing code, but also the way of thinking about problems and possible solutions. This Haskell is really different from most programming languages. With its help, the world can be represented and described in an unusual way. And because Haskell offers completely new ways of thinking about problems, learning this language can change the style of programming on all the others.
Another unusual feature of Haskell is that the language is of special importance to reasoning about data types. As a result, you put more attention and less code in your program.
Regardless of what direction you intend to move, traveling in the world of programming, a small approach to the country of Haskell is justified. L if you decide to stay there, you'll probably find something to do and something to learn!
This book will help many readers to find their way to Haskell.