• Complain

Pierre-Yves Saumont [Pierre-Yves Saumont] - Functional Programming in Java: How functional techniques improve your Java programs

Here you can read online Pierre-Yves Saumont [Pierre-Yves Saumont] - Functional Programming in Java: How functional techniques improve your Java programs full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: Manning Publications, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Pierre-Yves Saumont [Pierre-Yves Saumont] Functional Programming in Java: How functional techniques improve your Java programs
  • Book:
    Functional Programming in Java: How functional techniques improve your Java programs
  • Author:
  • Publisher:
    Manning Publications
  • Genre:
  • Year:
    2017
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Functional Programming in Java: How functional techniques improve your Java programs: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Functional Programming in Java: How functional techniques improve your Java programs" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Summary

Functional Programming in Java teaches Java developershow to incorporate the most powerful benefits of functionalprogramming into new and existing Java code. Youll learn to thinkfunctionally about coding tasks in Java and use FP to make yourapplications easier to understand, optimize, maintain, andscale.

About the Technology

Heres a bold statement: learn functional programming andyoull be a better Java developer. Fortunately, youdont have to master every aspect of FP to get a big payoff.If you take in a few core principles, youll see an immediateboost in the scalability, readability, and maintainability of yourcode. And did we mention that youll have fewer bugs?Lets get started!

About the Book

Functional Programming in Java teaches you how toincorporate the powerful benefits of functional programming intonew and existing Java code. This book uses easy-to-grasp examples,exercises, and illustrations to teach core FP principles such asreferential transparency, immutability, persistence, and laziness.Along the way, youll discover which of the new functionallyinspired features of Java 8 will help you most.

Whats Inside

  • Writing code thats easier to read and reason about

  • Safer concurrent and parallel programming

  • Handling errors without exceptions

  • Java 8 features like lambdas, method references, and functionalinterfaces

  • About the Reader

    Written for Java developers with no previous FP experience.

    About the Author

    Pierre-Yves Saumont is a seasoned Java developer with threedecades of experience designing and building enterprise software.He is an R&D engineer at Alcatel-Lucent Submarine Networks.

    Pierre-Yves Saumont [Pierre-Yves Saumont]: author's other books


    Who wrote Functional Programming in Java: How functional techniques improve your Java programs? Find out the surname, the name of the author of the book and a list of all author's works by series.

    Functional Programming in Java: How functional techniques improve your Java programs — read online for free the complete book (whole text) full work

    Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Functional Programming in Java: How functional techniques improve your Java programs" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

    Light

    Font size:

    Reset

    Interval:

    Bookmark:

    Make
    Functional Programming in Java: How functional techniques improve your Java programs
    Pierre-Yves Saumont

    Functional Programming in Java How functional techniques improve your Java programs - image 1

    Copyright

    For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact

    Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Email: orders@manning.com

    2017 by Manning Publications Co. All rights reserved.

    No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.

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

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

    Picture 3Manning Publications Co.20 Baldwin RoadPO Box 761Shelter Island, NY 11964
    Development editor: Marina MichaelsTechnical development editor: Mark ElstonProject editor: Janet VailCopyeditor: Andy CarrollProofreaders: Katie Tennant and Melody DolabTechnical proofreader: Alessandro CampeisTypesetter: Dottie MarsicoCover designer: Leslie Haimes

    ISBN 9781617292736

    Printed in the United States of America

    1 2 3 4 5 6 7 8 9 10 EBM 22 21 20 19 18 17

    Brief Table of Contents
    Table of Contents
    Why Functional Programming?

    Functional programs contain no assignment statements, so variables, once given a value, never change. More generally, functional programs contain no side-effects at all. A function call can have no effect other than to compute its result. This eliminates a major source of bugs, and also makes the order of execution irrelevantsince no side-effect can change an expressions value, it can be evaluated at any time. This relieves the programmer of the burden of prescribing the flow of control. Since expressions can be evaluated at any time, one can freely replace variables by their values and vice versathat is, programs are referentially transparent. This freedom helps make functional programs more tractable mathematically than their conventional counterparts.

    John Hughes Why Functional Programming Matters

    I call it my billion-dollar mistake ... My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldnt resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

    Tony Hoare

    Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence.

    Edsger W. Dijkstra

    Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they dont improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often.

    Steve McConnell

    The proper use of comments is to compensate for our failure to express ourselves in code.

    Robert C. Martin

    In programming the hard part isnt solving problems, but deciding what problems to solve.

    Paul Graham

    Object oriented programming makes code understandable by encapsulating moving parts. Functional programming makes code understandable by minimizing moving parts.

    Michael Feathers

    I have always found that plans are useless, but planning is indispensable.

    Dwight D. Eisenhower

    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

    Tony Hoare

    If wed asked the customers what they wanted, they would have said faster horses.

    Henry Ford

    Whereas some declarative programmers only pay lip service to equational reasoning, users of functional languages exploit them every time they run a compiler, whether they notice it or not.

    Philip Wadler How to declare an imperative

    We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp.

    Guy Steele

    People get types. They use them all the time. Telling someone he cant pound a nail with a banana doesnt much surprise him.

    Unknown

    TDD replaces a type checker ... in the same way that a strong drink replaces sorrows.

    byorgey

    Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

    Brian W. Kernighan and P. J. Plauger

    As soon as we started programming, we found to our surprise that it wasnt as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.

    Maurice Wilkes (1949)

    Preface

    Writing programs is fun and rewarding. Programming is an activity that many people would do for fun, and yet are paid for. In this sense, a programmer is a bit like an actor, a musician, or a professional football player. It seems like a dream until you, as a programmer, begin to have real responsibilities. Writing games or office applications isnt really a big deal from this point of view. If your application has a bug, you simply fix it and release a new version. But if you write applications that people depend on, and if you cant simply release a new version and have your users install it themselves, its another story. Of course, Java isnt meant for writing applications for monitoring nuclear plants or flying airplanes, or any system in which a simple bug could put human life at risk. But if your application is used to manage internet backbones, you wouldnt like a nasty bug to be discovered one day before the Olympic Games open, causing a TV transmission failure for a whole country. For such applications, you want to be sure that your program can be proven correct.

    Most imperative programs cant be proven correct. Tests only allow us to prove programs incorrect when they fail. Successful tests dont prove much. What you release are programs that you werent able to prove incorrect. With single-threaded programs, extensive tests may let you show that your code is mostly correct. But with multithreaded applications, the number of possible condition combinations makes that impossible. Clearly, we need a different way to write programs. Ideally, it would be a way that allows us to prove that a program is correct. Because this is generally not fully possible, a good compromise is a clear separation between parts of the program that can be proven correct and parts that cant. This is what functional programming techniques offer.

    Next page
    Light

    Font size:

    Reset

    Interval:

    Bookmark:

    Make

    Similar books «Functional Programming in Java: How functional techniques improve your Java programs»

    Look at similar books to Functional Programming in Java: How functional techniques improve your Java programs. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


    Reviews about «Functional Programming in Java: How functional techniques improve your Java programs»

    Discussion, reviews of the book Functional Programming in Java: How functional techniques improve your Java programs and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.