- Taschenbuch: 720 Seiten
- Verlag: O'Reilly and Associates; Auflage: 1 (9. August 2013)
- Sprache: Englisch
- ISBN-10: 1449339611
- ISBN-13: 978-1449339616
- Größe und/oder Gewicht: 17,8 x 3,8 x 23,3 cm
- Durchschnittliche Kundenbewertung: 2 Kundenrezensionen
- Amazon Bestseller-Rang: Nr. 4.609 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Scala Cookbook: Recipes for Object-Oriented and Functional Programming (Englisch) Taschenbuch – 9. August 2013
|Neu ab||Gebraucht ab|
Wird oft zusammen gekauft
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Über den Autor und weitere Mitwirkende
Alvin took the circuitous route to software development. He managed to get a degree in Aerospace Engineering from Texas A&M University, while all he was really trying to do was play baseball. Once he became a practicing engineer, he realized he liked software and programming more than engineering. So in approximate order he taught himself Fortran, C, Unix and network administration, sed, awk, Perl, Java, Python, Ruby, JRuby, Groovy, PHP, and Scala. During this process he started a software consulting firm, grew it to fifteen people, sold it, and moved to Alaska for a few years. After returning to the "Lower 48," he self-published two books ("How I Sold My Business: A Personal Diary," and "Zen and the Art of Consulting"). He also created devdaily.com, which receives millions of page views every year, and started a new software consulting business, Valley Programming.
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
Die kleinen und recht gezielten Kochrezepte für einzelne Probleme lassen großteils gut das größere Ganze im Hintergrund erahnen und geben für das konkrete Problem sowohl den Lösungsvorschlag alsauch weiterführende Informationen und Diskussionen.
Kleine Redundanzen sind zwar vorhanden, stören aber nicht weiter.
(Rezession wird vermutlich aktualisiert, wenn das Buch vollständig durchgearbeitet ist).
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
But I HAD heard of LISP, Haskell, C#, Java and my beloved Python. Little did I realize before the conference (3 years ago) that Scala actually COMBINES the best of all those, runs on the Java JVM, uses tools like Ant seamlessly, and has non-glue access to ALL the Java libraries.
But that's just the beginning. Scala is niether purely functional nor purely imperative, is static typed, yet works wonderfully in my real time robotics applications. Unlike even C#, let alone Java, you can do "quick" object compile commands without statics or class declarations, just like a script! You can access the JVM compiler, or .net. or scala's own interpreter, depending on your need. WOW. Scala has the functional bennies of pattern matching, macros, currying, tail recursion, immutability, algebraic types, lazy evaluation, pattern matching and many more; fixes the non unified type and type erasure as well as checked exceptions problems in Java (and many others); Scala has a unified type system (like C#) unlike Java, even though it is Java seamless!
So what do all these wonderful things have to do with this gem of a book? Easy: what good is a book if it just rehashes the Java features and misses the unique wonders of Scala? THIS TEXT DELIVERS! By that I mean it gives examples of ALL the differences, in English and code, that make this language a winner among winners.
At over 700 pages, you can frame this amazing book as a learning text, a reference, a cookbook, an encyclopedia, and for sure a valued friend for the library of every Java and C# jock. Because of parallel, concurrency and run time features (dear to the heart of roboticists, circuit folks like me), I believe that this text gives powerful evidence that Scala could not only be the next Java, but next C in circuits, Erlang in parallel (Early Scala used the Actor model, but that is being phased out for AKKA in the next few releases), and Lisp in functional!
You don't need to know Scala to benefit from this book, and in fact you CAN LEARN Scala just as well with this book as any of the intro Scala texts, and save yourself a ton of money and duplication, BUT like those many fine intro texts, you still have to understand basic OOP/ functional or both (in other words use it to learn your soon to be favorite language, but not to learn basic programming). In other words, if classes, functions, types, recursion, objects etc. still confuse you, this isn't the place to start. Another cool thing about both this text and Scala is that they get rid of the very silly "never use go to" that was supposedly the hallmark of imperative, and cut through all that baloney (can you say jump statements?) with very clear and simple switch and other alternatives. Both day to day coders like myself will love this cookbook, as well as "purists" who look down their noses at Java itself due to Prolog or Lisp. THIS TEXT AND THIS LANGUAGE truly blend all the best features of both worlds!
Highly recommended for coders of all skills, even advanced pros, and of course oddballs like me who are more into circuits, embedded and run - real time monsters, robotics, etc. If you're just getting out of High School and are considering which language to get started with, I'm not trashing Java (and still LOVE Lisp and Python), but I've got to say I wish I'd read this text when making those decisions! Due to being an O'reilly tome, the code also is relatively bulletproof and most of the snippets I tried ran flawlessly, but out of nearly 1,000 yummy pieces of this pie, I've only tried about 100, so take it in that context. Most authors (including this text) don't consider Scala a good language to use to "learn basic programming" -- but also concede that since Twitter, Netflix and LinkedIn run on it (among many others) it IS worth eventually learning.
ROBOTICIST/ INVENTOR EMAILER ANSWER: YES, I do think this also could be a C or C++ successor, including in embedded. Surely not as a "spice" circuit compiler, but more for very large, data intensive applications just as when you move from Arduino schemes to Linux as you evolve. If I were Apple, I'd be eyeing it in lieu of C++ right now. I mean, think about it, both .net and JVM are used in embedded bricks today. One of our most complex, 60 degrees of freedom pick and pack machines includes the JVM. There are Haskell and Scheme solutions that would make the Java used MUCH better, and Scala allows that "big data," parallel combination to happen ON the JVM, while adding the wonderfully robust Matlab/simulink like libraries of functional CAS approaches, and soon, AKKA.
Truly next decade's language in my opinion, granted after only using it for a few years (remember, fully stable versions are still coming out as this review is being written! If you're a patent type or circuit/ software developer, N.B.). If you also think the relatively new Oracle/Sun thing might mean bye bye Java innovation... well, here's a place to turn! We get a lot of requests to review books, and there seems to be a new Scala book coming out every month, so if that's any indication, here's a language that looks like a clear frontrunner for the Java throne.
Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
The book is more of a reference manual than a reading book. It consists of a large number of practical problems and their solutions. But what I liked is that for every topic there is not only a solution, but also a paragraph called 'discussion' which goes a little deeper into the subject.
One could wonder why one would need such a book if you could just Google your question and find the answers on the Internet. But the trouble with that approach is that, in particular for Scala, for each problem there are many possible ways to solve it. And some of them might not be good practice, might be deprecated or just plain wrong.
This book gives solid answers, teaches about best practices and tries to tell you where to apply to solution and where not.
-- Update --
This book is a true gem and continues to impress. I find myself sometimes searching for something online only to find it full with examples and well documented code/practices in this fantastic book which is now an indispensable reference. Hats off to the author.
The actual material is good though.
In CHAPTER 13: The book discusses as well (very clear, concise, perfect - no need to repeat that) akka actor. He moves forward with a few examples on akka actors, the examples are things you will need to do in real world programming, how to start an actor, pass it parameters in constructor, where is it recommanded to write the message case classes, examples of sending messages back, how to stop actors, graceful ungraceful exits, watching actors, all with full examples - meaning the examples are all you need practically no partial codes or snippets, full wroking examples, yet small enough for you to learn from them, well colored code, all is clear, examples are both simple, clear language, and ones you would actually use. He does a marvelous job in giving clear examples. It's a great entry point into akka, once you get the akka chapter you have the groudbase to dive deeper. An example of why its fun to read is that as an example of the Actor lifecycle an Actor named Kenny is created, so you can practically "restart" Kenny which is nice for southpark lovers (finally we get something useful out of southpark..)
The book provides me with what i expected and more. I expected it to be a cookbook and indeed i'm upgrading my scala cooking skill with it. It has surprised me to the better, it is a much better scala book than i expected as its very clear and concise. It talks about real world problems. I like its problem - solution format. I practically had all problems as questions while programming in scala and had to look out for answers or deduce them. Now I can either verify what I came out with is aligned with the best practice or for problems I didn't have yet understand the best practice.
Bottom line: It's a pretty perfect book for beginners who already have some notion in scala, I really like that book, i'm sure you will (as a book even not as a scala book, it's worth knowing the author's style). I love the problem solution template this fits well into my day to day Scala ramp up. The are currently various great books on scala and this one is currently the more useful in picking up a very specific item in scala and learning it. As for a comprehensive gradual guide to understand deeper the language I use other books.
UPDATE 15/May/2014 after having around 1 year of expertise with scala I must say I use this book less and less and I don't need that much examples its already in my programming habbits. So this book served me VERY WELL in bootstrapping my scala skills while getting to know scala, but now as i'm more into crafting my functional programming and haskell skills i'm less and less using this book. However It has proven itself indeed to be the best bootstrap for me into getting familiar with a foreign language.