Comparando-a com Ada, C / C ++ e Java, a Seed7 linguagem de programação é mais poderosa e versátil, como seu desenvolvedor a descreve no site do projeto. É capaz de traduzir programas para aplicativos C, que são então compilados em código de máquina. Com o Seed7, as funções com parâmetros de tipo e resultados de tipo se tornam mais elegantes do que os conceitos ou modelos genéricos.
Recursos em resumo
Os principais recursos incluem instruções e operadores definidos pelo usuário, suporte à orientação a objetos (vários despacho e interfaces), suporte para depuração de código-fonte, suporte a digitação, suporte a exceções, sobrecarga de procedimentos, instruções, operadores e funções. como suporte para vários tipos predefinidos, como matrizes redimensionáveis, bitsets, hashes, estruturas, tempo, cor, duração, etc.
Além disso, o Seed7 suporta os tipos bigRational e bigInteger para números, permite aos usuários definir facilmente genéricos e modelos sem usar uma sintaxe especial e vem com construções predefinidas, como for-loops e arrays. Outra característica interessante é que o software permite que os desenvolvedores criem programas que são portáteis desde o início, sem ter que modificar o código-fonte.
Gerenciamento automático de memória
O Seed7 também vem com a funcionalidade de gerenciamento automático de memória, que funciona imediatamente sem ter que usar um coletor de lixo. Além disso, o software ajuda os desenvolvedores a encontrar erros facilmente ao compilar seus programas, graças à ausência de conversões automáticas e verificação de tipo estático.
SOs, licenças e disponibilidade suportados
O Seed7 é executado em qualquer sistema operacional GNU / Linux, bem como em vários sistemas operacionais UNIX e Microsoft Windows. É bom saber que, embora a biblioteca de tempo de execução seja distribuída sob a licença LGPL, o intérprete e os programas de exemplo estão disponíveis para download com uma licença GPL.
O que há de novo esta versão:
- O capítulo manual que descreve a interface de função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2016-04-30:
Novo no Seed7 2014-01-19 (20 de janeiro de 2014)
O que há de novo na versão 2016-03-30:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2016-02-29:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2016-01-30:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-11-29:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-09-14:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-07-05:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-06-01:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-05-03:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2015-02-16:
- O capítulo manual que descreve a interface da função estrangeira foi melhorado.
- O manuseio do Unicode no console foi aprimorado.
- Todas as strings que são passadas para funções C são verificadas agora.
- O desempenho de várias funções de tempo de execução foi aprimorado.
- Novas funções de conversão flexíveis foram adicionadas ao bytedata.s7c.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- O programa chk_all.sd7 foi aprimorado para verificar várias opções de compilador.
- O compilador foi aprimorado para fazer mais otimizações.
- Verificações foram adicionadas a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
O que há de novo na versão 2014-01-19:
- A biblioteca tdes.s7i com suporte a criptografia Triple DES foi adicionada.
- A biblioteca tls.s7i foi melhorada para aceitar mensagens CertificateRequest.
- As verificações de mdiv e mod foram adicionadas ao chkbig.sd7.
- O compilador foi aprimorado para fazer mais otimizações para instruções if, a ação BIG_MOD (operador mod) e BIG_MDIV (operador mdiv).
- Novas funções para abrir arquivos foram introduzidas em várias bibliotecas.
- As funções antigas ainda são suportadas, mas estão obsoletas.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- A função getValue para valores booleanos foi adicionada.
O que há de novo na versão 2014-01-05:
- A biblioteca des.s7i com suporte a criptografia DES (Data Encryption Standard) foi adicionada.
- Várias funções e suporte para gravar valores foram adicionados ao bin32.s7i.
- A nova biblioteca unicode.s7i, com funções para converter entre codificações Unicode, foi adicionada.
- A biblioteca gethttps.s7i foi melhorada para aceitar links para HTTP.
- Várias verificações foram adicionadas ao chkbig.sd7.
- O compilador foi aprimorado para fazer mais otimizações para funções bigInteger.
- Uma verificação da palavra-chave "restringir" foi adicionada ao chkccomp.c.
- O desempenho das funções de conversão UTF-8 foi aprimorado em até 6%.
O que há de novo na versão 2013-12-22:
- Chamadas consecutivas de gravação em bas7.sd7 foram combinadas em chamadas únicas de gravação, respectivamente, escritas.
- Vários links foram adicionados ao FAQ.
- Os tipos cardSuit e cardRank e as funções cardPixmap e cardBackside foram adicionados aos cards da biblioteca.s7i.
- A biblioteca cards.s7i foi aprimorada para usar funções do pic_util.s7i.
- O programa carddemo.sd7 foi aprimorado para usar os novos tipos e funções do cards.s7i.
O que há de novo na versão 2013-12-08:
- As explicações sobre como o Seed7 se compara ao Java e uma maneira elegante de inicializar os dados foram adicionadas ao FAQ.
- Várias funções foram movidas do shell.s7i para o novo processo de biblioteca.s7i.
- A função commandPath foi adicionada ao process.s7i.
- Como uma correção de uma falha do Windows, o programa chk_all.sd7 foi aprimorado para capturar uma exceção.
- Várias fotos foram adicionadas ou melhoradas em pic16.s7i e pic32.s7i.
- A função cmdPipe2 em cmd_win.c foi aprimorada para abrir stdin e stdout no modo de texto.
- A função filInputReady foi aprimorada para retornar TRUE após um desligamento.
O que há de novo na versão 2013-11-24:
- A biblioteca pic_util.s7i, com funções de utilidade de imagem, foi adicionada.
- As imagens cancel_pic, folder_pic e reset_pic foram adicionadas a pic16.s7i e pic32.s7i.
- Uma função para converter uma imagem pixmap em formato BMP e a função getPixelColor foram adicionadas ao draw.s7i.
- Todos os usos da função clear sem parâmetros foram substituídos por clear (preto).
- O desempenho da função strCLit em str_rtl.c foi melhorado por um fator de 10.
- As funções init_bstri_constants e init_win_constants em s7c.sd7 foram melhoradas.
- Erros de ortografia em vários arquivos foram corrigidos.
O que há de novo na versão 2013-11-10:
- Compilador e biblioteca de tempo de execução foram melhorados para funcionar no Sparc
- máquinas de 64 bits no OpenBSD. Obrigado a Brian Callahan, por
- o suporte dele e para fornecer acesso à sua máquina Sparc de 64 bits.
- A explicação da FAQ relacionada à portabilidade foi melhorada.
- A nova biblioteca cc_conf.s7i foi adicionada. Esta biblioteca gerencia
- valores de configuração para o compilador C e o tempo de execução.
- O compilador foi melhorado para usar a biblioteca cc_conf.s7i.
- O capítulo sobre as definições usadas em version.h foi melhorado
- em src / read_me.txt.
- O tipo rtlGenerictype foi renomeado para generictype no
- arquivos da biblioteca de tempo de execução. Agora compilador e biblioteca de tempo de execução
- usam o nome generictype.
- A função checkForLimitedStringLiteralLength, uma verificação para
- seqüências de trigramas e verifica a presença de getrlimit ()
- e siglongjmp () foram adicionados ao chkccomp.c.
- A função setupStack foi adicionada ao cmd_rtl.c. Esta função
- tenta aumentar o limite de pilha para STACK_SIZE.
- Os usos de USE_SIGSETJMP foram renomeados para HAS_SIGSETJMP.
- A tabela key_code foi melhorada em kbd_inf.c e kbd_poll.c.
- Agora o caractere de apagar da interface do terminal (VERASE) é sempre
- retornado como backspace (KEY_BS, respectivamente, '8'). Isso melhora
- o comportamento no Cygwin.
- A função utf8_init foi alterada em kbd_inf.c e
- kbd_poll.c para assumir o modo UTF-8 quando nenhum ambiente de localidade
- a variável está definida.
- A função msgDigest em msgdigest.s7i foi alterada para usar
- parâmetros internos.
- A função configValue foi movida de osfiles.s7i para
- cc_conf.s7i.
- A macro REALLOC_STRI_SIZE_SMALLER foi adicionada ao heaputl.h.
- Vários usos de REALLOC_STRI_SIZE_OK na biblioteca de tempo de execução têm
- foi alterado para usos de REALLOC_STRI_SIZE_SMALLER.
- O compilador foi aprimorado para inicializar o booleano e
- elementos de enumeração de estruturas com os valores value.boolvalue
- , respectivamente, value.enumvalue. Isso é necessário para funcionar corretamente
- em sistemas big-endian.
- Intérprete e compilador foram aprimorados para suportar as ações
- ACT_EQ e ACT_NE.
O que há de novo na versão 2013-10-27:
- O compilador e a biblioteca de tempo de execução foram aprimorados para suportar sistemas big-endian.
- A documentação em src / read_me.txt foi aprimorada.
- A biblioteca tls.s7i foi aprimorada para evitar uma exceção, quando o lado remoto fecha o soquete.
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos de origem.
- Várias funções foram otimizadas.
- A função typNum foi aprimorada para usar uma hashtable.
- As funções typ_num e typ_str foram melhoradas para chamar typNum, respectivamente, typStr.
- O suporte para as ações ACT_ICONV e ACT_ORD foi adicionado ao interpretador e ao compilador.
O que há de novo na versão 2013-10-13:
- Bibliotecas para suporte a TLS / SSL e HTTPS foram adicionadas.
- Operadores de comparação para & lt; (subconjunto apropriado) e & gt; (superconjunto adequado) foram adicionados ao hashsetof.s7i.
- O tipo digestAlgorithm e funções para ele foram adicionados ao msgdigest.s7i.
- A função hexadecimal foi adicionada a bytedata.s7i.
- O programa de exemplo castle.sd7 foi melhorado.
- Comentários de documentação foram adicionados a vários arquivos.
- O preenchimento nas funções digest do message msgdigest.s7i foi corrigido.
- A função getHttp em gethttp.s7i foi aprimorada para usar uma comparação não diferencia maiúsculas de minúsculas para nomes de campos de cabeçalho HTTP.
O que há de novo na versão 2013-09-29:
- As funções bStriLe, bytesLe, bStriBe e bytesBe foram adicionadas ao bytedata.s7i. Essas funções convertem um inteiro em uma seqüência de bytes.
- O compilador foi aprimorado para gerar código embutido para a ação STR_PUSH.
- Esta ação acrescenta um caractere a uma string (é usada pelo operador & amp;: =).
- Funções de conversão foram adicionadas ao tempo.s7i.
- As verificações de vários operadores e funções foram adicionadas a chkbig.sd7, chkint.sd7 e chkstr.sd7.
- A função doLocalDeclsOfStatement foi adicionada ao compilador. Esta função é usada para simplificar o processamento de várias instruções.
O que há de novo na versão 2013-09-08:
- O makefile mk_freebsd.mk foi adicionado para suportar a compilação no freeBSD.
- Funções para converter entre sequências de bytes e números bigInteger foram adicionadas ao bytedata.s7i.
- As funções bytesLeAsInt e bytesBeAsInt foram renomeadas para bytesLe2Int e bytesBe2Int.
- Verificações foram adicionadas a chkbig.sd7 e chkset.sd7.
- A função bigRand em big_rtl.c foi aprimorada para evitar condições nas quais um número aleatório esteja fora do intervalo necessário.
- Os nomes dos parâmetros foram adicionados a vários arquivos.
- O compilador foi aprimorado para usar charvalue em vez de intvalue quando os caracteres são inicializados.
Novidades na versão 2013-08-20:
- A biblioteca sha1.s7i foi renomeada para msgdigest.s7i.
- As funções hash digest e secure message md4, md5, sha224 e sha256 foram adicionadas ao msgdigest.s7i.
- Uma nova biblioteca propertyfile.s7i que define funções para a leitura de um arquivo de propriedades em uma tabela hash foi adicionada.
- O desempenho do gerador de números aleatórios foi melhorado.
- Uma função bytesLeAsInt foi adicionada à biblioteca bytedata.s7i.
- Em bytedata.s7i, a função int64AsBytesBytesLe foi renomeada para int64AsEightBytesLe.
- Uma variante da função skipWhiteSpace foi adicionada à biblioteca do scanfile.s7i.
O que há de novo na versão 2013-07-22:
- Erros de ortografia no chlog.txt, faq.htm e faq.txt foram corrigidos.
- A função conText (em con_win.c) foi aprimorada para funcionar corretamente em sequências longas (quando o WriteConsoleW falharia).
- Várias funções foram movidas de drw_win.c para o novo arquivo gkb_win.c.
- Os usos incorretos de inIntRange foram substituídos por um código melhor em drw_win.c.
- Em con_win.c, a tabela map_key foi melhorada de forma que kbdGetc reconheça a chave F12.
- O programa chk_all.sd7 foi melhorado para chamar o chkhsh.sd7.
- O compilador foi aprimorado para gerar funções de comparação com o protótipo correto.
O que há de novo na versão 2013-06-16:
- Os comentários da documentação foram adicionados ou aprimorados em vários arquivos.
- As funções lower e upper em string.s7i e char.s7i foram aprimoradas para usar o mapeamento de caso Unicode padrão.
- O desempenho da compactação de deflação foi melhorado por um fator entre 5 e 10.
- O desempenho das funções str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice e strSubstr foi aprimorado.
- Testes para várias funções de string foram adicionados ao chkstr.sd7.
- O compilador foi aprimorado para o código embutido para as ações STR_HASHCODE, STR_RANGE e STR_SUBSTR.
Comentários não encontrado