Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Language
L**S
Really cool
Working through this book was really enjoyable. It definitely taught me a lot and exposed me to lots of cool ideas. The author explains challenging ideas like monads in an incredibly intuitive and easy way. Unfortunately, the chapter on the IO language and the final section in the SCALA chapter are outdated.
E**S
Un voyage plein de surprises
Il faut prendre ce livre pour ce qu'il est: une exploration, une découverte.Au lieu de 7 semaines, il m'a accompagné 4 mois mais quel plaisir !Les exercices donnent vraiment du fil à retordre, mais une fois le voyage terminé, vous en garderez sans doute un beau souvenir.Voilà plusieurs mois que je tente d'apprivoiser la programmation fonctionnelle, ce livre m'aura beaucoup aidé.L'auteur a un style agréable et chaque nouveau chapitre est une vraie découverte.Un livre indispensable pour se cultiver ou se reconvertir. Mon profil: Je suis expérimenté en Java, Perl et PHP.
W**N
A For Effort
Bruce Tate does an amazing job cutting to the heart of what makes seven programming languages special in about 50 pages each. He is also pretty honest about the limitations of each. I had a great time working through the seven chapters and learned a lot. At the start of each chapter, you have to figure out how to download and install a compiler/interpreter for your os. The book does not cover that part of the process which is fair enough. Then, each chapter contains a series of simple, complete, well-paced examples. Type them in, and be amazed how much you learn in 50 pages.This book is not (and never claims to be) a comprehensive introduction to any of the languages. In some sense it is better as it shows the strength of each, almost like an advertisement. He is trying to get you excited about each language. Going into this book, I had some familiarity with Ruby and Haskell but knew virtually nothing about any of the other five. On the two languages I had used before, those chapters were solid and I even learned a few things. Of the other five, Tate did his job and got me excited about Io. Since reading that chapter, I have been diving in to Io. The others were interesting, but Io caught my attention.The book is a little heavy on the functional languages: Erlang, Scala, and Haskell. Given that I am already Haskell fan, the Erlang and Scala chapters felt like a missed opportunity to me. Of course, everyone who reads the book would probably want a different list of seven.
S**E
Super Überblick über aktuelle Programmierkonzepte, eher nichts für Anfänger
Ich habe das Buch, anders als der Autor vorschlägt, nicht gelesen und währenddessen die Programmierbeispiele praktisch ausprobiert (außer bei der ersten beschriebenen Sprache Ruby), sondern direkt runtergelesen, weil ich lediglich einen tieferen Einstieg in (aktuelle) Entwicklungen der verschiedenen Programmierparadigmen (Objektorientierung, funktional, logisch, Prototype) bekommen wollte, ohne diese praktisch anzuwenden. Und dafür ist das Buch wirklich super! Bruce Tate zeigt anhand von sinnvollen Praxisbeispielen mit sehr vielen Quelltextauszügen die Vor- und Nachteile der einzelnen Sprachen (Ruby, Io, Prolog, Scala, Erlang, Clojure und Haskell) auf und geht insbesondere auf die jeweiligen Vorzüge ein, die das Programmieren einfacher machen ("syntactic sugar"). Für alle, die die Sprachen auch in der Praxis ausprobieren wollen, liefert Tate nach jedem Kapitel Online-Quellen und Tipps für interessante Miniprojekte.Dabei folgt er einem sehr sinnvollen Aufbau. Bei den ersten behandelten Sprachen werden allgemeingültige Konzepte von Programmiersprachen eingeführt und anhand von Beispielen erklärt (z.B. Pattern Matching, Rekursion, Closures, Futures) und bei den Sprachen im hinteren Teil des Buches wieder aufgegriffen und vertieft. Dabei streift Tate wirklich viele aktuelle Entwicklungen insbesondere aus dem Bereich der funktionalen Sprachen: 5 der 7 Sprachen sind entweder komplett oder in Teilen funktional. Ich kannte bislang von den vorgestellten Sprachen lediglich Prolog, sodass mir das Kapitel hierzu als kleine Auffrischung meiner Kenntnisse diente. Ich war überrascht, wie viele (hilfreiche) Konzepte es aus Prolog inzwischen in andere Programmiersprachen geschafft haben.Für Anfänger ist das Buch wohl eher schwierig zu verstehen, da nicht lange gefackelt wird und viele grundlegende Kenntnisse vorausgesetzt werden. Für fortgeschrittene Programmierer, insbesondere aus dem Bereich der Objektorientierung, ist es jedoch ein super Buch, um einmal über den Tellerrand zu schauen. Gerade heutzutage, wo die funktionalen Sprachen immer wichtiger werden (aufgrund der guten Parallelisierbarkeit), sollte jeder Entwickler einen Blick riskieren und schauen, welche Konzepte er für seine eigene Arbeit übernehmen kann. Durch die Vielzahl an unterschiedlichen Sprachen wird das Buch definitiv nicht langweilig und man kann es richtig verschlingen.
S**Y
this book will give you a good head start
The ideas here is you get to learn enough about a language to understand its key properties by programming certain tasks in it. Do this seven times over seven weeks, and you have a much deeper understanding of several important computational concepts. Tate advocates putting in the hard graft, and warns that "If you simply read this book, you’ll experience the flavor of the syntax and no more". That is not entirely true: I indeed simply read the book, and feel I got more than mere syntax. In fact, I usually skimmed the syntax sections, and properly read only the sections on the conceptual underpinnings.These concepts include side-effect-free functional programming, and how that helps concurrency. Most of the languages have support for the actor model of concurrency. There is also a language that uses prototyping, the description of which makes me think this is a recipe for something much worse than spaghetti. Erlang’s "let it crash" feature is most interesting of all: a concurrent language combining monitoring code, and restarts, allows for a different approach to achieving robust code: rather than lots of defensive programming and exception handling, just watch for crashes, and start the objects up again when they fall over.If you do want to do the hard work, you will need much more than this book. Tate overviews the concepts, sets the problems, and points you off to the web to get the detailed information you need for the tasks. I assume doing the work does reap the rewards: where code is concerned, doing is better than reading. But I prefer doing tasks that solve problems I want to solve, rather than exercises.The style is brisk and to the point, mostly. I could have done without all the analogies to movies I mostly haven’t seen. But if you want to learn about some fundamental programming principles, and how they occur in a range of programming languages, this book will give you a good head start.
ترست بايلوت
منذ أسبوعين
منذ شهرين