前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
查看全部 2 张图片

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (英语)

平均4.3 星
5 星
4 星
3 星
2 星
1 星
平均4.3 星 58条亚马逊美国的评论 us-flag |
| 天天低价·正品质优

显示所有 格式和版本 隐藏其他格式和版本
全新品最低价 非全新品最低价

click to open popover


  • iPhone/iPad/Mac
  • Android手机或平板电脑



  • 出版社: The Pragmatic Programmers (2010年11月23日)
  • 丛书名: Pragmatic Programmers
  • 平装: 368页
  • 语种: 英语
  • ISBN: 193435659X
  • 条形码: 9781934356593
  • 商品尺寸: 19 x 3 x 23.5 cm
  • 商品重量: 676 g
  • ASIN: 193435659X
  • 用户评分: 分享我的评价
  • 亚马逊热销商品排名: 图书商品里排第1,512,270名 (查看图书商品销售排行榜)
  • 您想告诉我们您发现了更低的价格?



""I have been programming for 25 years in a variety of hardware and software languages. After reading Seven Languages in Seven Weeks, I am starting to understand how to evaluate languages for their objective strengths and weaknesses. More importantly, I feel as if I could pick one of them to actually get some work done.""--Chris Kappler, Senior scientist Raytheon, BBN Technologies""I spent most of my time as a computer sciences student saying I didn't want to be a software developer and then became one anyway. Seven Languages in Seven Weeks expanded my way of thinking about problems and reminded me what I love about programming.""--Travis Kaspar, Software engineer, Northrop Grumman""Do you want seven kick starts into learning your "language of the year"? Do you want your thinking challenged about programming in general? Look no further than this book. I personally was taken back in time to my undergraduate computer science days, coasting through my programming languages survey course. The difference is that Bruce won't let you coast through this course! This isn't a leisurely read--you'll have to work this book. I believe you'll find it both mindblowing and intensely practical at the same time.""--Matt Stine Group leader, Research Application Development, St. Jude Children's Research Hospital


Bruce Tate runs RapidRed, an Austin, TX-based practice that consults on lightweight development in Ruby. Previously he worked at IBM in roles ranging from a database systems programmer to Java consultant. He left IBM to work for several startups in roles ranging from Client Solutions Director to CTO. He speaks internationally and is the author of more than ten books, including From Java to Ruby, Deploying Rails Applications, the best-selling Bitter series, Beyond Java, and the Jolt-winning Better, Faster, Lighter Java.


5 星
4 星
3 星
2 星
1 星

此商品在美国亚马逊上最有用的商品评论 (beta)

美国亚马逊: 平均4.3 星 58 条评论
197/201 人认为此评论有用
平均4.0 星 Much (perhaps over) anticipated 2010年11月9日
评论者 MedIT - 已在美国亚马逊上发表
版本: 平装 已确认购买
Background: I stumbled across the author's blog post announcing his intention to write the book while looking for materials comparing language paradigms instead of particular languages (object-oriented, logical, functional, prototype, etc). The as yet unwritten book sounded like exactly what I was after (thus my enthusiastic anticipation). I purchased an electronic copy of this book from the Prag Press beta program about six months ago and began reading the chapters as they were completed and released. My paper copy just arrived from Amazon today. Thus I can comment on the whole content of the book and the physical object.

Languages: While the languages covered (Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell) are excitingly (painfully?) trendy the list is not without merit. In the introduction the author explains that he arrived at the list by asking readers and edited from there: swapping Io for JavaScript and excluding Python thereby making room for Prolog. One could debate the choice of Io over JavaScript (particularly in a post Node.js / Common.js world) and make a case for including Smalltalk as the canonical OO language over Ruby; however, the chosen languages each bring something to the book and represent a number of interesting paradigms.

Chapters: Each language has its own chapter. Each chapter has five sections:
- an introduction to the language covering topics like it's history, place in the modern language landscape, paradigm, etc
- 'Day 1'
- 'Day 2'
- 'Day 3'
- and a conclusion with a few parting words / 'the moral of the story is...'.
The boundaries between days are not particularly meaningful but roughly build from "here's the syntax" to "here's an interesting thing you can do with this paradigm". By Day 3 each chapter has moved beyond trivial "hello world" examples; not surprisingly then, the pace of progress is brisk and the details of how to get up and running with each language are largely left to the reader.
Each language chapter includes an interview with a user/creator of the language (Matz, Steve Dekorte, Brian Tarbox, Martin Odersky, Joe Armstrong, Rich Hickey, Philip Wadler / Simon Peyton-Jones). These were an unexpected addition and quite worth reading. In fact, I wish the interviews had been longer and gone into more technical detail.
In addition to the seven language chapters there is an introductory chapter that has the sort of information normally found in the pre-page-numbering introduction to a book (explanation of the book's contents, intended audience etc) and an excellent final wrap-up chapter (more on it later).

Length: I easily completed each language chapter in a weekend. The first and last chapters are very quick reads. Seven weeks should be more than enough time to work through the book.

Subjective annoyances:
- The quality of the physical book (not great) will be familiar to regular Prag Programmer shoppers. It is not up to O'Reilly standards (it's more like an Apress book). Although the typesetting is easy to read the top and bottom margins are unpleasantly tight. The outside margin leaves room for notes which I like, but the book is awkwardly square. For $22 what does one expect?
- Each chapter attempts creativity with a supposedly allegorical popular culture reference threaded through it (ex: Io = Ferris Bueller). I found these more distracting than informative. I'd include naming the chapter sections "day n" as similarly failed attempts and wish that instead attempting wit (ex Io Day1: An Excellent Driver) they had substantive names. Obviously this is totally personal opinion, you might like it.

Outright Disappointment: I wish that the individual chapters went into significantly more depth comparing the motivations for and consequences of each language design. While the key features of each language are demonstrated with annotated code samples and explanatory text little is offered in the way of discussion comparing across language. For example the Scala chapter (selected at random) is on pages 121-166 in the index under "Scala" the only references outside its own chapter are found on pages 302, 303, 305-306, and 308 (all in the final wrap-up chapter). I view this as a real missed opportunity given the books unique approach/content. The final wrap-up chapter seems to be the only place with this sort of cross-language discussion and as a result it is both excellent and much too short.

Conclusion: An interesting book that I enjoyed reading and expect to return to in the future. The physical book is of so-so quality and as such the electronic book may be the right product for you to buy. The missed opportunity (and loss star) are for a disappointing failure to draw cross-language comparisons within the text of each chapter.

Update: [...]is a 45 min talk on the book / topics in the book.
平均4.0 星 Seven languages, yes; seven weeks, maybe not 2017年1月19日
评论者 Cheryl Sharpe - 已在美国亚马逊上发表
版本: Kindle电子书 已确认购买
In a way, it's almost as if this book (and the subsequent book with seven more languages) was written specifically for me...except for the "seven weeks" part. I have an erratic schedule, so staying with the day-by-day pattern didn't work for me. Nevertheless, the choice of languages was very helpful for me, personally (as always, other readers will likely disagree). The chapter on Ruby was a nice introduction to a language I'd seen mentioned a lot of times, but knew very little about it. Io was relatively uninteresting, but did help explain how a similar language, JavaScript, works. Prolog was fascinating, albeit limited, and is the oldest language described in this book. Scala is a language I had wanted to check out, anyway. Erlang is interesting (the "let it crash" philosophy was particularly intriguing). Clojure and Haskell were languages I'd already started studying on my own, and even though I've done a modest amount of Clojure learning, this book's superficial coverage of that language was still very helpful (perhaps the author included more relevant information about Clojure?). The focus of the book is on the progress of computer programming languages, and this is summarized nicely in the final chapter. I liked how each language chapter ended with a description of the strengths and weaknesses of each language. The only significant problem is that the book was written in 2010, so a few parts seem a bit out of date. Also, there are a few minor omissions in the book...so it's helpful to visit the publisher's website to view the forum there.
平均5.0 星 Mind Expanding Book For Programming Languages 2016年3月4日
评论者 William P Ross - 已在美国亚马逊上发表
版本: 平装 已确认购买
Perhaps the most impressive aspect of this book is that it teaches how to evaluate a programming language. The author has chosen 7 languages as the title suggests. For each language he describes different unique features of the language. Each language section is broken into three parts which are called Days.

By reading this book you will not become an expert in any of the languages. The book is more like introduction to each language. Imagine you searched on Google for "Differences between Scala & Ruby". You would get the Wikipedia entry and maybe a blog post or two. This book is sort of like a really long blog post about the different languages.

Bridging across chapters, the author looks often at the concurrency model each language has along with other aspects.

It's not a perfect book though. Because the book is roughly 300 pages the coverage can be light, and clearly the author is not an expert in all 7 languages; but at least he does not claim to be... the author is generally humble throughout the book.

This was the right book for me at the time, because I read it as I was getting back into software development. I wanted to know what had changed in programming as well, and it improved my knowledge.
平均5.0 星 Broaden your knowledge of computer science 2016年3月14日
评论者 Louis P. - 已在美国亚马逊上发表
版本: 平装 已确认购买
Great book to get better at Computer Science (rather than just programming). This book is a great way of getting a feel for other languages, why they were created, what mindset do you need to have to use them to correctly.
Reading it made me a better programmer overall, I haven't used most of the languages for my work but it enabled a bunch of discussions with programmers 10/20 years more experienced than I am.
Book is getting a bit old (languages are a bit old) but it is still an interesting practical approach to new language discovery.
Took me about 7 weeks, as advertised, to cover the material (~ 4h/week)
1/1 人认为此评论有用
平均3.0 星 At times the book does a poor job covering the nuances of a language while others ... 2015年11月19日
评论者 Jon Murphy - 已在美国亚马逊上发表
版本: Kindle电子书 已确认购买
The author attempts to be unbiased but still shows bias in the book. It's slightly disappointing how many languages are on top of the JVM, which shows through into the languages themselves resulting in limited exposure. At times the book does a poor job covering the nuances of a language while others it covers well. It's a nice start, but requires a fair amount of supplemental material unless you're familiar with the language or it's model.