Clipper On Line • Ver Tópico - É boa idéia migrar de Clipper e de Harbour para ELENA?
Página 1 de 1

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 14 Jan 2019 20:31
por manhobby
Olá para todos que estão inscritos no fórum Clipper Online!

É boa idéia migrar de Clipper e de Harbour para ELENA?
1546673792424_party.png
1546673792424_party.png (1.64 KiB) Visualizado 2567 vezes


Referência: https://www.codeproject.com/Articles/11 ... g-Language

Se não, porque?

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 15 Jan 2019 05:53
por bencz
@manhobby

é uma ótima pergunta...
Bom, além do Alex, criador da linguagem, sou um usuário assíduo da linguagem, inclusive, participo do desenvolvimento dela desde 2008.
Como você pode ter lido no final do meu artigo no code-project, eu desenvolvi sistemas que estão rodando até hoje em bancos, como Banco Bradesco, Banco Fidis, Fundo Estrela ( banco Mercedes ), e estão rodando perfeitamente sem nenhum tipo de problema.

QUando portei estes sistemas de C# para ELENA, inicialmente era um teste que eu estava fazendo, mas, depois que vi o desempenho do sistema, que estava pelo menos 35% mais eficiente e rápido que o mesmo programa feito em C#, abandonei o sistema em C# e mantive tudo em ELENA.

Atualmente, o executavel gerado pelo compilador da linguagem é linkado junto com uma VM ( parecido com que é feito pelo compilador de CA-Clipper ou (x)Harbour, a diferença é que a VM da linguagem ELENA nao interpreta os opcodes, tal como é feito pela vm do clipper ou (x)harbour, a vm da linguagem ELENA faz o que chamamos de JIT, onde o compilador JIT gera codigo de maquina ( assembly ) a partir dos opcodes, e então executa o assembly gerado.
Essa é uma pratica bastante comum hoje na computação, VMs como .Net, JVM fazem isto...

Atualmente a linguagem esta passando por uma refatoração de sintaxe bastante grande, inclusive, este artigo já esta desatualizado, devido a refatoração que esta sendo feita, a sintaxe atual dela esta mais parecida com C#, mas, com um desempenho muito melhor, veja alguns exemplos

Criação de classes
import extensions;

class MyClass
{
    // a field
    string myString;

    // an implicit constructor
    constructor(string s)
    {
        myString := s
    }
   
    // an explicit constructor
    constructor fromNuber(int n)
    {
        myString := n.toString();
    }
   
    // a method
    printString()
    {
        console.printLine(myString)
    }
}

public program()
{
    // creating a class instance by sending new message to the class
    var myClass := new MyClass("This is printed by my class.");
   
    myClass.printString()
}


Operações lambda
import extensions;
import system'routines;
import extensions'routines;

public program()
{
    var list := new Range(1,5).selectBy:(n => randomGenerator.nextInt(100)).toArray();
   
    console.printLine("sort(",list,")=",list.orderBy:(p,n => p < n))
}


Enfim, você pode ver diversos exemplos em: https://github.com/ELENA-LANG/elena-lang/wiki/ELENA-Programming-Language
Caso queira ver como era a sintaxe mais antiga da linguagem ELENA, tem projeto que desenvolvi, para descompilar o executavel .net: https://github.com/bencz/DotNetProject/tree/master/DotNetPELib/DotNetPELib_test_all_sources

A duvida que fica é, é uma boa ideia migrar o código legado para ELENA ?
Vamos aos pontos:
Contras:
[*] Encontrar desenvolvedor no mercado, é praticamente impossível.
[*] Atualmente ( 15/01/2018 ), a linguagem esta passando por uma refatoração de sintaxe
[*] Muitos pontos importantes para a criação de sistemas não estão migrados para a plataforma 4.0 da linguagem, como por exemplo, criação de programas com interface gráfica.

Pros:
[*] Alto desempenho
[*] Extremamente segura, visto que o código executável é executado por um JIT, então, a alteração do executável se torna quase que impossível
[*] Manutenção muito simples, se aplicadas as regras de desenvolvimento corretas para a linguagem, que é, orientação a objetos
[*] Extremamente dinâmica
[*] Escalável

Bom, e para finalizar... atualmente estou desenvolvendo diversos sistemas em ELENA, muitos já estão em produção e processando dados em diversos clientes e estou muito satisfeito com o desempenho e eficiência!!!!
Para projetos futuros, esta previsto a criação de um sistema para desenvolvimento de sites em ELENA e já esta nos meus planos desenvolver sistemas inteiros em ELENA, para Web!

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 15 Jan 2019 06:47
por manhobby
bencz escreveu:Atualmente a linguagem esta passando por uma refatoração de sintaxe bastante grande, inclusive, este artigo já esta desatualizado, devido a refatoração que esta sendo feita, a sintaxe atual dela esta mais parecida com C#, mas, com um desempenho muito melhor, veja alguns exemplos


@bencz,

Você disse que este seu artigo que você postou no CodeProject está desatualizado, mas a data dele é 12 de Janeiro de 2019.

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 15 Jan 2019 06:58
por bencz
eu eatou vendo aqui.. o Alex atualizou ele

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 15 Jan 2019 07:10
por manhobby
bencz escreveu:A duvida que fica é, é uma boa ideia migrar o código legado para ELENA ?
Vamos aos pontos:
Contras:
[*] Encontrar desenvolvedor no mercado, é praticamente impossível.


@bencz,

Porque é praticamente impossível encontrar desenvolvedor ELENA no mercado?

Porque os desenvolvedores não querem aprender desenvolver em ELENA?

É boa idéia migrar de Clipper e de Harbour para ELENA?

MensagemEnviado: 16 Jan 2019 03:08
por bencz
Porque é praticamente impossível encontrar desenvolvedor ELENA no mercado?

Porque os desenvolvedores não querem aprender desenvolver em ELENA?


Isto responde tudo
Pois as pessoas não conhecem ou simplesmente não estão interessadas em aprender uma linguagem nova.