Upgrade to Pro — share decks privately, control downloads, hide ads and more …

El Dilema de la Simplicidad - RubyConf Argentina

El Dilema de la Simplicidad - RubyConf Argentina

Video: https://vimeo.com/116458315

Over the years we've learned to pay attention to the importance of a number of highly desirable qualities in software: readability, maintainability, adaptation to change. We've accepted these values as good and actively pursue them yet we consistently ignore what is probably the best method of achieving these qualities, it's staring us right in the face now.
Slowly but steadily the philosophy of embracing simplicity in software design by carefully calculating and minimizing unnecessary complexity is gaining traction in our community, and for a good reason: it organically pushes us to the best software practices we all know and love, it both embraces all the core principles the ruby community has developed over the years while rejecting many of the common practices we carry based on inertia but which directly contradict these values.
In this talk I explore my journey on this shift in perspective from certain fragments of our community and how thinking about simplicity as one of our core values can push us to be better developers while producing better quality of software. We don't need our crutches anymore, let's drop them together!

Pablo Astigarraga

October 25, 2014
Tweet

More Decks by Pablo Astigarraga

Other Decks in Programming

Transcript

  1. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  2. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  3. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  4. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  5. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  6. uri = URI('http://example.com/index.html')! payload = { limit: 10, page: 3

    }! uri.query = URI.encode_www_form(payload)! ! res = Net::HTTP.get_response(uri)! ! puts res.body if res.is_a (Net::HTTPSuccess) Experiencia de Usuario
  7. \

  8. Experiencia de Usuario payload = {'key1': 'value1', 'key2': 'value2'}! !

    r = requests.get(! “http://httpbin.org/get",! params=payload! )! ! r.status_code #=> 200
  9. Experiencia de Usuario payload = {'key1': 'value1', 'key2': 'value2'}! !

    r = requests.get(! “http://httpbin.org/get",! params=payload! )! ! r.status_code #=> 200
  10. Experiencia de Usuario payload = {'key1': 'value1', 'key2': 'value2'}! !

    r = requests.get(! “http://httpbin.org/get",! params=payload! )! ! r.status_code #=> 200
  11. Experiencia de Usuario payload = {'key1': 'value1', 'key2': 'value2'}! !

    r = requests.get(! “http://httpbin.org/get",! params=payload! )! ! r.status_code #=> 200