Abrir menu principal

Tcl

linguagem de programação
Disambig grey.svg Nota: Para a empresa chinesa de produtos eletrônicos, veja TCL Corporation.
Question book-4.svg
Esta página cita fontes confiáveis e independentes, mas que não cobrem todo o conteúdo (desde dezembro de 2013). Ajude a inserir referências. Conteúdo não verificável poderá ser removido.—Encontre fontes: Google (notícias, livros e acadêmico)
Tcl
PwrdLogo200.gif
Paradigma Imperativo, orientada a objetos
Surgido em 1988
Última versão 8.6.7 (9 de agosto de 2017)
Criado por John Ousterhout
Estilo de tipagem: dinamica, implícita e fraca
Influenciada por AWK, Lisp
Influenciou PHP, Tea, PowerShell
Licença: BSD
Página oficial [1]

Tcl, sigla de Tool Command Language (Linguagem de Comandos de Ferramentas), é uma linguagem de programação para scripts criada por John Ousterhout, de fácil aprendizagem, mas muito poderosa.[1] Tcl pode ser utilizada numa vasta gama de aplicações, sendo bastante utilizada para a escrita de programas com interface gráfica, onde geralmente se utiliza a sua extensão Tk Toolkit, a interface gráfica padrão para o Tcl (e para outras linguagens de programação).

Tcl é open source e pode executar em diferentes plataformas, como Linux (e outros sistemas operacionais UNIX-like), Microsoft Windows e Mac OS X.

HistóriaEditar

Tcl foi criada em 1988 pelo professor John Ousterhout da Universidade da Califórnia, Berkeley. John escreveu um editor (mx) e um emulador (tx) que tinham como linguagem básica o Tcl, ambos criados na época do X10. Naqueles tempos ele já pensava em criar um framework para programas com interface gráfica.

AplicaçõesEditar

Tcl foi projetada para ser uma linguagem flexivel com um núcleo pequeno. Tcl tem sido usada quase em tudo desde os servidores web da AOL até o controle de rede da grande emissora de televisão NBC. O próprio site oficial da linguagem roda em um servidor web escrito em Tcl, o tclhttpd. Ela também pode ser usada como uma linguagem de web convencional. Com a extensão TK é possivel criar diversas interfaces gráficas robustas. Existem outras aplicações como para Banco de dados e Teste/ Qualidade assegurada.

Exemplos de códigoEditar

Programa Olá MundoEditar

#!/usr/bin/tclsh

puts "Olá, Mundo!"

Comandos comunsEditar

#!/usr/bin/tclsh
proc foo { n } {
   for {set x 0} {$x<$n} {incr x} {
      puts -nonewline "$x."
   }
}
foo 50

Tcl é uma linguagem baseada em funções imperativas de forma que usem comandos reformulados. No exemplo, "proc", "for" e "puts" são comandos pré-definidos pela linguagem. Já "foo" é usado como um comando, porém foi definido pelo usuário.

O interpretador é fortemente baseado em interpretação de strings, por isso não seria possível, por exemplo, escrever:

proc bar { n }
{
   puts $n
}

Pois o que diz ao interpretador que "vem mais" nas próximas linhas é justamente o "{" no fim da linha atual. O código acima devolveria um erro. Exemplos:

set x 0         # cria uma variável chamada 'x' com valor 0.
expr $x * 2     # multiplica x por 2
for {set i 0} {i<50} {incr i} {
   # for estilo C
}

Números perfeitosEditar

Este é um exemplo de um comando que imprime os 4 primeiros números perfeitos. Para usá-lo basta chamá-lo com a quantidade de números perfeitos desejada. Ex: numsPerfeitos 5

#!/usr/bin/tclsh
proc numsPerfeitos { n } {
   set i 0
   set numPerfeito 0

   while {$i < $n} {
      incr numPerfeito
      set somaNum 0

      for {set j 1} {$j < $numPerfeito} { incr j} {
         if {$numPerfeito % $j == 0 } {
            set somaNum [expr $somaNum + $j]
         }
      }

      if {$somaNum == $numPerfeito} {
         puts $numPerfeito
         incr i
      }
   }
}

numsPerfeitos 4

Referências

  1. John Ousterhout. «History of Tcl». Personal pages. Stanford University. Consultado em 9 de agosto de 2011 

Ligações externasEditar

O Wikilivros tem um livro chamado Tcl Programming
 
O Commons possui uma categoria contendo imagens e outros ficheiros sobre Tcl


  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.