Programação: Bibliografia Recomendada

A sair do forno, o novo livro de Haskell da O'Reilly:

Haskell

  • Real World Haskell

  • Autor: Bryan O'Sullivan, Donald Stewart & John Goerzen
  • Editora: O'Reilly Media, Inc.
  • Idioma: Inglês
  • Páginas: 300
  • Capa
  • Versão Online
Podem optar por comprar o livro ou lê-lo online: http://book.realworldhaskell.org/
Já estive a dar uma vista de olhos e parece-me um livro bastante completo que aborda uma vasta gama de temas, desde os temas mais básicos da linguagem e a programação funcional, passando pelos Monads, Arrays, utilização de Regex, etc, até temas como a programação de GUIs, programação concorrente e paralela e outros que estão indicados nos títulos dos capítulos. Parece-me uma boa alternativa ao livro Fundamentos da Computação, Livro II: Programação Funcional, já indicado nesta thread, sobretudo para quem não quer estar a gastar dinheiro a comprar um livro físico, para quem não tem problemas com o Inglês e para quem quer aprender algo mais do que o básico de Haskell que o livro que citei ensina, não querendo, no entanto, descredibilizar o já referido livro, por sua vez em Português. O livro, possui um conjunto de exercícios para resolver em cada capítulo e os temas são explicados com uma linguagem acessível e com bastantes exemplos, o que é uma vantagem.

Conclusão: Recomendado
 
Última edição:
VISUAL BASIC 6 CURSO COMPLETO
  • Autor: Nuno Nina
  • Editora: FCA
  • Idioma: Português
  • Páginas: 1120

Até hoje, o unico livro de programação que me arrependi de comprar.
Tendo em conta que quando peguei no livro ja sabia programação, estava habituado ao Delphi e comprei porque precisei de aprender VB.

A minha opinião pessoal:
- Grande
- Pesado
- Caro (ainda antes de 2000 custou-me cerca de 9 cts (45€)). Hoje nao sei o preco.
- Muito Pouco conteudo. Com tanta folha podia ter mais menos palha. Bastava alterar o tamanho da letra para um tamanho normal.

Resultado final de 0 a 10 dou -5!
 
Infelizmente..., vou ter de subscrever a tua resposta. Concordo com tudo o que disseste, no entanto hoje em dia VB6 já é muito pouco utilizado e não tenho conhecimento de um livro de VB.NET do mesmo estilo.
 
Após ter lido o livro, aqui fica mais uma review:

Haskell

  • Fundamentos da Computação, Livro II: Programação Funcional

  • Autor: José Manuel Valença & José Bernardo Barros
  • Editora: Universidade Aberta
  • Idioma: Português
  • Páginas: 234
É um livro que faz parte de um conjunto de dois livros acerca dos fundamentos da computação e que aborda o paradigma da programação funcional utilizando a linguagem Haskell. Começa por introduzir o Haskell enquanto linguagem de programação funcional, explicando o modo de execução de programas, de funcionamento interno da linguagem e da sua forte disciplina de tipos. De seguida passa aos aspectos triviais, desde a recursividade, listas, acumuladores, strings, funções de ordem superior, estruturas de dados (matrizes, polinómios, conjuntos, árvores binárias e de expressão), passa pelas classes e pelo polimorfismo introduzido por este mecanismo (para além do polimorfismo paramétrico), terminando este capítulo com as classes de construtores que servem de mote à introdução do último capítulo que aborda as monádes (identidade, listas, estado, IO). Para além de ser escrito em Português por dois docentes conceituados do Departamento de Informática da Universidade do Minho, é um livro que vai abordando os diversos temas de um modo simples e sempre com bastantes exemplos de modo a facilitar a compreensão. Para além disso em cada capítulo existem vários conjuntos de exercícios propostos que permitem aplicar os conhecimentos obtidos.

-> A favor:

- Escrito em Português
- Vários conjuntos de exercícios ao longo dos capítulos, que permitem obter uma ginástica mental fundamental para a resolução de determinados problemas utilizando o paradigma da programação funcional, bem como a apresentação de um vasto leque de funções pré-definidas que são importantes na resolução dos mais variados exercícios
- Disciplina de tipos do Haskell bem patente em todos os capítulos
- Linguagem simples mas ao mesmo tempo técnica
- 2 casos de estudo no fim do último capítulo que concentram um conjunto de tarefas que obrigam a utilizar os conhecimentos adquiridos ao longo do livro.

-> Contra:

- É um livro orientado sobretudo aos meios académicos, isto é, os seus conteúdos aproximam-se daqueles que são leccionados em cursos de informática onde se estuda a programação funcional com Haskell e, como tal, não permite expandir os horizontes do leitor relativamente ao verdadeiro potencial do Haskell
- Não tem um capítulo/sub-capítulo dedicado aos ficheiros, que é um tema que, na minha opinião, é essencial em todo o livro de iniciação à programação.

Veredicto final: Para quem está a começar a aprender programação funcional com Haskell, tem aqui um bom livro para iniciar, pois este permite uma evolução de conhecimentos desde o mais básico até a alguns mecanismos mais avançados, sendo essa evolução resultante de uma aprendizagem bem sólida. Para quem quer "algo mais que o básico", então este não é o livro ideal. Nesse caso deve-se optar pelo Real World Haskell. Na minha opinião, o trajecto ideal para quem quer começar com Haskell seria:

1º - Fundamentos da Computação, Livro II: Programação Funcional
2º - Real World Haskell

Conclusão: Recomendado
 
Última edição:
Boa tarde.

Eu sou programador há não muito tempo, mas devido à minha inexperiência, tenho algumas dificuldades nos raciocínios relacionados com a parte de análise de algo que vá desenvolver, tal como que classes criar, que objectos criar, tal como na parte mais teórica da coisa, como por exemplo, o esquema (UML e isso), etc.

Gostaria de saber se me aconselham alguma bibliografia que me possa ajudar a identificar o que falha nos meus raciocínios, ou ajudar a criar alguns melhores, independentemente da linguagem, ou se apenas acham que é algo que surge com a experiência, ou talvez se com alguns projectos específicos que faça por minha livre vontade, esse problema acabe por se resolver e comece tudo a ser mais lógico e fácil...

Espero ter-me feito entender, sei que é algo complicado de explicar.

Obrigado e um abraço
 
[...]gostaria de saber qual destes dois livros aconselham:[...]
Eu por experiencia própria, aconselho-te o Linguagem C do Luis Damas, apesar de nunca ter lido o outro
Aconselho-to porque o autor consegue dar exemplos práticos sobre os capitulos, que nos facilitam a percepção do que é esse capitulo, e as explicações são fáceis de entender
Mais alguma pergunta sobre este livro, podes mandar PM, ou postar ;)
 
Eu sou programador há não muito tempo, mas devido à minha inexperiência, tenho algumas dificuldades nos raciocínios relacionados com a parte de análise de algo que vá desenvolver, tal como que classes criar, que objectos criar, tal como na parte mais teórica da coisa, como por exemplo, o esquema (UML e isso), etc.

Há imensos livros sobre UML, alguns de qualidade duvidosa. Outras abordagens, como a abordagem relacional das bases de dados também são importantes.

Filosoficamente, acho que estes livros não te podem ensinar a resolver problemas com que ainda não te deparaste. Citando Knuth, a programação é uma arte. Citando Picasso, a arte não se ensina, aprende-se.

Dito isto, há muitas ferramentas das quais nos podemos munir para estarmos mais preparados, e há muitos livros. Convém ir buscar os bons, e não perder tempo com aqueles que são mais "hype", "uau, o UML é muita bom!".

Recomendo:

  • "Object-oriented modeling and design", de James Rumbaugh e outros, Prentice-Hall International 1991, ISBN 0-13-630054-5. Este livro é de um dos autores do UML, o Rumbaugh, no entanto é mais antigo, eu acho que se aprende mais por este. Basicamente ensina que um modelo pode ser conceptual (modela a aplicação tal como o utilizador a vê), arquitectural (modela o modo como componentes da aplicação interagem) ou de implementação (modela o que vão efectivamente ser classes no programa). E que há o modelo estático (os dados), dinâmico (os estados) ou funcional (a composição das operações e fluxos de dados).
  • "Pattern languages of program design", editado por James Coplien e Douglas Schmidt, Addison-Wesley 1995, ISBN 0-201-60734-4. Este livro seguiu-se a uma conferência do mesmo nome que iniciou a onda dos "padrões" ou "patterns". Trata-se de compreender que em abstracto, não existem muitos tipos de programas diferentes, tipos de arquitecturas, e convém conhecer como são, não reinventar tudo.
  • Precisas talvez (ou não) de algum mais antigo que te fale da abordagem relacional das bases de dados, da qual a abordagem OO deriva.
Depois, tem atenção que grande parte dos livros que estão nas livrarias são para quem quer saber apenas o mínimo para satisfazer o seu supervisor, para fazer uns bonecos e tal. Não vale a pena gastar dinheiro nesses.

Finalmente: lembra-te sempre que a tua arquitectura, ou o teu desenho, destina-se apenas a satisfazer de uma maneira boa os requisitos do projecto que tens em mãos, e não todos os problemas passados e futuros que possam existir. Não tornes complexo aquilo que não necessita de o ser. Cada coisa que se acrescenta é um constrangimento (um programa com 0 linhas de código é 100% reutilizável, com 1 linha é quase, com 100 milhões já é completamente específico para um problema, 0% reutilizável). Lembra-te sempre do célebre princípio de engenharia: K.I.S.S. (keep it simple, stupid).
 
Podes criar a categoria "Redes" ou "Network Programming" de modo a não juntar esses livros com outros que falam de temas completamente distintos, como por exemplo, UML (que poderia estar na categoria "Modelação").
 
Por acaso foi uma coisa em que estive a pensar antes de fazer este post, acabei por movê-los para a secção do C. Acho que é preciso criar novas categorias ou sub-categorias dentro do Outros.
 
Adicionado:

Livros

Outros

  • Data Structures and Algorithms

  • Autor: Granville Barnett & Luca Del Tongo
  • Idioma: Inglês
  • Páginas: 97
  • Capa
  • Download
Livro gratuito sobre Estrutura de Dados e Algoritmos (DSA)

O Granville Barnett e o Luca Del Tongo acabaram de lançar a primeira versão do livro "Data Structures and Algorithms", onde os autores explicam, de forma simples, o funcionamento de diversas estruturas de dados e algoritmos, com muitos exemplos de uso.

Um detalhe importante, é que o livro não utiliza uma linguagem de programação específica nos exemplos, mas sim uma espécie de pseudo-código criado pelos próprios autores, e que são de fácil compreensão, permitindo ao leitor converter o código para sua linguagem favorita sem grandes complicações.

Dentre os assuntos abordados no livro, estão estruturas de dados como Listas Ligadas, Árvores Binárias, Pilhas, Conjuntos, Filas e Árvores Balanceadas, e diversos algoritmos para Ordenação, Pesquisa, Números e Strings.

O livro é gratuito e está disponível para download (PDF) no site: http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/

@ http://www.portugal-a-programar.org/forum/index.php/topic,20458.msg232934.html#msg232934
 
Mais avançado, para quem quer ir mais a fundo na linguagem e perceber como a linguagem pode ser interpretada/compilada,

Lisp In Small Pieces, Christian Queinnec, Cambridge University Press 1996.
 
Titulo: C++ Primer Plus, 5th Edition
Autor: Stephen Prata
Páginas: 1224
Editor: Pearson Professional Education
Lingua: Inglês

Aconselho este livro a quem quiser começar a aprender a programar em c++, uma vez que o livro não pressopõe conhecimentos prévios e cobre quase a totalidade do c++.
Estou a ler este livro e acho que é um bom livro, tem exemplos ao longo dos capitulos e alguns exercicios no final de cada capitulo.
 
Back
Topo