I suffer from a chronic case of curiosity, which led me from philosophy to English teaching to computational linguistics to software development. As a freelance engineer, educator, and developer relations consultant, these days I split my time between San Francisco and Berlin, though you can often find me traveling (in a mask) to events around the world to speak about the joy of programming and advocate for a more equitable & ethical tech industry. I love nerding out about functional programming & JavaScript, introducing folks to the Recurse Center & Outreachy, and rocking a karaoke mic!
Enlace https://youtu.be/j5Oys1aL27w
Enlace https://youtu.be/qMdxExJCD5s
Estas notas son comunitarias, pueden usarlo para tomar notas compartidas
F.O.M.O. (Fear of missing out) Miedo de perderse en algo.
O.O.P. (Object Oriented Programming) Programación orientada a objetos. ruidajo
https://www.outreachy.org/ Outreachy provides internships in open source. Outreachy provides internships to people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living. Outreachy internships are: 💵 Paid - $7,000 USD total internship stipend. 🌍 Remote - both interns and mentors work remotely. 🕰 3 months - internships run May to August, or December to March.
Diferentes paradigmas de programación.
Que no es importante
Alan Kay parte del grupo de creación de smalltalk y acuño el termino de programación orientada a objetos.
es más importante la noción de células y organos.
Si una célula muere otras pueden seguir trabajando o soportando la función de las celulas perdidas.
Alan Kay se arrepiente de acuñar orientada a objetos, porque enfoca la mirada en una idea menor, la idea mayor está en los mensajes, como se comunican las celulas, los objetos.
Ejemplo de código: thing.do(some, stuff)
to: thing
subject: pretty please? :D
message: "do", some, stuff
thing
recibe el mensajedo(some, stuff)
mensaje
do
nombre del método(some, stuff)
argumentos.
la forma en que se envía el mensajeEl objeto es un verbo, como se comporta en relación a su contexto e interacciones.
Late binding. Behavior.
Declaración de una clase llamada Friend
class Friend:
def __init__(self, friends):
self.friends = friends
def is_friend_of(self, name):
return name in self.friends
Ejecución sobre esa clase
buddy = Friend(['alan', 'alonzo'])
buddy.is_friend_of('guy') => False
En la segunda linea => False
representa el resultado
de la ejecución de buddy.is_friend_of('guy')
.
Smalltalk
La definición de booleans es dada por comportamiento
class True
ifTrue: a ifFalse: b
^ a value
class False
ifTrue: a ifFalse: b
^ b value
En lógica matemática, el cálculo lambda es un sistema formal diseñado para investigar la definición de función, la noción de aplicación de funciones y la recursión.
TRUE: := λx.λy.x
FALSE := λx.λy.y
La metáfora de un reloj, una máquina sin posibilidad de dividirse.
Early binding. Data.