Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (2 votes)
30 views

Functional Programming in JavaScript How to improve your JavaScript programs using functional techniques First Edition Luis Atencio - The full ebook with complete content is ready for download

The document promotes a collection of eBooks on functional programming and JavaScript, including titles by authors such as Luis Atencio and Anto Aravinth. It provides links to download these eBooks in various formats and emphasizes the benefits of functional programming techniques for improving JavaScript code. Additionally, the document includes information about the publisher, Manning Publications, and the structure of the book 'Functional Programming in JavaScript' by Luis Atencio.

Uploaded by

vizionchinaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
30 views

Functional Programming in JavaScript How to improve your JavaScript programs using functional techniques First Edition Luis Atencio - The full ebook with complete content is ready for download

The document promotes a collection of eBooks on functional programming and JavaScript, including titles by authors such as Luis Atencio and Anto Aravinth. It provides links to download these eBooks in various formats and emphasizes the benefits of functional programming techniques for improving JavaScript code. Additionally, the document includes information about the publisher, Manning Publications, and the structure of the book 'Functional Programming in JavaScript' by Luis Atencio.

Uploaded by

vizionchinaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Explore the full ebook collection and download it now at textbookfull.

com

Functional Programming in JavaScript How to


improve your JavaScript programs using functional
techniques First Edition Luis Atencio

https://textbookfull.com/product/functional-programming-in-
javascript-how-to-improve-your-javascript-programs-using-
functional-techniques-first-edition-luis-atencio/

OR CLICK HERE

DOWLOAD EBOOK

Browse and Get More Ebook Downloads Instantly at https://textbookfull.com


Click here to visit textbookfull.com and download textbook now
Your digital treasures (PDF, ePub, MOBI) await
Download instantly and pick your perfect format...

Read anywhere, anytime, on any device!

Functional Programming in JavaScript How to improve your


JavaScript programs using functional techniques 1 edition
Edition Luis Atencio
https://textbookfull.com/product/functional-programming-in-javascript-
how-to-improve-your-javascript-programs-using-functional-
techniques-1-edition-edition-luis-atencio/
textbookfull.com

Beginning Functional JavaScript. Functional Programming


with JavaScript using EcmaScript 6 1st Edition Anto
Aravinth
https://textbookfull.com/product/beginning-functional-javascript-
functional-programming-with-javascript-using-ecmascript-6-1st-edition-
anto-aravinth/
textbookfull.com

Beginning Functional JavaScript: Functional Programming


with JavaScript Using EcmaScript 6 1st Edition Anto
Aravinth
https://textbookfull.com/product/beginning-functional-javascript-
functional-programming-with-javascript-using-ecmascript-6-1st-edition-
anto-aravinth-2/
textbookfull.com

The Joy of JavaScript 1st Edition Luis Atencio

https://textbookfull.com/product/the-joy-of-javascript-1st-edition-
luis-atencio/

textbookfull.com
Beginning Functional JavaScript: Uncover the Concepts of
Functional Programming with EcmaScript 8 2nd Edition
Srikanth Machiraju
https://textbookfull.com/product/beginning-functional-javascript-
uncover-the-concepts-of-functional-programming-with-ecmascript-8-2nd-
edition-srikanth-machiraju/
textbookfull.com

JavaScript Learn JavaScript in 24 Hours or Less A Beginner


s Guide To Learning JavaScript Programming Now JavaScript
JavaScript Programming 1st Edition Robert Dwight.
https://textbookfull.com/product/javascript-learn-javascript-
in-24-hours-or-less-a-beginner-s-guide-to-learning-javascript-
programming-now-javascript-javascript-programming-1st-edition-robert-
dwight/
textbookfull.com

The Joy of JavaScript 1st Edition Atencio

https://textbookfull.com/product/the-joy-of-javascript-1st-edition-
atencio/

textbookfull.com

Head First JavaScript Programming, 2nd Edition: A


Learner’s Guide to Modern JavaScript Eric Freeman

https://textbookfull.com/product/head-first-javascript-
programming-2nd-edition-a-learners-guide-to-modern-javascript-eric-
freeman/
textbookfull.com

Head First JavaScript Programming, 2nd Edition: A


Learner’s Guide to Modern JavaScript Eric Freeman

https://textbookfull.com/product/head-first-javascript-
programming-2nd-edition-a-learners-guide-to-modern-javascript-eric-
freeman-2/
textbookfull.com
Functional Programming in JavaScript
Functional
Programming
in JavaScript
LUIS ATENCIO

MANNING
SHELTER ISLAND
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in quantity.
For more information, please contact
Special Sales Department
Manning Publications Co.
20 Baldwin Road
PO Box 761
Shelter Island, NY 11964
Email: orders@manning.com

©2016 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in


any form or by means electronic, mechanical, photocopying, or otherwise, without prior written
permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial caps
or all caps.

Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books we publish printed on acid-free paper, and we exert our best efforts to that end.
Recognizing also our responsibility to conserve the resources of our planet, Manning books
are printed on paper that is at least 15 percent recycled and processed without the use of
elemental chlorine.

Manning Publications Co. Development editor: Marina Michaels


20 Baldwin Road Technical development editor: Dean Iverson
PO Box 761 Review editor: Aleksandar Dragosavljevic
Shelter Island, NY 11964 Project editor: Tiffany Taylor
Copy editor: Tiffany Taylor
Proofreader: Katie Tennant
Technical proofreader: Daniel Lamb
Typesetter: Dennis Dalinnik
Cover designer: Leslie Haimes

ISBN: 9781617292828
Printed in the United States of America
1 2 3 4 5 6 7 8 9 10 – EBM – 21 20 19 18 17 16
To my wonderful wife, Ana.
Thank you for your unconditional support
and for being the source of passion and inspiration in my life.
brief contents
PART 1 THINK FUNCTIONALLY ..................................................1
1 ■ Becoming functional 3
2 ■ Higher-order JavaScript 23

PART 2 GET FUNCTIONAL........................................................55


3 ■ Few data structures, many operations 57
4 ■ Toward modular, reusable code 84
5 ■ Design patterns against complexity 117

PART 3 ENHANCING YOUR FUNCTIONAL SKILLS ......................151


6 ■ Bulletproofing your code 153
7 ■ Functional optimizations 180
8 ■ Managing asynchronous events and data 205

vii
contents
preface xv
acknowledgments xvii
about this book xix

PART 1 THINK FUNCTIONALLY .......................................1

1 Becoming functional
1.1
3
Can functional programming help? 5
1.2 What is functional programming? 5
Functional programming is declarative 7 Pure functions and

the problem with side effects 9 Referential transparency and


substitutability 13 Preserving immutable data 15


1.3 Benefits of functional programming 16


Encouraging the decomposition of complex tasks 16
Processing data using fluent chains 18 Reacting to the

complexity of asynchronous applications 19


1.4 Summary 22

ix
x CONTENTS

2 Higher-order JavaScript 23
2.1 Why JavaScript? 24
2.2 Functional vs. object-oriented programming 24
Managing the state of JavaScript objects 31 Treating objects ■

as values 32 Deep-freezing moving parts 34 Navigating


■ ■

and modifying object graphs with lenses 37


2.3 Functions 38
Functions as first-class citizens 39 Higher-order functions
■ 40
Types of function invocation 43 Function methods 44

2.4 Closures and scopes 45


Problems with the global scope 47 JavaScript’s function

scope 48 A pseudo-block scope 49 Practical applications


■ ■

of closures 50
2.5 Summary 53

PART 2 GET FUNCTIONAL ............................................55

3 Few data structures, many operations 57


3.1 Understanding your application’s control flow 58
3.2 Method chaining 59
3.3 Function chaining 60
Understanding lambda expressions 61 Transforming data ■

with _.map 62 Gathering results with _.reduce 65


Removing unwanted elements with _.filter 68


3.4 Reasoning about your code 70
Declarative and lazy function chains 71 ■
SQL-like data:
functions as data 75
3.5 Learning to think recursively 77
What is recursion? 77 Learning to think recursively

77
Recursively defined data structures 79
3.6 Summary 83

4 Toward modular, reusable code 84


4.1 Method chains vs. function pipelines 85
Chaining methods together 86 ■
Arranging functions
in a pipeline 87
CONTENTS xi

4.2 Requirements for compatible functions 88


Type-compatible functions 88 ■ Functions and arity:
the case for tuples 89
4.3 Curried function evaluation 92
Emulating function factories 95 ■
Implementing reusable
function templates 97
4.4 Partial application and parameter binding 98
Extending the core language 100 ■
Binding into
delayed functions 101
4.5 Composing function pipelines 102
Understanding composition with HTML widgets 102
Functional composition: separating description from
evaluation 104 Composition with functional libraries 107

Coping with pure and impure code 109 Introducing point-free


programming 111
4.6 Managing control flow with functional combinators 112
Identity (I-combinator) 112 Tap (K-combinator) 113

Alternation (OR-combinator) 113 Sequence (S-combinator) 114


Fork (join) combinator 115


4.7 Summary 116

5 Design patterns against complexity 117


5.1 Shortfalls of imperative error handling 118
Error handling with try-catch 118 Reasons not to throw

exceptions in functional programs 119 Problems with ■

null-checking 121
5.2 Building a better solution: functors 121
Wrapping unsafe values 122 ■ Functors explained 124
5.3 Functional error handling using monads 127
Monads: from control flow to data flow 128 Error handling with

Maybe and Either monads 132 Interacting with external


resources using the IO monad 141


5.4 Monadic chains and compositions 144
5.5 Summary 150
xii CONTENTS

PART 3 ENHANCING YOUR FUNCTIONAL SKILLS ..........151

6 Bulletproofing your code 153


6.1 Functional programming’s influence on unit tests 154
6.2 Challenges of testing imperative programs 155
Difficulty identifying and decomposing tasks 155
Dependency on shared resources leads to inconsistent results 157
Predefined order of execution 158
6.3 Testing functional code 159
Treating a function as a black box 159 Focusing on business

logic instead of control flow 160 Separating the pure from


the impure with monadic isolation 161 Mocking external


dependencies 164
6.4 Capturing specifications with property-based testing 166
6.5 Measuring effectiveness through code coverage 172
Measuring the effectiveness of testing functional code 173
Measuring the complexity of functional code 177
6.6 Summary 179

7 Functional optimizations 180


7.1 Under the hood of function execution 181
Currying and the function context stack 183 ■
Challenges of
recursive code 186
7.2 Deferring execution using lazy evaluation 188
Avoiding computations with the alternation functional
combinator 189 Taking advantage of shortcut fusion
■ 190
7.3 Implementing a call-when-needed strategy 191
Understanding memoization 192 Memoizing computationally

intensive functions 192 Taking advantage of currying and


memoization 196 Decomposing to maximize memoization 196


Applying memoization to recursive calls 197


7.4 Recursion and tail-call optimization (TCO) 199
Converting non-tail calls to tail calls 201
7.5 Summary 203
CONTENTS xiii

8 Managing asynchronous events and data 205


8.1 Challenges of asynchronous code 206
Creating temporal dependencies among functions 207
Falling into a callback pyramid 208 Using continuation-

passing style 210


8.2 First-class asynchronous behavior with promises 214
Future method chains 216 Composing synchronous and

asynchronous behavior 221


8.3 Lazy data generation 224
Generators and recursion 226 ■ The Iterator protocol 228
8.4 Functional and reactive programming with RxJS 229
Data as observable sequences 229 Functional and reactive

programming 230 RxJS and promises 233


8.5 Summary 234

appendix JavaScript libraries used in this book 235


index 239
preface
When I was in college and graduate school, my class schedule was focused on object-
oriented design as the sole methodology for planning and architecting software sys-
tems. And, like many developers, I began my career writing object-oriented code and
building entire systems based on this paradigm.
Throughout my development career, I’ve learned and followed programming lan-
guages closely, not only because I want to learn something cool, but also because I’m
intrigued by the design decisions and philosophy that each language fosters. Just as a
new language provides a different perspective on how to approach software problems,
a new paradigm can achieve the same effect. Although the object-oriented approach
continues to be the modus operandi of software design, learning about functional
programming will open your eyes to new techniques that you can use on their own or
in parallel with any other design paradigm that fits your application.
Functional programming has been around for years, but to me it was only a minor
distraction. I had heard and read about the benefits of Haskell, Lisp, Scheme, and,
more recently, Scala, Clojure, and F# in terms of expressiveness and being highly pro-
ductive platforms; even Java, which has traditionally been known as a verbose language,
has functional artifacts that make code more succinct. Eventually, the minor distrac-
tion became impossible to avoid. And guess what? JavaScript, that object-oriented
language everyone uses, can be turned around 180 degrees and used functionally. It
turns out that this is the most powerful and effective way to use JavaScript. It took me
a long time to discover this, and in this book I want to make you aware of it so you
don’t have go on wondering why your JavaScript code is becoming so complex.

xv
xvi PREFACE

Throughout my journey as a developer, I’ve learned how to use functional pro-


gramming principles to create code that is modular, expressive, robust, easy to reason
about, and simple to test. Without a doubt, this has changed me as a software engi-
neer, so I wanted to capture and jot down my experiences somehow—perhaps in a
book. Naturally, I approached Manning, with the idea of writing a functional pro-
gramming book using the Dart programming language. I was playing around with
Dart at the time and thought that combining it with my functional background would
be a fun, unexplored, uncharted territory. I wrote a proposal, and a week later I had
an interview. During the interview, I learned that Manning was seeking a person to
write a book about functional programming in JavaScript. Because JavaScript is a lan-
guage I’m very much obsessed with, to say the least, I was thrilled to jump into this
opportunity. By writing this book, I hope to help you develop the same skills and take
your development in a new direction.
acknowledgments
Writing a book is not a trivial undertaking, and the tireless collaboration of many peo-
ple with a variety of talents brought to life the manuscript you’re holding (or reading
onscreen).
The staff at Manning were incredible and instrumental in obtaining the level of
quality we all hoped for, and I thank all of them from the bottom of my heart. Without
them, this book would not have been possible. Special thanks to Marjan Bace and
Mike Stephens for believing in the idea of this book and in me as an author; to Marina
Michaels, for giving me a map and a flashlight to navigate this maze of book-writing
challenges; to Susan Conant, for bringing me up to speed and teaching me my first
lessons about what it means to write a technical book; to Bert Bates, for giving me my
initial sparks of creativity and for his amazing insights on how to teach programming;
and to everyone on the editorial and production teams, including Mary Piergies, Janet
Vail, Kevin Sullivan, Tiffany Taylor, Katie Tennant, Dennis Dalinnik, and many others
who worked behind the scenes.
I can’t thank enough the amazing group of technical peer reviewers led by
Aleksandar Dragosavljevic—Amy Teng, Andrew Meredith, Becky Huett, Daniel Lamb,
David Barkol, Ed Griebel, Efran Cobisi, Ezra Simeloff, John Shea, Ken Fukuyama,
Peter Edwards, Subhasis Ghosh, Tanner Slayton, Thorsten Szutzkus, Wilfredo Manrique,
William E. Wheeler, and Yiling Lu—and the talented forum contributors. Their con-
tributions included catching technical mistakes, errors in terminology, and typos, and
making topic suggestions. Each pass through the review process and each piece of
feedback implemented through the forum topics shaped and molded the manuscript.

xvii
xviii ACKNOWLEDGMENTS

On the technical side, special thanks to Dean Iverson, who served as the book’s
technical editor; Daniel Lamb, who served as the book’s technical proofreader; and
Brian Hanafee, for his thorough and in-depth evaluation of the entire book. They are
the best technical editors I could have hoped for.
Last but not least, I thank my wife for always supporting me, and my family for
pushing me to become better every day and not asking why I didn’t call as often to
check in while I was writing this book. Also, thanks go to my colleagues at work for
purchasing early releases of the chapters. I am grateful to have the pleasure of work-
ing alongside such wonderful people.
about this book
Complexity is a huge beast to tame, and we’ll never get rid of it entirely; it will always
be an aspect of software development. I’ve spent countless hours and immeasurable
brainpower trying to understand what a particular piece of code does. The secret is to
control the complexity so it doesn’t grow in proportion to the size of your code base—
and functional programming can help. We’re writing more JavaScript than ever before.
We’ve gone from building small client-side event-handling routines, to heavy client-
side architectures, to complete isomorphic (server + client) JavaScript applications.
Functional programming isn’t a tool—it’s a way of thinking that can apply equally to
any of these environments.
This book is designed to teach you how to apply functional programming tech-
niques to your code using ECMAScript 6 JavaScript. The material is presented at a
gradual, steady pace and covers both theoretical and practical aspects of functional
programming. I provide additional information for advanced readers, to help you get
deeper into some of the harder concepts.

Roadmap
This book has eight chapters and is divided into three parts that guide you from fun-
damental building blocks to more-advanced and practical applications of functional
programming.

xix
xx ABOUT THIS BOOK

Part 1, “Think functionally,” paints a high-level landscape of functional JavaScript.


It also discusses core aspects of using JavaScript functionally and thinking like a func-
tional programmer:
■ Chapter 1 introduces some of the core functional concepts that are explained
in later chapters and prepares you to make the functional leap. It introduces
the main pillars of functional programming, including pure functions, side
effects, and declarative programming.
■ Chapter 2 establishes a level playing field for beginning and intermediate
JavaScript developers and acts as a refresher for more-advanced readers. In
addition, it’s sprinkled with basic functional programming concepts to prepare
you for the techniques discussed in part 2.
Part 2, “Get functional,” focuses on core functional programming techniques, includ-
ing function chains, currying, composition, monads, and more:
■ Chapter 3 introduces function chains and explores writing programs as combi-
nations of recursion and high-order functions like map, filter, and reduce. It
teaches these concepts using the Lodash.js framework.
■ Chapter 4 covers the popular techniques of currying and composition, which
increase the modularity of your code. Using a functional framework such as
Ramda.js, composition is the glue that orchestrates your entire JavaScript solution.
■ Chapter 5 provides a deep dive into more-theoretical areas of functional pro-
gramming, with a comprehensive and gradual discussion of functors and monads
in the context of error handling.

Part 3, “Enhancing your functional skills,” discusses the practical benefits of using
functional programming to tackle real-world challenges:
■ Chapter 6 reveals the inherent ease with which functional programs can be unit
tested. In addition, it introduces a rigorous, automated testing mode called
property-based testing.
■ Chapter 7 takes a look at JavaScript’s memory model, which is used to support
the evaluation of functions. This chapter also discusses techniques that help
optimize the execution time of functional JavaScript applications.
■ Chapter 8 introduces some of the main challenges JavaScript developers face
on a day-to-day basis when dealing with event-driven and asynchronous behav-
ior. It discusses how functional programming can provide elegant solutions to
reduce the complexity of existing imperative solutions with a related paradigm
known as reactive programming, implemented using RxJS.

Who should read this book


Functional Programming in JavaScript is written for JavaScript developers with at least a
basic understanding of object-oriented software and a general awareness of the chal-
lenges of modern web applications. Because JavaScript is such a ubiquitous language,
ABOUT THIS BOOK xxi

if you want an introduction to functional programming and prefer a familiar syntax,


you can take full advantage of this book instead of learning Haskell. (If you want to
ease your way into Haskell, this book isn’t the best resource, because each language
has its own idiosyncrasies that are best understood by learning it directly.)
The book will help beginning and intermediate programmers heighten their
JavaScript skills with higher-order functions, closures, function currying, composition,
as well as new JavaScript ES6 features like lambda expressions, iterators, generators,
and promises. Advanced developers will enjoy the comprehensive coverage of monads
and reactive programming as well, which can help you implement innovative ways of
tackling the arduous task of dealing with event-driven and asynchronous code, taking
full advantage of the JavaScript platform.

How to use this book


If you’re a beginner or intermediate JavaScript developer and functional program-
ming is new to you, begin with chapter 1. If you’re a strong JavaScript programmer,
you can skim through chapter 2 and move quickly into chapter 3, which begins with
function chains and overall functional design.
More-advanced users of functional JavaScript typically understand pure functions,
currying, and composition, so you may skim chapter 4 and move into functors and
monads in chapter 5.

Examples and source code


The code examples in this book use ECMAScript 6 JavaScript, which can run equally
well on either the server (Node.js) or the client. Some examples show I/O and
browser DOM APIs, but without regard for browser incompatibilities. I assume you
have experience interacting at a basic level with HTML pages and the console. No spe-
cific browser-based JavaScript is used.
The book makes heavy use of functional JavaScript libraries like Lodash.js, Ramda.js,
and others. You can find documentation and installation information in the appendix.
This book contains extensive code listings that showcase functional techniques
and, where appropriate, compare imperative versus functional designs. You can find
all the code samples at the publisher’s website, https://www.manning.com/books/
functional-programming-in-javascript, and on GitHub at https://github.com/luijar/
functional-programming-js.

Typographical conventions
The following conventions are used throughout the book:
■ Italic typeface is used to reference important terms.
■ Courier typeface is used to denote code listings, as well as elements and attri-
butes, methods names, classes, functions, and other programming artifacts.
■ Code annotations accompany some of the source code listings, highlighting
important concepts.
xxii ABOUT THIS BOOK

About the author


Luis Atencio (@luijar) is a staff software engineer for Citrix Systems in Ft. Lauderdale,
Florida. He has a B.S. and an M.S. in Computer Science and now works full-time
developing and architecting applications using JavaScript, Java, and PHP platforms.
Luis is very involved in the community and has presented frequently at local meetups
and conferences. He blogs about software engineering at luisatencio.net, writes arti-
cles for magazines and DZone, and is also the coauthor of RxJS in Action (forthcoming
from Manning in 2017).

Author Online
Purchase of Functional Programming in JavaScript includes free access to a private web
forum run by Manning Publications where you can make comments about the book,
ask technical questions, and receive help from the author and from other users. To
access the forum and subscribe to it, point your web browser to https://www.manning
.com/books/functional-programming-in-javascript. This page provides information
on how to get on the forum once you are registered, what kind of help is available,
and the rules of conduct on the forum.
Manning’s commitment to our readers is to provide a venue where a meaningful
dialog between individual readers and between readers and the author can take place.
It is not a commitment to any specific amount of participation on the part of the
author, whose contribution to Author Online remains voluntary (and unpaid). We
suggest you try asking the author some challenging questions lest his interest stray!
The Author Online forum and the archives of previous discussions will be accessible
from the publisher’s website as long as the book is in print.
Part 1

Think functionally

I t’s highly probable that most of your experience building professional appli-
cations has been with an object-oriented language. You may have heard or read
about functional programming in other books, blogs, forums, and magazine
articles, but you’ve probably never written any functional code. Don’t worry; this
is to be expected. I’ve done most of my development in an object-oriented envi-
ronment as well. Writing functional code isn’t difficult, but learning to think
functionally and letting go of old habits is. The primary goal of part 1 of this
book is to lay the foundation for and prepare your mind to embrace the func-
tional techniques discussed in parts 2 and 3.
Chapter 1 discusses what functional programming is and the mindset you
need to embrace it; it also introduces some of the most important techniques
based on pure functions, immutability, side effects, and referential transparency.
These form the backbone of all functional code and will help you transition into
functional more easily. Also, these will be the guiding principles that set the stage
for many of the design decisions we make in the following chapters.
Chapter 2 provides a first view of JavaScript as a functional language. Because
it’s so ubiquitous and mainstream, it’s an ideal language with which to teach func-
tional programming. If you aren’t a strong JavaScript developer, this chapter will
bring you up to speed with everything you need to know to understand functional
JavaScript, such as higher-order functions, closures, and scoping rules.
Becoming functional

This chapter covers


■ Thinking in functional terms
■ Learning the what and why of functional
programming
■ Understanding the principles of immutability
and pure functions
■ Functional programming techniques and their
impact on overall design

OO makes code understandable by encapsulating moving parts.


FP makes code understandable by minimizing moving parts.

—Michael Feathers (Twitter)

If you’re reading this book, chances are you’re a JavaScript developer with a work-
ing knowledge of object-oriented or structured design, and you’re curious about
functional programming. Perhaps you’ve tried to learn it before and haven’t been
able to apply it successfully at work or on your personal projects. In either case,
your main goal is to advance your development skills and improve the quality of
your code. This book can help you accomplish that.

3
4 CHAPTER 1 Becoming functional

The rapid pace of web platforms, the evolution of browsers, and—most impor-
tant—the demands of end users have all had a profound effect on the way we design
web applications today. Users demand that web applications feel more like a native
desktop or a mobile app with rich and responsive widgets. Naturally, these demands
force JavaScript developers to think more broadly about the solution space and to
adopt adequate programming paradigms and best practices that provide the best pos-
sible solutions.
As developers, we gravitate toward frameworks that help us create extensible and
clean application architectures. Yet the complexity of our codebase still gets out of
control, and we’re challenged to reexamine the basic design principles of our code.
Also, the web of today is radically different than it was years ago for JavaScript develop-
ers, because we can do many things now that weren’t technically feasible before. We
can choose to write large server-side applications with Node.js or push the bulk of the
business logic onto the client, leaving a thin server behind. In either case, we need to
interact with storage technology, spawn asynchronous processes, handle events, and
much more.
Object-oriented design helps solve part of the problem; but because JavaScript is
such a dynamic language with lots of shared state, it isn’t long before we accumulate
enough complexity to make our code unwieldy and hard to maintain. Object-oriented
design certainly moves the needle in the right direction, but we need more. Perhaps
you’ve heard the term reactive programming in recent years. This programming para-
digm facilitates working with data flows and propagation of change. In JavaScript, this
is extremely important when dealing with asynchronous or event-based code. Overall,
what we need is a programming paradigm that encourages us to think carefully about
our data and the functions that interact with it. When thinking about an application’s
design, ask yourself the following questions in terms of these design principles:
■ Extensibility—Do I constantly refactor my code to support additional functionality?
■ Easy to modularize—If I change one file, is another file affected?
■ Reusability—Is there a lot of duplication?
■ Testability—Do I struggle to unit test my functions?
■ Easy to reason about—Is my code unstructured and hard to follow?
If you answer “Yes” or “I don’t know” to any of these questions, then you’ve picked up
the right book as a guide on the path to productivity. Functional programming (FP) is
the programming paradigm you need. Although it’s based on simple concepts, FP
requires a shift in the way you think about problems. FP isn’t a new tool or an API, but
a different approach to problem solving that will become intuitive once you under-
stand the basic principles.
In this chapter, I define what functional programming is and tell you how and why
it’s useful and important. I introduce the core principles of immutability and pure func-
tions and talk about FP techniques and how those techniques affect your approach to
designing programs. These techniques allow you to easily pick up reactive programming
What is functional programming? 5

and use it to solve complex JavaScript tasks. But before we can get into all this, you
need to learn why thinking functionally is important and how it can help you tackle
the complexities of JavaScript programs.

1.1 Can functional programming help?


Learning functional programming has never been as important as it is today. The
development community and major software companies are starting to realize the
benefits of using FP techniques to power their business applications. Nowadays, most
major programming languages (Scala, Java 8, F#, Python, JavaScript, and many more)
provide either native or API-based functional support. Hence, FP skills are in high
demand now and will continue to be in the years to come.
In the context of JavaScript, an FP mindset can be used to shape the incredibly
expressive nature of the language and help you write code that is clean, modular, test-
able, and succinct so that you can be more productive at work. For many years, we’ve
neglected the fact that JavaScript can be written more effectively in a functional style.
This neglect is partly due to an overall misunderstanding of the JavaScript language,
and also due to JavaScript’s lack of native constructs to properly manage state; it’s a
dynamic platform that places the burden of managing this state on us (the ones
responsible for introducing bugs into our applications). This may work well for small
scripts, but it becomes harder to control as your code base grows. In a way, I think FP
protects you from JavaScript itself. I discuss this further in chapter 2.
Writing functional JavaScript code addresses most of these concerns. Using a set of
proven techniques and practices based on pure functions, you can write code that is
easy to reason about in the face of increasing complexity. Writing JavaScript function-
ally is a two-for-one deal, because you not only improve the quality of your entire
application, but also gain more proficiency in and a better understanding of the
JavaScript language.
Because functional programming isn’t a framework or a tool, but a way of writing
code, thinking functionally is radically different from thinking in object-oriented
terms. But how do you become functional? How do you begin to think functionally?
Functional programming is intuitive once you’ve grasped its essence. Unlearning old
habits is the hardest part and can be a huge paradigm shift for most people who come
from an object-oriented background. Before you can learn to think functionally, first
you must learn what FP is.

1.2 What is functional programming?


In simple terms, functional programming is a software development style that places a
major emphasis on the use of functions. You might say, “Well, I already use functions
on a day-to-day basis at work; what’s the difference?” As I mentioned earlier, FP
requires you to think a bit differently about how to approach the tasks you’re facing.
It’s not a matter of just applying functions to come up with a result; the goal, rather, is
to abstract control flows and operations on data with functions in order to avoid side effects
6 CHAPTER 1 Becoming functional

and reduce mutation of state in your application. I know this sounds like a mouthful, but
I’ll visit each of these terms further and build on them throughout the book.
Normally, FP books start with computing Fibonacci numbers, but I’d rather start
with a simple JavaScript program that displays text on an HTML page. What better text
to print than the good ol’ “Hello World”:

document.querySelector('#msg').innerHTML = '<h1>Hello World</h1>';

NOTE I mentioned earlier that because functional programming isn’t a spe-


cific tool, but a way of writing code, you can apply it to write client-side
(browser-based) as well as server-side applications (Node.js). Opening the
browser and typing in some code is probably the easiest way to get JavaScript
up and running, and that’s all you’ll need for this book.

This program is simple, but because everything is hardcoded, you can’t use it to dis-
play messages dynamically. Say you wanted to change the formatting, the content, or
perhaps the target element; you’d need to rewrite this entire expression. Maybe you
decide to wrap this code with a function and make the change points parameters, so
you can write it once and use it with any configuration:
function printMessage(elementId, format, message) {
document.querySelector(`#${elementId}`).innerHTML =
`<${format}>${message}</${format}>`;
}

printMessage('msg', 'h1','Hello World');

An improvement, indeed, but still not a completely reusable piece of code. Suppose
you want to write to a file instead of an HTML page. You need to take the simple
thought process of creating parameterized functions to a different level, where param-
eters aren’t just scalar values but can also be functions themselves that provide addi-
tional functionality. Functional programming is a bit like using functions on steroids,
because your sole objective is to evaluate and combine lots of functions with others to
achieve greater behavior. I’ll fast-forward a bit and show you a sneak peek at this same
program using a functional approach.

Listing 1.1 Functional printMessage

var printMessage = run(addToDom('msg'), h1, echo);

printMessage('Hello World');

Without a doubt, this looks radically different than the original. For starters, h1 isn’t a
scalar anymore; it’s a function just like addToDom and echo. Visually, it feels as though
you’re creating a function from smaller functions.
There’s a reason for this madness. Listing 1.1 captures the process of decomposing
a program into smaller pieces that are more reusable, more reliable, and easier to
Random documents with unrelated
content Scribd suggests to you:
La Geisha revient bientôt au bras de son amant de cœur. Il tient une
branche d'amandier fleuri; il paraît heureux autant qu'elle.—Le
seigneur repoussé les voit, les arrête, les sépare; il insulte, provoque
l'amant. Une courte lutte s'engage; les sabres sont au clair;—le
rideau tombe.
Il se relève sur l'antichambre d'un temple. L'amant du premier acte
est, paraît-il, fiancé; la Geisha le poursuit; c'est pour éviter sa colère
amoureuse qu'il a fui dans le pays jusqu'à ce temple; il arrive avec
sa fiancée; elle et lui vont y prendre refuge.—La scène, après qu'ils
sont entrés dans l'intérieur du temple, reste occupée par cinq bonzes
bizarres, types, je pense, traditionnels comme les apothicaires au
temps de Molière. Ils sont oisifs, niais, couards et fantoches assez
pour ne pouvoir, à cinq, garder la porte du temple lorsque la Geisha
tout à l'heure va venir pour y pénétrer. Car elle a découvert la
retraite de l'amant et de la rivale. Et d'abord elle s'y prend par la
douceur; et repoussée d'abord, demande aux bonzes la faveur de
danser devant eux pour le dieu.—Cette danse commence lente et
grave; puis s'anime; la Geisha tout entière y paraît, avec ses docilités
langoureuses, ses souplesses de courtisane, avec aussi les sursauts
brusques, les élans de l'amante passionnée. Cependant les gardiens,
séduits au début, se reprennent, et devant sa croissante insistance,
la repoussent enfin assez brutalement. Elle revient; sa passion fait sa
force; elle envoie, en quelques coups de reins culbuter les gardiens
du temple, et pénètre tragiquement.
Dans cette scène, où, dépouillant de minces robes superposées, trois
fois elle se métamorphose, Sada Yacco est merveilleuse. Elle l'est
plus encore lorsqu'au bout d'un instant, parmi le désarroi que vient
de causer sa violence, elle reparaît, pâle, les vêtements défaits, les
cheveux tombants, les yeux fous. La pauvre fiancée cependant a pu
réoccuper la scène; les bonzes la protègent, l'entourent, et, dans son
égarement, la Geisha ne la voit pas d'abord. Mais, dès qu'elle l'a
vue, sa fureur, l'acharnement contre cette victime misérable, que
défendent en vain les gardiens, sa lutte enfin contre le prêtre
survenu, ses efforts insensés où sa passion et sa vie s'exténuent ...
je n'irai pas chercher comparaison bien loin, chère Angèle: ce fut
beau comme de l'Eschyle.
Oui, Sada Yacco nous donna, dans son emportement rythmique et
mesuré, l'émotion sacrée des grands drames antiques, celles que
nous cherchons et ne trouvons plus sur nos scènes. Car aucune
inharmonie dans ses gestes que scande et rythme un lyrisme
constant; aucune nuance inutile, aucun détail; ce fut d'un paroxysme
très sobre, comme celui des hautes œuvres d'art, que domine et que
se soumet une supérieure idée de beauté, Sada Yacco ne cesse
jamais d'être belle; elle l'est d'une manière continue et
continuellement accrue; elle ne l'est jamais plus que dans sa mort,
toute droite et toute raidie, dans les bras de l'amant qu'un si
farouche amour a reconquis, et qui la touche et qui la presse, mais
qu'elle ne reconnaît pas d'abord, tant la tendresse et la douceur ont
déjà déserté son âme; mais quand elle comprend à la fin que c'est
lui qui la tient dans ses bras, tandis que déjà la mort les sépare, elle
pousse un grand cri d'étonnement d'amour, puis retombe épuisée,
ayant fini de haïr et d'aimer.—C'est à vrai dire le seul cri qu'elle
pousse dans toute la pièce; et même ce suprême cri d'amour est
tempéré; il arrive admirablement et simplement satisfait une attente,
une attente très préparée. (Les acteurs, même dans les instants de
plus grande fureur tragique, parlent à voix très maintenue; ils ne
donnent jamais toute leur voix; jamais ils ne «donnent de la voix».)
—Et je me réjouissais qu'il soit encore ici bien prouvé que: l'œuvre
d'art ne s'obtient que par contrainte, et par la soumission du
réalisme à l'idée de beauté préconçue.
C'est pour vous redire cela que je vous écris cette lettre; mais je
vous connais bien; vous lirez peut-être ma lettre, mais sauterez par
là-dessus. Tant pis.

IX
Chère Angèle,
Excusez mon silence de deux mois; je voudrais le prolonger encore,
en prolongeant l'été qui le causa. Et je m'attarde où il s'attarde, dans
un petit repli des Cévennes; après le temps affreux de Normandie, la
chaleur y paraît plus belle, et je ne croirais pas à l'hiver sans la chute
des feuilles lassées, sans l'abandon des champs et sans mon désir
de la ville.
J'ai pu revoir, avant de m'exiler ici, les grands champs plats de la
Seine-Inférieure, qui, fauchés, nous rappelèrent le désert, à cause
aussi des oasis qu'y forment au loin les hêtraies.
Est-ce à ces vastes horizons, à des conditions économiques
différentes, que l'on doit le repos de voir à quelque cent kilomètres à
peine du Calvados d'où je revenais attristé, des paysans, de même
race je suppose, mais non plus perdus de richesse et de paresse et
d'alcool, mais laborieux, graves, décents et prolifiques, Sous le ciel
léger du Midi, la différence est bien plus grande encore; je
comprends volontiers ceux de Toulouse ou d'Aix, qui, n'ayant point
quitté leur soleil radieux, parlent du peuple comme j'en parlerais, je
pense, si je vivais toujours au milieu d'eux.—Oui certes, je crois le
théâtre du peuple possible; mais cela dépend des contrées. Le
malheur est que là où il pourrait faire le plus de bien, c'est là que
son établissement est le plus difficile.—Riante terre du Midi, donne-
nous de nouveaux exemples! De loin on peut traiter cela de
chimères: on se rapproche et l'on y croit.
Dans la campagne des environs de Nîmes, je retrouve un simple
jardinier qui baptise sa chienne Corinne par enthousiasme pour le
livre de Madame de Staël.—En Normandie, on ne se réjouit de rien
d'humain sans être dupe. Votre ami Raymond Bonheur vint m'y voir:
—Quelle excellente idée vous eûtes, me dit-il, de nommer votre
poulain Chopin. Comme cela convient à sa grâce!
—Oh! lui dis-je, ne m'attristez pas. Je ne fus pour rien au baptême,
et ne peux rien à rien, ici. S'il s'appelle Chopin, c'est que sa mère
s'appelait Chopine; voilà tout.
—A Magny, dit Bonheur, je m'émus d'un petit garçon, parce qu'il
s'appelait Virgile. Qui t'a nommé ainsi, lui demandai-je?—C'est ma
marraine.—Et pourquoi?—Parce qu'elle s'appelle Virginie.—Ne vous
plaignez donc pas; vous voyez que c'est partout la même chose.
—Eh bien, non! cher Bonheur: dans le Midi, ce n'est pas la même
chose; c'est pourquoi j'aime le Midi.—Vous pensez bien qu'il m'est
assez indifférent que cette chienne ou cette jument près de moi
s'appelle ou Corinne ou Chopine; mais un pays où l'homme ne songe
pas uniquement à s'enrichir et s'alcooliser me paraîtra toujours un
beau pays, et que j'envie.—Que des fêtes comme celles de Béziers y
aient été possibles, voilà qui dit un pays admirable. Verrons-nous
donc revivre enfin, ailleurs qu'en des musées, l'art pour qui nous
vivons, mais de qui nous portions le deuil? De peur de trop me
désoler après, je doute encore, et retiens encore ma joie. Le seul
récit des belles fêtes de la Grèce nous a laissé de si mortels
regrets!...

Je reçois le Pays de France, l'Effort, et je m'attriste; il y a là un


malentendu. M. Nadi s'indigne de ce que j'écrive: «Sympathiser avec
la foule, c'est déchoir.»—Où j'écrivais foule il a cru lire peuple, je
pense; pourtant, entre foule de peuple et foule de bourgeois, ma
sympathie irait plutôt vers la première; vous le savez, vous du
moins, chère amie, et cela me console.—C'est en elle (la foule), dit
M. Nadi[1], que nous chercherons le démenti le plus éclatant à de
telles paroles; ... notre œuvre, nous avons la certitude qu'elle la
comprend, l'aime et l'attend.—Je suis tout au contraire heureux de
faire partie de cette foule qui attend l'œuvre de M. Nadi.
Mais ce n'est pas ce malentendu que je veux dire. L'autre est plus
grave, car il n'est pas à mon sujet. Et ce n'est pas non plus de M.
Nadi seul qu'il s'agit; si je parle de lui plus que d'un autre, c'est
qu'aussi bien son article est meilleur, et que lui-même semble riche
de promesses; il le dit un peu fort,—mais comment ne pas croire
pleins de promesses des jeunes gens qui écrivent si exactement
comme nous eussions pu écrire à vingt ans?
Tant que M. Nadi parlera, passe encore; il parle bien; mais quand ce
sera quelqu'un d'autre... Ecoutez d'abord M. Nadi:
Elle (la Race) connaîtra le frisson de notre foi. Elle appellera avec
nous les délices d'un jour nouveau. Nous l'entraînerons dans cette
adoration consciente de l'Univers, depuis l'atome jusqu'à l'Humanité.
—Cela va bien, oui; mais cela va bientôt se gâter.—Je continue?...
Oh! devant Elle (la Race), nous éprouverons avec puissance l'ivresse
de posséder la Vérité.—Cela va se gâter, vous dis-je.—Nous
célébrerons l'Essence, la Forme éternelle et universelle, etc., etc...
Tout cela c'est de M. Nadi.
Ah! l'on s'étonnera peut-être de la puissance de notre lyrisme!...—
Non, M. Nadi, non; au contraire, j'ai peur qu'il n'ait pas de puissance,
votre lyrisme. Il faut tant de lyrisme pour faire une œuvre d'art,—et
tant d'autres choses avec! J'ai peur que, loin de faire œuvre d'art,
votre lyrisme n'enfante ceci, par exemple, que je m'en vais vous lire,
dans l'Effort de Toulouse:
La Raison n'est qu'une forme, mais par elle l'homme devient Dieu,
ou plutôt s'achemine vers Dieu, car il le sera un jour, il faut le croire,
alors que son cerveau omniscient embrassera le monde entier et
que, d'un geste, il guidera les phénomènes de Vie et de Mort. Et sur
ce point je vous renvoie à Ernest Renan et à Joachim Gasquet(?).
Prisonnières de notre substance nerveuse, les sensations acceptent
l'ordre que leur imprime Dieu. Avec un arsenal de méthodes,
l'homme s'empare de l'Univers. Il faut relire Descartes (Le délicieux
Descartes, disait Bouhélier). Il faut relire Taine et Claude Bernard
(Plus loin l'auteur l'appellera Bernard tout court). Je lisais récemment
la Synthèse chimique de Berthelot et le livre de Duclaux sur
Pasteur... Quel merveilleux monument que celui des sciences
chimiques! Analyse, décomposition des éléments et des principes
immédiats, isométrie, analyse par décomposition graduelle,
synthèse.—Et l'auteur ajoute: Les autres méthodes de Dieu sont plus
connues. Vous me permettrez donc d'en sauter. Je reprends plus
loin: Depuis longtemps Aristote a dit que la beauté est l'ordre. Dès
lors l'art est frère de la science et ne se sépare plus d'elle...—Plus
loin cette note effarante: Il y a beaucoup à dire là-dessus; j'y
reviendrai dans mon prochain article.—Et plus loin: En tout et pour
tout il s'agit de méthode. Ainsi de la politique. Le citoyen, la
République, autant de mots très beaux qui viennent confirmer notre
thèse. Imprimez donc un rythme à la Société. Ne négligez aucune
puissance.—Et plus loin encore: Permettez-moi de rêver un peu.—
Mais je vous en prie, faites donc.
S'imaginer qu'au bout de tout cela va poindre une œuvre d'art, voilà
le malentendu, chère amie. Certes j'applaudis de toutes mes forces à
l'entreprise d'un théâtre populaire (quand ce ne serait que pour nous
tirer de la médiocrité des autres),—mais gare aux pièces que l'on va
nous écrire pour lui! Les théories humanitaires nous préparent, je le
crains, une littérature déplorable.—Pourquoi?—Parce que «méfiez-
vous, dit Diderot, de celui qui veut mettre de l'ordre. Ordonner, c'est
toujours se rendre le maître des autres en les gênant.» C'est son
œuvre que l'artiste doit ordonner, et non le monde qui l'entoure; car
l'ordre extérieur rend celui de l'œuvre dramatique impossible.

Mais que sert de parler? Ils n'écouteront pas.—Et c'est moi qui les
écouterai m'appeler, moi et d'autres, esprits craintifs, âmes
pondérées, n'ayant eu jusque-là aucun contact avec nous,—et cela
au nom de la Vie, de la Joie dont ils se disent déjà dispensateurs.
Les poèmes de Griffin, les Nourritures Terrestres, les poèmes de
Henri Ghéon, etc., ont pourtant précédé, non suivi leurs dires; s'ils le
savaient un peu plus, peut-être écouteraient-ils un peu plus nos
paroles et comprendraient-ils mieux que, si nous leur crions: fausse-
route! c'est au nom même des dieux qu'ils nomment et dont aussi la
religion délaissée nous réunit à quelques-uns dans l'Ermitage. Et
c'est au nom de l'œuvre d'art qu'ils veulent faire—et qu'il faudra
réinventer complètement, car notre littérature a désappris le goût du
beau et en a perdu le souci.
Pour la musique et la peinture, nous sommes certes moins à plaindre
—et pourtant combien le ciel s'assombrit de la seule mort d'un Puvis!
—Le ciel de notre littérature est resté sombre assez longtemps. Du
côté de l'occident, plus rien n'y luit beaucoup; mais l'orient s'emplit
de lueurs. Un extraordinaire silence semble creuser l'espace entre le
siècle mort et celui qui commence, comme il se fit entre le xviie
siècle et le suivant. Malgré son œuvre déjà grande, Verhaeren pas
plus que Moréas ni que Griffin n'est de la génération passée, sans
quoi je n'eusse pas dit que notre ciel était si sombre. Régnier, plus
différent de nous peut-être, maintient le goût d'une langue si pure,
que c'est à lui que je voudrais aller comme à un maître, s'il était plus
âgé, ou si j'étais plus jeune.—Chère Angèle, dites aux jeunes gens
du Pays de France et de l'Effort que nous, tout autant qu'eux, c'est
l'œuvre d'art que nous voulons: que c'est vers elle que nous
marchons, et qu'ils se trompent en croyant notre but opposé ou nos
routes divergentes. Répétez-leur ce vers du Dante:

Noi sem peregrin, como voi sete.

Adieu.

[1] Comme je le montre plus loin, ce n'est pas procès de


personnes, mais de tendances que je veux faire. M. Nadi nous a
écrit, sitôt après cet article, la plus aimable des lettres; si notre
modestie se refuse à la citer en ce lieu, je veux au moins que nul
ne mette en doute l'impersonnalité de mes accusations.

X
Chère Angèle,
Aujourd'hui, je ne vous enverrai qu'un livre; et ce livre en vaudra
beaucoup: Voici les Mille et une Nuits, que le Dr Mardrus vient de
traduire, et de rebaptiser avec une pointe d'arabisme: Les Mille Nuits
et une Nuit.
Vous savez mon admiration pour ce livre. Mon père qui l'admirait
aussi le mit entre mes mains de si bonne heure que c'est, je crois,
avec la Bible le premier livre que j'ai lu.—Mais je pense que, si,
seule, la traduction de Mardrus eût alors existé, mon père eût choisi,
pour m'y apprendre à lire, un autre livre. A peine osai-je vous le
donner. Il faut bien, pour m'y décider, la tranquille assurance de la
préface, dans laquelle le traducteur se fait garant de la naïveté et de
l'ingénuité du conteur.
On m'avait mis en garde contre Galland, dit et redit qu'il prenait
dans sa traduction toutes les libertés qu'il enlevait aux contes; à
défaut de Burton, dont j'ai l'ennui de ne comprendre pas la langue,
j'avais pu lire la version allemande de Weil et me rendre compte que
celle de Galland respectait bien plus Louis XIV que le grand sultan
Schahriar; que Galland omettait systématiquement (entre autres
choses) les citations poétiques qui surabondent dans le récit, en sont
une des particularités merveilleuses, et pourraient, réunies, former
une très importante anthologie.
Les critiques contre la traduction de Galland sont faciles. Elles sont
inutiles aussi. Il s'agissait à cette époque de réduire au bon goût
français les ouvrages qu'on prétendait traduire. Près de cinquante
ans plus tard, l'abbé Prévost écrivait en préface de sa traduction de
Grandison: «J'ai supprimé ou réduit aux usages communs de
l'Europe ce que ceux de l'Angleterre peuvent avoir de choquant pour
les autres nations.» Et le biographe de Prévost ajoute: «Son goût
était trop sûr pour se borner à traduire son original.» Galland avait
aussi «le goût trop sûr».—Ces phrases font sourire aujourd'hui; mais
on oublie trop que, sous Louis XIV, les Français avaient plus de droit
que nous n'avons d'être infatués de la France.
La langue de Galland est plaisante, douce à lire, classique encore et
souvent non sans grâce. Son orientalisme affaibli garde un charme.
Enfin peut être sa traduction n'était-elle pas inutile à titre d'initiation
préparatoire. Celle de Mardrus[1] d'abord eût pu surprendre et
rebuter. Galland fut comme l'étuve tiède qui précède, dans un
Hammam, la salle torride. Et, tandis que Galland, à la manière de
son siècle, recherchait dans ses contes avant tout l'émotion générale
et la part qu'il croyait être commune à tous parce qu'il la sentait être
semblable à lui, Mardrus, lui, se plaît au contraire (et nous nous
plaisons avec lui), à l'étrange, à la différence; ou mieux, il ne se plaît
à rien qu'à une traduction très fidèle, et, si la vie de ces contes va
différer de notre vie, c'est par toute l'ardeur et la saveur orientale
qu'il leur laisse. Ah! l'habile Mardrus! Ah! vive Mardrus! Ah! merci! Ici
l'on exulte; on éclate; on s'enivre par tous les sens.
Que la sensualité de Galland paraît pâle! Le bol «plein de grains de
grenade apprêtés au sucre, aux amandes décortiquées, et parfumés
délicieusement et juste à point» que le faux pâtissier Hassan prépare
pour le petit Agib, et auquel il ajoute encore, lorsqu'on lui
redemande de ce plat, «un peu de musc et d'eau de roses»; ce plat
exquis par lequel Hassan se laisse inespérément reconnaître, devient
chez Galland «une tarte à la crème», bonnement. Et dire que déjà
les «confitures sèches» qu'on y goûte me faisaient rêver! qu'eût-ce
été si j'avais ouï parler de la «boisson délicieuse et parfumée aux
fleurs»? si j'avais lu: «Elle m'offrit à boire du sirop au musc»?—Car
ce qui ressort avant tout de cette traduction si nouvelle, ce n'est pas
l'invention prodigieuse de ces contes, pour laquelle je garde une
inlassable curiosité mais que, plus ou moins, nous connaissions déjà,
—c'est la sensualité splendide, persistante, indécente, et mêlée de
rires. Permettez-vous que je cite? «. . . . . . . . . . . . . . . . . . . . .»
Non; décidément, je n'ose pas citer.—Mais il y a d'autres passages;
par exemple ces vers si moqueurs et charmants «sur l'excellence des
pâtisseries arabes», ces vers que le troisième calender (il s'appelle
ici: saalouk), métamorphosé en singe, écrit pour révéler qu'il est un
homme,—et l'on ne saura ce dont on doit s'étonner le plus: ou de
son lyrisme subit, ou de la subtilité de sa gourmandise:
«O pâtisseries, douces, fines et sublimes; pâtisseries enroulées par
les doigts! Vous êtes la thériaque, antidote de tout poison! En
dehors de vous, pâtisseries, je ne saurais aimer jamais rien; et vous
êtes mon seul espoir, toute ma passion!
O frémissements de mon cœur à la vue d'une nappe tendue ou, en
son milieu, s'aromatise une Kenafa (ici une note nous apprend que
la Kenafa est «une sorte de pâtisserie faite avec des filets très fins
de vermicelle») nageant au milieu du beurre et du miel, dans le
grand plateau!
O Kenafa! Kenafa amincie en une chevelure appétissante,
réjouissante! mon désir, le cri de mon désir vers toi, ô Kenafa, est
extrême! Et je ne pourrais, au risque de mourir, passer un jour de
ma vie sans toi sur ma nappe, ô Kenafa, ya Kenafa!
Et ton sirop! ton adorable, délicieux sirop! Haï! en mangerais-je, en
boirais-je jour et nuit, que j'en reprendrais dans la vie future!»
—Je ne sais pas, chère amie, ce que ces strophes valent dans le
texte; dans la traduction de Mardrus, je les trouve parfaitement
merveilleuses.
Cette traduction abonde d'ailleurs en passages exquis. Écoutez cette
courte phrase: «Par Allah! notre nuit va être une nuit bénie, une nuit
de blancheur!»—Mais c'est de sensualité que je voulais vous parler.
Le mot «sensualité» est devenu chez nous de signification si vilaine
que vous n'osez plus l'employer; c'est un tort; il faudra réformer
cela. Sachez que Coleridge, à propos de Millon, fait de la sensualité
une des trois vertus du poète. La sensualité, chère amie, consiste
simplement à considérer comme une fin et non comme un moyen
l'objet présent et la minute présente. C'est là ce que j'admire aussi
dans la poésie persane; c'est là ce que j'y admire surtout.—Car la
littérature persane presque entière m'apparaît pareille à ce palais
doré, dont il est raconté, dans le récit d'un des trois saalouks, que
les quarante portes ouvrent, la première sur un verger plein de
fruits, la seconde sur un jardin de fleurs, la troisième sur une volière,
la quatrième sur des joyaux entassés ... mais dont la quarantième
défendue, ferme une salle très obscure dont l'atmosphère saturée
d'une sorte de parfum très subtil vous soûle et vous fait défaillir; une
salle où l'on entre pourtant, où l'on trouve un cheval très noir, qui n'a
l'air qu'étrange et que beau, mais qui, dès qu'on l'enfourche, déploie
des ailes, des ailes «qu'on n'avait pas d'abord remarquées»,—qui
bondit avec vous, vous enlève au plus haut d'un ciel inconnu; puis
brusquement s'abat, vous désarçonne, et puis vous crève un œil
avec la pointe de son aile, comme pour marquer mieux
l'éblouissement que laisse ce rapide voyage en plein ciel.—C'est ce
cheval noir que les commentateurs d'Omar et de Hafiz appellent «le
sens mystique des poètes persans». Car on affirme qu'il y est. Pour
moi qui n'apprécie que peu cette équitation aérienne, ni surtout la
demi-cécité qui la suit, plus sage que le troisième saalouk, je n'ouvre
pas la porte défendue et préfère m'attarder encore dans les vergers,
et les jardins et les volières. Je trouve là quelques voluptés si
intenses qu'elles suffisent pour désaltérer mes désirs et pour
endormir ma pensée.

Ne lisez pas Omar Kheyam dans la traduction française de Nicolas:


elle est littérale, il le dit; mais la traduction anglaise de Fitz-Gérald
est bien autre chose et bien plus: elle est belle. Dans son texte
excessivement resserré, chaque quatrain prend un sens et un poids
admirable. Aussi déçu que l'Ecclésiaste, lyrique à la façon du
Cantique de Salomon, et pondéré comme ses Proverbes, Omar
Kheyam, à travers Fitz-Gérald, paraît un poète admirable[2].
Pour Hafiz, si vous ne pouvez vous procurer la très rare de
Rosenzweig, lisez-le dans la traduction de Hammer; c'est celle qui,
en 1812, révélait l'Orient au grand Gœthe. Voyez dans ses Annales
avec quelle admiration il en parle.—Plutôt que de vous en parler à
mon tour, laissez-moi vous transcrire un de ces courts ghazels: le
voici tout entier:
Echanson! viens. Les tulipes ont rempli de vin leurs
calices,
Depuis assez longtemps j'étais religieux!
A d'autres les fiertés, les soins d'un renom
considérable!
Où sont les empereurs de Grèce? de Sina?
Comprends! et quand l'oiseau lui-même s'enivre
Veille, car te guette le sommeil du néant.
Ramures du printemps dans l'azur que vos courbes
sont belles!
La bourrasque d'hiver ne vous tourmente plus.
Croyez-moi, mes amis, les promesses de bonheur sont
trompeuses,
Malheur à celui qui se repose sur elles.
Demain sur les pelouses d'Eden, demain les houris
nous attendent
Mais aujourd'hui, l'échanson et la coupe, les voici.
Le souvenir de la reine Balkis dans le vent d'Orient
flotte encore;
Que ce vin en guérisse notre âme!
Ne t'attarde pas devant l'émerveillement d'une rose;
Au souffle du soir ses pétales sont dispersés.
Mais ce vin de couleur rouge, de goût exquis,
Fait plus exquise la rougeur de l'ami.
Apportez ces coussins dehors, étendez-les sur la
prairie;
Les cyprès et les flûtes nous attendent...
Ces chanteurs, que la plaine entende! accordent déjà
Le barbitos avec les flûtes.
Et les chants délicieux, ô Hafiz, se répandent
Du pays de Grèce au Sina[3].

Il est assurément très ridicule de traduire une traduction: mais que


ne savez-vous l'allemand?—ou que ne sais-je le persan?
Vous pouvez lire en français le Gulistan de Sadi et Firdousy tout
entier;—je ne vous cache pas que je préfère Omar et Hafiz.
Pardonnez-moi d'oser parler ainsi d'une littérature que, malgré tout
mon amour pour elle, je connais peu. Je la connais peu, mais je
l'aime beaucoup; que cela me serve d'excuse. Et puis j'écris pour qui
la connaît encore moins.
[1] Le livre des Mille Nuits et une Nuit. Traduction complète par le
D. J. C. Mardrus.—Fasquelle.
[2] Une remarquable traduction d'Omar a paru l'an passé chez
Carrington. Elle est de M. Ch. Grolleau.
[3] Hammer, II, p. 426.

XI

Chère Angèle,
Que votre palais délicat excuse un tel pâté d'arêtes: Voici le livre de
Stirner l'Unique et sa propriété[1], que M. Lasvignes vient de
traduire,—avec quelle patience, vous en jugerez par celle qu'il faut
pour le lire.
Du temps de Jean-Paul Richter, ce qu'on appelait l'Unique, c'était lui
—lui Jean-Paul, et c'était assez.—Vous souvient-il qu'en le lisant,
nous nous disions: quelle chance qu'il soit Unique! S'il devait y en
avoir beaucoup comme lui, le monde des lettres ne serait plus
tenable... Hélas! ô mon unique Angèle! l'Unique de M. Max Stirner
est légion!—Unique, il ne l'est plus d'ailleurs que pour lui-même:
c'est sa seule «propriété»; l'Unique, c'est moi, vous, Tityre; l'Unique,
c'est chacun pour soi.
Voilà ce que M. Stirner expose en un livre de près de 500 pages; et il
ne faut pas dire: l'Egoïsme, nous le connaissions déjà; ce serait mal
entendre le jeu du philosophe: nomenclateur, sa mission n'est pas
d'inventer; n'en déplaise au grand Nietzsche, le philosophe ne crée
ni ne déplace les valeurs: simplement il légitime et enrôle ce que des
tempéraments neufs et robustes lui proposaient. L'homme propose;
le philosophe dispose. L'Unique et sa propriété, c'est l'égoïsme bien
disposé.
Au cours des 500 pages, pas un accroc, pas un trouble, pas une
rencontre; le livre est laid, ressasseur, comble et vide. C'est un livre
de ruminant.
Et je ne vous en parlerais même pas, chère Angèle, si, par un
procédé digne des lois scélérates, certains ne voulaient à présent lier
le sort de Nietzsche à celui de Stirner, juger l'un avec l'autre pour les
englober mieux tous deux dans une admiration ou une réprobation
plus facile. Il serait trop long aujourd'hui de chercher avec vous en
quoi l'un de l'autre diffère, diffère jusqu'à s'opposer; la question
demeurera si grave que plus d'une fois nous y reviendrons, je
suppose. En attendant, indignez-vous tout simplement en entendant
dire: «Stirner et Nietzsche» comme Nietzsche lui-même s'indignait
en entendant dire: «Gœthe et Schiller».
C'est à propos de Stirner, non de Nietzsche qu'il me plaît de vous
parler un peu des «dangers de l'individualisme». Je crains, Angèle,
je crains les ratés de l'individualisme, autant que tous les autres
ratés. Ratés et médiocres, laissons-les donc aux religions établies; ils
s'en trouveront mieux; nous aussi. Ne poussons donc pas vers
l'individualisme ce qui n'a rien d'individuel; le résultat serait piteux.
Ou mieux:
Pourquoi formuler l'individualisme? Il n'y a pas d'individualisme qui
tienne; les grands individus n'ont nul besoin des théories qui les
protègent: ils sont vainqueurs. Laissons donc aux médiocres et aux
faibles la joie de les pouvoir condamner, et vaincus, écrasés par eux,
de prendre une innocente revanche en les vainquant en effigie[2].
Il me plaît, à Moi, l'unique, que le «grand homme» continue à me
paraître un grand coupable. Et puisque Max Stirner ose encore
employer le mot de lâcheté, je dirai que je trouve lâche, Moi, de
l'innocenter. Eh quoi! pour disculper sa grandeur, rétablirez-vous
donc la notion du bien et du mal? Aurez-vous peur du crime encore,
Monsieur Stirner? Vous n'êtes qu'un théoricien, non un vrai criminel.
Sous votre apparence logique, vous souhaitez encore mon estime.
Eh bien! vous ne l'aurez pas! précisément, vous ne l'aurez pas. Je ne
m'accorde la mienne que lorsque je ne pense plus comme vous.
O Stirner! allez-vous à nouveau nous rendre le «Moi, haïssable»?
Nous espérions n'y plus penser!...
Mais c'est qu'il faudrait mieux s'entendre et ne pas illustrer un tel
livre avec l'image d'un Gœthe, d'un Beethoven, d'un Balzac, d'un
Nietzsche ou d'un Napoléon (ces grandes et altières figures furent
admirablement dévouées à quelque grande idée projetée devant
eux, au-dessus d'eux); car il faut encore dire ceci d'admirable, c'est
que plus les individus sont grands, moins il y en a. En sorte qu'une
théorie qui chercherait à produire le plus grand nombre possible
d'individus diminuerait chacun pour tous, et tendrait à se rapprocher
du socialisme. Tous individus: plus d'individu. Ah! pour l'amour de
Moi! pas d'individualisme!!!
Retenez-les! Angèle! Retenez-les! Ne favorisons pas ces éclosions
malheureuses; continuons à honnir, à bannir, à lapider l'individu.
Ceux que ne retiendra ni le respect d'autrui, ni la crainte, ni la pitié,
ni la pudeur, ni le mépris ou la haine d'autrui, ceux-là ce sont les
vrais; nous pouvons espérer qu'ils vaudront quelque chose. Et ils
s'inquiètent peu qu'un Stirner les approuve, ou que les désapprouve
un Tolstoï. S'ils sont grands, c'est qu'ils sont en petit nombre; ils sont
triés. Et rien n'a pu contre eux, pas même mon épouvante: voilà
pourquoi je les admire, je les aime, je les trouve grands. Il faut, pour
en obtenir quelques-uns, forcer à la médiocrité beaucoup d'autres et
tâcher d'y contraindre même celui-là.
Pourquoi le disculper?—Il faut que tout s'acharne contre le grand
homme, car le grand homme est l'ennemi de beaucoup[3].
Pourquoi le plaindre?—C'est un grand homme. Et, s'il est
authentique, il saura toujours bien s'en tirer.
Pourquoi le protéger?—Ses épreuves mêmes et son isolement feront
sa force—ou du moins celui-là seul qui les supporte et qui en sort
était puissant.
Par pitié, pas d'individualisme! par pitié pour les individus.
N'encouragez jamais les grands hommes; et pour les autres:
découragez! découragez!...

10 décembre 1899.

[1] 1 vol. in-8° carré (Editions de la Revue blanche).


[2] C'est aussi ce que M. Lasvignes exprime excellemment à la fin
de son intéressante préface: «Les masses humaines, dit-il, ne
seront jamais plus conscientes de la puissance formidable qu'elles
représentent en face de la poignée d'hommes qui les tient
asservies, que les forces naturelles ne le sont de l'infinie faiblesse
de l'homme qui les gouverne.» (Page xxix.)
[3] ... «Nous sommes accablés par les esprits sublimes. Pour
qu'un homme soit au-dessus de l'humanité, il en coûte trop cher
à tous les autres.»
Montesquieu.

XII

Chère Angèle,
Vous recevrez par le même courrier deux gros livres de Nietzsche.
Vous ne les lirez probablement pas; mais je veux que vous les ayez
quand même. C'est mon petit cadeau de janvier.
Et je préférerais, il est vrai, du fond de l'Algérie, vous envoyer des
dattes, ainsi que je faisais si joliment, les ans passés. Hélas! Paris
me tient encore et, si j'y pensais trop, l'approche ici d'un nouvel an
me rendrait triste.—Que ne puis-je parler des sables et des palmes!
je m'y connais, et mieux qu'à la philosophie... Mais j'en suis loin, et
voici Nietzsche, chère amie; si je suis grave, excusez-moi.
Grâces soient rendues à M. Henri Albert qui nous donne enfin notre
Nietzsche, et dans une fort bonne traduction. Depuis si longtemps
nous l'attendions! L'impatience nous le faisait épeler déjà dans le
texte—mais nous lisons si mal les étrangers!
Et peut-être valait-il mieux que cette traduction ait mis tant de
temps à paraître: grâce à cette cruelle lenteur, l'influence de
Nietzsche a précédé chez nous l'apparition de son œuvre; celle-ci
tombe en terrain préparé; elle eût risqué sinon de ne pas prendre; à
présent elle ne surprend plus, elle confirme; ce qu'elle apprend
surtout, c'est sa splendide et enthousiasmante vigueur;—mais elle
n'était presque plus indispensable; car l'on peut presque dire que
l'influence de Nietzsche importe plus que son œuvre, ou même que
son œuvre est d'influence seulement.
Encore et malgré tout l'œuvre importe, car son influence, on
commençait de la fausser.—Il faut, pour bien comprendre Nietzsche,
s'en éprendre, et seuls le peuvent comme il faut les cerveaux
préparés à lui depuis longtemps par une sorte de protestantisme ou
de jansénisme natif; des cerveaux qui n'ont rien tant en horreur que
le scepticisme, ou chez qui le scepticisme, nouvelle forme de
croyance qui mue amour en haine, garde toute la chaleur d'une foi.
—Voilà pourquoi tels esprits ingénieux et souples comme celui de M.
de Wyzewa s'y trompèrent: peu d'études sur Nietzsche (je ne parle
que des plus remarquables) trahissent autant Nietzsche que la
sienne[1]. Il voulut voir en lui un pessimiste: Nietzsche est avant tout
un croyant. Il ne sut voir en son œuvre que démolitions et que
ruines: elles y sont, mais loués soient ceux-là qui nous permettent
de construire! Seuls ceux-là ruinent qui découragent et diminuent
notre croyance en la vie...:
Je veux l'homme le plus orgueilleux, le plus vivant, le plus affirmatif;
je veux le monde, et le veux tel quel, et le veux encore, le veux
éternellement, et je crie insatiablement: Bis! et non seulement pour
moi seul, mais pour toute la pièce, et pour tout le spectacle; et non
pour tout le spectacle seul, mais au fond pour moi, parce que le
spectacle m'est nécessaire—parce qu'il me rend nécessaire—parce
que je lui suis nécessaire—et parce que je le rends nécessaire.
Oui, Nietzsche démolit; il sape, mais ce n'est point en découragé,
c'est en féroce; c'est noblement, glorieusement, surhumainement,
comme un conquérant neuf violente des choses vieillies. La ferveur
qu'il y met, il la redonne à d'autres pour construire. L'horreur du
repos, du confort, de tout ce qui propose à la vie une diminution, un
engourdissement, un sommeil, c'est là ce qui lui fait crever murailles
et voûtes: On ne produit qu'à condition d'être riche en
antagonismes, dit-il; on ne reste jeune qu'à condition que l'âme ne
se détende pas, n'aspire pas au repos. Il sape les œuvres fatiguées
et n'en forme pas de nouvelles, lui—mais il fait plus: il forme des
ouvriers. Il démolit pour exiger plus d'eux; les accule.
L'admirable, c'est qu'il les gonfle en même temps de vie joyeuse,
c'est qu'avec eux il rit au milieu des décombres, c'est qu'il y sème à
tour de bras. Il n'est jamais plus rouge de vie que quand c'est pour
ruiner les choses mortelles ou tristes. Chaque page est alors saturée
d'une énergie créatrice; d'indistinctes nouveautés s'y agitent; il
prévoit, il pressent, il appelle—et il rit.—Œuvre admirable? non—
mais préface d'œuvres admirables. Démolir, Nietzsche? Allons donc!
Il construit,—il construit, vous dis-je! il construit à bras raccourcis.
Je voudrais pouvoir louer plus le petit livre de Lichtenberger sur
Nietzsche. A défaut de Nietzsche même, c'est là, chère Angèle, ce
que je vous conseillerais de lire. Je le ferais plus volontiers si
certaine timidité d'esprit n'avait fait l'auteur traiter son sujet avec
presque trop de conscience. Oui, pour bien parler de Nietzsche, il
faut plus de passion et moins d'école; plus de passion surtout, et
partant moins de crainte. Le dernier chapitre, en guise de
conclusion, étudiant Nietzsche dans son ensemble, cherche en quoi il
est bon, en quoi mauvais—etc.; il pondère, limite, sauvegarde.
Nietzsche entraîne tant d'effrayantes choses après lui! Si donc la
peur domine, je préfère entendre bannir Nietzsche en entier plutôt
que d'en voir approuver seulement les parties rassurantes. Ce sont
parties d'un tout. La modération le supprime. Et je comprends que
Nietzsche fasse peur; mais les idées qui ne heurtent rien d'abord ne
sont en rien réformatrices.
Tout cela ne suffirait pas à me faire critiquer ce petit livre, je lui en
veux un peu pour de plus particulières raisons: certaines de vos
amies, chrétiennes il est vrai, ont pu à travers lui se représenter
Nietzsche comme «quelqu'un d'excessivement triste». Et c'est
vraiment contrariant, vous l'avouerez, cherchant la joie jusque dans
la folie et la glorifiant à travers toutes les souffrances, martyr
vraiment dans le sens plein du mot, d'arriver aux yeux de certains à
représenter «Quelqu'un d'excessivement triste»!—Mais la joie
chrétienne admet malaisément d'autre forme de joie que la sienne:
ne pouvant réduire celle-là, elle la nie.
«Œuvre profondément triste», dit aussi M. de Wyzewa, et diront
encore long temps d'autres. Décidément il était temps que cette
traduction parût!
Ces deux livres[2] font connaître Nietzsche autant que le pourra faire
l'œuvre entière—d'une admirable monotonie. Douze volumes; de l'un
à l'autre aucune nouveauté; le ton seul change, devient plus lyrique
et plus âpre, plus forcené.
Dès le premier ouvrage (la Naissance de la Tragédie), l'un des plus
beaux, Nietzsche s'affirme et se montre tel qu'il sera: tous ses futurs
écrits sont là en germe. Dès lors une ferveur l'habite qui va toucher
à tout en lui, réduire en cendres ou vitrifier tout ce qui ne supporte
pas tant de chaleur.
L'œuvre des philosophes est fatalement monotone; nulle surprise en
eux; une appliquée conséquence à soi-même; aucune contradiction
qui ne soit dès lors une erreur.—«L'esprit fait sa maison, dit
Emerson, puis la maison enferme l'esprit.»—Système clos; la solidité
des murs d'enceinte en fait la force; on ne les perd jamais de vue ...
ou sinon ce sont des transes: on croit être sorti du système, s'être
trompé.—Se tromper!—Comment me tromperais-je? «Qui trompe-t-
on ici?»—Un philosophe ne trompe jamais que les autres... On ne
trompe jamais que les autres.
Et Nietzsche lui-même s'emprisonne; ce passionné, ce créateur, se
débat dans son système qui se replie de toutes parts sur lui comme
un rets; il le sait et rugit de le savoir, mais n'en sort pas; c'est un lion
dans une cage d'écureuil. Quoi de plus dramatique que cela: cet
antirationnel veut prouver. Ses moyens sont autres, mais qu'importe?
Artiste, il ne crée pas; il prouve; il prouve passionnément. Il nie la
raison et raisonne. Il nie avec une ferveur de martyr.—De part en
part son œuvre n'est qu'une polémique: douze volumes de cela; on
ouvre au hasard; on lit n'importe quoi; d'une page à l'autre, c'est
tout de même; la ferveur seule se renouvelle et la maladie
l'alimente; aucun calme; il y souffle sans cesse une colère, une
passion enflammée. Etait-ce donc là que devait aboutir le
protestantisme?—Je le crois—et voilà pourquoi je l'admire;—à la plus
grande libération.
Je suis trop protestant moi-même, et pour cela j'admire trop
Nietzsche pour oser parler en mon nom propre. J'aime mieux laisser
parler M. Fouillée. En 1895, il écrivait dans la Revue des Deux
Mondes[3]:
«Le protestantisme, après avoir été plus réactionnaire que le catholicisme lui-
même, s'avisa d'opposer à l'immobilité catholique l'idée du libre examen.
Quand ils eurent trouvé cela, les protestants eurent cause gagnée—et aussi
perdue. Ils avaient trouvé l'arrêt de mort de leurs adversaires; car en face
d'une religion enchaînée par elle-même et engagée dans son passé comme un
terme dans une gaine, ils dressaient une religion libre, progressive, capable de
tout ce que la libre recherche scientifique lui apporterait. Le leur: car, n'y ayant
pas de limite au libre examen, ils créaient une religion illimitée, donc indéfinie,
donc indéfinissable, qui ne saurait pas, le jour où le libre examen lui
apporterait l'athéisme, si l'athéisme fait partie d'elle-même ou non; une
religion destinée à s'évanouir dans le cercle indéfini du philosophisme qu'elle a
ouvert. Toute la libre pensée, tout le philosophisme, toute l'anarchie
intellectuelle étaient contenus, dans le protestantisme dès qu'il cesserait d'être
un catholicisme radical.»
Certes, cela n'apporte pas de repos, et rien n'y est plus opposé. Rien
n'est plus opposé à ces phrases (magistrales certes) de Bossuet,
dans ses lettres pastorales:
Nous n'avons jamais condamné nos prédécesseurs et nous laissons la foi des
Eglises telle que nous l'avons trouvée... Dieu a voulu que la vérité vînt à nous
de pasteur en pasteur et de main en main sans que jamais on n'aperçût
d'innovation. C'est par là qu'on reconnaît ce qui a toujours été cru et par
conséquent ce que l'on doit toujours croire. C'est pour ainsi dire dans ce
toujours que paraît la force de la vérité et de la promesse, et on le perd tout
entier dès qu'on trouve de l'interruption en un seul endroit[4].»

Mais Nietzsche ne cherchait pas le repos, lui qui disait encore:


Rien ne nous est devenu plus étranger que ce desideratum du passé, la paix
de l'âme, desideratum chrétien. Rien ne nous fait moins envie que la Morale
de ruminant et l'épais bonheur d'une bonne conscience. Et ailleurs: La plus
belle vie, pour le héros, est de mûrir pour la mort, dans le combat.
J'espère par ces quelques citations vous éclairer un peu le débat,
vous faire comprendre pourquoi Nietzsche paraît et continuera de
paraître à certains «quelqu'un d'excessivement malheureux».—Je
vous satisferais trop maladroitement en disant que ce n'est pas le
«bonheur» qu'il recherche, car précisément c'est «ce que l'on
recherche» que l'on appelle «bonheur»;—mais il est difficile toujours
de continuer à appeler «bonheur» ce dont on ne voudrait pas pour
soi-même. Tant pis! J'en tiens pour le bonheur de Nietzsche, chère
amie.
Que de choses sur lui j'aurais donc à vous dire! Mais le temps
presse; j'écris presque au hasard, hâtivement. Excusez-moi. J'y
reviendrai.—Comment ne pas y revenir? Je suis entré dans Nietzsche
malgré moi, je l'attendais avant de le connaître—de le connaître fût-
ce de nom. Une sorte de fatalité charmante me conduisait aux lieux
qu'il avait traversés, en Suisse, en Italie,—me faisait choisir pour y
vivre un hiver précisément ce Sils-Maria de la Haute Engadine, où
j'appris ensuite qu'il avait agonisé plus doucement. Et pas à pas
ensuite, le lisant, il me semblait qu'il excitait mes pensées.
Nous devons tous à Nietzsche une reconnaissance mûrie: sans lui,
des générations peut-être se seraient employées à insinuer
timidement ce qu'il affirme avec hardiesse, avec maîtrise, avec folie.
Nous-mêmes, plus personnellement, nous risquions de laisser
s'encombrer toute notre œuvre par d'informes mouvements de
pensées—de pensées qui maintenant sont dites. C'est à partir de là
qu'il faut créer, et que l'œuvre d'art est possible.—Voilà ce qui me
faisait considérer plus haut l'œuvre entière de Nietzsche comme une
préface, on pourrait dire: Préface à toute dramaturgie future.—
Nietzsche le sait, le montre sans cesse. Il semble,
anachroniquement, que toute son œuvre soit sous-entendue en celle
d'un Shakespeare, d'un Beethoven, d'un Michel-Ange. Nietzsche est
infus dans tout cela. Il est même plus simple de dire que tout grand
créateur, tout grand affirmateur de Vie est forcément un
Nietzschéen.
«Voyez enfin quelle naïveté il y a à dire: l'homme devrait être tel ou
tel. La réalité nous montre une richesse enivrante de types, une
multiplicité de formes, d'une exubérance et d'une profusion
inouïes»...
Nietzsche, tout comme un créateur de types, est enivré par la
contemplation de la ressource humaine; mais, tandis que les autres
créateurs échappent à la folie de leur génie par la continuelle
purgation qu'est pour eux la création artistique, la fiction de leurs
passions Nietzsche, prisonnier dans sa cage de philosophe, dans son
hérédité protestante, y devient fou.
J'ai dit que nous attendions Nietzsche bien avant de le connaître:
c'est que le Nietzschéisme a commencé bien avant Nietzsche; le
Nietzschéisme est à la fois une manifestation de vie surabondante
qui s'était exprimée déjà dans l'œuvre des plus grands artistes, et
une tendance aussi qui, suivant les époques, s'est baptisée
«jansénisme», ou «protestantisme», et qu'on nommera maintenant
Nietzschéisme, parce que Nietzsche a osé formuler jusqu'au bout
tout ce qui murmurait de latent encore en elle.
Si j'eusse eu plus de temps, je me fusse amusé à vous montrer le
Nietzschéisme d'avant Nietzsche. Par des citations habilement
choisies j'eusse pu circonvenir presque de toutes parts sa figure;
mais ce serait trop long pour aujourd'hui; puis ce qu'il eût fallu citer
surtout, ce sont des phrases des dernières œuvres de Beethoven. J'y
reviendrai. Laissez-moi seulement en passant vous montrer ce
passage de Dostoievsky. Nul plus que Dostoievsky n'a aidé
Nietzsche.—Je cite, puis passe; et si vous ne comprenez pas, dites-
le-moi; je vous expliquerai cela dans la suite,—Cela se lit presque à
la fin des Possédés:
Celui qui parle (Kiriloff) est à moitié fou. Il doit se suicider dans un
quart d'heure. Celui qui l'écoute compte profiter du suicide; il s'agit
de faire endosser à Kiriloff un crime que lui, l'écouteur, a commis.
Kiriloff, avant de se tuer, doit signer un papier où il se déclare
coupable. A l'instant précis où nous sommes, la conversation entre
eux a dévié; Kiriloff hésite, n'est plus capable de rien, pas même
d'un suicide; il risque de redevenir raisonnable; tout est perdu pour
Pierre, l'écouteur, s'il ne remet pas Kiriloff en état de se tuer. (Tant il
est vrai que tout état pathologique inconscient peut proposer à
l'individu des actes neufs, que sa raison s'ingéniera aussitôt à
admettre, à soutenir, à systématiser). Il faut que toute une
philosophie, toute une morale subitement improvisée, paraisse
motiver cet acte qui, réciproquement, motive cette philosophie. Voici
ce que, poussé par Pierre, Kiriloff arrive à dire, superuomo d'un
instant,—un instant seulement, s'il vous plaît,—simplement le temps
de se tuer:
... «Enfin tu m'as compris! s'écria Kiriloff enthousiasmé.—-Tu
comprends maintenant que le salut pour l'humanité consiste à lui
prouver cette pensée[5]. Qui la prouvera?—Moi. Je ne comprends
pas comment jusqu'à présent l'athée a pu savoir qu'il n'y a pas de
Dieu et ne pas se tuer tout de suite! Sentir que Dieu n'existe pas, et
ne pas sentir du même coup qu'on est soi-même devenu Dieu, c'est
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like