Tcl
Tcl | |
---|---|
Paradigma | Imperativo, orientada a objetos |
Surgido em | 1988 |
Última versão | 8.6.14 (29 de fevereiro de 2024) |
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ó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 interfaces gráficas 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!"
Comandos comuns
[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 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 perfeitos
[editar | editar código-fonte]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
- ↑ John Ousterhout. «History of Tcl». Personal pages. Stanford University. Consultado em 9 de agosto de 2011
Ligações externas
[editar | editar código-fonte]- «Sítio oficial» (em inglês)
- «Wiki oficial da Tcl/Tk» (em inglês)
- «Introdução à Tcl» (em inglês)
- «IDE» (em inglês)