SlideShare a Scribd company logo
1 of 72
Download to read offline
Beyond Ruby
   Konstantin Haase
La verdadera pregunta es ...
¿Quién es el mejor fútbolista?
Ampliar tus horizonte.

   No deje Ruby ...

   ... evolucionar!
¡Explora!
Por cierto ...
Vamos a empezar!
Goal: Tell you something new!

  no erlang, no go, no clojure

          no node.js
Full Object Orientation
Doesn't Ruby have that already?
OOP != OOP
"Objects are data and functionality."

      Your high-school teacher
"Actually I made up the term object-oriented,
and I can tell you I did not have C++ in mind."

                   Alan Kay
"OOP to me means only messaging,
local retention and protection and hiding
of state-process, and extreme late-binding
               of all things."

                Alan Kay
"OOP to me means only messaging,
local retention and protection and hiding
of state-process, and extreme late-binding
               of all things."

                Alan Kay
if respuesta == 42
  "¡correcto!"
else
  "equivocado"
end
respuesta = 42
  ifTrue: [ '¡correcto!' ]
  ifFalse: [ 'equivocado' ]
def true.if_true
  yield
end

def false.if_true
end
TrueClass.define_method(:if_true) { yield }
FalseClass.define_method(:if_true) { }
class Falso
  def if_true; end
end
x = Delegator.new({})

x.is_a? Hash # => true
case x
when Hash
  ...
else
  fail
end
Don't treat your objects like data structures!
my_instance.properties[:foo][1,4] == "blah"

my_instance.foo? "blah"
"OOP to me means only messaging,
local retention and protection and hiding
of state-process, and extreme late-binding
               of all things."

                Alan Kay
"OOP to me means only messaging,
local retention and protection and hiding
of state-process, and extreme late-binding
               of all things."

                Alan Kay
"A conforming processor may omit an
 invocation of a method of a built-in class or
 module for optimization purpose, and do the
   same calculation as the method instead.

  In this case, even if a program redefines the
method, the behavior of the program might not
change because the redefined method might not
               actually be invoked."

          Ruby Standard (JIS X 3017)
Every built-in Ruby method could actually be a
                   keyword.
Is Smalltalk Object
     Oriented?
variable/constant access is no method send

      self/super   is no method send
Also...
no implementation treats ifTrue sends to a
         boolean as method send

       constants are not late bound
Newspeak
there are only method sends

  there is no global state
But I want lexical scope!
Foo = 42
class Bar
  def foo(x) Foo + x end
end
Outer = 23

module Wrapper
  Inner = 42
  class Nested
    def result
      Outer + Inner
    end
  end
end
Solution: clever, bidirectional dispatch
Homoiconic
"In computer programming, homoiconicity is a property of
    some programming languages, in which the primary
  representation of programs is also a data structure in a
primitive type of the language itself, from the Greek words
homo meaning the same and icon meaning representation.
  This makes metaprogramming easier than in a language
                   without this property."

                        Wikipedia
"In computer programming, homoiconicity is a property of
    some programming languages, in which the primary
  representation of programs is also a data structure in a
primitive type of the language itself, from the Greek words
homo meaning the same and icon meaning representation.
  This makes metaprogramming easier than in a language
                   without this property."

                        Wikipedia
"In computer programming, homoiconicity is a property of
    some programming languages, in which the primary
  representation of programs is also a data structure in a
primitive type of the language itself, from the Greek words
homo meaning the same and icon meaning representation.
  This makes metaprogramming easier than in a language
                   without this property."

                        Wikipedia
"In computer programming, homoiconicity is a property of
    some programming languages, in which the primary
  representation of programs is also a data structure in a
primitive type of the language itself, from the Greek words
homo meaning the same and icon meaning representation.
  This makes metaprogramming easier than in a language
                   without this property."

                        Wikipedia
Homoiconic Languages
 Lisp, Logix, Prolog, Snobol, Io, Ioke, Lego
LISP
'(1 2 3)
(+ 1 2) ; 3
(setf b 23)
(car '(1 2))         ; 1

(cdr '(1 2))         ; '(2)

(car (cdr '(1 2)))   ; 2
(setf a
    '(setf b 23))

(eval a)
(setf a
  '(setf b 23))

(setf
  (car
    (cdr (cdr a)))
  42)
(eval a)
How's that useful?
  Macros and Partial Evaluation

 Language extensions from within
Declarative
Programming
 SQL, XSLT, SPARQL, Pig
Did the last slide just say SQL and XSLT?

               Seriously?
declarative programming can be fun

          Prolog, Erlang
Prolog
ruby_core(tenderlove).

?- ruby_core(tenderlove).
Yes

?- ruby_core(X).
X = tenderlove
ruby_core(tenderlove).
rails_core(tenderlove).

ubercore(X) :-
  ruby_core(X), rails_core(X).
?- ubercore(X).
X = tenderlove
Prolog is Lisp, kinda
car([H|_], H).
cdr([_|T], T).

?- car([1, 2, 3], X).
X = 1


?- cdr([1, 2, 3], X).
X = [2, 3]
Sort a list
sorted([]).
sorted([_]).
sorted([X,Y|T]) :-
  X =< Y, sorted([Y|T]).
sort(X,Y) :-
  perm(X,Y), sorted(Y).
Thanks!
github.com / rkh / presentations

More Related Content

What's hot

Portuguese Linguistic Tools: What, Why and How
Portuguese Linguistic Tools: What, Why and HowPortuguese Linguistic Tools: What, Why and How
Portuguese Linguistic Tools: What, Why and HowValeria de Paiva
 
Divide and Conquer Semantic Web with Modular
Divide and Conquer Semantic Web with ModularDivide and Conquer Semantic Web with Modular
Divide and Conquer Semantic Web with ModularJie Bao
 
Representing and Reasoning with Modular Ontologies
Representing and Reasoning with Modular OntologiesRepresenting and Reasoning with Modular Ontologies
Representing and Reasoning with Modular OntologiesJie Bao
 
Contexts 4 quantification (CommonSense2013)
Contexts 4 quantification (CommonSense2013)Contexts 4 quantification (CommonSense2013)
Contexts 4 quantification (CommonSense2013)Valeria de Paiva
 
Adapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology LanguageAdapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology LanguageJie Bao
 
Crash Course in Natural Language Processing (2016)
Crash Course in Natural Language Processing (2016)Crash Course in Natural Language Processing (2016)
Crash Course in Natural Language Processing (2016)Vsevolod Dyomkin
 
Master in javascript
Master in javascriptMaster in javascript
Master in javascriptRobbin Zhao
 
Crash-course in Natural Language Processing
Crash-course in Natural Language ProcessingCrash-course in Natural Language Processing
Crash-course in Natural Language ProcessingVsevolod Dyomkin
 

What's hot (12)

Portuguese Linguistic Tools: What, Why and How
Portuguese Linguistic Tools: What, Why and HowPortuguese Linguistic Tools: What, Why and How
Portuguese Linguistic Tools: What, Why and How
 
Divide and Conquer Semantic Web with Modular
Divide and Conquer Semantic Web with ModularDivide and Conquer Semantic Web with Modular
Divide and Conquer Semantic Web with Modular
 
Representing and Reasoning with Modular Ontologies
Representing and Reasoning with Modular OntologiesRepresenting and Reasoning with Modular Ontologies
Representing and Reasoning with Modular Ontologies
 
Contexts 4 quantification (CommonSense2013)
Contexts 4 quantification (CommonSense2013)Contexts 4 quantification (CommonSense2013)
Contexts 4 quantification (CommonSense2013)
 
Adapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology LanguageAdapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology Language
 
Accentuate Us!
Accentuate Us!Accentuate Us!
Accentuate Us!
 
Let's Play Dart
Let's Play DartLet's Play Dart
Let's Play Dart
 
Dart
DartDart
Dart
 
Crash Course in Natural Language Processing (2016)
Crash Course in Natural Language Processing (2016)Crash Course in Natural Language Processing (2016)
Crash Course in Natural Language Processing (2016)
 
C++ language
C++ languageC++ language
C++ language
 
Master in javascript
Master in javascriptMaster in javascript
Master in javascript
 
Crash-course in Natural Language Processing
Crash-course in Natural Language ProcessingCrash-course in Natural Language Processing
Crash-course in Natural Language Processing
 

Viewers also liked

Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461
Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461
Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461Alexey Mahotkin
 
Rubinius: Ruby написанный на Ruby
Rubinius: Ruby написанный на RubyRubinius: Ruby написанный на Ruby
Rubinius: Ruby написанный на RubyIvan Samsonov
 
Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Vadim Kruchkov
 
Алан Милц - семинар по финансовому потоку
Алан Милц - семинар по финансовому потокуАлан Милц - семинар по финансовому потоку
Алан Милц - семинар по финансовому потокуAndrew Artishchev
 
Amplifr deck as it was june 2013
Amplifr deck as it was june 2013Amplifr deck as it was june 2013
Amplifr deck as it was june 2013Nate Gadgibalaev
 

Viewers also liked (7)

Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461
Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461
Nastachku slideshttp://www.slideshare.net/squadette/2012-45697461
 
Rubinius: Ruby написанный на Ruby
Rubinius: Ruby написанный на RubyRubinius: Ruby написанный на Ruby
Rubinius: Ruby написанный на Ruby
 
О ThinkWith.Me за 2 минуты
О ThinkWith.Me за 2 минутыО ThinkWith.Me за 2 минуты
О ThinkWith.Me за 2 минуты
 
Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.
 
Алан Милц - семинар по финансовому потоку
Алан Милц - семинар по финансовому потокуАлан Милц - семинар по финансовому потоку
Алан Милц - семинар по финансовому потоку
 
About downloads
About downloadsAbout downloads
About downloads
 
Amplifr deck as it was june 2013
Amplifr deck as it was june 2013Amplifr deck as it was june 2013
Amplifr deck as it was june 2013
 

Similar to Beyond Ruby: Exploring Full Object Orientation and Homoiconic Languages

Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and ScalaFilip Krikava
 
Sugar Presentation - YULHackers March 2009
Sugar Presentation - YULHackers March 2009Sugar Presentation - YULHackers March 2009
Sugar Presentation - YULHackers March 2009spierre
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesDominic Graefen
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypseelliando dias
 
Evolving as a professional software developer
Evolving as a professional software developerEvolving as a professional software developer
Evolving as a professional software developerAnton Kirillov
 
Prolog (present)
Prolog (present) Prolog (present)
Prolog (present) Melody Joey
 
Trends in programming languages
Trends in programming languagesTrends in programming languages
Trends in programming languagesAntya Dev
 
WordPress Plugin Localization
WordPress Plugin LocalizationWordPress Plugin Localization
WordPress Plugin LocalizationRonald Huereca
 
Breaking The Monotony
Breaking The MonotonyBreaking The Monotony
Breaking The MonotonyNaresh Jain
 
LISP: назад в будущее, Микола Мозговий
LISP: назад в будущее, Микола МозговийLISP: назад в будущее, Микола Мозговий
LISP: назад в будущее, Микола МозговийSigma Software
 
Introduction to object oriented programming
Introduction to object oriented programmingIntroduction to object oriented programming
Introduction to object oriented programmingAbzetdin Adamov
 
Indic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvmIndic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvmIndicThreads
 
Oop by edgar lagman jr
Oop by edgar lagman jr Oop by edgar lagman jr
Oop by edgar lagman jr Jun-jun Lagman
 
Practical functional programming in JavaScript for the non-mathematician
Practical functional programming in JavaScript for the non-mathematicianPractical functional programming in JavaScript for the non-mathematician
Practical functional programming in JavaScript for the non-mathematicianIan Thomas
 
Douglas Crockford Presentation Goodparts
Douglas Crockford Presentation GoodpartsDouglas Crockford Presentation Goodparts
Douglas Crockford Presentation GoodpartsAjax Experience 2009
 
Go Beyond Higher Order Functions: A Journey into Functional Programming
Go Beyond Higher Order Functions: A Journey into Functional ProgrammingGo Beyond Higher Order Functions: A Journey into Functional Programming
Go Beyond Higher Order Functions: A Journey into Functional ProgrammingLex Sheehan
 
Functional (web) development with Clojure
Functional (web) development with ClojureFunctional (web) development with Clojure
Functional (web) development with ClojureHenrik Eneroth
 

Similar to Beyond Ruby: Exploring Full Object Orientation and Homoiconic Languages (20)

Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and Scala
 
Sugar Presentation - YULHackers March 2009
Sugar Presentation - YULHackers March 2009Sugar Presentation - YULHackers March 2009
Sugar Presentation - YULHackers March 2009
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love Parantheses
 
Oop basic concepts
Oop basic conceptsOop basic concepts
Oop basic concepts
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
 
Evolving as a professional software developer
Evolving as a professional software developerEvolving as a professional software developer
Evolving as a professional software developer
 
Prolog (present)
Prolog (present) Prolog (present)
Prolog (present)
 
Trends in programming languages
Trends in programming languagesTrends in programming languages
Trends in programming languages
 
WordPress Plugin Localization
WordPress Plugin LocalizationWordPress Plugin Localization
WordPress Plugin Localization
 
All of Javascript
All of JavascriptAll of Javascript
All of Javascript
 
Breaking The Monotony
Breaking The MonotonyBreaking The Monotony
Breaking The Monotony
 
LISP: назад в будущее, Микола Мозговий
LISP: назад в будущее, Микола МозговийLISP: назад в будущее, Микола Мозговий
LISP: назад в будущее, Микола Мозговий
 
Introduction to object oriented programming
Introduction to object oriented programmingIntroduction to object oriented programming
Introduction to object oriented programming
 
Indic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvmIndic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvm
 
Oop by edgar lagman jr
Oop by edgar lagman jr Oop by edgar lagman jr
Oop by edgar lagman jr
 
Practical functional programming in JavaScript for the non-mathematician
Practical functional programming in JavaScript for the non-mathematicianPractical functional programming in JavaScript for the non-mathematician
Practical functional programming in JavaScript for the non-mathematician
 
Programming with Freedom & Joy
Programming with Freedom & JoyProgramming with Freedom & Joy
Programming with Freedom & Joy
 
Douglas Crockford Presentation Goodparts
Douglas Crockford Presentation GoodpartsDouglas Crockford Presentation Goodparts
Douglas Crockford Presentation Goodparts
 
Go Beyond Higher Order Functions: A Journey into Functional Programming
Go Beyond Higher Order Functions: A Journey into Functional ProgrammingGo Beyond Higher Order Functions: A Journey into Functional Programming
Go Beyond Higher Order Functions: A Journey into Functional Programming
 
Functional (web) development with Clojure
Functional (web) development with ClojureFunctional (web) development with Clojure
Functional (web) development with Clojure
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Beyond Ruby: Exploring Full Object Orientation and Homoiconic Languages