Beschreibung
Learn Programming Language Concepts instead of just Programming Languages! It will help you to think in a more powerful, abstract but solution-oriented way about the problems you have to solve every day as a Software Developer.Knowing Concepts is much more powerful than knowing a specific Programming Language. Being able to identify a Concept in a Programming Language not only helps writing code in a more powerful style, it also makes you think about a given problem in a more abstract way.Additionally, it aids you in recognizing that very same Concept in other Languages that you might once use, and thus helps you when learning new Languages.Modern Programming Languages keep coming up with more and more new Concepts that make writing software more efficient and less error prone. However, most of us still try to solve all tasks in that verbose style we've known for ages. This results in too much (boilerplate) work that takes too long to write and introduces too many nasty bugs. But we're doing all that although there are so many helpful Programming Language Concepts around these days. Smart people have worked out these tools for us, so we should benefit from them, in order to make our lives as Software Developers easier, our software better in terms of quality and maintainability and thus make our customers happier.This book tries to shed light on modern Programming Language Concepts. It won't teach you a specific Language. Instead it makes the Concepts clear that the powerful Programming Languages of today lay their foundation on and what these are beneficial for. Many code examples in arbitrary Programming Languages as well as many illustrating figures help to get the ideas across. Covered topics are for example: Closures, Currying, Algebraic Datatypes, Type Classes, Immutability, Macros, Monads, Coroutines, Continuations, Lazy Evaluation, Destructuring, plus a chapter about basics that lays the foundation for being able to understand advanced topics.
Autorenportrait
Oliver Wegner:I've been messing around with Computers since the 80s - first just in a playful way, but very soon I found interest in programming a C64, later an Commodore Amiga and finally IBM compatible PCs, Macs and Mobile Devices.I discovered Linux in the mid 90s and have been working with it permanently since then. That hasn't prevented me from adding experience in other Unices to it as well.I've worked professionally as Software Developer, Linux& Network admin and DevOp.I'm always looking for interesting new things in the world of Computers, Internet, Programming Languages and Artificial Intelligence, Machine Learning& Big data and love acquiring new skills in those fields. I have a passion for Programming Languages.I've written compilers for fun and recently completed a Stanford Machine Learning course on Coursera.
Informationen zu E-Books
Individuelle Erläuterung zu E-Books