Ir para o conteúdo
Kline777

Porquê usar o Delphi?

Mensagens Recomendadas

Kline777

Boas,

Estou a pensar em escrever um artigo para a revista sobre o Delphi e possivelmente sobre o Firemonkey, acho que estamos a ter pouca projecção xD

Ajudem-me aí, o que acham que faz do delphi uma boa linguagem? Quais sao os pontos fortes para voces e já agora tambem os fracos :P

Agradeço qualquer ajuda ;)

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Boa ideia...

Ando para fazer isso ao tempo, mas tempo é o que falta para fazer uma coisa de jeito!

- O facto do Delphi ter sido feito de raiz para OOP dá-lhe uma flexibilidade fantástica nesse aspecto da programação. Não há cá remendos ou "jeitinhos". É o que é, e funciona como se espera.

- Também o facto de ser uma linguagem fortemente estruturada permite não só haver menos erros, mas também que os que há sejam mais fáceis de encontrar e resolver.

- A interligação profunda (e nativa) com bases de dados estruturadas também é um ponto forte. Não há DBE (que eu conheça) que o Delphi não comunique, e o que é melhor ainda, faz isso de forma transparente. Tanto me faz usar MySQL ou SQL Server, SQLite ou Firebird, etc., e a forma de funcionar é sempre a mesma... Só muda o driver de ligação.

- Os componentes DB-Aware fazem do software que se baseie fortemente em bases de dados uma coisa tão simples e segura que até um aprendiz consegue criá-lo em pouco tempo.

- As suítes de componentes específicos, desde Reports a web-services que acompanham

- A facilidade de aprendizagem face a outras linguagens. Um aprendiz com gosto pode em pouco tempo criar programas de complexidade média.

- O fabuloso IDE - Obviamente não conheço todos os IDE's de todas as linguagens, mas dada a qualidade do do Delphi, só concedo que haja algum com a mesma qualidade (embora nunca tenha visto). Melhor, acho difícil. O trabalho rende mais graças às funcionalidades do próprio IDE.

- As Framework integradas nativamente, a começar pela VCL (percussora da tão badalada .NET), e a nova Firemonkey

- A capacidade de integração de código assembly diretamente dentro do código Delphi, como se de uma só linguagem se tratasse.

- Comunidade de programadores à volta do mundo com bastante contribuição - é raro não encontrar vários exemplos de soluções para um qualquer problema

Estas são apenas algumas das vantagens.

Obviamente, há também desvantagens:

- A começar pelo preço. O Delphi precisa urgentemente de uma versão gratuita, como já teve em tempos. Se uma empresa que faça dinheiro com software criado em Delphi não terá problemas em comprar os ~4000€ que custa a versão de topo, um estudante ou um amador terão dificuldade em justificar pagar os ~250€ que custa a versão mais baixa. Nunca o Delphi foi tão popular como quando saiu o Delphi 7 PE, versão gratuita do Delphi 7.

- Linux... Embora já tenha havido Delphi para Linux, há uns 10 anos (Kylix), a versão foi abandonada, e atualmente não existe nada para essa área que é, cada vez mais, importante. Está previsto para este ano uma versão para plataformas iOS e Android, e sendo o Android um derivado do linux, é possível que entretanto venha por aí algo de bom, mas neste momento, Delphi para Linux só mesmo com o FreePascal e o Lazarus - é bom, mas não é a mesma coisa...

- Preconceito... Enquanto as pessoas andarem com a ideia que Pascal é fraco, e Delphi é Pascal, o Delphi irá sofrer sempre, e portanto, os programadores em Delphi.

Assim de repente, não estou a ver mais nada... ;)

Bom trabalho!

Editado por nunopicado
  • Voto 1

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kline777

Nice, o IDE realmente tambem esta na minha lista... depois quando puderes has-de arranjar coisas mais especificas que gostes no IDE.

Outra coisa que quero focar é na facilidade da instalaçao em relaçao ao .net. Nao é preciso isntaladores nem 1001 dll's com o exe para ele funcionar nem plataformas nenhumas. Vou tratar melhor o texto que fiz amanha e depois ponho aqui para dares uma opinadela ^^

  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Para começar nas especificidades, é logo o sistema de debug.

Não me venham cá com tretas que um bom programador não comete erros e outras baboseiras como já ouvi. Quem é programador a sério sabe que comete erros, e não adianta tapar o sol com a peneira.

O sistema de debug do Delphi, não sendo perfeito, é o melhor que conheci até hoje. E tem uma coisa espectacular que é: Funciona... Não é só um nome num menu, como alguns que conheço. Aquilo dá realmente muito jeito.

É verdade que se consegue distribuir um programa sem o menor esforço. Não há dll's a estorvar a não ser que se queira.

Mesmo em programas com acesso a BD's SQL, é possível faze-lo sem dll's, usando ODBC, ou apenas com uma especifica do DBE.

Mas, e porque também há muito boa gente fã de DLL's, fazer e usar dll's no Delphi é algo que sai natural, intuitivamente e com uma facilidade brutal.

E para quem goste de ActiveX, instalar um componente destes é brincadeira.

Voltando ao IDE, por onde começar?

O auto-complete funciona lindamente, a gestão de projectos também. O object inspector é indispensável, e o Data Explorer (para aceder às bases de dados de dentro do IDE) é muito bom.

As ferramentas de refactoring dão muito jeito, a integração com controlo de versões também.

Aquelas pequenas coisas que não são indispensáveis mas facilitam a vida ao programador, como os guias de alinhamento de componentes visuais, por exemplo dão um jeitaço do caraças.

Com toda a parafernalia de componentes visuais que a paleta de componentes tem disponível, é acima de tudo um descanso poder continuar a criar componentes em runtime de forma simples e rápida. Se eu quero ler na base de dados um valor de um campo para utilizar numa função, e não mais preciso desse valor terminada a função, não tenho de criar um TDataset que ficará a comer recursos enquanto a form estiver aberta. Crio-o dinamicamente, e elimino-o mal deixe de precisar.

Falando nisso, a gestão de memória também é excelente, deixando uma variável de ocupar memória após a sua última potencial utilização.

  • Voto 1

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nuno.fonseca

Na opinião de quem trabalha há 14 anos em Delphi e que começou sem saber nada e ao fim de 6 meses já produzia trabalho de forma autónoma, não há IDE como o do Delphi e já testei vários.

A capacidade que o Delphi tem de quase nos fazer esquecer que os ponteiros existem, porque nos dá outras formas de fazer a mesma coisa, resulta numa fiabilidade superior das aplicações finais. Pessoalmente sei usar ponteiros, mas em Delphi é algo que evito a todo o custo. Tenho colegas de trabalho que duvido que saibam usar ponteiros, mas que não deixam de produzir bom trabalho por isso. Será que se poderia dizer o mesmo noutras linguagens (ex: C) ?

Já andámos a testar .NET, porque o Delphi esteve parado no tempo durante uns anos, é um facto. Mas a quantidade de código "escondido" que o IDE do VS cria apenas para criar um menu principal de uma MDI Form deixou-me logo de pé atrás. Junte-se a isso o facto de o Delphi compilar tudo nativamente, sem IL, sem necessidade de ofuscação, resultando em aplicações mais rápidas e mais fiáveis. A maioria das nossas aplicações foram feitas em Delphi 6 e correm em tudo o que é Windows, desde XP a 8, seja 32bits ou 64bits (em modo 32 bits, claro).

Falta ao IDE do Delphi a capacidade de customização do VS, mas acima de tudo, falta o que há uns anos a Borland fazia e que hoje a MS faz, que é "oferecer" o produto às instituições de ensino. É assim que se ganha mercado.

Não devemos nem podemos deixar de referir que as várias versões do Delphi sempre mantiveram a compatibilidade com as versões anteriores, enquanto que a MS, por exemplo, quando se lembra de quebrar compatibilidade nem pensa duas vezes (veja-se o caso do VB para VB.NET).

A ajuda do Delphi tem perdido qualidade ao longo do tempo e a quantidade de informação disponível relativa a versões mais recentes tem diminuído. Preocupa-me ver que grandes produtores de componentes têm versões .NET com funcionalidades muito interessantes e que nunca as implementaram em Delphi. Já questionei alguns acerca disso e dão como razão para isso a compatibilidade com a maior quantidade de versões anteriores possível.

O debate aqui na empresa acerca do abandono de Delphi é constante, mas a verdade é que ainda não encontrámos alternativas que cumpram todos os nossos requisitos.

A curva de aprendizagem em Delphi deve ser das mais rápidas que existem. Pessoalmente, passei cerca de 2 meses com C#.NET e concluí que para se saber programar em .NET como deve ser, primeiro é preciso conhecer toda a framework, que é uma coisa imensa. Talvez isto seja o resultado de querer conseguir conhecer em pouco tempo o .NET como conheço o Delphi.

Habituado como estou a compilar uma aplicação em Delphi, pegar no executável e fazer um instalador, o processo de preparação de uma aplicação .NET para distribuição deixou-me desconfortável.

Para quem diz que Pascal é fraco... bom, digam-me lá o que é que não conseguem fazer em Pascal puro e que conseguem fazer noutra linguagem. Ou digam-me o que conseguem fazer noutra linguagem que não conseguem fazer em Delphi. Até hoje ainda não houve nada que precisasse de fazer e que não conseguisse em Delphi. Até já fiz uma DLL em Delphi XE2, que é usada em aplicações compiladas em Delphi 6, só para poder usar um componente VCL que lá existe e que nos estava a fazer muita falta. E não esquecer que Delphi XE2 é unicode, ao contrário do Delphi 6, e mesmo assim a compatibilidade é garantida, desde que se usem variáveis do tipo certo.

E quanto ao acesso a tabelas DB.... não podia ser mais fácil em Delphi. Comparado com a confusão que é em VS então é mesmo muito simples.

Peço desculpa pela insistência na comparação com .NET/VS, mas a verdade é que a única framework que conheço que se aproxime da VCL do Delphi (e até vai mais longe, é um facto) é .NET. E o único IDE que conheço e se aproxima e até tem algumas coisas melhores que o Delphi é o VS. Portanto, a comparação é inevitável.

Editado por nuno.fonseca
  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kline777

Por falar em memoria, ja usaram o Fast Code Memory Managment? ja é antigo mas tenho visto em muitos sitios a falarem nisso... mas não sei se é para uso normal ou só para aplicações mais low level e Dll's.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nuno.fonseca

Por falar em memoria, ja usaram o Fast Code Memory Managment? ja é antigo mas tenho visto em muitos sitios a falarem nisso... mas não sei se é para uso normal ou só para aplicações mais low level e Dll's.

Estás a referir-te ao FastMM4 ? O FastMM4 (vencedor do Fast Code Memory Managment Challenge) é o atual gerenciador de memória do Delphi (desde o D2006 ?) e bem melhor que o antigo (da Borland).

Quanto à necessidade de utilização, parece-me que só é necessário (pelo menos distribuir a dll com o exe) quando se usam DLL's e/ou BPL's.

Editado por nuno.fonseca

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kline777

O que tenho até agora:

O Delphi é uma linguagem de programação baseada em Object Pascal e que apesar de já ter perdido bastante do seu fulgor nos últimos anos (muito graças à politica de vendas da Embarcadero, empresa que comercializa o IDE) continua a ser uma ferramenta bastante poderosa para o desenvolvimento de aplicações Windows, Web e Móveis (por enquanto só iOS) sendo aplicações com acesso a bases de dados o seu forte. É uma linguagem bastante fácil de aprender e com conceitos bastantes parecidos com a programação .NET, o que a torna, na minha opinião, uma linguagem a ter em conta. Assim sendo, o que leva um programador a usar o Delphi em vez do Visual Basic ou C# .NET?

Instalação e dependências

Uma diferença que salta logo á vista é que sendo o Delphi é uma linguagem nativa, não depende de maquinas virtuais ou camadas intermédias para funcionar. Nada de pesadelos de verificar se o utilizador tem o ultimo .NET instalado, sem tem os DLL’s dos componentes externos na pasta correcta, se tem instalado o runtime dos reports, do XNA etc… Ou seja, independentemente dos componentes que vocês incluam no vosso projecto o executável será criado com toda a informação necessária lá dentro. Sim, gera maiores Exe’s, mas a instalação num cliente é simplesmente copiar, colar e correr. Feito. É notoriamente mais fácil de instalar que uma aplicação .NET e, dependendo do projecto, sem ser necessário criar um instalador. Uma aplicação feita agora na ultima versão do delphi corre até ao Windows 98 (Não usando especificidades não existentes nesse windows), ao contrario do .NET em que teriamos de compilar em várias versões da Framework .Net.

IDE

Em relação ao IDE da embarcadero penso que não há ninguém que tenha o tenha utilizado e que prefira o Visual Studio, por exemplo. É mais leve, mais fluído e contém tudo o que se pode esperar de um bom IDE. É mais rápido fazer uma aplicação porque existem mais configurações nos componentes que nos permitem fazer uma serie de operações sem uma linha de código sequer ir para o source code do nosso form. Uma das funcionalidades mais recentes e que quero destacar são os ‘estilos’ que vêm incluídos no próprio IDE. O que são este estes ‘estilos’? Sejamos realistas, se quisermos fazer uma aplicação Windows que seja visualmente apelativa, pessoalmente, acho que o aspecto standard dos controlos do .NET e do Delphi já se encontra bastante gasto, são quase iguais desde o Windows 98 ou XP e já toda a gente está cansada deles. No Ide do delphi podemos escolher estes estilos que são skins para aplicar nos controlos do nosso projecto. Vejamos alguns exemplos. Sem código, sem componentes externos, mudamos completamente o aspecto dos nossos controlos e do nosso software.

menubar_6946.png

original.png?w=820

O que acham? mesmo em relaçao à construção das frases :P

Não sei se tenho ai algum facto errado, mas se tiver digam alguma coisa.

Editado por Kline777

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Escreve o artigo e coloca-o depois no quadro de Propostas de Artigos. Não aconselho a colocação de partes dele aqui antes sequer de ter sido comunicada a intenção de o escrever ao Staff da Revista. Um artigo deve ser do autor, debatido com os Staff e não de domínio público no fórum - ou seja, ou está numa edição da Revista ou está num tópico/post/debate no fórum, nunca os dois ao mesmo tempo. As licenças são, aliás, incompatíveis.

  • Voto 1

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.