Scala is a language, built on the JVM, that has both functional and object-oriented properties. It has become quite popular among many developers who want to keep using the JVM, but want a more modern, expressive language than Java. (Although there are definitely indications that the latest version of Java included some functional aspects in part because of Scala’s influence.) In this talk, Ted Neward describes Scala’s approach to development in terms that can (should!) help Java developers to understand and embrace Scala.
The PHP language has existed for quite some time, and has been used on large sites such as Yahoo and Facebook. However, the performance of PHP isn’t as good as compiled languages, such as C++. The Hip Hop Virtual Machine (HHVM) is a new implementation of PHP has been providing very good performance at Facebook, giving users what appears to be the best of both worlds — easy development and high performance. In this talk, Stefan Priebsch introduces HHVM.
Gerrit is an open-source, Web-based application designed to help teams to review and approve commits in Git.
Many developers are familiar with GitHub, in which each programmer maintains his or her own, separate repository. Collaboration in such an environment is based on “pull requests.” Gerrit has a completely different paradigm, one in which commits are submitted for review and comment. After reviewers have given the commit a passing grade, it is merged into the repository. A number of open-source projects, such as Wikipedia, use Gerrit in order to manage contributions.
This talk , by Gerrit maintainer Shawn Pearce, introduces Gerrit, and shows how you can use it to improve your team’s communication and usage of Git.
Pry is an improved REPL (read-eval-print loop) for Ruby programmers, replacing the standard IRB tool. You can use Pry as a debugger, as well. In this talk, Joel Turnbull demonstrates how we can use Pry as a debugger, to analyze, fix, and even plan Ruby and Rails applications.
JRuby is a version of Ruby that runs on the JVM. JRuby has long been praised by Rubyists for its speed and abilities, but its compatibility with the standard (“MRI”) version of Ruby has been somewhat lacking. This talk, by JRuby developers Charles Nutter and Thomas Enebo, describes some of the major updates and improvements in the latest version of JRuby, which may convince even more Rubyists to switch.
Many developers have heard of “monads” over the last few years. Besides asking “what is a monad?”, many of these developers have asked, “Why should I care?” The fact that monads are associated with esoteric, hard-to-understand languages (such as Haskell) only makes it less likely that we’ll learn about them. In this talk, Tom Stuart introduces the idea of Monads using Ruby, and then talks about how to use them to improve our Ruby code. Slides for a version of this talk are available here.
The D language describes itself as, “a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.” This talk, given by D language creator Walter Bright, introduces D, and describes its advantages for programmers.
Joe Armstrong, one of the inventors of Erlang, discusses the current state of computers and programming languages, and the challenges that we face in trying to use, maintain, and extend them — while making them scalable and fault tolerant. He mentions Erlang, but most of his talk is spent describing the issues facing modern software engineers, with a strong emphasis on the amazing complexity that arises from putting modern computing power on people’s desks.
ClojureScript is a version of the Clojure language (a modern Lisp) that compiles into JavaScript. Thus, you can write client-side programs in ClojureScript, enjoying many of the language’s advantages. In this talk, David Nolen describes ClojureScript and the reasons why it is so powerful and useful.