100% found this document useful (1 vote)
6 views

C Development Rob Miles download

The document is a comprehensive guide on C development by Rob Miles, covering various aspects of programming, including an introduction to computers, programming languages, and specifically C#. It includes detailed sections on writing programs, manipulating data, methods, arrays, and object-oriented programming concepts. Additionally, it provides practical examples and programmer's points to enhance understanding and application of C programming principles.

Uploaded by

garmaockenqu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
6 views

C Development Rob Miles download

The document is a comprehensive guide on C development by Rob Miles, covering various aspects of programming, including an introduction to computers, programming languages, and specifically C#. It includes detailed sections on writing programs, manipulating data, methods, arrays, and object-oriented programming concepts. Additionally, it provides practical examples and programmer's points to enhance understanding and application of C programming principles.

Uploaded by

garmaockenqu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

C Development Rob Miles download

https://ebookbell.com/product/c-development-rob-miles-1509152

Explore and download more ebooks at ebookbell.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Modern C For Software Developers Serious C Development 13 Karen Singh


Garewal

https://ebookbell.com/product/modern-c-for-software-developers-
serious-c-development-13-karen-singh-garewal-47208814

Modern C For Software Developers Serious C Development Karan Singh


Garewal

https://ebookbell.com/product/modern-c-for-software-developers-
serious-c-development-karan-singh-garewal-47254448

C Game Development By Example Siddharth Shekar

https://ebookbell.com/product/c-game-development-by-example-siddharth-
shekar-47437388

C Game Development Primer Bruce Sutherland

https://ebookbell.com/product/c-game-development-primer-bruce-
sutherland-5467646
C Game Development Cookbook Druhin Mukherjee

https://ebookbell.com/product/c-game-development-cookbook-druhin-
mukherjee-5545560

C Game Development By Example Learn To Build Games And Graphics With


Sfml Opengl And Vulkan Using C Programming Siddharth Shekar

https://ebookbell.com/product/c-game-development-by-example-learn-to-
build-games-and-graphics-with-sfml-opengl-and-vulkan-using-c-
programming-siddharth-shekar-11124250

C Application Development With Codeblocks Biplab Kumar Modak

https://ebookbell.com/product/c-application-development-with-
codeblocks-biplab-kumar-modak-232490680

C Web Development With Aspnet Jose Mojica

https://ebookbell.com/product/c-web-development-with-aspnet-jose-
mojica-927208

Small Scale Industries And Entrepreneurial Development Csv Murthy

https://ebookbell.com/product/small-scale-industries-and-
entrepreneurial-development-csv-murthy-51345478
#
C Development

Rob Miles

2008-2009

Department of Computer Science


University of Hull
Contents
Introduction....................................................................................................................... 11
Welcome ............................................................................................................. 11
Reading the notes................................................................................................ 11
Getting a copy of the notes ................................................................................. 11

Computers 12
An Introduction to Computers .......................................................................................... 12
Hardware and Software ...................................................................................... 12
Data and Information ........................................................................................................ 13
Data Processing .................................................................................................. 13
Programmer’s Point:At the bottom there is always hardware ............................. 14

Programming Languages 15
What is Programming? ..................................................................................................... 15
From Problem to Program .................................................................................. 15
Programmer’s Point:The specification must always be there ............................. 16
A Simple Problem ............................................................................................................. 16
Specifying the Problem....................................................................................... 16
Programmer’s Point:metadata is important ......................................................... 17
Programmer’s Point:Good programmers are good communicators .................... 19
Programming Languages .................................................................................................. 19
Programmer’s Point:The language is not that important..................................... 20

C# 20
A look at C# ...................................................................................................................... 20
Dangerous C ....................................................................................................... 20
Programmer’s Point:Computers are always stupid ............................................. 21
Safe C# ............................................................................................................... 21
C# and Objects ................................................................................................... 21
Making C# Run .................................................................................................. 21
Creating C# Programs ........................................................................................ 22
The Human Computer ........................................................................................ 22
Programmer’s Point:Great programmers debug less .......................................... 22
What Comprises a C# Program? ....................................................................................... 22
Controlling the Compiler .................................................................................... 23
Storing the Data .................................................................................................. 23
Describing the Solution ...................................................................................... 23
Identifiers and Keywords .................................................................................... 23

A First C# Program 24
The Program Example ...................................................................................................... 24
using System; ............................................................................................. 24
class GlazerCalc ...................................................................................... 25
static.............................................................................................................. 25
void .................................................................................................................. 25
Main .................................................................................................................. 25
() ....................................................................................................................... 25

i
{ .......................................................................................................................... 26
double.............................................................................................................. 26
width, height, woodLength, glassArea ...................................... 26
Programmer’s Point:Know where your data comes from ................................... 26
; ......................................................................................................................... 26
string widthString, heightString; ............................................. 27
widthString = ............................................................................................. 27
Console. ......................................................................................................... 27
ReadLine ......................................................................................................... 27
() ....................................................................................................................... 27
; ......................................................................................................................... 28
width = ........................................................................................................... 28
double. ........................................................................................................... 28
Parse ................................................................................................................ 28
(widthString); .......................................................................................... 28
heightString = Console.ReadLine(); height =
double.Parse(heightString);............................................................ 29
woodLength = 2*(width + height)*3.25 ; ................................. 29
glassArea = 2 * ( width * height ) ; ...................................... 29
Console.WriteLine ................................................................................... 29
( ......................................................................................................................... 29
"The length of the wood is " ......................................................... 29
+ ......................................................................................................................... 29
woodLength .................................................................................................... 30
+ " feet" ...................................................................................................... 30
) ......................................................................................................................... 30
; ......................................................................................................................... 31
} ......................................................................................................................... 31
} ......................................................................................................................... 31
Programmer’s Point:Program layout is very important ...................................... 31
Punctuation ......................................................................................................... 31

Manipulating Data 32
Variables and Data ............................................................................................................ 32
Types of Variables ............................................................................................................ 32
Storing Numbers ................................................................................................. 32
Storing integer values ......................................................................................... 33
Programmer’s Point:Check your own maths....................................................... 33
integer literal values............................................................................................ 34
Storing real values .............................................................................................. 34
real literal values................................................................................................. 34
Programmer’s Point:Simple variables are probably best .................................... 35
Storing Text ........................................................................................................ 35
char variables ...................................................................................................... 35
char literal values ................................................................................................ 35
string variables.................................................................................................... 36
string literal values.............................................................................................. 37
bool variables ..................................................................................................... 37
bool literal values ............................................................................................... 37
Programmer’s Point:Think about the type of your variables .............................. 37
Identifiers .......................................................................................................................... 38
Programmer’s Point:Think about the names of your variables ........................... 38
Giving Values to Variables ............................................................................................... 39
Expressions ......................................................................................................... 39
Changing the Type of Data ............................................................................................... 40
Widening and Narrowing ................................................................................... 40
Casting ................................................................................................................ 41

ii
Types of Data in Expressions............................................................................................ 42
Programmer’s Point:Casts can add clarity .......................................................... 43
Programs and Patterns ...................................................................................................... 43

Writing a Program 44
Software as a story ............................................................................................................ 44
Comments ........................................................................................................... 45
Programmer’s Point:Don't add too much detail .................................................. 45
Program Flow ................................................................................................................... 45
Conditional Execution - if .................................................................................. 46
Conditions and Relational Operators .................................................................. 46
Combining Logical Operators ............................................................................ 48
Programmer’s Point:Break down your conditions .............................................. 48
Lumping Code Together ..................................................................................... 48
Metadata, Magic Numbers and const ................................................................. 49
Loops ................................................................................................................................ 50
Programmer’s Point:Don't be clever/stupid ........................................................ 53
Breaking Out of Loops ....................................................................................... 53
Programmer’s Point:Be careful with your breaks ............................................... 53
Going back to the top of a loop .......................................................................... 54
More Complicated Decisions ............................................................................. 54
Programmer’s Point:Get used to flipping conditions .......................................... 54
Complete Glazing Program ................................................................................ 54
Operator Shorthand ........................................................................................................... 55
Statements and Values ........................................................................................ 56
Programmer’s Point:Always strive for simplicity ............................................... 57
Neater Printing .................................................................................................................. 57
Using Placeholders in Print Strings .................................................................... 57

Methods 59
Methods So Far ................................................................................................................. 59
Method and Laziness .......................................................................................... 59
Parameters .......................................................................................................... 60
Return values ...................................................................................................... 60
A Useful Method ................................................................................................ 60
Programmer’s Point:Design with methods ......................................................... 61
Method Limitations ............................................................................................ 61
Programmer’s Point:Document your side-effects ............................................... 63
Programmer’s Point:Languages can help programmers...................................... 63
Method Libraries ................................................................................................ 64
Programmer’s Point:Always consider the failure behaviours ............................. 64
Variables and Scope ......................................................................................................... 64
Scope and blocks ................................................................................................ 65
Nested Blocks ..................................................................................................... 65
For loop local variables ...................................................................................... 66
Programmer’s Point:Plan your variable use........................................................ 66

Arrays 66
Why We Need Arrays ....................................................................................................... 66
Array Elements ................................................................................................... 67
Array Element Numbering .................................................................................. 68
Large Arrays ....................................................................................................... 68
Managing Array Sizes ........................................................................................ 68
Creating a Two Dimensional Array .................................................................... 69
More than Two Dimensions ............................................................................... 69
Programmer’s Point:Keep your dimensions low ................................................ 69

iii
Switching 70
Making Multiple Decisions ............................................................................................... 70
Selecting using the if construction.................................................................... 70
The switch construction .................................................................................. 71
Programmer’s Point:switches are a good idea .................................................... 72

Our Case Study: Friendly Bank 72


Bank System Scope........................................................................................................... 72
Bank Notes........................................................................................................................ 72

Enumerated Types 72
Enumeration and states ..................................................................................................... 73
Sample states ...................................................................................................... 73
Creating an enum type ...................................................................................................... 74
Programmer’s Point:Use enumerated types ........................................................ 74

Structures 75
What is a Structure? .......................................................................................................... 75
A sample structure .............................................................................................. 75
Creating a Structure .......................................................................................................... 76
Using a Structure .............................................................................................................. 76
Initial values in structures ................................................................................... 77
Programmer’s Point:Structures are crucial ......................................................... 77
Enumerated Types in Structures ......................................................................... 77

Objects, Structures and References 78


Objects and Structures ...................................................................................................... 79
Creating and Using a Structure ........................................................................... 79
Creating and Using an Instance of a Class .......................................................... 79
References......................................................................................................................... 81
Multiple References to an Instance ..................................................................... 81
No References to an Instance ............................................................................. 82
Programmer’s Point:Try to avoid the Garbage Collector ................................... 83
Why Bother with References? .......................................................................................... 83
References and Data Structures .......................................................................... 84
Programmer’s Point:Data Structures are Important ............................................ 84
Reference Importance ......................................................................................... 84
Bank Notes: References and Accounts ............................................................................. 84

Designing With Objects 85


Programmer’s Point:Not Everything Should Be Possible................................... 86
Data in Objects ................................................................................................................. 86
Member Protection inside objects ...................................................................... 86
Changing private members............................................................................ 87
Programmer’s Point:Metadata makes Members and Methods ............................ 88
public Methods ............................................................................................... 88
Programmer’s Point:private data and public methods ........................................ 88
A Complete Account Class ............................................................................................... 88
Programmer’s Point:Test Driven Development – the only way.......................... 90
Bank Notes: Protecting Account Members ....................................................................... 90

Static Items 90
Static class members ......................................................................................................... 90
Using a static data member of a class ................................................................. 91

iv
Programmer’s Point:Static Data Members are Useful and Dangerous ............... 92
Using a static method in a class .................................................................... 92
Using member data in static methods ................................................................. 93
Programmer’s Point:Static Method Members can be used to make Libraries .... 94
Bank Notes: Static Bank Information ............................................................................... 94

The Construction of Objects 94


The Default Constructor ................................................................................................... 95
Our Own Constructor ........................................................................................................ 95
Feeding the Constructor Information .................................................................. 96
Overloading Constructors ................................................................................................. 96
Overloading a method name ............................................................................... 97
Constructor Management .................................................................................................. 97
Programmer’s Point:Object Construction Should Be Planned ........................... 98
A constructor cannot fail ................................................................................................... 98
Programmer’s Point:Managing Failure is Hard Work ........................................ 99
Constructors and Exceptions .............................................................................. 99
Programmer’s Point:Consider the International Issues ..................................... 100
Bank Notes: Constructing an Account ............................................................................ 100

From Object to Component 100


Components and Hardware ............................................................................................. 101
Why we Need Software Components? ............................................................................ 101
Components and Interfaces ............................................................................................. 101
Interfaces and Design ....................................................................................... 102
Implementing an Interface in C# ..................................................................................... 102
References to Interfaces .................................................................................................. 103
Using interfaces .............................................................................................................. 103
Implementing Multiple Interfaces ................................................................................... 104
Designing with Interfaces ............................................................................................... 105
Programmer’s Point:Interfaces are just promises ............................................. 105
Bank Notes: Account Interfaces...................................................................................... 105

Inheritance 106
Extending a parent class.................................................................................................. 106
Programmer’s Point:Block Copy is Evil ........................................................... 107
Overriding methods ........................................................................................................ 107
Virtual Methods ................................................................................................ 108
Protection of data in class hierarchies............................................................... 108
Bank Notes: Overriding for Fun and Profit ..................................................................... 109
Using the base method .................................................................................................... 109
Making a Replacement Method ...................................................................................... 110
Programmer’s Point:Don’t Replace Methods ................................................... 110
Stopping Overriding ....................................................................................................... 110
Bank Notes: Protect Your Code ...................................................................................... 111
Constructors and Hierarchies .......................................................................................... 111
Constructor Chaining ........................................................................................ 112
Programmer’s Point:Design your class construction process ........................... 112
Abstract methods and classes .......................................................................................... 112
Abstract classes and interfaces ......................................................................... 113
References to abstract classes ........................................................................... 115
Bank Notes: Designing with interface and abstract......................................................... 115
Don’t Panic ..................................................................................................................... 115

Object Etiquette 116


Objects and ToString ................................................................................................. 116

v
The Object class ............................................................................................... 116
The ToString method ................................................................................... 117
Getting the string description of a parent object ............................................... 117
Objects and testing for equals ......................................................................................... 118
Adding an Equals method ................................................................................. 118
Programmer’s Point:Make sure you use the right equals .................................. 119
Objects and this ........................................................................................................... 119
this as a reference to the current instance...................................................... 120
Passing a reference to yourself to other classes ................................................ 120
Confusion with this ....................................................................................... 120
Bank Notes: Good Manners are a Good Idea ................................................................. 120
Programmer’s Point:Always provide an equals behaviour ............................... 121

The power of strings and chars 121


String Manipulation ........................................................................................................ 121
String Transformation....................................................................................... 121
Immutable strings ............................................................................................. 122
String Comparison ............................................................................................ 122
String Editing.................................................................................................... 122
String Length .................................................................................................... 123
Character case................................................................................................... 123
Trimming and empty strings ............................................................................. 123
Character Commands........................................................................................ 123
String Twiddling with StringBuilder ....................................................... 124

Properties 124
Properties as class members ............................................................................................ 124
Creating Get and Set methods ......................................................................................... 124
Using Properties.............................................................................................................. 125
Properties and interfaces ................................................................................................. 126
Property problems ........................................................................................................... 126
Property Assignment Failure ............................................................................ 126
Properties Run Code ......................................................................................... 127
Programmer’s Point:Don’t use new fangled stuff just because it is there ......... 127

Building a Bank 127


Storing Accounts in an array ............................................................................ 128
Searching and Performance .............................................................................. 129
Storing Accounts using a Hash Table ............................................................... 130
Using the C# Hashtable collection.................................................................... 130
Bank Notes: Key properties are important ...................................................................... 131

Storing Business Objects 131


Saving an Account .......................................................................................................... 132
Loading an Account ........................................................................................................ 133
Programmer’s Point:There is only so much you can do ................................... 134
Multiple Accounts........................................................................................................... 134
Using streams ................................................................................................... 134
Programmer’s Point:Streams are wonderful ..................................................... 135
Saving and loading bank accounts .................................................................... 135
Bank Notes: Large Scale Data Storage ........................................................................... 136
Handling different kinds of accounts .............................................................................. 136
Health Warning ................................................................................................ 136
Banks and Flexibility ........................................................................................ 137
Saving a child class........................................................................................... 138
Loading a child class ........................................................................................ 138

vi
Interfaces and the save operation ...................................................................... 139
Loading and factories ....................................................................................... 139
Factory Dependencies....................................................................................... 141
Bank Notes: Messy Code ................................................................................................ 141

Business Objects and Editing 141


Programmer’s Point:Production Code .............................................................. 141
The role of the Business Object ...................................................................................... 142
Managing a bank account name ........................................................................ 142
Testing Name Handling .................................................................................... 143
Programmer’s Point:Use Numbers Not Messages ............................................ 144
Editing the Name .............................................................................................. 144
Creating an Editor class .................................................................................... 144
Programmer’s Point:Get used to passing references around ............................. 145
A Text Based Edit System .............................................................................................. 146
Programmer’s Point:Every Message Counts .................................................... 147
Bank Notes: More Than One User Interface ................................................................... 147

A Graphical User Interface 147


Creating a Form ............................................................................................................. 147
Adding Components to a Form ......................................................................... 148
Editing Text with a TextBox Component ...................................................... 149
The Button Component ................................................................................. 150
Events and Delegates ...................................................................................................... 151
Events and method calls ................................................................................... 152
Button Events ................................................................................................... 152
An Account Edit Form .................................................................................................... 153
Extending the Windows Form class.................................................................. 153
Disposing of forms ........................................................................................... 155
Using the Edit form .......................................................................................... 155
Modal Editing ................................................................................................... 155
Visual Studio and Form Editing ....................................................................... 155
Programmer’s Point:Customers really care about the user interface ................ 156

Using Delegates 156


Type safe delegates ......................................................................................................... 156
Using a Delegate............................................................................................... 156
Programmer’s Point:Delegates are strong magic .............................................. 158

Structured Error Handling 158


The Exception class ........................................................................................................ 158
Creating your own exception type .................................................................................. 158
Throwing an Exception ................................................................................................... 159
Programmer’s Point:Design your error exceptions yourself ............................. 160
Multiple Exception Types ............................................................................................... 160
Programmer’s Point:Programs often fail in the error handlers ......................... 161

Program Organisation 161


Using Separate Source Files ........................................................................................... 161
Creating a Library............................................................................................. 162
Using a Library ................................................................................................. 163
Library References at Runtime ......................................................................... 163
Programmer’s Point:Use Version Control and Change Management ............... 164
Namespaces .................................................................................................................... 164
Putting a Class in a Namespace ........................................................................ 165

vii
Using a Class from a Namespace...................................................................... 165
Using a namespace ........................................................................................... 166
Nesting Namespaces ......................................................................................... 166
Namespaces in Separate Files ......................................................................................... 167
Programmer’s Point:Fully Qualified Names are Good ..................................... 167

Debugging 167
Fault Reporting ............................................................................................................... 167
Programmer’s Point:Design Your Fault Reporting Process ............................. 168
The two types of Fault ...................................................................................... 168
Bugswatting .................................................................................................................... 168
Rip it up and start again .................................................................................... 169
Programmer’s Point:Bug Fixes Cause Bugs ..................................................... 170
Making Perfect Software ................................................................................................ 170

The End? 170


Continuous Development ................................................................................................ 171
Further Reading .............................................................................................................. 171
Code Complete Second Edition: Steve McConnell .......................................... 171
How to be a programmer .................................................................................. 171

Glossary of Terms 172


Abstract ........................................................................................................................... 172
Accessor .......................................................................................................................... 172
Base ................................................................................................................................ 172
Call.................................................................................................................................. 172
Class................................................................................................................................ 172
Code Reuse ..................................................................................................................... 173
Cohesion ......................................................................................................................... 173
Collection........................................................................................................................ 173
Compiler ......................................................................................................................... 173
Component ...................................................................................................................... 173
Constructor ..................................................................................................................... 174
Coupling ......................................................................................................................... 174
Creative Laziness ............................................................................................................ 174
Delegate .......................................................................................................................... 174
Dependency .................................................................................................................... 174
Event ............................................................................................................................... 175
Functional Design Specification ..................................................................................... 175
Globally Unique Identifier (GUID) ................................................................................ 175
Hierarchy ........................................................................................................................ 175
Immutable ....................................................................................................................... 175
Inheritance ...................................................................................................................... 175
Interface .......................................................................................................................... 175
Library ............................................................................................................................ 176
Machine code .................................................................................................................. 176
Member ........................................................................................................................... 176
Metadata ......................................................................................................................... 176
Method ............................................................................................................................ 176
Mutator ........................................................................................................................... 176
Namespace ...................................................................................................................... 177
Overload ......................................................................................................................... 177
Override .......................................................................................................................... 177
Portable ........................................................................................................................... 177
Private ............................................................................................................................. 177
Property .......................................................................................................................... 177
Protected ......................................................................................................................... 178

viii
Public .............................................................................................................................. 178
Reference ........................................................................................................................ 178
Signature ......................................................................................................................... 178
Source file ....................................................................................................................... 178
Static ............................................................................................................................... 178
Stream ............................................................................................................................. 179
Structure.......................................................................................................................... 179
Subscript ......................................................................................................................... 179
Test harness .................................................................................................................... 179
This ................................................................................................................................. 179
Unit test........................................................................................................................... 179
Value type ....................................................................................................................... 180
Virtual Method................................................................................................................ 180

Index 181

© Rob Miles 2008 Department of Computer Science, The University of Hull.


All rights reserved. No reproduction, copy or transmission of this publication may be made without written
permission. The author can be contacted at:

The Department of Computer Science,


Robert Blackburn Building
The University of Hull,
Cottingham Road
HULL
HU6 7RX
UK

Email: rob@robmiles.com
Blog: www.robmiles.com

Monday, 20 October 2008

ix
Computers Introduction

Introduction

Welcome
Welcome to the Wonderful World of Rob Miles™. This is a world of bad jokes, puns,
and programming. In this book I'm going to give you a smattering of the C#
programming language. If you have programmed before I'd be grateful if you'd still
read the text. It is worth it just for the jokes and you may actually learn something.
If you have not programmed before, do not worry. Programming is not rocket science it
is, well, programming. The bad news about learning to program is that you get hit with
a lot of ideas and concepts at around the same time when you start, and this can be
confusing. The keys to learning programming are:
 Practice – do a lot of programming and force yourself to think about things
from a problem solving point of view
 Study – look at programs written by other people. You can learn a lot from
studying code which other folk have created. Figuring out how somebody else
did the job is a great starting point for your solution. And remember that in
many cases there is no best solution, just ones which are better in a particular
context, i.e. the fastest, the smallest, the easiest to use etc.
 Persistence – writing programs is hard work. And you have to work hard at it.
The principle reason why most folks don't make it as programmers is that they
give up. Not because they are stupid. However, don't get too persistent. If you
haven't solved a programming problem in 30 minutes you should call time out
and seek help. Or at least walk away from the problem and come back to it.
Staying up all night trying to sort out a problem is not a good plan. It just
makes you all irritable in the morning. We will cover what to do when it all
goes wrong later in these notes.

Reading the notes


These notes are written to be read straight through, and then referred to afterwards.
They contain a number of Programming Points. These are based on real programming
experience and are to be taken seriously. There are also bits written in a Posh Font.
These are really important and should be learnt by heart.
If you have any comments on how the notes can be made even better (although I of
course consider this highly unlikely) then feel free to get in touch
Above all, enjoy programming.
Rob Miles
rob@robmiles.com
www.robmiles.com

Getting a copy of the notes


These notes are made freely available to Computer Science students at the University of
Hull.
The website for the book is at http://www.csharpcourse.com

C# Programming © Rob Miles 2008 11


Computers An Introduction to Computers

Computers

An Introduction to Computers
Before we consider programming, we are going to consider computers. This is an
important thing to do, because it sets the context in which all the issues of programming
itself are placed.
Qn: Why does a bee hum? One way of describing a computer is as an electric box which humms. This, whilst
Ans: Because it doesn't know technically correct, can lead to significant amounts of confusion, particularly amongst
the words! those who then try to program a fridge. A better way is to describe it as:

A device which processes information according


to instructions it has been given.
This general definition rules out fridges but is not exhaustive. However for our
purposes it will do. The instructions you give to the computer are often called a
program. The business of using a computer is often called programming. This is not
what most people do with computers. Most users do not write programs, instead they
talk to programs written by other people. We must therefore make a distinction between
users and programmers. A user has a job which he or she finds easier to do on a
computer running the appropriate program. A programmer has a masochistic desire to
tinker with the innards of the machine. One of the golden rules is that you never write
your own program if there is already one available, i.e. a keen desire to process words
with a computer should not result in you writing a word processor!
However, because you will often want to do things with computers which have not been
done before, and further because there are people willing to pay you to do it, we are
going to learn how to program as well as use a computer.
Before we can look at the fun packed business of programming though it is worth
looking at some computer terminology:

Hardware and Software


If you ever buy a computer you are not just getting a box which humms. The box, to be
useful, must also have sufficient built in intelligence to understand simple commands to
do things. At this point we must draw a distinction between the software of a computer
system and the hardware.
Hardware is the physical side of the system. Essentially if you can kick it, and it stops
working when immersed in a bucket of water, it is hardware. Hardware is the
impressive pile of lights and switches in the corner....
Software is what makes the machine tick. If a computer has a soul it keeps it in its
software. Software uses the physical ability of the hardware, which can run programs,
do something useful. It is called software because it has no physical existence and it is
comparatively easy to change. Software is the voice which says "Computer Running"
in a Star Trek film.

C# Programming © Rob Miles 2008 12


Computers Data and Information

Windows XP is an operating All computers are sold with some software. Without it they would just be a novel and
system. It gives computer highly expensive heating system. The software which comes with a computer is often
programs a platform on which called its Operating System. The Operating System makes the machine usable. It
they can execute. looks after all the information held on the computer and provides lots of commands
to allow you to manage things. It also lets you run programs, ones you have written
and ones from other people. You will have to learn to talk to an operating system so
that you can create your C# programs and get them to go.

Data and Information


People use the words data and information interchangeably. They seem to think that
one means the other. I regard data and information as two different things:
Data is the collection of ons and offs which computers store and manipulate.
Information is the interpretation of the data by people to mean something. Strictly
speaking computers process data, humans work on information. An example, the
computer holds the bit pattern:
11111111 11111111 11111111 00000000
However you could regard this as meaning:
"you are 256 pounds overdrawn at the bank"
or
"you are 256 feet below the surface of the ground"
or
"eight of the thirty two light switches are off"
The transition from data to information is usually made when the human reads the
output. So why am I being so pedantic? Because it is vital to remember that a computer
does not "know" what the data it is processing actually means. As far as it is concerned
data is just patterns of bits, it is you who gives meaning to these patterns. Remember
this when you get a bank statement which says that you have £8,388,608!

Data Processing
Computers are data processors. Information is fed into them; they do something with it,
and then generate further information. A computer program tells the computer what to
do with the information coming in. A computer works on data in the same way that a
sausage machine works on meat, something is put in one end, some processing is
performed, and something comes out of the other end:

Data Computer Data

This makes a computer a very A program is unaware of the data it is processing in the same way that a sausage
good "mistake amplifier", as machine is unaware of what meat is. Put a bicycle into a sausage machine and it will
well as a useful thing to try to make sausages out of it. Put duff data into a computer and it will do equally
blame..... useless things. It is only us people who actually ascribe meaning to data (see above),
as far as the computer is concerned it is just stuff coming in which has to be
manipulated in some way.
A computer program is just a sequence of instructions which tell a computer what to do
with the data coming in and what form the data sent out will have.

C# Programming © Rob Miles 2008 13


Computers Data and Information

Note that the data processing side of computers, which you might think is entirely
reading and writing numbers, is much more than that, examples of typical data
processing applications are:
Digital Watch : A micro-computer in your watch is taking pulses from a crystal
and requests from buttons, processing this data and producing a display which tells you
the time.
Car : A micro-computer in the engine is taking information from sensors telling it the
current engine speed, road speed, oxygen content of the air, setting of the accelerator
etc and producing voltages out which control the setting of the carburettor, timing of
the spark etc, to optimise the performance of the engine.
CD Player : A computer is taking a signal from the disk and converting it into the
sound that you want to hear. At the same time it is keeping the laser head precisely
positioned and also monitoring all the buttons in case you want to select another part of
the disk.
Games Console: A computer is taking instructions from the controllers and using
them to manage the artificial world that it is creating for the person playing the game.
Note that some of these data processing applications are merely applying technology to
existing devices to improve the way they work. However the CD player and games
console could not be made to work without built-in data processing ability.
Most reasonably complex devices contain data processing components to optimise their
performance and some exist only because we can build in intelligence. It is into this
world that we, as software writers are moving. It is important to think of business of
data processing as much more than working out the company payroll, reading in
numbers and printing out results. These are the traditional uses of computers.
Note that this "raises the As software engineers it is inevitable that a great deal of our time will be spent fitting
stakes" in that the data processing components into other devices to drive them. You will not press a
consequences of software switch to make something work, you will press a switch to tell a computer to make it
failing could be very work. These embedded systems will make computer users of everybody, and we will
damaging. have to make sure that they are not even aware that there is a computer in there!
You should also remember that seemingly innocuous programs can have life
threatening possibilities. For example a doctor may use a spreadsheet to calculate doses
of drugs for patients. In this case a defect in the program could result in illness or even
death (note that I don't think that doctors actually do this – but you never know..)

Programmer’s Point:At the bottom there is always hardware


It is important that you remember your programs are actually executed by a piece of hardware
which has physical limitations. You must make sure that the code you write will actually fit in the
target machine and operate at a reasonable speed. The power and capacity of modern computers
makes this less of an issue than in the past, but you should still be aware of these aspects. I will
mention them when appropriate.

C# Programming © Rob Miles 2008 14


Programming Languages What is Programming?

Programming Languages

What is Programming?
I tell people I am a "Software Programming is a black art. It is the kind of thing that you grudgingly admit to doing,
Engineer". at night, with the blinds drawn and nobody watching. Tell people that you program
computers and you will get one of the following responses:
1. A blank stare.
2. "That's interesting", followed by a long description of the double glazing that
they have just had fitted.
3. Asked to solve every computer problem that they have ever had, and ever will
have.
4. A look which indicates that you can't be a very good one as they all drive
Ferraris and tap into the Bank of England at will.
Programming is defined by most people as earning huge sums of money doing
something which nobody can understand.
Programming is defined by me as deriving and expressing a solution to a given
problem in a form which a computer system can understand and execute.
One or two things fall out of this definition:
 You need to be able to solve the problem yourself before you can write a
program to do it.
 The computer has to be made to understand what you are trying to tell it to do.
And remember just how much I like to think of a programmer as a bit like a plumber! A plumber will arrive at a job
plumbers earn…. with a big bag of tools and spare parts. Having looked at it for a while, tut tutting, he
will open his bag and produce various tools and parts, fit them all together and solve
your problem. Programming is just like this. You are given a problem to solve. You
have at your disposal a big bag of tricks, in this case a programming language. You
look at the problem for a while and work out how to solve it and then fit the bits of
the language together to solve the problem you have got. The art of programming is
knowing which bits you need to take out of your bag of tricks to solve each part of
the problem.

From Problem to Program


Programming is not about The art of taking a problem and breaking it down into a set of instructions you can
mathematics, it is about give a computer is the interesting part of programming. Unfortunately it is also the
organization and structure. most difficult part of programming as well. If you think that learning to program is
simply a matter of learning a programming language you are very wrong. In fact if
you think that programming is simply a matter of coming up with a program which
solves a problem you are equally wrong!
There are many things you must consider when writing a program; not all of them are
directly related to the problem in hand. I am going to start on the basis that you are
writing your programs for a customer. He or she has problem and would like you to
write a program to solve it. We shall assume that the customer knows even less about
computers than we do!
Initially we are not even going to talk about the programming language, type of
computer or anything like that, we are simply going to make sure that we know what the
customer wants.

C# Programming © Rob Miles 2008 15


Programming Languages A Simple Problem

Solving the Wrong Problem


Coming up with a perfect solution to a problem the customer has not got is something
which happens surprisingly often in the real world. Many software projects have failed
because the problem that they solved was the wrong one. The developers of the system
quite simply did not find out what was required, but instead created what they thought
was required. The customers assumed that, since the developers had stopped asking
them questions, the right thing was being built, and only at the final handover was the
awful truth revealed. It is therefore very important that a programmer holds off making
something until they know exactly what is required.
The worst thing you can say This is a kind of self discipline. Programmer’s pride themselves on their ability to
to a customer is "I can do come up with solutions, so as soon as they are given a problem they immediately start
that". Instead you should thinking of ways to solve it, this almost a reflex action. What you should do is think
think "Is that what the "Do I really understand what the problem is?". Before you solve a problem you
customer wants?" should make sure that you have a watertight definition of what the problem is, which
both you and the customer agree on. In the real world this is sometimes called a
Functional Design Specification or FDS. This tells you exactly what the customer
wants. Both you and the customer sign it, and the bottom line is that if you provide a
system which behaves according to the design specification the customer must pay
you. Once you have got your design specification, then you can think about ways of
solving the problem.
You might think that this is not necessary if you are writing a program for yourself;
there is no customer to satisfy. This is not true. Writing an FDS forces you to think
about your problem at a very detailed level.

Programmer’s Point:The specification must always be there


I have written many programs for money. I would never write a program without getting a solid
specification first. This is true even (or perhaps especially) if I do a job for a friend.

A Simple Problem
Consider the scenario; you are sitting in your favourite chair in the pub contemplating
the universe when you are interrupted in your reverie by a friend of yours who sells
double glazing for a living. He knows you are a programmer of sorts and would like
your help in solving a problem which he has:
He has just started making his own window units and is looking for a program which
will do the costing of the materials for him. He wants to just enter the dimensions of the
window and then get a print out of the cost to make the window, in terms of the amount
of wood and glass required.
"This looks like a nice little earner" you think, and once you have agreed a price you
start work. The first thing you need to do is find out exactly what the customer wants
you to do...

Specifying the Problem


When considering how to write the specification of a system there are three important
things:
 What information flows into the system.
 What flows out of the system.
 What the system does with the information.
There are lots of ways of representing this information in the form of diagrams, for now
we will stick with written text when specifying each of the stages:

C# Programming © Rob Miles 2008 16


Programming Languages A Simple Problem

Information going in
In the case of our immortal double glazing problem we can describe the information as:
 The width of a window.
 The height of the window.

Information coming out


The information that our customer wants to see is:
 the area of glass required for the window
 the length of wood required to build a frame.
You can see what we need if you take a look at the diagram below:

Height of
Window

Width of Window

The area of the glass is the width multiplied by the height. To make the frame we will
need two pieces of wood the width of the window, and two pieces of wood the height of
the window.

Programmer’s Point:metadata is important


Information about information is called metadata. The word meta in this situation implies a
"stepping back" from the problem to allow it to be considered in a broader context. In the case of
our window program the metadata will tell us more about the values that are being used and
produced, specifically the units in which the information is expressed and the valid range of values
that the information may have. For any quantity that you represent in a program that you write you
must have at least this level of metadata .

What the program actually does


The program can derive the two values according to the following equations:
glass area = width of window * height of window
wood length = (width of window + height of window) * 2

Putting in more detail


We now have a fairly good understanding of what our program is going to do for us.
Being sensible and far thinking people we do not stop here, we now have to worry
about how our program will decide when the information coming in is actually valid.
This must be done in conjunction with the customer, he or she must understand that if
information is given which fits within the range specified, your program will regard the
data as valid and act accordingly.
In the case of the above we could therefore expand the definition of data coming in as:

C# Programming © Rob Miles 2008 17


Programming Languages A Simple Problem

 The width of the window, in metres and being a value between 0.5 Metres
and 3.5 metres inclusive.
 The height of the window, in metres and being a value between 0.5 metres
and 2.0 metres inclusive.
Note that we have also added units to our description, this is very important - perhaps
our customer buys wood from a supplier who sells by the foot, in which case our output
description should read :
 The area of glass required for the window, in square metres. Remember
that we are selling double glazing, so two panes will be required.
 The length of wood required for the frame, given in feet using the
conversion factor of 3.25 feet per metre.
Note that both you and the Having written this all up in a form that both you and the customer can understand,
customer must understand we must then both sign the completed specification, and work can commence.
the document!

Proving it Works
In a real world you would now create a test which will allow you to prove that the
program works, you could for example say:
If I give the above program the inputs 2 metres high and 1 metre wide the program
should print out: 4 square metres of glass and 9.75 feet of wood.
The test procedure which is designed for a proper project should test out all possible
states within the program, including the all important error conditions. In a large system
the person writing the program may have to create a test harness which is fitted around
the program and will allow it to be tested. Both the customer and the supplier should
agree on the number and type of the tests to be performed and then sign a document
describing these.
Testing is a very important part of program development. There is even one
development technique where you write the tests before you write the actual program
that does the job. This is actually a good idea, and one we will explore later. In terms of
code production, you can expect to write as much code to test your solution as is in the
solution itself. Remember this when you are working out how much work is involved in
a particular job.

Getting Paid
Better yet, set up a phased At this point the supplier knows that if a system is created which will pass all the tests
payment system so that you the customer will have no option but to pay for the work! Note also that because the
get some money as the system design and test procedures have been frozen, there is no ambiguity which can lead to
is developed. the customer requesting changes to the work although of course this can still happen!
The good news for the developer is that if changes are requested these can be viewed in
the context of additional work, for which they can be expect to be paid.

Customer Involvement
Note also in a "proper" system the customer will expect to be consulted as to how the
program will interact with the user, sometimes even down to the colour of the letters on
the display! Remember that one of the most dangerous things that a programmer can
think is "This is what he wants"! The precise interaction with the user - what the
program does when an error is encountered, how the information is presented etc., is
something which the customer is guaranteed to have strong opinions about. Ideally all
this information should be put into the specification, which should include layouts of
the screens and details of which keys should be pressed at each stage. Quite often
prototypes will be used to get a idea of how the program should look and feel.

C# Programming © Rob Miles 2008 18


Random documents with unrelated
content Scribd suggests to you:
veille, il eut donné pour rien tous ces Bouquins qui l'encombraient,
comme il disait dédaigneusement. Le lendemain, il se révéla effréné
Bibliophile.—Les livres avaient fait Damis riche;—Damis voulut
connaître et apprécier de tels amis, qui, outre la fortune, pouvaient
lui donner l'estime et la considération.—Avec sa grosse bonhomie de
rentier, il s'efforça de devenir Bibliognoste, et, dans ce but, il se tint
au courant de la Bourse de la Librairie moderne; se fit envoyer tous
les catalogues et assista de temps à autre aux soirées de la salle
Silvestre.
Une fois dans cette voie, Damis s'y élança avec bonheur et orgueil; il
apprit à avoir du nez, comme on dit dans l'argot de la brocante. Il
sut deviner les Livres dont l'épuisement, c'est-à-dire la hausse, était
proche. Il acheta les plus luxueux nouveaux venus, les éditions
elzéviriennes des éditeurs à la mode; il parapha de son nom tous les
bulletins de souscription, mais il se garda soigneusement de se livrer
aux vieux volumes dans la crainte très fondée de s'y perdre corps et
biens.
Aujourd'hui Damis est un de nos Bibliophiles les plus connus parmi
les amateurs sérieux; certains libraires lui envoient d'autorité et à
compte-ferme les nouvelles publications. Loin de s'en plaindre, il en
tire au contraire vanité et se rengorge avec d'étranges gloussements
de satisfaction. Il tient cependant à choisir lui-même ses vélins, ses
japons, ses chines et ses Whatman. Il les collationne avec soin,
regarde dans la transparence du jour la vergeure du papier, la
marque de Van-Gelder, de Rives et d'Archettes et ne se déclare
satisfait qu'après les plus grandes investigations de son œil.
Sa Bibliothèque est simple: de larges casiers de bois blanc passé au
brou de noix, sont modestement appliqués sur les parois d'une vaste
pièce rectangulaire exposée au levant.—Damis y vient dès l'aube,
non pour se délecter dans la lecture de ses livres,—il faudrait les
couper et cela leur ôterait du prix,—mais pour travailler ses
exemplaires dans le silence du cabinet; dans l'un, il ajoute un
portrait, dans l'autre il insère un autographe de l'auteur, dans celui-
ci, il place de doubles épreuves des gravures, à la sanguine ou en
bistre; dans celui-là enfin, ce sont des cartons, des notes, mille
choses qu'il case.—Il lit aussi les catalogues qu'il vient de recevoir, et
y apporte une attention soutenue:... ah! ah! se dit-il tout-à-coup
avec des éclats de joie, mais, je l'ai.... superbe.... magnifique,
admirable affaire! Un livre que j'ai payé Dix francs et que je trouve
catalogué: Cinquante.—Il se frotte les mains et se met en devoir de
découper en chantant le numéro qu'il vient de remarquer, afin de le
coller légèrement sur la garde du volume dont il est question.—Oh!
oh! exclama-t-il une minute après, ceci n'est point cher;—le
malheureux libraire ne s'y entend point, trois francs! un ouvrage de
vingt-cinq... J'irai le quérir cet après dîner.
Damis passe ainsi sa vie dans la paix la plus douce, dans un otium
sine dignitate, c'est un Catalogueur Bibliopole: on ne peut pas dire
tel oncle tel neveu. Il considère le volume comme une action
soumise aux variations de la Hausse et de la Baisse. Il n'aime le livre
que parce qu'il en tripote.—Lui parlez-vous d'un volume relié?—Bah!
vous répond-il, faire relier un livre c'est jeter son argent au vent, sa
valeur n'en augmente pas d'un sol; Si Thouvenin, Duru, Thibaron y
ont mis la main..., je ne dis pas, mais cependant, croyez-moi,
conclut-il, l'idéal, c'est un livre non touché, non coupé, dans l'état
primordial de sa brochure.

CONCLUSION.

Les Catalogueurs sont utiles à la richesse Nationale; nous ne voulons


pas les accabler, nous les plaindrons néanmoins de donner si peu de
nourriture à leur cervelle. Ils ne comprendront jamais la belle
réponse du duc de Vivonne à Louis XIV, lui demandant à quoi il lui
servait de lire: «Sire, la lecture fait à mon esprit ce que vos
perdreaux font à mes joues.»
SIMPLE COUP-D'ŒIL
SUR

LE ROMAN MODERNE

Tenent Tympanum et Cytharam, et


gaudent ad sonum organi.
Job, XXI.

OUS achetiez un Roman, il y a quelques vingt ans, Monsieur,


et, tout heureux de votre emplette, signée d'un nom aimé,
vous vous preniez à lire,—les pieds sur les chenets,—les
vigoureuses aventures d'un d'Artagnan superbe, d'un héros cambré,
souple et fort comme l'acier de sa lame, qui vous menait bon train, à
travers mille casse-cous, au chapitre final, où triomphait sa cause.
C'était par une belle matinée de mai, de septembre ou d'octobre; le
ciel était pur ou nuageux, l'air tiède ou vif, les feuilles d'un vert
tendre ou d'un chaud orangé,—peu importe; en deux temps, vous
aviez lié connaissance avec votre homme, détaillé vivement sa mise,
conçu votre sympathie, et, avec toute la simplicité de votre belle
âme de lecteur,—vous vous intéressiez à ce fringant jeune premier
que vous veniez d'entrevoir et que vous ne deviez plus quitter
jusqu'à la fin de ses peines.
Que de galantes intrigues! Quelles joyeuses équipées! Vous en
souvenez-vous?
Arquebusades et coups de rapière! Embuscades et rendez-vous
discrets! Tout votre sang français bouillait; vous entriez dans la peau
de l'Amadis; bataillant, intrigant, faisant l'amour, vous couriez avec
lui de tous côtés, et terriblement essoufflé, c'est à peine si vous
preniez un léger repos, à la dernière ligne d'un émouvant chapitre.—
Et vous, chère Madame, que de charmantes soirées vous passiez
sous la lampe, ou chastement pelotonnée dans le douillet repos du
lit! Vous parcouriez fiévreusement le gros Roman du jour, laissant
sommeiller Monsieur votre mari; et votre petit cœur battait bien fort,
lorsque le héros, au coin d'un carrefour sombre, luttait vaillamment
contre une bande de vilains coupe-jarrets.

II

Ces émotions, ces courses échevelées en plein air, ces voyages de


l'un à l'autre pôle, le Roman de cape et d'épée,—qui résume tout
cela,—le Roman d'aventures a définitivement vécu, le poignard, la
guitare et l'échelle de corde ont été abandonnés aux magasins
d'accessoires; Amédée Achard a été le dernier apôtre de l'émotion
en pourpoint et des manteaux couleur de muraille; Ponson du
Terrail, Gaboriau, Eyma et tutti quanti ne font plus les délices que
des commis-voyageurs, des portières ou des rares grisettes, aussi
rares que les Carlins; les lecteurs de Dumas père ont diminué et Paul
Féval lui-même, ce grand-prêtre de la dague et du poison a du se
convertir subitement sur le chemin de Damas de la littérature.
Le Roman intime, bourgeois ou plébéien, fait aujourd'hui nos délices.
—Notre époque veut du réel; l'optique est émoussée, nous prenons
une loupe; notre toucher est affaibli, notre main saisit un scalpel;
nous anatomisons. Le Roman est devenu une école pratique, nous y
étalons les belles horreurs, les cas pathologiques les plus bizarres;
nous indiquons les chloroses et les pustules sociales. Nous ne
sommes plus en gondole à Venise, nous nous promenons, en
radeau, dans les égouts des villes.

III

Eh! mon Dieu, nous n'avons pas tort; nous en sommes arrivés là
graduellement, sans y prendre garde; notre époque littéraire, si
féconde, avait blasé nos sens; notre goût est devenu un petit Néron
difficile à satisfaire. Il nous fallait du nouveau, des choses fortes,
odorantes; nos meilleurs auteurs essayent de nous servir.
Les Romanciers sont devenus des analystes du plus grand talent; ils
ont mis le tablier blanc, se sont munis de tous les instruments de
chirurgie, et nous voilà suivant leur cours avec intérêt. Nous voyons
les ulcères de la vie, c'est vrai, mais le musée Dupuytren a bien aussi
ses charmes; et il faut avouer que l'hôpital, les faits divers et les
tribunaux moralisent peut-être plus sûrement les masses que les
pillules du docteur Labruyère, les panacées du pharmacien
Montaigne ou la Sagesse du Sieur Charron.

IV

Sans vouloir faire une étude philologique et sans chercher ab ovo les
causes de la phase littéraire que nous traversons, nous croyons
découvrir dans Byron et le Byronnisme l'origine de la Nouvelle Ecole.
Ce n'est pas trop paradoxal, comme vous allez le voir:
Nous sommes en 1830;—la littérature classique est moribonde; le
Romantisme qui vient de naître, fait déjà des effets de torse et
montre son biceps; un instant indécis, les Jeunes-France se divisent
en deux camps. Dans l'un la force domine; on y cultive la plastique,
la ligne, la couleur, la fooorme. Dans l'autre, la lecture de Byron a
sentimentalisé les cœurs, les idylles maladives germent dans les
cerveaux, le spleen bruine dans l'âme, on larmoie les amours
défuntes ou les ambitions déçues; Lamartine grossit un lac de ses
sanglots, Musset empoisonne le beau Rolla; de Vigny suicide
Chatterton sur le théâtre.
Une partie du public se laisse aller à cet abandon de soi-même. Il
devient exquis, distingué, de suprême bon ton de se faire voir blême
et verdâtre de teint; les amants malheureux se noient dans leurs
larmes; les couturières, par douzaines, allument des réchauds; une
douce folie se répand partout; seul, le bourgeois inconscient et
digne, regarde sans comprendre.

Une réaction était nécessaire, l'idéalisme prenait des proportions


inquiétantes pour la santé des esprits, toutes les cervelles étaient
parties au diable, dans l'aérostat de la pensée. Il fallait ramener le
public au réel, à la vérité, aux choses dignes de commisération; il
était utile de le désefféminer, de lui montrer, en l'intéressant, la vie
rude, nerveuse, aride, dans ses manifestations de chaque jour, dans
ses luttes, dans ses drames du grand monde; de lui faire palper les
tristesses de la bourgeoisie et les misères des bas-fonds de la
société.
—«Assez de byronnisme, trêve aux jérémiades et aux variations en
mineur sur les amours personnelles; ne distillons plus ce miel
affadissant, versons quelques gouttes d'absinthe dans nos
œuvres:»—tel fut le raisonnement d'une nouvelle École, qui semble
commencer à Balzac, pour se continuer par MM. de Goncourt, Zola
et Daudet.
Balzac, cet Hercule puissant de la littérature moderne, doit être
considéré comme le premier maître du réalisme, de ce réalisme
sobre, correct, distingué; de ce réalisme qui met encore des gants et
qui flâne, monocle dans l'œil, au milieu des salons les plus
mélangés. Toute une époque défile sous ses yeux, il la fixe
magistralement dans ses immortels chefs-d'œuvre; mais il restait à
glaner sur ses timidités, sur les choses qu'il n'a pas osé décrire, sur
ses craintes, ses pudeurs, ses délicatesses; c'est là précisément ce
que font aujourd'hui ses successeurs.
Les héritiers directs de l'auteur de la Comédie humaine se
montrèrent plus hardis, mais avec certaines réticences. Les Delvau,
les Champfleury, les Baudelaire, les Duranty et autres, explorèrent
les coins de la vie réelle non encore décrits. On vit alors, pour la
première fois, ces peintures crayeuses des barrières de Paris, ces
types bouffons des petites villes de province, ces croquis bizarres
d'ateliers d'artistes, cet argot pittoresque des différents milieux
parisiens, cette photographie littéraire, pour tout dire, qui rend
exactement l'impression des choses vues et étudiées
minutieusement.

VI

Avec Gustave Flaubert et Madame Bovary, se dessine dans sa


véritable incarnation le Roman moderne: c'est de ce chef-d'œuvre, à
la fois lumineux de réalité, saisissant et osé, que prennent source les
productions remarquables si discutées aujourd'hui.
Flaubert a créé un genre, qui tâtonnait et se cherchait avant lui, et,
dit-on, il l'a crée comme se créent les belles choses, sans avoir l'idée
même de sa hardiesse, sans le voulu, sans la prétention de faire une
merveille; il a écrit Madame Bovary, parce qu'il avait vécu son
roman;[1] il avait vu, il est venu,—il a vaincu,—la fameuse
promenade en fiacre, semblait même à l'auteur, la chose la plus
chaste du monde; Flaubert avait mis là, toute la virginité, toute
l'heureuse naïveté de son talent; il racontait et ne faisait pas, à son
sens, une peinture immorale.
Après Madame Bovary on voit apparaître la Fanny de Feydeau,
L'Affaire Clémenceau de Dumas fils, certains Romans à sensation
d'Alphonse Karr, de Sandeau, de Feuillet, de George Sand, dans une
tonalité différente, ainsi qu'une foule d'œuvres justement célèbres,
signées des noms les plus connus.
Edmond et Jules de Goncourt spécialisent le genre, dans cette
admirable série d'études qui commencent à franchir le cercle
restreint, mais artistique, où leur immense talent fut apprécié et
admiré dès l'origine. Puis vient Zola, qui se cantonne en pleine
époque impériale, de 1852 à 1870, et qui, avec une vigueur géniale,
nous en trace les types les mieux accusés.—La Fortune des Rougon,
La Curée, La Conquête de Plassans, La Faute de l'Abbé Mouret et
L'Assommoir sont des Romans typiques, forts, accentués et
vigoureusement traités par un artiste qui voit très juste à travers la
fougue de son tempérament.
Alphonse Daudet, le dernier venu, dans une manière plus délicate et
moins heurtée, a produit des œuvres exquises, ciselées avec art et
amour. Ses Contes du Lundi, ses Lettres de Mon Moulin, Fromont-
Jeune et Risler aîné, resteront assurément dans l'avenir, comme de
fins et fidèles tableaux des mœurs contemporaines.
Nous voudrions parler également de Ferdinand Fabre, l'auteur d'un
chef d'œuvre trop peu connu: L'Abbé Tigrane. Nous voudrions dire
quelques mots sur Tourgueneff, sur Henri et Jules de la Madelène,
sur Claretie, sur Noriac, sur Ernest d'Hervilly, sur Cladel et sur tant
d'autres hommes de talent, mais, dans cette étude au courant de la
plume, que nous regrettons même d'avoir entreprise avec un si
grand sans façon, nous sommes forcé de nous arrêter,—au reste,
nous dira-t-on, vous êtes Bibliophile et non pas critique: Ne, sutor,
supra crepidam.

VII

Il faut des Romans aux peuples corrompus, a dit J.-J. Rousseau.


Aujourd'hui, tout le monde lit, depuis la laitière qui vend son lait le
matin, au coin de la rue, jusqu'à la duchesse sur sa chaise longue;
dans notre société actuelle, le Roman est indispensable; Alexis
Bouvier et Emile Richebourg font les délices des masses; aucune
force morale ne saurait s'opposer à cet engouement. Mais que
conclure du Roman moderne, du Roman qui se possède et qui se
tient? Ne concluons pas, ou du moins concluons par cette simple
conversation que nous eûmes dernièrement avec un de nos plus
spirituels Romanciers.
Ah! Si j'étais plus jeune, nous disait-il, si je ne me trouvais pas
dévoré par le temps, par le journalisme, par les gêneurs et aussi par
la paresse, quel admirable roman je voudrais faire?
Comment cela?
Je ferais rire et pleurer tour à tour.... mais il me faudrait passer des
nuits entières, travailler avec une volonté dont je ne me sens plus la
force.... que ce serait beau, cependant!
Enfin, que feriez-vous?
Un Roman par Dépêches.
LE BIBLIOPHILE AUX CHAMPS
Je ne voyage sans livres, ny en paix,
ny en guerre.
Montaigne.

Rus! quando ego te aspiciam! s'exclamait le vieil Horace


avec des perspectives de calme et de repos.—O ubi campi!
modulait Virgile, regrettant la tranquillité des champs, les
riantes collines, les ruisseaux jaseurs et les forêts hautaines.—O
campagnes! lointains paysages, hameaux et prairies, sombres taillis
et larges futaies, quand pourrai-je vous retrouver! soupire de même
le pauvre Bibliophile des villes, qui, après les démarches
bouquinières, les luttes, les recherches patientes de l'hiver, voit
renaître les idylles en son cœur et veut enfin lire dans l'inimitable
livre de la nature (si parva licet componere magnis). Livre à grandes
marges, divinement relié d'azur par le céleste ouvrier de l'Univers.
«Les livres voyagent avec nous, dit Janin: ils nous suivent à la ville, à
la campagne; on emporte son livre au fond des bois, on le retrouve
au coin du feu».—Le Bibliophile sait cela, et, avant de quitter son nid
d'hiver, il se prépare à varier par de douces lectures les longs
farniente et les molles langueurs de sa villégiature. La valise est
prête.—Il passe en revue sa Bibliothèque, lentement,
minutieusement, amoureusement; il inspecte avec des regards
tendres et charmés, ses Juntes, ses Dollet, ses Vascosan, ses
Gryphes, ses Turnèbe, ses Plantin, ses Baskerville et ses Elzéviers; il
considère, avec une Bibliognostique passionnée, ses volumes aux
armes de M. de Baluze, du Cardinal Dubois, du Maréchal d'Estrées
ou du Comte de Hoÿm.—Que de bons et sincères amis il va falloir
abandonner là, bien emmaillottés, bien préservés du fléau des
insectes, des mites et des larves, bien en dehors de tout contact
humide!—Le Bibliophile a le cœur serré, il ne peut détacher ses yeux
de tant d'œuvres chéries qui lui rappellent tous les heureux instants
de l'intimité, et aussi, les joies poignantes de la trouvaille.—Il faut
cependant partir, et faire un tri avec discernement.
Ici, ce Ronsard l'attire, puis, tout près, ce Rémy-Belleau, et plus loin,
le marquis de Racan, ce poëte des gentes pastourelles; voilà trois
grands chantres de la nature qu'il fera bon de relire à l'ombre d'un
bosquet ou sous la verte feuillée d'un bois peuplé de rossignols.—
Prendrai-je Madame Deshoulières? se demande-t-il avec inquiétude;
choisirai-je Delille et ses Jardins, Jean-Jacques et sa Botanique, le
sage Lucrèce, le divin Horace, le délicat Tibulle ou l'amoureux Jean
Second? Dois-je emporter les Fabulistes, les Mythologues et
environner ma solitude de Faunes et de Nymphes, de Satyres, de
Dryades et d'Hamadryades, charmantes Divinités, que mon esprit
subjugué verra se jouer entre les arbrisseaux?—Eh! voici, bien à
propos, les Lettres à Emilie sur la Mythologie, par Demoustier....
Mais, l'édition est si jolie, si merveilleusement reliée, que je
craindrais... de tels livres ne voyagent pas, leur propre splendeur les
attache au rivage.
Le Bibliophile est très perplexe;—choisir parmi ceux qu'on aime n'est
pas chose aisée. Ah! que n'a-t-il acheté jadis cette mignonne
Bibliothèque portative du voyageur, si intelligemment publiée par T.
Desoër, commencée vers l'an XI par J.-B. Fournier.—Quelle aimable
Bibliothèque de campagne, que cette collection de volumes in-32 qui
commence à La Fontaine pour finir au Cardinal de Bernis!—
Heureusement, Cazin vient au secours du Bibliophile voyageur. Il
vient, muni de l'Arioste, d'Amyot, d'Anacréon, de Boccace, de Bussy-
Rabutin, de Cubières, de Dorat, de Fontenelle, de Boufflers, de
Galland, de La Fare, de Marguerite de Navarre, de Marivaux,
Marmontel, Piron, Sterne et Rabelais. On peut, certes, avec de tels
maîtres, se déclarer satisfait.
Mais parmi les modernes, sur quels auteurs fixer son choix? On sait
Musset par cœur; Hugo est trop Titanique et ferait payer de
l'excédent, Balzac peut être abandonné au même titre; il faut donc
des peintres de genre—ut pictura poesis,—François Coppée,
Josephin Soulary, André Lemoyne et Albert Mérat. Et puis encore?—
le Bibliophile pense, et avec juste raison, qu'on doit laisser dans leur
rigidité ces pauvres grands classiques trop froids pour être lus en
plein air, et prendre quelques romans—pour ce, il s'appuie sur le
raisonnement de S. Mercier:—«Voyez ce qu'on lit à la campagne, dit
l'auteur du Tableau de Paris; reviendra-t-on sur une éternelle
tragédie de Racine? Non; il faudra se plonger dans les compositions
vastes et intéressantes, dans les romans anglois, dans les romans de
l'Abbé Prévôt, dans ceux de l'admirable Restif de la Bretonne... on
cherche alors un horizon littéraire, étendu, vaste comme l'horizon qui
nous environne; on a recours aux romans de chevalerie plutôt que
de se dessécher l'esprit et l'imagination dans une maigre épître de
Boileau ou dans ces ouvrages arides et contournés que le Sanhédrin
littéraire[2] vante tout seul et que le reste de la France dédaigne;—on
demande des faits, de l'action, du mouvement; on aime à suivre
tous ces caractères mélangés.»
Le Bibliophile choisit donc Hoffmann et Edgard Poë, Théophile
Gautier et Gérard de Nerval, Mérimée et Stendhal, et aussi quelques
volumes du spirituel Monselet, ne serait-ce que l'Almanach des
Gourmands, un livre qui joint les délices de l'esprit à ceux de
l'estomac, et auquel l'air vif et les longues promenades ne portent
pas préjudice... au contraire.
Fier de cette petite Bibliothèque, le voyageur va pour partir, mais il
jette de nouveau un coup d'œil attendri sur les intimes qu'il laisse
derrière lui; il dit un dernier adieu aux Moralistes, aux Tragiques, aux
Critiques, aux bons gros Dictionnaires si souvent feuilletés, aux
Historiens, aux Rhéteurs, aux Philosophes, aux Pères de l'Eglise, à
tous ces génies qui se serrent le coude avec l'étonnant esprit de
corps de l'immortalité.
Notre Amateur, s'il n'a pas de villa, cherche un coin silencieux, une
chaumière où mettre les amis qu'il emporte; ce qu'il lui faudrait, à
lui, le raffiné, ce serait un vetuste castel gothique pour goûter toute
la saveur de ses préférés des XVe et XVIe siècles. Il trouve que le
décor a quelque chose de la reliure bien conservée et il lui semble,
que, dans un jardin dessiné par Le-Nôtre, il dégusterait mieux ses
Lettres de Madame de Sévigné ou la poésie rectiligne de Despréaux;
—on a vu des Bibliophiles qui n'auraient pu se pâmer aux finesses de
Parny ou de Grécourt sans le milieu pastoral du Petit Trianon, et
d'autres, entreprendre un voyage d'Italie afin de lire Casanova ou
Carlo Gozzi, nonchalamment couchés dans une gondole vénitienne
en vue de La Piazzetta.
Avant que de s'enfoncer dans l'oasis qu'il rêve, le Bibliophile passe
dans quelques villes de province où il fouille, remue, bouleverse les
rayons des petits libraires; mais il trouve peu et les occasions sont
chauves.—Souvent même, ô stupéfaction! la mine simple et benoîte
du dépositaire de MM. les éditeurs, cache une astuce, une méfiance
dont on n'aurait su se douter, et, lorsqu'on croit acheter certains
volumes de cabinet de lecture, des Renduel, des Gosselin ou des
Poulet-Malassis dans des conditions honnêtes, on voit le petit
Papetier-Libraire se redresser de toute la hauteur de ses
connaissances, et se mettre à citer les prix fantastiques des grands
Bibliopoles parisiens, ainsi qu'un collégien qui fait étalage
d'érudition.—Règle générale, en province, où l'on croit rencontrer ou
plutôt déterrer tant de choses merveilleuses, on ne trouve que des
prétentions boursouflées et des prix le plus souvent excessifs.
Une fois dans son nid de verdure, quelle joie! quelle jeunesse! quel
enthousiasme! Ce ne sont pour commencer que de longues
promenades à travers prés, avec un ou plusieurs Cazins en poche; le
trop plein de vie semble déborder notre urbain; il boit l'air
champêtre à se rompre les poumons, et, ce n'est que fatigué, mais
non repu, qu'il vient s'étendre sur la mousse épaisse, pour lire avec
ravissement les bavardages, les superbes descriptions et l'esprit à
foison des chers auteurs qui l'accompagnent.
Lit-il Aline, reine de Golconde, ce conte ravissant de Boufflers? il ne
sait si c'est fiction ou réalité; une meunière aux coquets retroussis
de jupe vient-elle à passer? aussitôt son imagination voit Aline;—lit-il
le Paradis perdu? il croit le retrouver.
Et le soir des jours de pluie, devant un grand feu clair et gai de
bourrées qui pétillent, les jambes allongées, muni de la pipe
familière, le ventre à l'aise, l'esprit quiet, avec quelle bonne humeur
il comprend la large gaieté gauloise de Maistre Rabelais ou de
Béroalde de Verville;—ajoutons à cela, une femme qui travaille et
des enfants qui dorment: tout le bonheur de la vie n'est-il pas là?
Mais, malheureusement, nous ne pouvons pas dire: ab uno disce
omnes,—pour un Bibliophile sage et modeste, qui vit ainsi retiré loin
du monde au tumulte odieux, que de Bibliophiles qui boivent aux
champs l'onde perfide du Léthé!—la chasse, la pêche, les courses à
cheval, les exercices qui rompent les membres, s'accommodent peu
de la lecture et font négliger les livres;—nous en connaissons plus
d'un, qui, parti avec des caisses de volumes, est retourné dans ses
pénates hivernales sans les avoir même déballées.
Ces derniers ne sont pas sincèrement Bibliophiles, ce sont des
Bibliophiles ab hoc et ab hac.
L'amour des Livres ne fait pas prime dans leur cœur; ils ne se
servent de la lecture que comme d'une flèche qu'ils décochent à
l'ennui, le livre est un rayon de soleil pour eux dans les jours de
tristesse; lorsque la gaieté les accapare, ils abandonnent avec
ingratitude ces amis des temps néfastes.
LES PROJETS
D'HONORÉ DE BALZAC

Les idées sont des fonds qui ne


portent intérêt qu'entre les mains
du talent.
Rivarol.

ORSQU'UN colosse aussi puissant que Balzac vient à tomber,


vaincu par un travail opiniâtre et les terribles secousses
d'un cœur battant sans cesse d'une épaule à l'autre, toute
une génération littéraire s'approche, timidement d'abord, effarée et
curieuse, munie de la lorgnette, du microscope et du scalpel.—La
poule aux œufs d'or est morte; chacun regarde son plumage, se
remémore les prodiges pondus; c'est à qui sera le premier à lui
ouvrir le ventre, et, selon le mot des enfants, à y chercher la petite
bête.—Las de filer ses feuilletons aux pieds de ses créanciers, ayant
encore aux lèvres l'amertume des luttes soutenues, le vaillant
Hercule a succombé, laissant un vide immense dans la littérature
militante.—Balzac est mort. Vive Balzac!—La place est aussitôt
occupée par les biographes, ces agioteurs du souvenir; l'homme
n'est plus, que déjà le héros survit et prête à la légende.
Aux biographies particulières de Honoré de Balzac, ont succédé les
portraits intimes et les croquis sans façons, à bâtons rompus, du
romancier en pantoufles; il n'est pas de littérateur contemporain
dont on ait mieux et plus souvent commenté l'œuvre et la vie,—
après Madame de Surville, la sœur dévouée, l'Alma Soror, apportant
un pieux hommage à la mémoire de son frère, deux amis du Home,
deux familiers des heureux jours, Th. Gautier et Léon Gozlan se
mirent à tisonner la braise encore chaude des Jardies,—Lamartine,
lyrique contemplateur, étudia l'homme et ses œuvres; Champfleury,
tout en essayant les souliers du géant (errare humanum), donna la
note de son admiration; Armand Baschet glana dans le sillon ouvert,
et il n'y eut pas jusqu'à Werdet, le libraire éditeur, qui ne voulut,
dans un style d'exquise bonhomie et d'après ses souvenirs de
boutiquier, juger la vie, l'humeur et le caractère de son génial auteur.
Tant de biographies toisent Balzac du haut en bas, le tournent et le
retournent, inventorient son passé, pourtraicturent sa grande figure,
largement et minutieusement à la fois, le présentent dans les grands
côtés de la vie publique et les petits côtés de l'intimité; réservent
peu de place enfin, à de nouvelles investigations.—La
correspondance qui fut publiée en dernier lieu, livre le Tourangeau à
nu et couronne la série biographique, en laissant lumineusement
apercevoir Balzac dans le déboutonné de son talent, à la bonne
franquette de sa gaieté Rabelaisienne, de ses projets, de ses efforts,
de sa tristesse et de ses larmes.
La Bibliographie, comme prise de couardise devant sa gigantesque
production, est demeurée hésitante et muette jusqu'alors.—Une
Bibliographie de Balzac serait cependant un ouvrage aussi utile que
remarquable[3]; se trouvera-t-il quelqu'un pour l'entreprendre?—
Quoiqu'il en soit, il nous a paru intéressant de grouper dans une
étude courte et succincte de curieux et de catalogographe, plutôt
que d'érudit les projets littéraires éclos dans le cerveau du plus
grand manieur d'idées de notre époque.
Balzac seul, eût pu connaître et décrire les innombrables et étranges
idées qui se sont produites et développées sous son crâne
effervescent; notre rôle se bornera à noter les conceptions qu'il
arrêtait sous un titre quelconque dans un but de Bibliopée.
A peine installé dans sa mansarde de la rue Lesdiguières, avec la
Gloire pour maîtresse et Lui-Même pour domestique, le jeune
Honoré se rompt les poignets dans des compositions qui n'ont
jamais vu le jour.—C'est d'abord Coqsigrue, un roman qui le hante
pendant de longues semaines et qu'il abandonne pour le mieux
mûrir et ruminer; puis, c'est un Opéra Comique (?) auquel il
renonce, faute de compositeur, mais aussi, pour ne pas sacrifier au
goût actuel et s'adonner au grand Genre, à la manière des Racine et
des Corneille, à son fameux Cromwell enfin, dont il résume le plan
détaillé dans une lettre à sa sœur Laure (1820).—Pour se délasser
des fatigues que lui procure sa Tragédie, le Débutant Croquignole,
selon son mot. Un Petit Roman dans le Genre Antique, fait mot à
mot, pensée à pensée, avec toute la gravité qu'une telle chose
comporte.
Ces quelques projets occupent toute la première étape littéraire de
Balzac; plus tard, en 1830, il parle avec enthousiasme d'une vaste
entreprise, ce sont Les Trois Cardinaux, œuvre dans laquelle il eût
voulu mettre en scène, le Père Joseph, dit l'Eminence grise, Mazarin
et Dubois—à la même époque il prépare des Romans et des articles
de Revue qui ne furent jamais achevés et peut-être jamais
commencés, en voici les titres: Un Article sur le Serment,—Les
Causeries du Soir (volume de nouvelles) Le Maudit (article ébauché
pour la Revue de Buloz), Les Amours d'une Laide,—Le Marquis de
Carabas, et, principalement La Bataille d'Austerlitz, dont Balzac parle
fréquemment comme devant faire partie des Scènes de la Vie
Militaire.
De 1833 à 1850, l'auteur du Père Goriot, fait plus de besogne que de
projets; nous devons néanmoins citer comme tels: 20 pages sur le
Salon de 1833,—Le Privilége, roman qui devait suivre Le Curé de
Campagne,—L'Histoire d'une Idée heureuse, dont le prologue seul a
été fait, et aussi, un projet de pièce-vaudeville: Richard Cœur
d'Eponge, que Théophile Gautier devait arranger et faire représenter
au Théâtre des Variétés.
Nous nous arrêtons plus particulièrement sur un projet que Balzac
paraît avoir beaucoup caressé et qu'il affirme même avoir exécuté en
entier, bien qu'il n'ait jamais été mis en lumière.—En 1836, il écrit de
La Boulonnière, près Nemours, à maître Werdet, son éditeur: «J'ai
terminé le manuscrit de Sœur Marie des Anges, je ne veux pas le
confier à la diligence.»
Sœur Marie des Anges, cela est patent, n'a jamais existé que dans
l'imagination irradiée du romancier, qui voulait peindre, sous ce titre,
une âme de jeune fille avant l'invasion d'un amour qui la conduira au
couvent—: «Je lui ferai abhorrer les carmélites dans sa jeunesse où
elle ne rêve que le monde et les fêtes, dit-il à ce sujet, (Lettre à
Madame Hanska, 1838) et le malheur la ramènera au couvent qui
sera pour elle un asile et un refuge. Après avoir passé huit années
au couvent, elle arrive à Paris aussi étrangère que le Persan de
Montesquieu, et je lui ferai juger et dépeindre le Paris moderne par
la puissance de l'idée, au lieu de me servir de la méthode
dramatique de nos romans. C'est une donnée nouvelle, et, si je
réussis à l'exécuter comme je l'entends, je vous réponds que vous
serez content de moi.»
Hélas, de Sœur Marie des Anges, de ce Livre d'Amour, comme se
plaisait à le nommer l'écrivain, il ne reste que ces quelques lignes
fugitives!
Mais, ce n'est plus le Balzac aux projets vagabonds qui doit nous
occuper maintenant, c'est l'auteur de la Grrrande Comédie humaine,
et les ouvrages divers que cette œuvre immense devait comprendre
dans son ensemble.
Dans les Scènes de la vie privée, Balzac avait projeté les romans suivants,
dont les titres seuls nous donnent d'amers regrets:—Les Enfants,—
Un Pensionnat de Demoiselles,—Intérieur de Collége, puis, (ici nos
regrets s'accentuent),—Gendres et Belles-Mères.
Dans les Scènes de la vie parisienne devaient prendre place: Une Vue du
Palais,—Entre-Savants,—Le Théâtre comme il est.
Aux Scènes de la vie politique, se seraient ajoutées les œuvres suivantes:
L'Histoire et le Roman,—Les Deux Ambitieux,—L'Attaché
d'Ambassade et... Comment on fait un Ministère.
Avant d'entreprendre les Scènes de la vie militaire, Balzac en avait dressé
le plan et nous y trouvons ces nombreuses lacunes: Les Soldats de
la République (trois épisodes), L'Entrée en Campagne,—Les
Vendéens,—Pour Les Français en Egypte, les 2e et 3e épisodes font
défaut, ce sont:—Le Prophète,—Le Pacha. Pour le reste, voici tous
les titres des Œuvres militaires projetées: L'armée Roulante,—La
Garde Consulaire,—Un Combat,—L'Armée assiégée,—La Plaine de
Wagram,—L'Aubergiste,—Les Anglais en Espagne,—Moscou,—La
Bataille de Dresde,—Les Traînards,—Les Partisans,—Une Croisière,—
Les Pontons,—La Campagne de France,—Le Dernier Champ de
Bataille,—L'Emir,—La Pénissière et Le Corsaire Algérien.
Il manque deux romans aux Scènes de la vie de Campagne: Le Juge de Paix,
—Les Environs de Paris.—Aux Etudes Philosophiques, il en manque cinq:
Le Phédon d'Aujourd'hui,—Le Président Fritot,—Le Philanthrope,—Le
Nouvel-Abeilard,—La Vie et les Aventures d'une Idée.—Dans les
Etudes Analytiques, enfin, Balzac devait faire: L'Anatomie des Corps
Enseignants, Une Monographie de la Vertu et un grand Dialogue
Philosophique et Politique sur la Perfection du XIXe siècle.
Notre travail de catalogographe se termine ici,—nous ne chercherons
pas à y ajouter un Postface, ni à savoir, si Balzac, qui a changé tant
de fois les titres de ses œuvres, a refondu ses premiers projets et
leur a donné un corps sous une autre enveloppe,—nous avons pensé
pouvoir être agréable à chacun en réunissant, au milieu de Nos
caprices, ces quelques notes sérieuses sur les ouvrages projetés par
notre Grand Romancier, nous en avons donné les titres pour ce qu'ils
valent, sans commentaires ni frais d'érudition,—qu'on nous tienne
compte du reste.
VARIATIONS
SUR LA RELIURE DE FANTAISIE

La vérité dort auprès des grands dans


de brillantes reliures; la sagesse
veille auprès des vrais lecteurs sous
de minces cartonnages.
L semble que les Bibliopégistes modernes, aient oublié l'art
de ces lourdes mais fastueuses reliures des XVe et XVIe
siècles, en drap de satin azuré, en drap d'or ou de Damas;
en cuir blanc ou rouge; en veluyeau sanguin, vermeil, vert ou noir;
en pel velue, en soie blanche, ouvrée ou tannée; en cuir de cerf,
estampé à froid ou doré à chaud; en parchemin gaufré, en étoffe de
Panne; en velours pourpre, frappé d'écussons ou de fleurs de lys; le
tout rehaussé, harnaché pour ainsi dire, de bossettes, d'agrafes, de
fermouers, $1m>, fermails ou fermaillets, de pipes d'or ou d'argent,
de tuyaux du même métal pour tourner les feuillets; de perles,
d'émeraudes ou de saphirs, de toute l'orfévrerie la plus étincelante.
Les livres du bon temps étaient de véritables objets d'art; on les
retrouve dans d'anciens inventaires, énumérés pêle-mêle avec les
robes, les chaperons, les dagues, les Hanaps et les coupes. Le Duc
Philippe-le-Hardi avait adapté aux ais d'un livre de prière, une platine
d'argent doré, avec une petite niche, pour y mettre ses lunettes afin
qu'elles ne fussent cassées, et l'histoire nous apprend, que ce même
Duc, paya seulement seize livres à un certain Martin Lhuillier,
Marchand-Libraire à Paris, pour lui avoir couvert huit volumes,
Romans, Bibles et autres, reliés en cuir en grain.
L'oubli de telles armures somptueuses et surtout de prix aussi doux
est à regretter, aujourd'hui, que les relieurs adonnés au maroquin du
Levant, au vélin, au chagrin et à la basane se font payer si cher.
On a dit et répété souvent, que la Reliure, au fond, n'est au Livre
que ce que l'habit est à l'homme ou la livrée au serviteur; or, l'habit
suit la mode, et la mode se trouve hélas! de nos jours, froide,
correcte, guindée, sobre et banale; l'art de la reliure s'en ressent;
nous n'entendons pas parler de la grande reliure, à compartiments,
à ornements à dentelles, à entrelacs; de ces livres qu'on n'ose
toucher dans la crainte de ternir le brillant du maroquin ou l'éclat des
petits-fers, mais de la demi-reliure,—de la reliure pour tous,—du
cartonnage de fantaisie moderne, de la robe de chambre du livre, en
un mot, qui donne à cet ami qu'on aime, tout le négligé charmant
des causeries intimes.
Les cartonnages, dits à la Bradel, sont fort appréciés aujourd'hui; ils
forment une enveloppe gracieuse et modeste, et, sans rien enlever à
l'ampleur des marges, ils conservent la virginité de la brochure. Ces
cartonnages sont d'excellents vêtements préservatifs; ils ont la
commodité, la flexibilité, la grâce, mais il leur manque la gentillesse,
l'esprit fantaisiste, l'aspect d'art que nous voudrions voir adopter
plus généralement. Ils sont classiques en diable; c'est là leur grand
défaut.
On emploie à l'usage de ces demi-reliures, soit du papier peigne, soit
du papier marbré, maroquiné ou à escargots, soit du papier de
couleur mate, soit encore de la toile anglaise, gaufrée, teintée, unie
ou à ramages, chagrinée ou glacée; quelques relieurs, imitateurs du
genre hollandais, usent de parchemin blanc ou de vélin; ils replient
les bords en gouttières, ornent le dos de très vilaines lettres
polychrômes calligraphiées, et puis, c'est tout...; il semble que là, se
trouvent, les colonnes d'Hercule du cartonnier relieur.
Les Bibliophiles ne doivent pas négliger le petit art de ces demi-
reliures; c'est à eux de chercher, de vivifier leur goût, de le
spécialiser, de trouver l'original et de l'imposer à l'imagination rétive
de leurs fournisseurs ordinaires, qui demeurent trop longtemps sur
le chemin du convenu et du ponsif.
Un Livre doit être relié, selon son esprit, selon l'époque où il a vu le
jour, selon la valeur qu'on y attache et l'usage que l'on compte en
faire; il doit s'annoncer par son extérieur, par le ton gai, éclatant, vif,
terne, sombre ou bigarré de son accoutrement. Rien qu'en le voyant
sur les rayons d'une Bibliothèque, l'âme du lecteur doit se
remémorer les sensations éprouvées, les douces heures qu'elle a
passé à savourer sa sagesse ou son esprit; un Bibliophile de goût se
reconnaît à ces détails. Existe-t-il quelque chose de plus horrible à
voir qu'une Bibliothèque monochrome! un Bibliotaphe seul peut en
posséder une semblable.
Les Livres réunis habilement doivent subir un prisme;—le dos de
chacun d'eux devrait peindre son caractère individuel; n'est-ce pas là
qu'on voit ses volumes lorsque, dans les longues flâneries, on flatte
de l'œil sans y toucher tous ces gais compaignons qu'on a su
assembler en docte académie.—Si votre Molière est relié en veau
porphyre, que Montaigne le soit en veau racine, Montesquieu en
veau granit et Dorat en veau rose, n'allez pas couvrir la Pucelle de
Voltaire en maroquin blanc, réservez cette nuance virginale à celle
de Chapelain; vêtir les Lettres de Madame de Maintenon en
Lavallière serait une hérésie; mais faire endosser aux Historiettes de
Tallemant des Réaux une tunique vert bile, ne serait que justice.
Certains amateurs, bien pensants, ont adopté une couleur
particulière pour chaque classe de leur Bibliothèque.—Ces Chromo-
Bibliotactes habillent de violet, nuance du prélat, les ouvrages de
Théologie et les Saintes Ecritures. En souvenir du printemps de la
Nature, l'Histoire naturelle est revêtue du vert le plus tendre; aux
Œuvres dramatiques, ils accordent le rouge, couleur de sang; pour
les Romans, ils prennent le rose, tandis que pour les Livres
d'histoire, de Médecine ou de Jurisprudence, ils emploient le noir
avec de minces filets d'or.—L'Astrologie porte l'azur céleste, les
Œuvres Badines sont gratifiées du ton mauve, les Voyages de bleu
d'outre-mer, les Traités du Mariage de jaune serin et les Opuscules
Scatologiques de Terre de Sienne.
Cette manière de procéder n'est pas absolument fautive, bien loin de
là; mais une Bibliothèque, ainsi classée, ressemble trop à une armée
divisée en différents corps de troupes; on reconnaît de loin
l'uniforme de ses soldats, mais on n'en dévisage pas suffisamment
l'originalité.—Ceci dit, revenons aux cartonnages de fantaisie.
Au dix-huitième siècle, chaque relieur en avait sa spécialité, son
genre à lui, et, pour rien au monde, il n'eût voulu copier la manière
de ses plus illustres confrères; l'un, faisait les maroquins; l'autre, les
veaux fauves; celui-ci, les vélins blancs; celui-là, les demi-reliures ou
les encartonnages. Tous luttaient de délicatesse et de goût afin de
spécialiser davantage leur talent individuel.—Mesdames de France,
filles de Louis XV, ayant désiré avoir chacune sa Bibliothèque
particulière, s'adressèrent aux Derome père et fils, pour faire relier
les livres qu'elles avaient rassemblés; Mme Adélaïde prit pour couleur,
le maroquin rouge; Mme Victoire, le maroquin vert-olive; et Mme
Sophie, le maroquin citron.
Aujourd'hui, la reliure qui a gagné comme métier, a décliné comme
art; elle ne suit aucun précepte et séjourne dans le stérile et le
monotone. Les Bibliophiles artistes peuvent la sortir de ce marasme,
en faisant exécuter pour leurs volumes des demi-reliures de fantaisie
empreintes de personnalité et d'originalité. Ils peuvent employer à
cet effet les délicieux débris des temps passés et les jolies choses de
l'industrie moderne; les étoffes de soie, les peaux de chevreau
minces, les cuirs exotiques, les tissus à arabesques, toute la gamme
chromatique et exquise des tons pâles et fins qu'on ne songe jamais
à mettre en usage.—Un Livre doit être habillé avec toute la maturité
que l'on apporte aux choses sérieuses; il faut, pour ainsi dire, le
consulter, le relire avant que de le livrer à l'ouvrier; on doit être
pénétré de sa tournure d'esprit et rêver à sa toilette avec toute
l'orgueilleuse vanité, toute la science d'harmonie que l'on apporte à
la toilette d'une femme.
La reliure de veau brun, de vélin ou de peau de truie, convient à
l'antiquité, aux XVe, XVIe et XVIIe siècles; mais lorsque nous arrivons à
la Régence et au XVIIIe siècle, à cette époque de rocaille, de luxe
mignard et caressant, la fantaisie peut, à la rigueur, prendre ses
ébats.—N'allez pas faire tailler, par exemple, un vêtement de toile
verte, rouge ou grise pour ce Faublas, pour ce Pied de Fanchette ou
pour ces Contes grivois du charmant de Caylus; Thouvenin, pour de
tels ouvrages, composait une reliure à la fanfare ou à la rose,
comme il les appelait; mais, si vous ne voulez leur accorder que la
demi-reliure, cherchez, consultez votre tact et trouvez.—Pour nous—
qu'on excuse notre extravagance, si extravagance il y a,—lorsqu'il
s'agit de revêtir un de ces fins conteurs du siècle dernier, nous
rôdons dans les antres du bric-à-brac, entassant les brocarts, les
vieilles étoffes de soie, les velours de Gênes ou de Venise, puis, si
nous mettons la main sur un petit carré de satin broché, épave de
quelque falbalas traîné dans les allées de Versailles; vite, nous
achetons le chiffon, et, courant chez le relieur, qui ne manque jamais
de pousser les hauts cris, nous lui disons impérieusement: «Voici un
cartonnage Pompadour de notre invention, au lieu de votre vilaine
toile anglaise, prenez ceci; faites broder le titre, à l'endroit du dos, à
deux ou trois centimètres du haut du volume, dans l'intervalle des
fleurs brochées; dorez en tête, ajoutez un signet d'un rose passé,
mettez tout le temps et tout le soin nécessaires, exécutez fidèlement
ce qui vous est commandé et ne répliquez pas.
Ce Cartonnage Pompadour, nous pouvons l'affirmer, est tout
gracieux et d'une couleur locale qui charme.—Quel plaisir de lire,
sous ce costume, Crébillon le fils, de La Morlière ou de Cahusac! Ce
n'est, en réalité, qu'enjuponner davantage des œuvres faites pour
des femmes, mais l'ombre de ces voluptueux auteurs ne peut que
s'en réjouir.—Nous dirons plus, si un jour, quelqu'amateur venait
nous apprendre qu'il a placé dans le Sopha, un sachet à la
Sénéchale, et un autre de poudre d'Iris, dans les Bijoux indiscrets,
nous le jugerions petit-maître, mais homme de goût et nous lui
crierions: Bravo.
Un roi d'Egypte, Ozimandias, avait écrit sur la porte de sa
Bibliothèque: Trésor des Remèdes de l'âme; Jules Janin, modifiant
les termes, mit sur la porte de la sienne: Pharmacie de l'âme.—Si
nous prenons la métaphore à la lettre, nous dirons qu'une
Bibliothèque doit être administrée comme une pharmacie; la couleur
seule des livres doit indiquer la nature du remède; il ne faut pas
prendre le poison pour l'antidote, le Marquis de Sade pour
l'Internelle Consolation; le honteux Marquis, sera relié en peau de
boa tannée et cylindrée, environné de fermoirs solides, tout devra
indiquer le venin Borgiaque qu'il enferme.—L'Internelle Consolation,
au contraire, dans son enveloppe de maroquin blanc semée de croix
d'or, dira de suite aux yeux: «Venite ad me afflicti mærore». C'est
encore un point à observer dans la reliure des Livres.
Pour les auteurs modernes, l'imagination du Bibliophile peut donner
un libre cours à la fantaisie bien entendue; lorsqu'une même
littérature originale possède des écrivains d'un caractère aussi
nettement accusé que Victor Hugo, Musset, Dumas, George Sand,
Mérimée, Théophile Gautier, Gérard de Nerval, Baudelaire, Stendhal
et Flaubert, on peut se livrer sans crainte aux plus jolies demi-
reliures qui se puissent voir.
La Chine et le Japon nous envoient à profusion depuis quelque
temps, des sortes de cuirs gaufrés, dorés, mordorés, mats, noirs ou
rouges; les uns, tatoués de plaques brillantes; les autres, bigarrés
avec une habileté naïve qui enchante les regards. Il existe, de
même, des Crépons d'un tissu léger qui s'élargit à l'eau, des papiers
japonais ornés de compositions brillantes et harmonieuses, d'un
coloris où rien ne se heurte; toutes ces babioles, d'un goût si délicat
et d'un prix si modéré, sont recherchées des artistes et abandonnées
des Bibliophiles; c'est un tort, car leur emploi, digne des Livres
modernes, donne à ceux qui en sont décorés une originalité
gracieuse qui contraste fort heureusement avec les maroquins, les
chagrins ou les parchemins antiques.
Ces japonaiseries peuvent être mises en usage ensemble ou
séparément;—dans une demi-reliure de maroquin à mosaïque, avec
coins, introduisez le papier multicolore et oriental que nous vous
indiquons, ou bien, faites encartonner un volume, en cuir argenté,
de même provenance; le titre à froid posé sur le dos même du
volume; cherchez toutes les combinaisons possibles, vous trouverez
un effet saisissant, une reliure agréable et commode, et vous
abandonnerez bien vivement les papiers peigne ou unis, les toiles,
les basanes, et tous les autres procédés ternes et vulgaires dont les
moindres désagréments sont d'être laids et de ne rien exprimer à
l'œil qui les contemple.
Voyez entre autres la Guerre du Nizam, de Méry, recouverte des
dessins guerriers de ces papiers du Japon; de suite, ce Roman
exprime par son dehors le mouvementé de son esprit; voyez
Salambô enfermé dans un cuir byzantin, et encore les Caprices en
zigzags, de Gautier, emmaillottés dans les arabesques d'un Crépon;
tous ces cartonnages, ne disent-ils pas mille fois plus de choses
qu'un dos chagriné à titre d'or? Pour Mérimée, pour de Nerval pour
Barbey-d'Aurévilly, pour Edgard Poë ou Baudelaire, c'est bien là ce
qu'il faut.—Afin de mieux exprimer notre façon de voir et de
comprendre la demi-reliure de fantaisie, il nous faudrait le style
professionnel et coloré d'une couturière; nous aimerions à pouvoir
décrire une reliure tons sur tons ou suivant les variantes des pièces,
des mosaïques, des signets et des gardes,—quelque chose dans
cette manière: «Toilette pour un vol. in-18: tunique bleu pâle, avec
pièce pour titre jaune de Naples, rehaussée de filets noirs, signet
bleu marine, dorure en tête, or bronze; tranches légèrement
ébarbées, gardes jaunes assorties à la pièce, avec ex-libris frappé en
noir au milieu.—Date et lieu de publication à froid au bas du dos.»
Nous aurions mille toilettes de ce genre à donner, mais le style n'y
est pas, et d'ailleurs les Bibliophiles, nos confrères, sont trop artistes,
trop gens de goût et de sens assuré, pour que nous songions un
seul instant à vouloir ébaucher des projets de demi-reliure;—qu'ils
veuillent bien prendre en bonne note cependant les quelques idées
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookbell.com

You might also like