HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Google Developers Day US - Python Design Patterns

GoogleDeveloperDay2 HN recommenders · recommended in 3 months, 2011-2020
YouTube
90K views · 19 years ago · talk · evergreen

Alex Martelli's Google Developers Day talk on classic design patterns (creational, structural and behavioral) and how they appear in Python. He stresses that patterns must be studied in the context of the implementing language.

HN commenters recommend it as a level-headed, practical take on design patterns without Java-style verbosity.

Software architecture & designPython, Ruby & scripting languages#designpatterns#python#alexmartelli#dynamiclanguages#gangoffour

5 comments from Hacker News

@andrix2020 · in “Design Patterns in Dynamic Languages (1996)”

Cool. I'll take a look at the book. I was specifically interested in Python design patterns. I still remember the talk from Alex Martinelli at Google: ▶ this video , and I just saw there is an updated version: link

CitesView on HN
@omginternets2016 · in ““Design Patterns” Aren't (2002)”

In a similar vein, I found Alex Martinelli's talk on design patterns very level-headed and instructive: ▶ this video

RecommendsView on HN
@irahul2012 · in “OOP Isn't a Fundamental Particle of Computing”

>> I use lists and strings and arrays with no concern about how many elements they contain or where the memory comes from. > You should worry. If you don't want your server or your app to run slow, you should worry about these things. I am pretty sure he is saying he doesn't have to manually allocate and free memory and worry about off by one errors when iterating. He is comparing equivalents; he isn't saying since I am using Python I can shove 1 billion numbers in a list. > Can you imagine going into a programming interview and saying something like this? The only occasion when programming interviews have any significance is when you are seeking a job. Using them as a benchmark for anything else is flawed. > It's pretty difficult to implement reliable, readable and proven design patterns if you're just passing around dictionaries of dictionaries and lists. Translating proven, classical design patterns to Python or Ruby will result in shitty code. The proven design patterns don't have to be the same for all languages. It's idiomatic to use dictionaries/list in place of classes where applicable. link ▶ this video link

CitesView on HN
@irahul2012 · in “Books Programmers Don't Really Read But Recommend”

Among the books "programmers have read", I have read K&R, Programming Pearls and bits and pieces of Effective Java and C++. I thoroughly enjoyed these books. The other books on the "have read" list are on my "don't bother reading" list. Code Complete, Pragmatic Programmer, Mythical Man Month et al aren't my kind of books. As far as design patterns go, I believe if you code in Python/Ruby/Perl etc, books covering them in Java/C++ are needlessly verbose and boring. I recommend Alex Martelli's talks ▶ this video link And this book which covers design patterns using Ruby. link Both approaches actually show you practical examples of design patterns in the standard library or real world problems, and shuns patterns which aren't applicable to the language or are too trivial. These talks aren't the end-all, but they will give you a good overall knowledge, and will make further exploration easy. And from the "haven't read" list, CLRS is a good book and isn't as dense as it is generally taken to be. It does have sections on proofs, but you can skip it and jump directly to the data structure/algorithm. The pseudo code used in the book is extremely clear, and will convert to simple python in most of the cases. Use it as a reference, or read first few hundred pages. If the book isn't for you, you will know it after you have read the first 100 pages. Another book I recommend is Sedgewick's book on Algorithms. I have read the C version. It mostly covers basic data structures and some accompa

RecommendsView on HN
@irahul2011 · in “Design Patterns in Python (Free Book)”

I looked at couple of them. Some of the patterns has a note mentioning it is a port of C#/Java/C++ implementation in the Wikipedia article. Python is drastically different from C#/Java/C++, and a direct port of classical patterns won't make much sense. It will work, but it will the equivalent of Fortran programmers writing Frotran in Python. If anyone is interested, this talk by Alex Martelli is a good starting point: ▶ this video I think Bruce Eckel was writing a book on "Design Patterns" in Python, but that's not completed. However, there is a book using Ruby, which shows the classical approach for implementing design patters, then shows how it is done in Ruby: link

RecommendsView on HN
Google Python Class Day 1 Part 151:37

Google Python Class Day 1 Part 1

Google for Developers
3.7M views • 16 years ago
Q&A with Guido van Rossum, Inventor of Python56:55

Q&A with Guido van Rossum, Inventor of Python

Microsoft Reactor
28K views • 5 years ago
Perl 6 for Mere Mortals49:06

Perl 6 for Mere Mortals

Curtis “Ovid” Poe
6K views • 11 years ago
Transforming Code into Beautiful, Idiomatic Python48:51

Transforming Code into Beautiful, Idiomatic Python

Next Day Video
1.1M views • 13 years ago
How To Design A Good API and Why it Matters1:00:19

How To Design A Good API and Why it Matters

Google TechTalks
453K views • 19 years ago
Larry Wall Speaks at Google57:53

Larry Wall Speaks at Google

Google TechTalks
81K views • 18 years ago
MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk28:06

MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk

Confreaks
27K views • 12 years ago
Compiling and Optimizing Scripting Languages1:01:37

Compiling and Optimizing Scripting Languages

Google TechTalks
21K views • 17 years ago
Raymond Hettinger - Dataclasses:  The code generator to end all code generators - PyCon 201845:08

Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018

PyCon 2018
130K views • 8 years ago
Crockford on JavaScript - Section 8: Programming Style & Your Brain1:06:46

Crockford on JavaScript - Section 8: Programming Style & Your Brain

YUI Library
111K views • 14 years ago
Google I/O 2011: Java Puzzlers - Scraping the Bottom of the Barrel54:15

Google I/O 2011: Java Puzzlers - Scraping the Bottom of the Barrel

Google for Developers
60K views • 15 years ago
Christopher Alexander - Patterns in Architecture1:03:36

Christopher Alexander - Patterns in Architecture

Peter Petrash
135K views • 13 years ago
Dynamic Languages Wizards Series - Panel on Language Design1:58:46

Dynamic Languages Wizards Series - Panel on Language Design

Eduardo Cavazos
16K views • 14 years ago
The Clean Architecture in Python49:54

The Clean Architecture in Python

Next Day Video
114K views • 12 years ago
Stop Writing Classes27:29

Stop Writing Classes

Next Day Video
962K views • 14 years ago
DjangoCon 2008 Keynote: Cal Henderson1:02:44

DjangoCon 2008 Keynote: Cal Henderson

Google for Developers
125K views • 18 years ago
Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #3413:15:51

Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341

Lex Fridman
1.8M views • 3 years ago
Scalability at YouTube38:43

Scalability at YouTube

Next Day Video
51K views • 14 years ago
Building Your Own Dynamic Language1:14:32

Building Your Own Dynamic Language

Stanford
21K views • 18 years ago
Design Patterns vs  Anti pattern in APL by Aaron W Hsu at FnConf1754:10

Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17

ConfEngine
8K views • 8 years ago