Sunday, August 5, 2007

Lectures on advanced topics in programming - 1

Google videos has interesting videos about lectures that were given in Google. The lecture series was aptly named: Advance Topics in Programming Languages:

Concurrency and Message Passing in Newsqueak - the lecture is given by the author of the famous book "The Unix programming Environment" - Rob Pike. He talks about the concurrent programming language 'Newsqueak' that he designed.


Parametric Polymorphism - this lecture is all about types, polymorphism, isomorphism, etc...

Transactional Memory at Sun - this lecture talks about what transactional memory is? why is it necessary? what are the current trends? The talk is mostly about the research thats being done at Sun Microsystems on Transactional Memory.

Faith, Evolution, and Programming Languages - I tried to give a gist about the lecture but I could not come up with a crisp and clear write up. So I am quoting it directly as given in the abstract:

"Faith and evolution provide complementary - and sometimes conflicting--models of the world, and they also can model the adoption of programming languages. Adherents of competing paradigms, such as functional and object-oriented programming, often appear motivated by faith. Families of related languages, such as C, C++, Java, and C#, may arise from pressures of evolution. As designers of languages, adoption rates provide us with scientific data, but the belief that elegant designs are better is a matter of faith. This talk traces one concept, second-order quantification, from its inception in the symbolic logic of Frege through to the generic features introduced in Java 5, touching on features of faith and evolution. The remarkable correspondence between natural deduction and functional programming informed the design of type classes in Haskell. Generics in Java evolved directly from Haskell type classes, and are designed to support evolution from legacy code to generic code. Links, a successor to Haskell aimed at AJAX-style three-tier web applications, aims to reconcile some of the conflict between dynamic and static approaches to
typing.
"

End User Software Engineering - as the topic says the lecture is about software engineering at the end-user level.

Resource Aware Programming - this lecture is on embedded systems related. The title says it all. The talk is about the resource-bounded computations.

Introduction To Digital Identity - this talk is all about identity and how to manage them. Its a nice introductory talk.

Hardware/Software Hacking: Joining the Real and the Virtual - this talk tells about some techniques of hardware and software hacking.

No comments: