Tcl

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
NoFonti.svg
Este artigo ou se(c)ção cita fontes fiáveis e independentes, mas que não cobrem todo o conteúdo (desde dezembro de 2013). Por favor, adicione mais referências e insira-as corretamente no texto ou no rodapé. Trechos sem fontes poderão ser removidos.
Encontre fontes: Googlenotícias, livros, acadêmicoYahoo!Bing.
Tcl
PwrdLogo200.gif
Paradigma Imperativo
Surgido em 1988
Última versão 8.6.0.0b7 (27 de fevreiro de 2012)
Criado por John Ousterhout
Estilo de tipagem: dinamica, implícita e fraca
Compiladores linguagem interpretada
Influenciada por Bourne Shell (sh)
Licença: BSD licenses
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ória[editar | editar código-fonte]

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ções[editar | editar código-fonte]

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 GUI robustas. Existem outras aplicações como para Banco de dados e Teste/ Qualidade assegurada.

Exemplos de código[editar | editar código-fonte]

Programa Olá Mundo[editar | editar código-fonte]

#!/usr/bin/tclsh
 
puts "Olá, Mundo!"

Commom Commands[editar | editar código-fonte]

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

Tcl é uma linguagem baseada em comandos. 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 perfeitos[editar | editar código-fonte]

Este é um exemplo de um comando que imprime os 4 primeiros números perfeitos. Para usa-lo basta chama-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. Visitado em 2011-08-09.

Ligações externas[editar | editar código-fonte]

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


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