Boa noite!
baixei o X# para dar uma olhadinha nele... e achei um projeto bastante, desnecessário...
Em anexo tem os exemplos fornecidos pela equipe do X#
Bom, eu acho legal um projeto desse, mas, para fins de estudo no dev. de compiladores... o compilador é compatÃvel com V.O e xBase++... e o pior, não é possÃvel desenvolver sites em X#... só programas console e winforms e WPF...
E um outro problema, o código fonte do compilador só é acessÃvel se vc pagar!, novamente, um projeto desse, para fins de estudos é muito legal... mas, só também!
O que me pergunto é, para que aprender X#, que possui diversos pontos diferentes do CA-Clipper ou do Harbour, sendo que se pode estudar VB.Net ou C# ou F#... ?
Posso pegar outros exemplos de linguagens compatÃveis com .net, como Visual COBOL da MicroFocus, que fez um trabalho fantastico, onde é possivel compilar exatamente o mesmo código COBOL para .Net...., e também desenvolveram um compilador novo baseado em Cobol, compativel com a estrutura Orienta a Objetos do .Net e compativel com .Net core, que torna possivel executar o mesmo programa em ambientes Linux e Mac também.
o Visual Studio, agora tem uma versão gratuita que é a versão Community, ou seja, IDE deixa de ser um problema financeiro para se tornar uma ferramenta muito poderosa para se trabalhar!
Eu, particularmente gosto muito do Visual Studio, ele possui milhares de recursos que auxiliam muito no dev. de um sistema.
já escrevi milhares de linhas em COBOL, RPG e Assembler nos mainframes e no AS/400, e sei bem o quanto faz falta uma IDE...
Sobre o comentario do Sr. Itamar, os frameworks estão aqui para auxiliar e facilitar o desenvolvimento dos sistemas, imagine você ter que desenvolver absolutamente tudo que você necessita ?
Já passei por coisas parecidas... tive que desenvolver uma lib. em C ( que não deixa de ser um framework ), para gerar arquivos excel ".xls" no ambiente Z/OS e compatÃvel com AS/400, vai vendo o problema..., o arquivo EXCEL salva os textos em formato ASCII e o mainframe e AS400 trabalha com EBCDIC...
Até mesmo, com o Harbour, utilizamos frameworks, o Harbour possui seu proprio framework, para se trabalhar com arquivos DBF, Indices e etc..., GTWVW e etc, é um framework para trabalhar com interface grafica.. o grande problema, é aprender cada framework, pois, cada um é de um jeito...
O lado bom, do Java ou .Net, é a padronização, se você pega um código C#, é facil converter para Vb.Net ou, F# ou C++/CLI, pois as classes utilizadas e metodos são os mesmos..., o que torna muito mais simples você navegar entre as linguagens.
Se você tem familiariadade com C#, por exemplo, você pode escrever o seu conjunto de classes de apoio em C# e utilizar em Vb.Net, C++/CLI ou qualquer outra linguagem .Net.
Eu sei, que 99% do pessoal aqui do fórum, é da Velha Guarda, acostumada a utilizar simples editores de texto para escrever o código, como o Norton Editor ou UltraEdit, PsPad e etc...
Então, cada um tem um gosto e um meio de trabalho que prefere mais, então, não podemos reclamar de IDE nem de editores de texto, pois, cada um prefere trabalhar de uma maneira...
O importante é, se sentir confortavel com a ferramenta que você está trabalhando e se sentir feliz com o que está fazendo, seja usando uma IDE x qualquer ou um editor de texto.
Seja utilizando X#, Harbour, C/C++, C# e etc... não adianta ficarmos reclamando da linguagem X ou Y ou de como ela funciona...
Eu, particularmente, acho o código gerado pelo Harbour, bastante lento, principalemnte pela forma com que ele funciona, com um p-code interpretado em tempo de execução, isso não me fez gostar mais ou menos da linuagem, pois programar em linguagens baseadas em xBase, é bem agradavel....
O que esse caso do Harbour me fez, foi querer desenvolver a minha versão de um compilador baseado em CA-Clipper, mas que gerava código x86 x64 diretamente, ou seja, sem que fosse interpretado por uma VM que é linkada junto com o executavel ( que é o caso do Clipper ou Harbour (
https://github.com/vszakats/hb/tree/master/src/vm ) )
O meu compilador foi um simples projeto de estudo, mas, bastante interessante, consegui resolver coisas bastante interessantes, como a utilização de code-blocks e macros, compilando para nivel de maquina diretamente, sem ser interpretado!!!!