Seven More Languages in Seven Weeks

languages that are shaping the future

  • 0 Ratings
  • 7 Want to read
  • 0 Currently reading
  • 0 Have read
Not in Library

My Reading Lists:

Create a new list

Check-In

×Close
Add an optional check-in date. Check-in dates are used to track yearly reading goals.
Today

  • 0 Ratings
  • 7 Want to read
  • 0 Currently reading
  • 0 Have read

Buy this book

Last edited by kathrinpassig
December 8, 2023 | History

Seven More Languages in Seven Weeks

languages that are shaping the future

  • 0 Ratings
  • 7 Want to read
  • 0 Currently reading
  • 0 Have read

Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems. In each language, you'll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor. When you're done, you'll have written programs in five different programming paradigms that were written on three different continents. You'll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you. With each passing day, it is becoming more likely that new programmers will use functional programming, an entirely new programming paradigm. Each of the new languages has something unique to teach the next generation of programmers. 1. To learn functional programming, learn functional composition first. Programmers who want to improve themselves are learning functional programming in increasing numbers. Factor is a great language for learning about the composition of functions. The concatenative language forces new users to think through how functions will work together. 2. If you want to learn JavaScript, learn how prototypes work first in a simpler language. New JavaScript programmers are often better off learning a language like Lua first, which has the same overall model but fewer distracting concepts than JavaScript. 3. You don't need callbacks to build a beautiful user interface. Reactive programming is a new style of user interface development that helps build highly interactive and reliable applications. The Elm programming language is a language with reactive concepts baked in, from the inside out, and it compiles to JavaScript. 4. To build better cloud applications, your applications need to know how to fail. Applications are becoming more distributed than ever before. Elixir is among the most promising young languages for building cloud applications that scale well and handle failure in a sensible, reliable way. Elixir combines the natural syntax of Ruby with Clojure-style macros, all on the Erlang virtual machine for distribution and failover. 5. Technical computing will hit the limitations of multicore architectures before most other programming branches will. Scientific computing is increasingly hitting a wall because existing languages don't take full advantage of multicore architecture. The Julia language is growing quickly, allowing familiar programming approaches but enabling much more scalable and powerful mathematical models without dropping into C++. 6. Use logic programming when you need to build applications that "think." You don't need to know Mercury or Prolog to write logic programs. If you find yourself needing to occasionally solve logic problems, use a library instead. MiniKanren is one such library that is available in languages like Haskell and Clojure. 7. You don't need to use Haskell, Agda or Idris to take advantage of advanced type theory in your everyday job. Sometimes, it's hard to see the forest for the trees. Languages like Idris are excellent for reasoning about typing. You can build a type model in Idris and adapt it to a language like C++. - Publisher.

Publish Date
Language
English
Pages
320

Buy this book

Edition Availability
Cover of: Seven More Languages in Seven Weeks
Seven More Languages in Seven Weeks: languages that are shaping the future
2014, Pragmatic Bookshelf
Paperback in English

Add another edition?

Book Details


Published in

Dallas, TX

Table of Contents

The languages
The authors
The book
Introduction
1. Lua.
Day 1 : The call to adventure
Day 2 : Tables all the way down
Day 3 : Lua and the world
Wrapping up Lua
2. Factor.
Day 1 : Stack on, stack off
Day 2 : Painting the fence
Day 3 : Balancing on a boat
Wrapping up Factor
3. Elm.
Day 1 : Handling the basics
Day 2 : Taming callbacks
Day 3 : It's all a game
Wrapping up Elm
4. Elixir.
Day 1 : Laying a great foundation
Day 2 : Controlling mutations
Day 3 : Spawning and respawning
Wrapping up Elixir
5. Julia.
Day 1 : Resistance is futile
Day 2 : Getting assimilated
Day 3 : Become one with Julia
Wrapping up Julia
6. miniKanren.
Day 1 : Unified theories of code
Day 2 : Mixing the logical and functional
Day 3 : Writing stories with logic
Wrapping Up miniKanren
7. Idris.
Day 1 : The basics
Day 2 : Getting started with dependent types
Day 3 : Dependent types in action
Wrapping up Idris
8. Wrapping up.
The origins
The central expressway
The frontier
The dirty map
A final challenge

Classifications

Library of Congress
QA76.7 .T383 2014, QA76.7

The Physical Object

Format
Paperback
Pagination
xxi, 291 p.
Number of pages
320
Dimensions
24 x x centimeters

ID Numbers

Open Library
OL25649411M
ISBN 10
1941222153
ISBN 13
9781941222157
LCCN
2015473679

Community Reviews (0)

Feedback?
No community reviews have been submitted for this work.

History

Download catalog record: RDF / JSON
December 8, 2023 Edited by kathrinpassig merge authors
September 19, 2021 Edited by ImportBot import existing book
November 4, 2020 Edited by MARC Bot import existing book
July 18, 2019 Edited by MARC Bot import existing book
January 13, 2015 Created by Bryan Tyson Added new book.