Em que linguagem Charlie está programando?
No episódio 20 da quinta temporada de Numb3rs (E05S20), Charlie está tentando resolver um problema utilizando uma implementação do algoritmo de Dijkstra. Fiquei intrigado e fui olhar de perto o código, que é o que segue:
Que linguagem é esta, utilizada por ele para implementar o algoritmo? Será que é uma linguagem real ou inventaram para este episódio? Se você sabe ou tem uma idéia, poste um comentário.
Que linguagem é esta, utilizada por ele para implementar o algoritmo? Será que é uma linguagem real ou inventaram para este episódio? Se você sabe ou tem uma idéia, poste um comentário.
Comentários
http://www.cprogramming.com/tutorial/computersciencetheory/dijkstra.html
Ela tem um estilo clean, não é verborrágica como (evil)java(/evil).
Ela é intuitiva.
O desempenho dela é bem pior do que C. Mas veja bem, vc fica 10e99999 vezes mais produtivo com ela kra!!!!!!
Já tem alguma lista de discussão dela no brasil? Apostilas, tutoriais, livros, minicursos pra já!
Ah, mas pra essa linguagem ficar boa ela precisa de um canal na freenode, um planet e um framework web!
Será que vamos ter um espaço para a comunidade dessa linguagem no fisl esse ano?
Eu iria mais longe ainda e diria que ele está programando sob o clássico paradigma da programação estruturada, e não por acaso escolheram o algoritmo de Dijkstra: ele também foi uma das maiores referências quando o assunto era programação estruturada.
Sobre as oportunidades, eu discordo das opções apresentadas até o momento. Acho que ele apresentou uma ótima opção: uma solução independente de linguagem, praticamente atemporal, e de fácil legibilidade/entendimento. Isto inclusive representa muito melhor o personagem dele.
Se fosse para utilizar uma linguagem específica, seria muita mais interessante apresentar - por exemplo - uma linguagem funcional, fortemente e estaticamente tipada, que permitisse a ele especificar o problema através dos dados antes de iniciar a implementação. Ou até apresentar outras linguagens que estão dentro do ambiente acadêmico, como as multiparadigmas (lógico-funcionais-OO, por exemplo).
Afinal, para um personagem "nerd" que é praticamente a definição da palavra em si, seria muito mais interessante ele estar mais ligado com a ciência em si do que com técnicas ou linguagens populares.
E é isso.
De qualquer forma, o que muda é o último parágrafo: não é o personagem de um "nerd" ao extremo, mas de um gênio matemático - o que combina ainda mais com o uso de técnicas e ferramentas de programação mais abstratas.
E é isso!
http://en.giswiki.net/wiki/Dijkstra%27s_algorithm#Pseudocode