04055nam 2200469 450 991016276110332120170217082058.01-78728-801-3(CKB)3710000001044863(MiAaPQ)EBC4796411(PPN)22020702X(CaSebORM)9781787129597(EXLCZ)99371000000104486320170302d2017 uy| 0engurcnu||||||||rdacontentrdamediardacarrierClojure high performance JVM programming : explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and more : a course in three modules /Eduardo Díaz, Shantanu Kumar, Akhil Wali1st editionBirmingham :Packt,2017.1 online resource (565 pages) illustrations1-78712-959-4 Includes bibliographical references.Explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and more About This Book Discover Clojure's features and advantages and use them in your existing projects Explore lesser-known and more advanced features, constructs, and methodologies such as asynchronous channels, actors, logic programming, and reactive programming Measure and monitor performance, and understand optimization techniques Who This Book Is For If you're looking to learn more about its core libraries and delve into the Clojure language in detail, then this book is ideal for you. Prior knowledge of the Clojure language is required. What You Will Learn Understand tools for the Clojure world and how they relate to Java tools and standards (such as Maven) Write simple multicore programs using Clojure's core concepts, such as atoms, agents, and refs Get to grips with Clojure's concurrency and state-management primitives in depth Analyze latency using the Criterium library Avoid reflection and boxing with type hints Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers Modify and add features to the Clojure language using macros Test your code with unit tests, specs, and type checks to write testable code Troubleshoot and style your Clojure code to make it more maintainable In Detail Clojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications. This learning path aims at unleashing the true potential of the Clojure language so you can use it in your projects. It begins with installing and setting up the Clojure environment before moving on to explore the language in depth. You'll get acquainted with its various features such as functional programming, concurrency, reducers, transducers, core.async and core.logic, and so on with a great level of detail. Moving on, you'll also learn how to enhance performance using Java interoperability and JVM-specific features from Clojure; you'll even master language features such as asynchronous channels, actors, logic programming, reactive programming, metaprogramming, and so on. This learning path combines some of the best that Packt has to off...Clojure (Computer program language)Java (Computer program language)Functional programming (Computer science)Clojure (Computer program language)Java (Computer program language)Functional programming (Computer science)Díaz Eduardo673405Kumar ShantanuWali AkhilMiAaPQMiAaPQMiAaPQBOOK9910162761103321Clojure2866845UNINA04381nam 2200577 450 99654796280331620231020211242.03-031-26212-310.1007/978-3-031-26212-8(CKB)5860000000311344(DE-He213)978-3-031-26212-8(MiAaPQ)EBC30766865(Au-PeEL)EBL30766865(BIP)087248710(PPN)270612912(MiAaPQ)EBC30735215(Au-PeEL)EBL30735215(EXLCZ)99586000000031134420231020d2023 uy 0engurnn|008mamaatxtrdacontentcrdamediacrrdacarrierMathematical Foundations of Software Engineering A Practical Guide to Essentials /Gerard O'ReganFirst edition.Cham, Switzerland :Springer, Springer Nature Switzerland AG,[2023]©20231 online resource (XXXVII, 519 p. 152 illus., 96 illus. in color.) Texts in Computer Science Series3-031-26211-5 Includes bibliographical references and index.1. Fundamentals of Software Engineering -- 2. Software Engineering Mathematics -- 3. Mathematical Prerequisites -- 4. Introduction to Algorithms -- 5 -- Algebra -- 6. Mathematical Induction and Recursion -- 7. Graph Theory -- 8. Sequences, Series and Permutations and Combinations -- 9. A Short History of Logic -- 10. Propositional and Predicate Logic -- 11. Advanced Topics in Logic -- 12. Language Theory and Semantics -- 13. Automata Theory -- 14. Computability and Decidability -- 15. Software Reliability and Dependability.This essential textbook presents an introduction to the mathematical foundations of software engineering. It presents the rich applications of mathematics in areas such as error-correcting codes, cryptography, the safety and security critical fields, the banking and insurance fields, as well as traditional engineering applications. Topics and features: Addresses core mathematics for critical thinking and problem solving Discusses propositional and predicate logic and various proof techniques to demonstrate the correctness of a logical argument. Examines number theory and its applications to cryptography Considers the underlying mathematics of error-correcting codes Discusses graph theory and its applications to modelling networks Reviews tools to support software engineering mathematics, including automated and interactive theorem provers and model checking Discusses financial software engineering, including simple and compound interest, probability and statistics, and operations research Discusses software reliability and dependability and explains formal methods used to derive a program from its specification Discusses calculus, matrices, vectors, complex numbers, and quaternions, as well as applications to graphics and robotics Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how mathematics can assist them in building high-quality and reliable software on time and on budget. The text also serves as an excellent self-study primer for software engineers, quality professionals, and software managers. Dr. Gerard O’Regan is an Assistant Professor in Mathematics at the University of Central Asia in Kyrgyzstan. His research interests include software quality and software process improvement, mathematical approaches to software quality, and the history of computing. He is the author of several books in the Mathematics and Computing fields with Springer.Texts in computer science.Software engineeringSoftware engineeringMathematicsComputer SoftwareComputer ProgrammingComputersSoftware engineering.Software engineeringMathematics.005.1O'Regan Gerard921504MiAaPQMiAaPQMiAaPQBOOK996547962803316Mathematical Foundations of Software Engineering3561868UNISA