Bora falar de Rust e Lua com o professor José Manzano

Nesse final de semana tivemos uma live muito interessante onde conversamos com o professor José Augusto Manzano que 'e autor de vários livros sobre programação. Nesta live debatemos sobre seus dois últimos livros que foram lançados pela editora Novatec; os livros sobre Rust e Lua.


O professor Augusto Manzano leu o chat e resolveu responder as perguntas feitas e que o tempo não nos permitiu que fossem respondidas (admiro como o professor é bem atencioso com todos). Confiram as respostas abaixo :)

Respostas há algumas questões do chat

Rafael Profeta: ​seletivo seria o Select case?
RespostaNão "select case" é uma forma de decisão seletiva e não de laço seletivo. Veja um exemplo de laço seletivo escrito em Rust observando a linha em vermelho.

use std::io;

use std::io::prelude::*;



fn main() {

    let mut tabuada = String::new();



    let nu8;

    let mut iu8;

    let mut ru8;



    print!("Entre o valor da tabuada: ");

    io::stdout().flush().unwrap();

    io::stdin().read_line(&mut tabuada).unwrap();

    n = tabuada.trim().parse::<u8>().unwrap();



    println!();



    i = 1;

    loop {

        r = n * i;

        println!("{:2} x {:2} = {:3}", nir);

        i += 1;

        if i > 10 { break; }

    }



    println!();

    print!("Tecle <Enter> para encerrar...");

    io::stdout().flush().unwrap();

    io::stdin().read(&mut [0u8]).unwrap();

}

A instrução "if i > 10 { break }" pode ser colocada em qualquer posição do bloco do laço "loop". Isso caracteriza o que se chama de decisão seletiva. Veja outros exemplos de laços seletivos escritos nas linguagens BASIC (Structured) e ADA respectivamente. Observe as linhas marcadas em negrito como ações seletivas, ou seja, que podem ser colocadas em qualquer posição do bloco DO/LOOP no BASIC e Loop/End loop em ADA.

Código BASIC
============
DIM R AS STRING
DIM N AS INTEGER
DIM X AS INTEGER
DIM I AS INTEGER

I = 1
DO
  PRINT USING "Entre valor ##"; I
  INPUT "-> "N
  X = N * 3
  PRINT USING "Resultado = ###"; X
  PRINT
  INPUT "Deseja continuar? (S) p/ Sim, qualquer letra p/ Nao: ", R
  PRINT
  IF (UCASE$(R) <> "S") THEN EXIT DO
  I = I + 1
LOOP
END


Código ADA
==========
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
With Ada.Characters.Handling; Use Ada.Characters.Handling; 
Procedure Exemplo is 
  R : Character;
  X : Integer;
  N : Integer; 
  I : Integer; 
Begin
  I := 1;
  Loop
    Put("Entre valor:"); Put(Integer'Image(I));
    Put(" -> "); Get(N);
    X := N * 3; 
    Put("Resultado = "); Put(Integer'Image(X));
    New_Line(2);
    Put("Deseja continuar? (S) p/ Sim, qualquer letra p/ Nao: ");
    Get(R);
    New_Line;
    Exit When (To_Upper(R) /= 'S'); 
    I := I + 1;
  End Loop;
End Exemplo;

Glider Space: ninguém fala de HOPE heheh Mas acho que ele conhece a linguagem.
RespostaO livro de HOPE será publicado nos próximos 10 dias no Clube de Autores. Sou professor no Instituto Federal de São Paulo lotado na Cidade de Campos do Jordão.

Reuter Junior​: depois passa o link do seu site novamente para eu ler o artigo

Resposta: Meu site www.manzano.pro.br ou http://novo.manzano.pro.br/wp/downloads/ acessar o link Aprenda a programar em dez anos de Peter Norvig (texto traduzido para língua portuguesa).

OpenSourceBoy​: E sobre Haskell?
Resposta: Haskell é uma linguagem de programação funcional em estilo puro, muito madura e com grande número de usuários em todo o mundo. Do paradigma funcional é uma das linguagens mais conhecidas.

Livro da linguagem Hope do professor Augusto Manzano

Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)