As vezes eu gosto de chutar o balde. Então vamos lá.
Tudo começou com dois posts com títulos mentirosos ou “superfaturados”. O primeiro foi um “Twitter clone em 15 minutos” (Elixir & CIA) e o segundo, provavelmente uma resposta para não ficar atrás foi “Build a Twitter clone em 10 minutos” (Ruby & CIA). Ou eles não sabem o que significa clone, ou não sabem o que é o Twitter ou foi apenas ma fé mesmo. Acho que foi má fé para a promoção das linguagens. O fato é que necessitam de um bom tempo a mais para ficarem prontos. Então, supondo-se um ano, o título deveria ser “Cone do Twitter em um ano e 10/15 minutos”. O terceiro foi “How to Build a To-Do List App” (Rust). Apesar de não mentir, este até foi legal pois compilei a aplicação e vou enviar de presente para todos os meus inimigos. Tem que se odiar para usar aquilo (ROTFL).
Para a tarefa do título utilizei o Lazarus que é um clone do Delphi criado pela Borland em 1995 (exato, tem 25 anos). A linguagem utilizada é FreePascal. Certamente é o melhor ambiente para a criação de GUIs para desktop (não só), compilando para Linux, Windows e MacOS (nunca usei um Mac).
Interessante salientar que o programa foi desenvolvido no Linux e usa o GIMP para a edição final das imagens. Pode até parecer enganação, mas no Linux é comum a saída de um programa servir de entrada para outro mais apto para a tarefa. Para editar o assembly de um arquivo é possível fazer, por exemplo: objdump -d executavel | vim
-.
Se eu quisesse algo mais profissional, poderia clonar e compilar o LazPaint. Acho mais fácil, baixar o LazPaint (é possível baixar para 32 ou 64, Linux, Windows w Mac)
Outro aspecto muito bom do Lazarus é a conectividade com BDs. É possível conectar com um banco de dados sem escrever uma linha código. Ok, poderá ser necessário informar alguns dados como local, usuário, senha, porta, etc. Selecionar uma tabela (tipo SELECT * FROM tabela) e está pronta a aplicação CRUD. Com um clique é possível selecionar o BD como PostgreSQL, Oracle, Firebird, MariaDB, Sqlite entre outros e não precisa mudar nada no programa.
Acho que da década de 60 até hoje, o Delphi foi o maior avanço para o desenvolvimento desktop/GUI. Diversas linguagens também surgiram, com suas características específicas (mais para CLI ou web). Antigamente (bem antigamente), uma linguagem mais ou menos verbosa fazia diferença no tempo de desenvolvimento. Hoje, os editores fazem boa parte do serviço sujo. E se ele foi criado para uma determinada linguagem, é mais inteligente ainda.
Acho que vou ter que escrever mais algumas coisas sobre o Lazarus. Mas, por enquanto, é isso e mais um quilo de farinha.