Tcl
![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Disambig_grey.svg/20px-Disambig_grey.svg.png)
Tcl | |
---|---|
![]() | |
Paradigma | Imperativo, orientada a objetos |
Surgido em | 1988 |
Últimaversã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 deTool Command Language(Linguagem de Comandos de Ferramentas), é umalinguagem de programaçãoparascriptscriada porJohn 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 cominterface gráfica,onde geralmente se utiliza a sua extensãoTk Toolkit,a interface gráfica padrão para o Tcl (e para outras linguagens de programação).
Tcl éopen sourcee pode executar em diferentes plataformas, comoLinux(e outros sistemas operacionaisUNIX-like),Microsoft WindowseMac OS X.
História
[editar|editar código-fonte]Tclfoi criada em 1988 pelo professor John Ousterhout daUniversidade da Califórnia, Berkeley.John escreveu um editor (mx) e um emulador (tx) que tinham como linguagem básica oTcl,ambos criados na época do X10. Naqueles tempos ele já pensava em criar umframeworkpara programas cominterface 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 daAOLaté o controle de rede da grande emissora de televisãoNBC. 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 diversasinterfaces gráficasrobustas. 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
procfoo{n}{
for{setx0}{$x<$n}{incrx}{
puts-nonewline"$x."
}
}
foo50
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:
procbar{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:
setx0#criaumavariávelchamada'x'comvalor0.
expr$x*2#multiplicaxpor2
for{seti0}{i<50}{incri}{
# 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
procnumsPerfeitos{n}{
seti0
setnumPerfeito0
while{$i<$n}{
incrnumPerfeito
setsomaNum0
for{setj1}{$j<$numPerfeito}{incrj}{
if{$numPerfeito%$j==0}{
setsomaNum[expr$somaNum+$j]
}
}
if{$somaNum==$numPerfeito}{
puts$numPerfeito
incri
}
}
}
numsPerfeitos4
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)