Sou totalmente novo na noção de ciência da computação e estou procurando um bom ponto de partida.
Entendo que não existe uma linguagem objetivamente melhor, mas gostaria de aprender uma linguagem que tenha uma presença indiscutivelmente forte e proeminente em relação à ciência da computação - uma considerada com capacidade e eficiência excepcionais.
Para começar, eu estava inclinado a modelagem relacionada a ligações e interações de átomos, com um requisito para representações / simulações gráficas.
Algumas línguas tendem a ser melhores para alguns campos do que outros (por exemplo, física versus matemática pura)? Ou a escolha de um idioma é baseada em outros fatores?
Eu ouvi o nome Fortran sendo jogado muito por aí.
Sugestões?
Respostas:
Principalmente, tudo se resume às bibliotecas numéricas disponíveis, que ajudarão a realizar sua tarefa. O C / C ++ possui um grande número de bibliotecas numéricas implementadas para eles, mas o fato de serem linguagens de baixo nível não é o melhor para prototipar algo rapidamente.
Eu acho que para avançar rapidamente em direção a uma solução, eu recomendaria o uso de algo como Matlab ou Mathematica. Eles têm um conjunto de ferramentas grande e são de nível muito alto. Provavelmente, sua implementação não será dimensionada para uso em produção, mas pode ser um bom cenário para experimentar métodos diferentes. Depois de conhecer um caminho a seguir, você sempre pode implementar algo em C / C ++ com mais eficiência.
fonte
Pitão!
Isso parafraseia o que eu acho que é a melhor maneira de abordar um problema na computação científica. Comece ajudando o problema a brincar com exemplos de brinquedos em pequenos scripts. Torne-se mais sistemático e configure um conjunto de códigos. Então faça seu código funcionar !!! Finalmente, se necessário, faça a otimização do código. Não reinvente a roda e não faça otimização prematura.
(Pontos positivos: o Python é gratuito - sem problemas de licença, grande comunidade, por exemplo, sobre stackoverflow, módulos para uma boa programação como teste de unidade ou registro ...)
fonte
Experimente o Python como descrito, por exemplo, no livro Python Scripting for Computational Science .
fonte
Python pode ser um ótimo ponto de partida. O recurso a seguir é um ótimo ponto de partida.
http://www.openbookproject.net/thinkcs/python/english2e/
fonte
Fortran: tipo Matlab, fácil de aprender e usar e rapidamente se torna produtivo, mas só é bom para computação numérica
C ++: difícil de dominar (levará anos), mas muito usado fora da computação numérica (segurança no trabalho)
Python: recomendado muito hoje em dia, mas muito lento para trabalhos não triviais. Você escreverá todos os seus kernels computacionalmente caros subjacentes em C e os chamará do Python, o que significa que você terá que aprender (pelo menos) duas línguas
fonte
Resposta curta
Aprenda sobre os conceitos básicos de código orientado a objetos por meio de python e aprenda sobre os conceitos básicos de ciência da computação em C. Quando você estiver pelo menos bem com as duas outras linguagens, aprenda C ++, porque você pode fazer praticamente qualquer coisa em C ++ e faça funcionar rapidamente (embora demore uma eternidade para escrever).
Resposta mais longa
Então, eis o seguinte: para o seu primeiro projeto, você estará no laboratório de alguém trabalhando no código de outra pessoa. Nesse caso, eles escolherão a linguagem de programação. O que eu pessoalmente acho ótimo!
Quero dizer, como iniciante, você realmente não vai conhecer o seu traseiro por um tempo e, especialmente quando você não sabe o que está fazendo, aprender a programar pode ser um empréstimo. Portanto, é bom ter a estrutura e os limites resultantes do trabalho no código de outra pessoa, e é bom ter a motivação e o entusiasmo que só podem resultar do trabalho em um projeto real.
Ainda assim, independentemente do idioma que seu laboratório usa (especialmente se for o Matlab), você provavelmente deve aprender python, C e C ++. Em particular, se você não é oriundo de ciência da computação, DEVE ler "The C Programming Language", de Kernighan e Ritchie. Tem 35 anos e dá a impressão distinta de que seus autores estavam programando em cartões perfurados, mas é o mais raro dos pássaros: um livro de ciência da computação atemporal. Isso tornará muitas coisas muito mais claras.
fonte