Finalmente, chegamos no último episódio do tema de Back-End!

Devo dizer que este foi um dos episódios que eu mais queria explicar. Toda nova linguagem hoje em dia tem Garbage Collector. Mas a maioria dos programadores não tem a mínima idéia de como eles funcionam.

Mais importante: todos acreditam que garbage collectors são mágicos e "simplesmente funcionam" mas não entendem quais são os reais motivos de porque eles existem, quais problemas eles resolvem, e quanto eles CUSTAM pro seu programa. Sim! Nenhuma mágica vem de graça.

Hoje vamos usar o que aprendemos até agora pra finalmente olhar linguagens como Objective-C/Swift, Python, Ruby, Java, Erlang/Elixir, Go e entender como eles diferem no gerenciamento de memória.


Links:

* Sun Java System Application Server 9.1 Performance Tuning Guide (https://docs.oracle.com/cd/E19159-01/819-3681/abeio/index.html)
* Garbage collection in Python: things you need to know (https://rushter.com/blog/python-garbage-collector/)
* What causes Ruby memory bloat? (https://www.joyfulbikeshedding.com/blog/2019-03-14-what-causes-ruby-memory-bloat.html)
* Demystifying the Ruby GC (https://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc)
* Erlang Garbage Collector (https://www.erlang-solutions.com/blog/erlang-garbage-collector.html)
* Go, don't collect my garbage (https://blog.cloudflare.com/go-dont-collect-my-garbage/)
* Tuning glibc Memory Behavior (https://devcenter.heroku.com/articles/tuning-glibc-memory-behavior)
* The status of Ruby memory trimming & how you can help with testing (https://www.joyfulbikeshedding.com/blog/2019-03-29-the-status-of-ruby-memory-trimming-and-how-you-can-help-with-testing.html)
* HOW THREE GUYS REBUILT THE FOUNDATION OF FACEBOOK (https://www.wired.com/2013/06/facebook-hhvm-saga/)
* Ruby Memory Environment Variables - Simpler Than They Look. (http://engineering.appfolio.com/appfolio-engineering/2018/6/27/ruby-memory-environment-variables-simpler-than-they-look)
* "WEAK, STRONG, UNOWNED, OH MY!" - A GUIDE TO REFERENCES IN SWIFT (https://krakendev.io/blog/weak-and-unowned-references-in-swift)


Podcast: https://anchor.fm/dashboard/episode/ebvoub
Transcript: https://www.akitaonrails.com/2019/04/03/akitando-46-gerenciamento-de-memoria-parte-2-entendendo-back-end-para-iniciantes-parte-6