Entendendo Algoritmos Na Visão de Um Desenvolvedor Android

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Entendendo Algoritmos Na Visão de Um Desenvolvedor Android

Entendendo Algoritmos Na Visão de Um Desenvolvedor Android

Vinícius Thiengo
(3403) (1)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloAprenda Domain-driven Design: Alinhando Arquitetura de Software e Estratégia de Negócios
CategoriaEngenharia de Software
Autor(es)Vlad Khononov
EditoraAlta Books
Edição1ª
Ano2024
Páginas320
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

"Sem curso técnico, sem faculdade (faculdade para quê?). Aprendi a programar sozinho".

Você certamente já ouviu este discurso, certo? Alias, é possível que você mesmo sustente essa narrativa.

Não é incomum encontrarmos desenvolvedores que são autodidata. Aprendem a programar nos livros, nos cursos digitais (os informais), nos fóruns, nos blogs e nas redes sociais.

E sim, muitos desenvolvedores autodidata são realmente bons. Têm uma facilidade invejável para aprender qualquer novo recurso de programação.

Mas… e isso é sim apenas a minha opinião… os autodidatas muito bons em desenvolvimento de software são exceções.

Já informo que vai soar no mínimo um pouco soberbo, não é nem de perto a minha intenção. Mas baseando-se nos contatos que eu tenho com desenvolvedores autodidata…

a maior parte deles têm problemas com a base, fundamentos, do desenvolvimento de software.

Por exemplo, não é comum entender (por conta própria) o que está ocorrendo em memória quando o projeto de aplicativo está em execução. O que realmente ocorre quando um método recursivo é utilizado como algoritmo solução…

que cada invocação do mesmo método… mesmo sendo o mesmo método… cria uma sequência de novos objetos em memória.

Não é intuitivo, como autodidata, entender que utilizar uma busca simples em uma lista ordenada é muito mais "caro" do que uma busca binária.

Muitos cursos digitais informais (entenda informais como "sem reconhecimento do MEC"), por exemplo, focam muito na sintaxe da linguagem e acabam não informando que quanto mais propriedades de classe, mais tempo a memória se mantém ocupada por, inúmeras vezes, variáveis que não mais são úteis em execução…

variáveis que poderiam ser apenas parâmetros em métodos.

Ao menos para o desenvolvimento de aplicativos, quando os fundamentos são bem entendidos o nosso "arsenal" de ferramentas e de criatividade fica muito mais poderoso no dia a dia profissional.

Além do mais… todo o restante, a parte mais complexa sobre desenvolvimento, passa a ser de fácil entendimento.

E de forma alguma entenda isso como um "manifesto pró faculdade" ou pró curso formal de TI (bacharelado, técnico, tecnólogo, …).

A ideia aqui é simplesmente enfatizar que a base deve sim ser buscada e que ela é muito mais e vem bem antes do que dominar sintaxe de linguagem de programação de propósito geral (Kotlin, Java, Python, PHP, …).

Hoje em dia, além de desenvolvedor Android eu também tenho alunos de programação desta mesma plataforma.

E para mim é muito valioso saber mostrar os conteúdos de desenvolvimento de maneira que todos os alunos consigam entender.

Devido a isso eu tenho que cada vez mais fortalecer a minha base em codificação.

E um dos caminhos que vejo como inteligente é lendo alguns dos livros que seguramente eu indicaria para qualquer profissional desenvolvedor de software.

Estou falando de livros independentes de paradigmas de programação e de linguagens. Digo, independentes de linguagens desde que essas não sejam linguagens especificas de domínio - DSL - pois aqui o "barulho" é outro.

E sim, um desses títulos é o livro "Entendendo Algoritmos" de Aditya Bhargava.

Capa do livro Entendendo Algoritmos

Acredite:

Eu somente li este livro porque eu o comprei. Não estou recebendo nenhum centavo (e nem livros) da Novatec para fazer esta resenha.

Mas nem por isso vou ficar com receio de indicar algo que sei que é bom e será muito útil na comunidade de desenvolvedores. Ao menos à comunidade de desenvolvedores Android que também me acompanham aqui no Blog.

E olha que eu também sou autor de livros de desenvolvimento. E quando eu indico a você algum outro livro de TI, acredite… eu estou simplesmente fortalecendo um concorrente.

Enfim… sem mais demagogia: o livro de Aditya Bhargava é excepcional e não tem nada de complexo.

Eu sou graduado em TI e tenho MBA. E com total segurança falo a ti que este livro tem seguramente a base de desenvolvimento de software que qualquer curso formal de TI ao menos deveria lhe dar.

Então, principalmente para você que é autodidata ou que está apenas iniciando em desenvolvimento de software: vale muito o investimento nesta leitura.

A base bem fundamentada sobre:

  • Complexidade de código;
  • Algoritmos de busca;
  • Algoritmos de ordenação;
  • Consumo de memória;

Tudo isso você terá neste título.

Mas, Thiengo. Meu negócio é vídeo aula. Eu não sou nada fã de livros. O que faço?

Se esforce! Comece lendo poucas páginas.

Este é um daqueles títulos que vale a pena tirar alguns minutos de diversão diária para investir na leitura dele.

Principalmente porque os conteúdos são abordados na ordem correta e com exemplos extremamente simples, que facilitam consideravelmente a compreensão do assunto foco do capítulo.

Os exercícios são ainda mais tranquilos (eu os reproduzi em Kotlin, pois eles são apresentados em Python) e todos têm suas respostas ao final do livro.

O único ponto negativo do livro é que ele fala também sobre aprendizagem de máquina (machine learning). Mais precisamente sobre K-vizinhos.

Para um título "base" como este eu não escolheria falar sobre aprendizagem de máquina. Isso não é nem de perto conteúdo para quem está iniciando.

Mas o autor consegue dar uma pincelada superficial o bastante para não assustar o leitor.

Enfim. Eu precisava vim aqui e compartilhar com você sobre esse título que, ao menos para desenvolvedores autodidata de aplicativos Android, deve ser tratado como um recurso base de estudo.

Tanto ele como inúmeros outros, até mesmo o livro Lauren Ipsum de Carlos Bueno.

Thiengo, o livro "Lauren Ipsum" é para jovenzinhos que querem aprender mais sobre TI, não?

Não mesmo. É um livro com uma abordagem (bem) diferente sobre o que é desenvolvimento de software.

Não faça pouco caso de "Lauren Ipsum". É um outro grande título para fortalecer ainda mais os seus fundamentos, a base, do desenvolvedor.

Para finalizar, leve isso a sério (e o título "Entendendo Algoritmos" vai lhe ajudar neste quesito):

Entenda o que ocorre na memória do aparelho quando as estruturas de dados que você escolheu para seu projeto de aplicativo estão em execução.

Isso vai literalmente te levar para outro patamar.

Então é isso.

Se houverem dúvidas sobre o título ou se você quiser recomendar algum outro… deixe logo abaixo nos comentários.

E não se esqueça de se inscrever na lista de e-mails do Blog ðŸ“© (que é gratuita) e assim receber também os conteúdos exclusivos que eu libero somente lá.

Abraço.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

5 livros que não são de TI, mas que um desenvolvedor deveria ler5 livros que não são de TI, mas que um desenvolvedor deveria lerEmpreendedorismo
Porque e Como Utilizar Vetores no AndroidPorque e Como Utilizar Vetores no AndroidAndroid
Construa Um Aplicativo Android Completo Para YouTubers - Parte 1Construa Um Aplicativo Android Completo Para YouTubers - Parte 1Android
A Arte de Escrever Programas Legíveis Na Visão de Um Dev AndroidA Arte de Escrever Programas Legíveis Na Visão de Um Dev AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (1)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Dionizio Gonzaga (0) (1)
21/11/2022
Muito bacana, já colocarei na lista de livros.
Qualquer coisa cria uma loja sua na Amazon (por exemplo) e coloca o link do livro.
Responder