Oddbean new post about | logout
 O problema é que esse pessoal nunca fala do que está acontecendo por debaixo do capô. Tudo maravilhoso até alguém se fuder com alguma programação porca. Isso tudo é uma boa merda. Já está ficando mandatório o homem começar a escrever suas próprias ferramentas. Eu, sinceramente, não confio em código que não fui eu que escrevi. Aberto ou não.  
 Tá falando nada com nada. 
 Você dizer isso é que não quer dizer nada. Renata com algo concreto ou não questione.  
 Só o que tem por aí é protocolo mágico, quase não auditado e com um alto potencial de fraude. Teve um sujeito lá em El Salvador que confiou num certo plugin e tomou no toba. Vai fundo e confia.  
 Continua falando nada com nada, rs. Primeiro pesquise sobre o assunto discutido aqui, entenda do que se trata, para depois emitir alguma opinião. 
 Risadinha é argunento de puta. Exipla aí o protocolo tecnicamente, campeão, já que é tão fodão. Vai lá. Põe aí uns comentários com os códigos fontes explicando como essa merda faz a mágica, junto com a explicação da infra envolvida, ou vale a bosta da sua boca. 
 Olha quero aprender programação, não sei como começar, aí vem você escreve essas coisas. Como vou confiar nos ensinos se nem ao menos iniciei? Outra, como vou aprender se não posso pagar cursos? Outra onde aprendo de verdade? Outra, quais fontes são mais certo que eu aprenda  programação? 
 O fato de haver essa picaretagem não deve te desanimar, mas fazer com que você entenda  que nenhuma área científica hoje está livre de manipulação. A TI tem a vantagem de ser aberta e permitir, com pouco orçamento, aprender pessoalmente à revelia da academia. Minha formação como programador é auto-didata. Eu não fiz curso nenhum, porém, comecei em 1990. Eu vi quase tudo acontecendo pessoalmente. Desde a briga Token Ring x Ethernet e do Open Sistemes x Novell, até a chegada do linux. Trabalhei com super micros Cobra e Sid SMX 390. Então, eu tive a oportunidade de pegar o fio da meada. Mas não acho impossível que alguém consiga entender tudo por si só hoje. Ademais, há muita informação na internet, que é totalmente aberta. 

O importante são os fundamentos. Estude os fundamentos bem: estrutura de dados, lógica de programação, algoritmos, conceitos de OOP, versionamento de código, Banco de dados, Sistemas operacionais e redes de computadores. Hoje se consegue vasta documentação livre para estudar. Uma vez dominando minimamente estas disciplinas, se pode aprofundar em linguagens de programação. 

Só não pense que é simples e fácil, nem que é algo que precisa décadas pra começar. O campo é vasto, quando souber onde o galo canta, escolha uma área específica pra se aprofundar. 

Não se prenda a modinhas do momento. Em cajuzinhos do verão. Nunca vi isso funcionar por muito tempo.

Sobre fontes: Em relação aos fundamentos, prefira bons livros sobre estes assuntos. Há dezenas deles na internet, dentre alguns clássicos. Segue uma lista:

Lógica de Programação

"Lógica de Programação: A Construção de Algoritmos e Estruturas de Dados" de André Luiz Villar Forbellone e Henri Frederico Eberspächer

Estruturas de Dados

"Estruturas de Dados e Algoritmos em Java" de Robert Lafore
"Algorithms, Part I and II" de Robert Sedgewick e Kevin Wayne (também disponível como curso online gratuito no Coursera)
Algoritmos

"Introduction to Algorithms" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein
"Algoritmos: Teoria e Prática" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein
Linguagens de Programação

Python: "Python Crash Course" de Eric Matthes
JavaScript: "Eloquent JavaScript" de Marijn Haverbeke (disponível online gratuitamente)
Java: "Java: The Complete Reference" de Herbert Schildt
C++: "Programming: Principles and Practice Using C++" de Bjarne Stroustrup
Conceitos de Orientação a Objetos (OOP)

"Design Patterns: Elements of Reusable Object-Oriented Software" de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
"Head First Object-Oriented Analysis and Design" de Brett McLaughlin, Gary Pollice e David West
Desenvolvimento de Software

"Clean Code: A Handbook of Agile Software Craftsmanship" de Robert C. Martin
"The Pragmatic Programmer: Your Journey to Mastery" de Andrew Hunt e David Thomas
Versionamento de Código

"Pro Git" de Scott Chacon e Ben Straub (disponível online gratuitamente)
Banco de Dados

"Database System Concepts" de Abraham Silberschatz, Henry F. Korth e S. Sudarshan
"SQL For Dummies" de Allen G. Taylor
Redes de Computadores

"Computer Networking: A Top-Down Approach" de James F. Kurose e Keith W. Ross
Sistemas Operacionais

"Operating System Concepts" de Abraham Silberschatz, Peter B. Galvin e Greg Gagne