- 本カテゴリの商品を2500円以上購入で買取金額500円UPキャンペーン対象商品です。商品出荷時に買取サービスでご利用いただけるクーポンをメールにてご案内させていただきます。 詳細はこちら (細則もこちらからご覧いただけます)
Erlang Programming (英語) ペーパーバック – 2009/6/26
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
This book is an in-depth introduction to Erlang, a programming language ideal for any situation where concurrency, fault tolerance, and fast response is essential. Erlang is gaining widespread adoption with the advent of multi-core processors and their new scalable approach to concurrency. With this guide you'll learn how to write complex concurrent programs in Erlang, regardless of your programming background or experience.
Written by leaders of the international Erlang community -- and based on their training material -- Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency.
This book helps you:
- Understand the strengths of Erlang and why its designers included specific features
- Learn the concepts behind concurrency and Erlang's way of handling it
- Write efficient Erlang programs while keeping code neat and readable
- Discover how Erlang fills the requirements for distributed systems
- Add simple graphical user interfaces with little effort
- Learn Erlang's tracing mechanisms for debugging concurrent and distributed systems
- Use the built-in Mnesia database and other table storage features
Erlang Programming provides exercises at the end of each chapter and simple examples throughout the book.
Francesco Cesarini is the founder and CTO of Erlang Training and Consulting http: //www.erlang-consulting.com/. Having used Erlang on a daily basis since 1995, he started his career as an intern at Ericsson's computer science lab, the birth place of Erlang. He spent four years at Ericsson working with flagship Erlang projects, including the R1 release of the OTP middleware. He has taught Erlang/OTP to all parties involved in the software cycle, including developers, support engineers, testers as well as project and technical managers. In 2003, he also started teaching undergraduate students at the IT University of Gothenburg.
Soon after Erlang was released as Open Source, he founded Erlang Training and Consulting. With offices in the UK, Sweden, Poland (and soon the US), they have become the world leaders an Erlang based consulting, contracting, support, training and systems development. Their client base is spread on five continents and ranges from small start-ups to blue chip companies. In his role as CTO, is currently leading the research, development and consulting teams.
He is active in the Erlang community not only through regularly talks, seminars and tutorials at conferences worldwide, but also through his involvement in international research projects. He organises local Erlang user groups and with the help of his colleagues, runs the trapexit.org http: //www.trapexit.org/ Erlang community website.
Simon Thompson is Professor of Logic and Computation in the Computing Laboratory of the University of Kent, where he has taught computing at undergraduate and postgraduate levels for the past twenty five years, and where he has been department head for the last six.
His research work has centered on functional programming: program verification, type systems, and most recently development of software tools for functional programming languages. His team has built the HaRe tool for refactoring Haskell programs, and is currently developing Wrangler to do the same for Erlang. His research has been funded by various agencies including EPSRC and the European Framework programme. His training is as a mathematician: he has an MA in Mathematics from Cambridge and a D.Phil. in mathematical logic from Oxford.
He has written three books in his field of interest; Type Theory and Functional Programming published in 1991; Miranda: The Craft of Functional Programming (1995) and Haskell: The Craft of Functional Programming (2nd ed. 1999). These are all published by Addison Wesley.
I've only just started with Erlang and am enjoying it quite a bit - other than wondering if this is another one of those flash-in-the-pan languages. Even if Erlang is not long lived, I think that something like Erlang is where computing is destined to go. The reason being that even our supercomputers seem to have moved away from big iron and into the cluster world. Erlang fits onto clusters more naturally than anything I've yet experienced and that includes MPI and PVM. The reason is that Erlang provides the infrastructure for running an awe inspiring number of "processes" in a multi-machine environment. Or on one machine if that's your preference. Process is in quote marks above because each process runs in an erlang VM instead of as a process/thread in the operating system.
The thing that really amazes me about Erlang is how easy it is to design and build stuff that is fault tolerant and that scales unbelievably. It really is beautiful. I'm kinda wondering if Erlang is the destined to be the "glue language" for clusters.
As for direct usefulness of the book... I've read chapters: 1 Intro; 2 Erlang Basics; 3 Sequential Erlang; 4 Concurrent Programming; and 11 Distributed Programming. In that order. It was a few hours of reading and fiddling around and now I'm somewhat dangerously able to use the language for what I want. Gotta read those other chapters though.
So, why read the chapters? It's because the writing is honest and applicable. Kind of like the bit in Chapter 2 (I think) where the author says you should mess around with something error prone in the shell now because the next time it'll be buried deep in some module and be difficult to isolate. Now that's practical. I bet that OTP chapter will keep me from reinventing some wheels too.
The days of using one programming language are behind us, yes it use to be C, then C++, then Java, but the age of Domain Specific Languages is upon us. So what Domain does Erlang help us with? Well Erlang powers Facebook Chat servicing 1 Billion messages per day, it powers Jabber one of the top Instant Messaging protocols and it boasts some of the most highly available systems in the world. We are using it for several of the key messaging components in our Video on Demand platform, if you have a cable set top box and Video on Demand you might be using Erlang ;) It is absolutely excellent for highly concurrent networked systems.
Functional programming is something of a mind warp, it's hard to learn when coming from a procedural language background like most of us (C/C++/Java developers) but it's well worth spending the time to add Erlang to your tool kit. By reading this book, Joe's book and watching the Erlang Videos from Pragmatic Programmers I was able to start developing Erlang Applications. After that I would recommend looking at the source code for things like Mochiweb, RabbitMQ, Riak, etc to see how the masters do it.
I would also learn a Object Oriented Scripting language like Ruby (1st choice) or Python (2nd choice), with one of these languages and Erlang under your belt you will be able to develop Enterprise applications with ease. Then you can stop battling J2EE Containers, JPA, EJB, etc and get some real work done!
Erlang is different, and without a good source of information about, it could be very hard to understand; this is why I choose "Erlang Programming". In fact this book is born from 2 persons that well know the argument, and are familiar with its explanation.
Francesco Cesarini uses it from about 1994 when he was studying at Uppsala University, and he is the founder of the leading company about Erlang in the world today and most of all, he is very very active in the Erlang Community.
Simon Thompson is a professor at Kent University and he has taught Logic and Computation for about twenty years, writing some other books, and leading his team in the developement of Wrangler, a refactoring tool for Erlang.
Erlang Programming will guide you in every Erlang aspects, giving you some good advices on how to design systems in the right way so that you will be able to use Erlang's key features to get the best from them.
I'm on chapter three cause of reading when I have spare time. This book is great and very in depth. If you don't understand it one way, there generally is more than one way to get it your brain. Much easier than I expected.