Jump to content
thoga31

[Debate] Qual o futuro do Pascal e do Delphi?

Recommended Posts

thoga31

Vou fazer uma coisa que já não vejo há anos aqui no P@P: lançar um debate (ou pelo menos tentar 😐).

Há quem diga que Pascal é uma linguagem morta, e alguns dos que apoiam esta frase incluem Delphi na sua opinião. Os maiores users destas linguagens no mundo estão em Portugal e no Brasil. Apesar de haver mais de 200 milhões de pessoas entre os dois países, apenas uma gota de nós programa na linguagem.

As linguagens Pascal e Delphi terão futuro a médio e a longo prazo? O que poderá acontecer? Como poderá acontecer?

Fica a ideia para um debate saudável. Todos nós aqui sabemos que Pascal e Delphi são potentes - Delphi então é das linguagens mais potentes da actualidade. Estando isso definido à partida, deixo o debate lançado :)

Cumprimentos!


Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado

A questão é pertinente, ainda que a sua resposta tenha sido já avançada há anos pelos opositores à linguagem... Está morta e enterrada.
Dito isto, não, não está!

Não obstante, o Object Pascal não é uma linguagem da moda...
É usado por todo o mundo, não apenas Portugal e Brasil (na Rússia por exemplo o Delphi é bastante usado), mas não pertence ao rol de linguagens que a maioria se orgulhe de colocar no currículo.

Infelizmente - mas talvez inevitavelmente - grande parte dos programadores apostam em linguagens da moda, pelos mais variados motivos... Uns é porque... bem, porque está na moda! Outros é porque ao estar na moda, as empresas 'da moda' tenderão a utilizá-la também, e com isso abrem-se mais perspectivas de emprego.

Em questão não está o poderio da linguagem, reconhecido por quem a conheça, mas completamente olvido para quem segue os tradicionais pontos de debate contra a linguagem, geralmente assentes em argumentos desactualizados e aplicáveis apenas ao Standard Pascal, uma snapshot da linguagem com 35 anos e que em nada representa o Pascal actual.

Após esta pequena introdução, a questão do tópico é "Qual o futuro do Pascal e do Delphi", que se me permites, irei refrasear como "Qual o futuro do Object Pascal".

Como qualquer tecnologia, o seu futuro não depende apenas da qualidade do produto, mas também, e com especial ênfase, na qualidade da marca que tem por trás.
Quanto a mim, o grande problema do Object Pascal é este: As sucessivas detentoras dos direitos sobre o Delphi - o mais proeminente e profissional ramo da linguagem - têm tido uma excelente equipa técnica, mas uma medíocre equipa de marketing, e uma desastrosa equipa executiva - e todos aqui devemos saber que apenas uma excelente equipa técnica não faz milagres por um produto.
Depois do fim da fase Borland, o Delphi tem vindo a cair a olhos vistos, e com ele, toda a linguagem Object Pascal. Se actualmente a linguagem não está morta, contra todas as previsões dos seus opositores, é simplesmente pela qualidade do produto. A Codegear foi uma transição mal amanhada para uma empresa em fim de vida, e a Embarcadero, enquanto empresa, foi uma tábua de salvação à la Titanic, suficiente para proteger do afogamento, mas não o suficiente para impedir a hipotermia.

Na fase actual, a Idera (enquanto nova detentora do produto por via de aquisição da Embarcadero), parece estar a dar mostras de querer fazer algo de bom pelo produto e pela comunidade, como mostra o lançamento da versão Community Edition, gratuita e com um conjunto de funcionalidades equiparado à versão Professional. Tem limitações a nível de licenciamento, mas isso não é inédito neste tipo de produtos.

Será o suficiente para a médio prazo trazer a linguagem para a moda? Sinceramente, não creio. É possível, mas não creio. É preciso mais. São precisos incentivos nas universidades para usarem e ensinarem esta linguagem, é esse o caminho da 'moda', e isso custa dinheiro - muito dinheiro, que não há quem esteja disposto a investir. A Idera acabou de comprar a Embarcadero, não deverá querer gastar esse tipo de dinheiro pelo menos para já, e a equipa do FreePascal, a única alternativa viável ao Delphi, não faz dinheiro que chegue para isso, nem que quisesse.

Algo que talvez ajudasse um pouco seria a criação de um standard para o Object Pascal, o que poderia abrir mercado a outras empresas apostarem no produto. O problema é que isso significa a perda de poder de influencia por parte da detentora do Delphi - qualquer que ela seja - e havendo só duas equipas a trabalhar na linguagem, e se a principal delas não tiver interesse na criação do standard, é virtualmente impossível essa criação - a equipa do FreePascal sozinha não teria qualquer hipótese, e não tem ninguém além da Idera a quem se juntar.

 

Por conseguinte, o Object Pascal deverá continuar a ser usado apenas por quem o experimente, e verifique as vantagens que ele trás em algumas áreas de software - geralmente equipas pequenas sem tempo a perder em que o programador também é designer, arquitecto, beta-tester, project manager e apoio ao cliente.

Até lá, o estigma deverá continuar a fazer pressão negativa, combatida apenas pelo excelente produto que é o Delphi (e o FreePascal, ainda que em menor grau), mantendo-a, creio eu, como tem estado até agora.

Edited by nunopicado
  • Vote 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.

Share this post


Link to post
Share on other sites
Ricardo Voigt

Olá,

peço vossa permissão para fazer meu primeiro comentário. Encontrei ontem o fórum Portugal a Programar, e gostaria muito de participar e colaborar.

Acredito que o Delphi, como ferramenta RAD, se popularizou bastante no início por causa da facilidade de montar as telas/interfaces de usuário, e também pela funcionalidade da ajuda, bastando pressionar F1 para obter um descritivo dos componentes e exemplos de códigos fontes. Porém, por outro lado, isso também permitiu que vários desenvolvedores iniciantes, principalmente "autoditactas", construíssem softwares "mal feitos" na hora de codificar...

Aqui no Brasil, temos um dos maiores projetos de software livre voltado para as plataformas Lazarus e Delphi (compatível desde a versão 7 lançado em 2002). O Projeto ACBr (Automação Comercial Brasil) disponibiliza vários componentes que agilizam a integração e desenvolvimento de sistemas em diferentes ramos, por exemplo com balanças eletrônicas, maquininha de cartão, impressoras térmicas, emissão de boletos de cobrança, e emissão da Nota Fiscal Eletrônica (NF-e, equivalente a vossa e-fatura portuguesa) e outros documentos fiscais. No fórum do projeto hoje existem mais de 70 mil usuários/utilizadores cadastrados.

Enfim, se o (Object) Pascal vai morrer? Acredito que algum dia vai, mas daqui a muito longo prazo, tanto no meio acadêmico como no meio corporativo...

Aqui no Brasil mesmo, ainda existem empresas com sistemas desenvolvidos na linguagem Cobol, linguagem esta que, como dizem por aí: já nasceu morta...

Atenciosamente,

Ricardo

  • Vote 1

Share this post


Link to post
Share on other sites
nunopicado
10 minutos atrás, Ricardo Voigt disse:

Porém, por outro lado, isso também permitiu que vários desenvolvedores iniciantes, principalmente "autoditactas", construíssem softwares "mal feitos" na hora de codificar...

Concordo. Eu costumo dizer por aqui, "Delphi é tão fácil que até ser mau programador é simples".

Infelizmente muitos confundem uma linguagem que permite má programação (aka todas) com a ideia (errada) que em Delphi só é possível programar mal.
Falei uma vez com um programador que, quando lhe disse que fazia programação orientada a objectos em Delphi, me "corrigiu", dizendo que o que se faz em Delphi não são bem objectos, é só uma simulação. Ele achava que Delphi era VB, com certeza. Admirou-se quando lhe mostrei alguns exemplos.

Estamos a falar de alguém que eu tenho como excelente programador. Mas foi na onda, e não fez o trabalho de casa, que é o de confirmar antes de repetir seja o que for.


"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.

Share this post


Link to post
Share on other sites
Ricardo Voigt
Agora, nunopicado disse:

Falei uma vez com um programador que, quando lhe disse que fazia programação orientada a objectos em Delphi, me "corrigiu", dizendo que o que se faz em Delphi não são bem objectos, é só uma simulação.

Verdade... na prática, a IDE (e suas classes) do Delphi (e Lazarus) foi projetada/construída com orientação a objectos. A má fama é de que os desenvolvedores são apenas usuários dos objetos disponibilizados pela IDE, e não criadores de novas classes e objetos... :-)

Atenciosamente,

Ricardo

Share this post


Link to post
Share on other sites
nunopicado
13 minutos atrás, Ricardo Voigt disse:

Verdade... na prática, a IDE (e suas classes) do Delphi (e Lazarus) foi projetada/construída com orientação a objectos. A má fama é de que os desenvolvedores são apenas usuários dos objetos disponibilizados pela IDE, e não criadores de novas classes e objetos... 🙂

Na minha opinião há mais factores a influenciar, mas sim, esse será talvez dos principais. 


"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.

Share this post


Link to post
Share on other sites
thoga31

Depois do excelente texto do @nunopicado, não sei o que muito mais se pode acrescentar 😄

Anyway, Pascal foi a minha primeira linguagem de programação, introduzida no meu Ensino Secundário. Decidi desde cedo ir além do ensinado pela professora, a modos que quando mostrei o meu primeiro grande projecto - Mini Calc -, o qual aproveitei para apresentar numa animação Flash que era trabalho do período seguinte, a senhora ficou embasbacada e a primeira coisa que disse foi "não sabia que dava para fazer isto em Pascal". Frise-se que eu nem OOP usei na Mini Calc Série 3, é apenas paradigma procedural muito mal parido pelo newbie que eu era na época.

Ainda hoje me considero um verdadeiro newbie ao lado de grandes nomes do Delphi, como o próprio @nunopicado (por muita humildade que ela tenha, eu digo peremptoriamente que o ele é um dos grandes desta linguagem na actualidade). Enquanto utilizador exclusivo do Free Pascal, esta é uma linguagem que só deixarei de usar quando deixar de haver compilador disponível e pretendo avançar para Delphi a médio prazo. Tendo já usado outras linguagens, acabo sempre por "regressar às origens".

O futuro... não sendo primo da Maya, não tenho bem noção de qual possa ser o futuro, mas há projectos interessantes que quase não são conhecidos, feitos mesmo em Free Pascal / Lazarus, que mostram claramente que a família Pascal só afundaria devido à ignorância da maioria dos programadores e não pela incapacidade da linguagem. O que não falta são linguagens menos capazes e menos flexíveis, mas muito mais famosas e colocadas em pedestais de ouro.

Cumprimentos.

Edited by thoga31
Erros ortográficos
  • Vote 1

Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado
8 minutos atrás, thoga31 disse:

ao lado de grandes nomes do Delphi, como o próprio @nunopicado (por muita humildade que ela tenha, eu digo peremptoriamente que o ele é um dos grandes desta linguagem na actualidade)

Grato, mon ami, mas é como te digo, sou apenas mais um aprendiz que espera um dia estar ao nível dos grandes... ;)


"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.

Share this post


Link to post
Share on other sites
thoga31
2 minutos atrás, nunopicado disse:

Grato, mon ami, mas é como te digo, sou apenas mais um aprendiz que espera um dia estar ao nível dos grandes... ;)

Um mero aprendiz que já contribuiu como poucos para a linguagem com os Reusable Objects, se me permitires fazer publicidade ao teu próprio "produto" ;)

Pena eles não estarem por aí divulgados. Devias considerar seriamente a possibilidade de fazer deles uma Framework para Delphi, Lazarus e Free Pascal (creio que são, pelo menos na sua maioria, compatíveis com os dois últimos).


Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado
begin // offtopic
  // Nunca testei, mas pelo menos os que usem generics e anonymous 
  // não irão funcionar (e são bastantes), porque a implementação
  // destas tecnologias em FPC está ou diferente (nuns casos) ou 
  // inexistente (noutros casos).
end;

 


"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.

Share this post


Link to post
Share on other sites
thoga31
{$ifdef fpcompiler}
   // código compatível com Free Pascal
{$endif}

Compilar com -dfpcompiler no Free Pascal ou no Lazarus. Done 😆

 

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado

As compiler directives, embora poderosas, 'sujam' o código. São de evitar quando possível, e quando não se possam evitar, idealmente ficam agrupadas num lugar só, e não espalhadas pelo código.

De qualquer forma, há lá alguns que não fazem sentido sem recurso a essas tecnologias, pelo que nesses o melhor seria simplesmente não os criar para FPC.


"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.

Share this post


Link to post
Share on other sites
thoga31

Pelo menos para os genéricos faria sentido o seu uso. O código não fica tão elegante, mas fica adaptado para mais compiladores.

Claro que há sempre a opção de fazer uma versão dedicada ao Free Pascal - talvez um desafio para mim um dia destes, não? ;)


Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado

Why not? :D


"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.

Share this post


Link to post
Share on other sites
Yamix
Em 28/08/2018 às 20:45, thoga31 disse:

 "não sabia que dava para fazer isto em Pascal". Frise-se que eu nem OOP usei na Mini Calc Série 3, é apenas paradigma procedural muito mal parido pelo newbie que eu era na época.

LOL.. EU TAMBÉM NÃO SABIA QUE DAVA PARA FAZER ISTO EM PASCAL!!! 

Fiquei mt feliz ao ver aquela telinha de loading bonitinha e as funcionalidades da calculadora.. muito show, parabéns!

Eu pensava que sabia do potencial do Pascal, mas sempre me surpreendo cada vez mais.

well, this isnt programming, its art..

{ Desculpem-me pelo off-topic, queria poder acrescentar com algo, mas realmente não manjo muito.. }

Aliás, lembro-me quando usava Pascalzim (falando assim, parece que faz muito tempo, haha), e por indicação do Nunopicado, mudei para o Lazarus, só para ver como era. De primeira vista, só enxergava aquele monte de funcionalidade na parte de cima da tela, então tentei então esboçar alguma janela, criar algo. Pensei que ia ser muito difícil, mas foi necessário apenas 4~5 clicks, sério, apenas isso, para criar uma janela, com botões e labels, fiquei surpreso. Começei a pensar.. "programação orientada a objeto é isso?".. realmente, foi muito fácil.

Logo depois, fui para o FreePascal e tentei criar um código que simulava os botões, labels, e os eventos, mas não foi tão fácil (e não ficou tão bom, hahah).

Aproveitando o tópico, falando sobre o futuro, minha pergunta pode ser meio besta, mas é possível desenvolver algoritmos genéticos, Machine Learning, IA e outras coisas do mesmo gênero, usando Pascal ou Object Pascal?

Edited by Yamix

Share this post


Link to post
Share on other sites
thoga31
Em 01/09/2018 às 20:28, Yamix disse:

Pensei que ia ser muito difícil, mas foi necessário apenas 4~5 clicks, sério, apenas isso, para criar uma janela, com botões e labels, fiquei surpreso. Começei a pensar.. "programação orientada a objeto é isso?".. realmente, foi muito fácil.

O PascalZim é apenas uma amostra muitíssimo pequena daquilo que realmente é o Pascal (ou Object Pascal) dos dias modernos. É bom para aprender o básico dos básicos e por aí ficamos. Contudo, orientação a objectos não deve ser confundido com botões, labels e drag'n'drop. Por exemplo, a minha Mini Calc Série 4 usa orientação a objectos e não tem nada disso, é apenas CLI (i.e., terminal ou linha de comandos).

 

Em 01/09/2018 às 20:28, Yamix disse:

mas é possível desenvolver algoritmos genéticos, Machine Learning, IA e outras coisas do mesmo gênero, usando Pascal ou Object Pascal?

Não vejo porque não. Podem haver linguagens de programação pensadas especificamente para isso - sendo, portanto, mais expressivas nesse quesito -, mas Object Pascal também o faz. Até kernels e/ou sistemas operativos podemos fazer em Pascal - e existem-nos, como por exemplo o projecto Oberon.


Knowledge is free!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.