Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Lançada a versão 2.2 do FreePascal com várias novidades

Foi lançado o FreePascal 2.2. Diversas novas plataformas passaram a ser suportadas, incluindo o Game Boy Advance, Windows CE, Mac OS X em Intel, e Windows de 64 bits. Segundo a cobertura do lançamento, o Free Pascal é no momento o único compilador livre que gera executáveis específicos para o Windows 64 bits. Estes avanços foram possíveis devido ao assembler e linker internos do FreePascal permitirem suporte a plataformas não suportadas pelo GNU binutils.

Este avanço nas operações internas também gera compilações mais rápidas e executáveis menores. Outras novidades são melhorias nos debugs, várias otimizações de código e mais. O OSNews aproveitou para divulgar um artigo sobre compilação cross-platform com o FPC 2.2.

Saiba mais (developers.slashdot.org).

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de sonolento
Realmente não consigo: Realmente não consigo compreender como o Freepascal, especialmente quando usado junto com o Lazarus, sua IDE, é tão pouco usado.

Em tempos onde há demanda para todo tipo de linguagem alternativa, juro que não compreendo.

E é comum, em Fóruns de programação, surgir a questão de como desenvolver uma UI portável. E nesse quesito o Lazarus não tem competidores no mundo do Software Livre.

As comparações de ocupação de memória e tempo de execução mostradas no artigo também são excelentes.


Comentário de Paulo Pontes
necessidades de negócio x necessidades técnicas: Não há tanta demanda por linguagens alternativas.

Pouco consumo de memória é interessante tecnicamente, mas quando o cliente vai decidir ele dá valor a outras coisas como quantidade de desenvolvedores no mercado, ferramental e suporte de longo prazo.

De nada adianta para ele aceitar que o desenvolvedor faça o sistema para ele em Rebol, Revolution ou Freepascal para depois descobrir que só tem aquele desenvolvedor no mercado e que está preso a ele agora.

É por isso que clientes grandes ainda vão preferir Java ou .NET (ou até PHP) como linguagens primárias de desenvolvimento.
Comentário de firefox
Pouco usado no Brasil.: Pouco usado no Brasil. Lá fora tem muita gente que usa Pascal, principalmente na europa.
Comentário de brain
Índice TIOBE: No índice do TIOBE de setembro, o Delphi está em 14o. lugar em popularidade - há exatamente um ano, ele estava em 10o. Atualmente ele está abaixo de linguagens como D, Python e Ruby.

O Pascal puro também consta no índice, estando em 22o. - abaixo do Fortran, COBOL e LUA, por exemplo.
Comentário de maiconfaria
É verdade, este:
É verdade, este desenvolvedor
faz a vezes da empresa que vende o tal de janelas !!

A doma de um chinelo.
http://blogdocalouro.blogspot.com
Comentário de Paulo Pontes
Muito legal este indice: Muito legal este indice TIOBE, não conhecia...

Já foi para o favoritos.
Comentário de Rodrigo Robles
Freepascal: Não existe uma relação direta entre o número de usuários de uma linguagem e sua qualidade. Existem algumas linguagens em boa posição no ranking que eu particularmente não usaria.
Hoje linguagem está sendo discutida como se discute religião, e isto não é correto. Nós somos pessoas técnicas e temos que utilizar argumentos técnicos.
Os argumentos do freepascal estão aí. Tempo de compilação, performance e consumo de memória excelentes; o compilador mais multiplataforma do mundo, e diversas outras vantagens.
Eu uso freepascal em um projeto de jogo (http://sourceforge.net/projects/gamemundo/) e recomendo.
Infelizmente ainda não usei para aplicações corporativas de banco de dados, então ainda não posso recomendar, embora saiba que o Lazarus dá suporte a isto.
Também não há dúvidas que a equipe de desenvolvedores do Freepascal é bem mais poderosa que a equipe do GCC. O GCC praticamente não está evoluindo, enquanto o Freepascal hoje ganha em quase todos os quesitos.

Comentário de Jack
Web Demand: Sem falar na forte tendência (pra não dizer, em alguns casos, exigência) do mercado no que se refere ao desenvolvimento for web (não é a toa que plataformas/ferramentas como PHP, ASP, Java, Ruby on Rails, .NET (Mono), Python, etc... estão cada vez mais na "batata da onda"!)

Abraços!

Jackson Laskoski
http://www.JACK.eti.br
Comentário de Oceanos
Só porque ele tem uma IDE,: Só porque ele tem uma IDE, não significa necessariamente que a IDE seja boa.

O Lazarus+Freepascal está aquém do Delphi 7, que é bastante antigo.

Desvantagens:
Tem poucos componentes;
Gera executáveis estupidamente enormes;
Sem suporte técnico;
Freepascal e Lazarus não tem nem de longe a quantidade de programadores, artigos técnicos, documentação, enfim, informação sobre a linguagem que seus concorrentes.

Vantagens:
Opensource e gratuito.

E tudo isso com uma grande diferença: é mais pesado.


O mercado é uma desgraça: se ele usa, ele usa. Se ele não usa, nunca vai usar. É bastante difícil infiltrar uma nova tecnologia no mercado de TI. Analistas estão mais para administradores de empresas do que para hackers ou gente com conhecimento técnico/científico em computação.
Comentário de Elias Amaral
Pascal considered harmful: Eu considero Pascal uma linguagem tecnicamente ruim. E eu digo isso não pra entrar em uma disputa religiosa; é que eu não usaria mesmo.

Não tem suporte a algumas abstrações que considero essenciais, como tipos funcionais (e funções de ordem superior), inferência de tipos, pattern matching de variaveis com tipos compostos, listas nativas, etc. (Coisa que OCaml - http://www.ocaml-tutorial.org/ - tem, e outras linguagens funcionais por aí, como Haskell). Em linguagens com tipagem dinâmica (que pessoalmente não gosto muito) eu até viveria sem, por ex, inferência de tipos, mas com tipagem estática não dá. =o

Eu não levo tanto em consideração aspectos de implementação quando escolho em quais linguagens investir meu tempo. Compiladores e interpretadores podem ser melhorados, mas se você melhora a semântica de uma linguagem você cria outra linguagem. Tem muita linguagem aí no topo que eu nem cogitaria usar, pq oferecem abstrações muito fracas. :e

Quanto ao GCC, não sei ao certo de onde vc tirou isso. Ele pode estar parado no momento (não sei), mas o cara compila C, C++, Fortran, Java, Ada, Pascal, VHDL.. isso em 52345234 arquiteturas diferentes.. isso é algo que me parece bem notável.
Comentário de nemesis
olá: FreePascal em 5to lugar quando o quesito é apenas performance de CPU:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
FreePascal em 1ro lugar quando o quesito é performance de CPU e (menor) consumo de memória:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all&calc=Calculate&xfullcpu=1&xmem=1&xloc=0&binarytrees=1&chameneos=0&message=0&fannkuch=1&fasta=1&knucleotide=1&mandelbrot=1&meteor=0&nbody=1&nsieve=1&nsievebits=1&partialsums=1&pidigits=1&recursive=1®exdna=1&revcomp=1&spectralnorm=1&hello=0&sumcol=1

Compiladores Pascal, até pelo maior strong typing do que C/C++ e limitações advindas disso, são reconhecidamente mais rápidos e geram código com maior performance do que C/C++. Não sei de onde vc tirou que é mais pesado.

é claro, a performance medida é apenas do compilador, não leva em consideração Lazarus e seu componentes wrappers para GTK etc...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Paulo Pontes
Analistas estão mais para:
Analistas estão mais para administradores de empresas do que para hackers ou gente com conhecimento técnico/científico em computação.


isso foi uma crítica ou uma afirmação?

o perfil mais voltado para a administração é (um mal?) necessário! Quando vc tem um orçamento de mais de 7 dígitos para gastar, vc tem que ver muito mais do que os aspectos tecnológicos isolados.

Comentário de nemesis
aqui no trabalho, Delphi é: aqui no trabalho, Delphi é rei e Java é príncipe. Python é um completo desconhecido, exceto para alguns poucos geeks que o usam para montar rapidamente alguns utilitários descartáveis...

também, leve-se em consideração que programação web trouxe muitos programadores amadores para o mercado e linguagens mais fáceis como python ou PHP são usadas apenas como cola para ligar o banco-de-dados em SQL à interface HTML...

python tem bem mais potencial do que isso, mas enfim...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Peter Parker
Equipe poderosa?: O que é uma equipe de desenvolvimento poderosa?
------------------------------------------
Rael - http://www.raelcunha.com
Comentário de pm
Talvez eles sejam mutantes: Talvez eles sejam mutantes !!!
Comentário de nemesis
vc sabe onde encontrar: vc sabe onde encontrar Haskell ou OCaml quando precisa.

Pascal foi desenvolvida nos anos 70s, após Algol ter mostrado como eliminar GOTOs em favor de um aproach estruturado e muito mais modular. Assim como C, era uma linguagem que prezava performance via compilação para código de máquina. E apesar do código mais eficiente e mais seguro (strong typing) do que C, ficou basicamente restrito como uma linguagem didática (seu criador era professor universitário), enquanto C era usado para escrever sistemas reais, como o Unix e todo seu toolset. Eu diria que a sintaxe mais verbosa também não lhe rendeu muitos pontos com a maioria dos programadores.

Nessa mesma época, pesquisadores de ponta desenvolviam linguagens a partir de teorias do cálculo lambda e de combinadores lógicos, indo além do que Lisp pretendia. ML e Miranda, e posteriormente OCaml e Haskell, são fruto dessa pesquisa, que na época infelizmente não gerava código dos mais eficientes para as máquinas de então.

Pascal vai permanecer Pascal, C vai permanecer C, Java vai permanecer Java e COBOL, veja só, vai permanecer COBOL. Se uma linguagem muda demais, perde a identidade. Além de uma montanha de código legado...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de popolony2k
Não senhor....: ...justamente pelo "strong typing" que Pascal/Delphi é mais lento que a dupla C/C++ que não tem checagem nenhuma, pois o compilador Delphi/Pascal insere uma pancada de checagem de tipos e de estouro de váriaveis que em C/C++ é inexistente.

É claro que dá para desabilita tudo isso em Delphi/Pascal através das diretivas de compilação.

Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/NetBSD/Linux - My dream team
Comentário de nemesis
perdão, quis dizer que o: perdão, quis dizer que o compilador gera código mais rapidamente do que os C/C++ por causa disso: vc já limita no código, via tipos fortes, muitas operações que o compilador poderia ter que incorrer para lidar genericamente com as frágeis regiões de memória que se passam por tipos em C. Fora modularização de verdade com units ao invés do custoso processo de inclusão textual de headers C/C++...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de CWagner
Fácil: é a equipe formada: Fácil: é a equipe formada pela Lindinha, Docinho e a Florzinha.

Ou essa seria uma equipe superpoderosa? ;)

Próxima!!

Saúde e Paz a Todos.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Carlos Wagner - São Luís / MA
Comentário de popolony2k
Fantástico....: Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/NetBSD/Linux - My dream team
Comentário de Elias Amaral
É..: Exato!

Pascal teve sua importancia histórica, tem importancia didática, etc, etc. Mas não é uma linguagem que eu me interesse, expressei meus pontos só.

Agora tipo, ser antigo não é desculpa. Limitar a semântica da linguagem só por causa da performance atual é condenar ela e todo o código desenvolvido nela, pra sempre, ao atraso provocado por um periodozinho da computação, que passa tão rápido, sabe? Eu acho uma pena.

(só como um comentário desnecessário, eu acho scheme mais apropriado que pascal para fins didaticos, pelo suporte à 534523 paradigmas. mas pascal pra ensinar programação estruturada é excelente)

(só como um segundo comentário, dessa vez necessário, eu acho que seu vocabulario precisa passar por um treinamento intensivo "português é bom pra caralho". aí vai uns mapeamentos: approach -> abordagem, verbose -> pouco conciso)
Comentário de tenchi
E mais uma vez o dis foi salvo graças às...: Calma, calma. O pascal não é mais o que era. Hoje surgiram muitas linguagens melhores que ele. Mas ele ainda é muito utilizado como ferramenta de aprendizado de programação.
Não sei onde eu vi, mas há um tempo atrás, na época em que a borland ainda mantinha o Delphi, que estavam querendo substituir o compilador deste pelo freepascal, pois o que ela utilizava era meio antigo... Bem, hoje eu não sei, poie nem sei se ainda existe delphi...
O freepascal hoje tem bindings para várias bibliotecas, como gtk, qt, outras linguagens, como lua, etc. Lógico que não é tão grande quanto em outras linguagens, também pela comunidade desenvolvedora dele não ser tão grande quanto à do java, c, etc (o que não significa que a florzinha não faça um bom trabalho, pois faz sim ;-)), mas mesmo assim eles estão de parabéns.
E vcs ainda devem lembrar que ainda há muitos programadores delphi por aí, e o freepascal é uma chance de trazer estes para o mundo com ferramentas opensource.


"Quem pensa por si mesmo é livre, e ser livre é coisa muito séria." - Legião Urbana
Comentário de nemesis
quê?: "ser antigo não é desculpa. Limitar a semântica da linguagem só por causa da performance atual é condenar ela e todo o código desenvolvido nela, pra sempre, ao atraso provocado por um periodozinho da computação, que passa tão rápido, sabe?"

vc tem idéia de que boa parte da infraestrutura de software em uso no mundo ainda hoje é escrita em uma tacanha linguagem mais limitada em abstrações que Pascal. Isso mesmo, estou falando de nosso bom amigo C, que nem tipos propriamente ditos tem, nem tem suporte para programação realmente estruturada (não dá pra definir funções de escopo léxico dentro de outras funções, por exemplo)

"aí vai uns mapeamentos: approach -> abordagem, verbose -> pouco conciso"

não entendi lhufas...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Oceanos
Eu disse que a _IDE_ é mais: Eu disse que a _IDE_ é mais pesada.... :)
Comentário de Elias Amaral
Unrum: Sim, é disso que estou falando. A decisão de usar linguagens como C até mesmo em software que requer absoluta confiabilidade foi tomada numa época em que o hardware era mais caro que programadores. Estamos pagando o preço até hoje, via buffer overflows, falhas de segmentação, etc.

C ser a "lingua franca" do Unix afetou várias gerações de sistemas operacionais, e mesmo agora que o Unix original não está mais entre nós a linguagem vive firme e forte nos seus filhos, que não parecem estar dispostos de desistir dela tão cedo. É um aspecto cultural, talvez tenha de surgir um novo OS para a infra estrutura ser escrita em uma linguagem mais abstrata.

Mas você vê, o tempo passa e cada vez mais performance não é mais uma prioridade. E performance é a única coisa que C tem pra oferecer. Eu costumava achar que C venceu por ser uma linguagem simples e direto ao ponto, mas hj em dia algumas caracteristicas dele orientadas à máquina (como a proliferação de tipos numéricos de tamanho variável) parece inaceitavel de tão complexo e "imã para bugs" que é.

E ah: eu quis dizer que você, na sua frase, ao invés de utilizar 'approach' poderia ter utilizado 'abordagem', e ao invés de utilizar 'verbose' poderia ter utilizado 'pouco conciso'. Mas sinta-se livre pra ignorar :P
Comentário de Elias Amaral
Qto aos desenvolvedores: Qto aos desenvolvedores delphi, vc tem razão, o freepascal pode trazer os bixinhos pra cá. Tinha até um tal de kylix, que apesar do delphi não ter morrido, esse morreu sim, foi enterrado, saquearam os dentes de ouro, etc.
Comentário de emanuelsan
Performance sim: Não é preciso romper com todo o passado para ficar atual, basta que se introduza novas linguagens, com o passar do tempo as mais estáveis, produtivas serão cada vez mais usadas. Acho que performance sempre é algo bom, que deve ser perseguido, vc de início não se preocupa, mais depois que têm que comprar outro servidor porque o atual não tá agüentando, vc passa a pensar em performance e uso de memória.

Uma vantagem é vc já buscar uma linguagem que te possibilite um ganho, em relação as outras, já de cara, e sendo também fácil de desenvolver/manter, seria o ideal.

Pela descrição no site esse compilador FreePascal parece bom, mas quando eu testei ele com o Lazarus (GUI) há 4 anos atrás, não tava tão bom. Também fui ver o suporte de OO dele agora, mas não consegui entender direito. As vezes ao se introduzir alterações em linguagens a emenda não cai bem, fica algo estranho. Esse é até o pensamento do criador da Pascal, que depois criou o Modula 2, justamente como uma evolução.

Encontrei uma liguagem que ainda não é a ideal para o que eu quero, mas acho que têm uma produtividade maior que C/C++/C#/Java com conceitos modernos e produtivos de Python, Ruby, a linguagem D.

Ainda não consegui colocar algo gráfico para rodar, nem sei como ficam algumas construções em Perl que são uma mão-na-roda, mas ainda não me decepcionei. Têm o que quero de simplicidade, produtividade e performance, pode-se facilmente usar blibliotecas C, mas não C++.


Comentário de Elias Amaral
Ah, eu não quis dizer que: Ah, eu não quis dizer que se deve jogar o código em C fora; afinal, o que está escrito nele ainda é insubstituível. mas, se a intenção for utilizar outra linguagem como 'linguagem do sistema', provavelmente precisa-se abandonar o unix. Ou, pelo menos, passar muita maquiagem.
Comentário de emanuelsan
Nem jogar fora, nem abandonar: As novas liguagens se integrando e usando bibliotecas das existentes podem começar a ser usadas sem necessitar trocar de sistema nem reescrever tudo na nova linguagem. Pois os novos programas feitos nelas ficarão integrados naturalmente e elas conviverão harmoniosamente no ambiente atual sem muito esforço.

Vi agora mesmo uma função definida em time.h, dysize(ano), que retorna o número de dias do ano que for passado como parâmetro. Na biblioteca atual da linguagem D, os desenvolvedores não tornaram essa rotina disponível para os programadores. Sem problemas, se eu quiser usá-la posso fazer:

import std.stdio; import std.string;
extern(C) { int dysize(int ano); }
int main(string[] args) {
int ano = 2007;
if(args.length > 1) ano = atoi(args[1]);
writefln("o ano ", ano,
" possui ", dysize(ano), " dias.");
}


Sobre a linguagem em si, não parece muito diferente da C até que vc for trabalhar com strings, arrays, classes, contratos, etc.

Comentário de nemesis
tough call: Elias, saiba que mesmo que vc escreva seu código em Haskell ou OCaml ou outra, há uma boa chance de que C ainda vai ser usado: GHC, que eu saiba, compila o código Haskell para código C e, então, chama o GCC. Isso é feito por portabilidade: o que não falta por aí é compilador C para tudo que é tipo de hardware.

é claro, automatizado dessa forma e limitado pelas checagens da linguagem, o fantasma dos buffer overflows fica distante...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Elias G. Amaral da Silva
OCaml tem um compilador pra: OCaml tem um compilador pra código nativo, um compilado pra bytecode + uma máquina virtual, e um interpretador REPL pra uso interativo. Posso estar enganado, mas até onde eu saiba, C é usado basicamente pra fazer a interface com o sistema.

O GHC consegue compilar pra código nativo, mas só pra algumas plataformas: "GHC compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on some platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs. "

Nesses dois casos do uso do C (interface com o sistema e portabilidade), o C é usado pq é a linguagem do sistema e é a linguagem preferida para se escrever o primeiro compilador pra um novo processador. Isto é: não é que a linguagem dependa fundamentalmente de C, mas por razões circunstanciais/históricas C é usado. Isso volta para minha afirmação anterior: talvez tenha que surgir um novo OS pra C ser abandonado.
Comentário de Elias G. Amaral da Silva
Isso é realmente a prática: Isso é realmente a prática atual: Escrever coisas em linguagens de alto nível usando como backend código escrito em linguagens de baixo nível, como C. É assim que é feito em perl, python, etc. E isso é feito justamente para não jogar fora algo que já funciona, nem jogar fora a expertise que os desenvolvedores já tem para desenvolver pra C.

Mas isso não quer dizer que esse seja o melhor jeito. Em termos últimos, os programas em alto nível usando um código C por debaixo dos panos depende da corretude desse código, e escrever código C correto nem sempre é fácil.
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004