Visão Geral
Julia foi desenvolvida por pesquisadores do MIT e de outras universidades que explicaram por que iniciaram o Projeto Julia em 2009: “Somos gananciosos: queremos mais. Queremos uma linguagem de código aberto, com licença liberal. Queremos a velocidade do C com o dinamismo do Ruby. Queremos uma linguagem que seja homoicônica, com macros verdadeiras como Lisp, mas com notação matemática óbvia e familiar como Matlab. Queremos algo tão utilizável para programação geral como Python, tão fácil para estatística como R, tão natural para processamento de strings como Perl, tão poderoso para álgebra linear como Matlab, tão bom em unir programas quanto o shell. Algo que é muito simples de aprender, mas que mantém os hackers mais sérios felizes. Queremos que seja interativo e compilado. Mencionamos que deveria ser tão rápido quanto C? Desde então, Julia – mantida principalmente através do laboratório Julia no MIT – alcançou esse objetivo e agora está fazendo incursões significativas na comunidade de computação avançada. Da inteligência artificial, análise de big data e processamento numérico pesado, Julia representa um substituto moderno de alto desempenho para linguagens tradicionais de processamento de números, como Fortran, mas também para linguagens modernas de análise de dados de desempenho mais lento, como R, Python, Octave e uma variedade de outras linguagens especializadas. Julia também foi projetada para integração com código escrito em outras linguagens, incluindo código C legado, código Fortran e até mesmo código Python. Pular para Julia pode ser intimidante devido à natureza avançada da linguagem e seu grande escopo e tamanho. Este curso foi desenvolvido para ajudar os programadores a desenvolver uma base sólida na sintaxe, semântica e arquitetura de Julia, necessária para o domínio dos recursos mais avançados da linguagem (como os poderosos pacotes de análise de dados). O curso cobre os fundamentos básicos do Julia com uma visão geral do ecossistema Julia mais amplo com o objetivo de ajudar os programadores a aproveitar suas habilidades e conhecimentos de programação existentes de maneira contínua e indolor no ambiente Julia. O curso também fornece uma visão geral básica dos recursos avançados para computação de alto desempenho e das bibliotecas disponíveis para o desenvolvedor Julia como uma preparação para trabalhos mais avançados em Julia. A aula foi projetada para ser composta por cerca de 50% de laboratórios e exercícios práticos, cerca de 25% de teoria e 25% de aprendizado prático conduzido pelo instrutor, onde os alunos codificam junto com o instrutor.