Lançamento do CajuScript!  XML
Índice dos Fóruns » Notícias
Autor Mensagem
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline



http://www.cajuscript.org

Ou:

http://code.google.com/p/cajuscript/

Finalmente esta oficialmente lançado, e anuncio aqui no GUJ em primeira mão, mais uma linguagem de script para o Java

As principais vantagens do CajuScript é:

Fácil aprendizagem.

Jar com menos de 60k.

Muito fácil de usar com Java e implementa as interfaces de Script do Java 6.

Sintax inovadora.

A sintax poderá ser um choque a primeira vista, mas reparem bem e verão que faz todo sentido. Menos teclas para declarar um if, while, funções e imports.

O CajuScript nasceu agora, ainda tem muito o que amadurecer, mas para começar já vem com tudo o que é mais necessário, está bem completo para o início.

Conto com a ajuda de todos, críticas e sugestoes sempre serão bem vindas.

Abraço.

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
kicolobo
Moderador
[Avatar]

Membro desde: 19/07/2006 14:11:09
Mensagens: 1188
Localização: Belo Horizonte
Offline

Parabéns!

Que bacana cara, sabe: de uns tempos pra cá tenho me dedicado a escrever código com o menor footprint possível (por diversão).
Bacana ver uma linguagem com 60 Kb.

http://devkico.itexto.com.br

Twitter: http://www.twitter.com/loboweissmann

Vamos aprender Grails?
http://www.grailsbrasil.com.br
[WWW] [MSN] [ICQ]
Rodrigo.Lima
JavaChild
[Avatar]

Membro desde: 14/07/2006 09:45:21
Mensagens: 128
Offline

Parabéns, belo nome.
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

Que doideira! Quer dizer que agora qualquer um pode fazer o sua própria linguagem de script compatível com o Java?

Dei uma ollhada nos fontes. Parece que vc faz o parser na unha. Até outro dia isso era uma coisa bastante não-trivial (consulte um livro de compiladores e parsers). E agora? Ficou mais acessível? Como vc aprendeu isso?

Parabéns pela iniciativa!

This message was edited 1 time. Last update was at 17/01/2008 23:23:54


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Parabéns!

Só não gostei de uma coisa... CAJU (odeio para ser sincero, mas gosto muito da castanha hehehe).

Até mais!

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Pelos exemplos notei que instanciação usa a mesma notação que ativação. Isso é problemático se existir contexto implícito como toda linguagem OO possui. Como fica isso no CAJU?

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

saoj wrote:Que doideira! Quer dizer que agora qualquer um pode fazer o sua própria linguagem de script compatível com o Java?

Dei uma ollhada nos fontes. Parece que vc faz o parser na unha. Até outro dia isso era uma coisa bastante não-trivial (consulte um livro de compiladores e parsers). E agora? Ficou mais acessível? Como vc aprendeu isso?

Parabéns pela iniciativa!


Pois é, acho qualquer um pode fazer qualquer coisa

As vezes pode não fica perfeito mas que chega lá, chega

Bem eu tenho noção disto que disseste, que existe melhores maneiras de fazer a interpretação, mas primeiramente resolvi fazer um interpretador que funcionasse, agora começa a faze de otimizações, trabalhar em cima de um bom parser, mas primeiro queria algo que funcionasse e que servisse de base para o aperfeiçoamento, uma idéia por onde começar.

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
soudaniel_01
JavaEvangelist

Membro desde: 11/04/2007 18:55:00
Mensagens: 429
Offline

legal, parabens !!!

hoje atarde vou fazer algo com ele...
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

louds wrote:Pelos exemplos notei que instanciação usa a mesma notação que ativação. Isso é problemático se existir contexto implícito como toda linguagem OO possui. Como fica isso no CAJU?


Bem sinceramente não entendi bem a tua pergunta, mas se for no sentido de como diferenciar uma nova instância da classe de apenas uma chamada a uma class estática é assim:

java.lang.String() -> Nova intância

java.lang.System -> Classe estática

A difernaça é nos ( )...

Depois para chamar por exemplo o String.replaceAll(CharSequence, CharSequence) em vez do String.replaceAll(String, String):



Usando o caju.cast( OBJECT, "CLASS" ) para chamar um método ou contrutor especifico que tenha múltiplas definições.

Não sei se isto responte a tua pergunta, mas se tiver um exemplozinho da situação específica agradecia

This message was edited 2 times. Last update was at 18/01/2008 09:34:47


http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
Tecnoage
GUJ Master

Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline

Gostei da iniciativa!!! parabéns

Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br
[Email] [WWW] [MSN]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

eduveks wrote:
louds wrote:Pelos exemplos notei que instanciação usa a mesma notação que ativação. Isso é problemático se existir contexto implícito como toda linguagem OO possui. Como fica isso no CAJU?


Bem sinceramente não entendi bem a tua pergunta, mas se for no sentido de como diferenciar uma nova instância da classe de apenas uma chamada a uma class estática é assim:

java.lang.String() -> Nova intância

java.lang.System -> Classe estática

A difernaça é nos ( )...

Depois para chamar por exemplo o String.replaceAll(CharSequence, CharSequence) em vez do String.replaceAll(String, String):



Usando o caju.cast( OBJECT, "CLASS" ) para chamar um método ou contrutor especifico que tenha múltiplas definições.

Não sei se isto responte a tua pergunta, mas se tiver um exemplozinho da situação específica agradecia



Ativação -> chamada de um método.
Instanciação -> criar um novo objeto.
Contexto implícito -> o this é métodos é um exemplo disso.

Queria saber se existe algum contexto implicito e, se existir, como diferencia String() ser ativação ou instanciação.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

louds wrote:
eduveks wrote:
louds wrote:Pelos exemplos notei que instanciação usa a mesma notação que ativação. Isso é problemático se existir contexto implícito como toda linguagem OO possui. Como fica isso no CAJU?


Bem sinceramente não entendi bem a tua pergunta, mas se for no sentido de como diferenciar uma nova instância da classe de apenas uma chamada a uma class estática é assim:

java.lang.String() -> Nova intância

java.lang.System -> Classe estática

A difernaça é nos ( )...

Depois para chamar por exemplo o String.replaceAll(CharSequence, CharSequence) em vez do String.replaceAll(String, String):



Usando o caju.cast( OBJECT, "CLASS" ) para chamar um método ou contrutor especifico que tenha múltiplas definições.

Não sei se isto responte a tua pergunta, mas se tiver um exemplozinho da situação específica agradecia



Ativação -> chamada de um método.
Instanciação -> criar um novo objeto.
Contexto implícito -> o this é métodos é um exemplo disso.

Queria saber se existe algum contexto implicito e, se existir, como diferencia String() ser ativação ou instanciação.


Ok acho q agora chegamos lá

Não há contexto implícito, há apenas um contexto q é o contexto global da execução do script, variáveis definidas dentro de funções como fora estão no mesmo contexto, ou seja dentro de uma função pode se usar uma variavel de fora e uma variavel criada dentro de uma função fica acessível para fora, ou sejá só existe o contexto global, por enquanto!

CajuScript não é orientado a objeto, por enquanto.

Ao criar uma String(" ") será feita uma nova instanciação e se for como valor de uma variável, esta nova instancia passa a ser o valor desta variável:
str = String("xpto")
Isto é equivalente em Java:
String str = new String("xpto")

Esta variável "str" estará disponível para ser usada no código que segue, podendo a seguir fazer:
str.replaceAll("o", "o...")

Ser fizer:
str = String

Isto não faz nada! Classes estáticas teem que ser usadas assim:
System.out.println("xpto...")

Tem que executar alguma coisa, só System não faz nada, é preciso um caminho completo para uma variável publica, ou construtor ou método, para usar isto como valor de uma variável.

Claro que quero melhorar isto, passando a ser uma linguagem OO também, mas isto no momento não, isto esta pendente para as versões futuras.

O objetivo agora foi fazer uma linguagem simples para usar classes Javas e trocar Objetos entre Java e CajuScript, suportando tudo que é preciso para programar, ifs, while, arrays, funções, cast e variaveis, isto é o básico e tentei fazer da maneira mais simples e facíl de usar, agora o próximo passo é melhorar o que já existe e começar a evoluir a linguagem para o suporte de Classes e tudo mais.

Os objetivos do CajuScript é ter o core pequeno, ter fácil aprendizagem, e fácil de usar no dia-a-dia.

Se tem algo que não agrada e tem idéia de como melhorar, e se tem algum recurso que acha que faz falta e quer que seja implementado, é só dizer que vamos trabalhar para isto.

E quem quiser participar no desenvolvimento do projeto será bem vindo.

This message was edited 2 times. Last update was at 18/01/2008 14:50:53


http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
dlt
JavaEvangelist
[Avatar]

Membro desde: 20/12/2007 16:30:29
Mensagens: 367
Localização: Belo Horizonte
Offline

o contexto implícito é o contexto 'dentro' de um objeto instanciado? como se ele fosse um programa separado?

"It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?" - Alan Perlis
jjose
Virtual Machine Man
[Avatar]

Membro desde: 22/05/2007 23:10:22
Mensagens: 663
Localização: Paraiba
Offline

Que nomico
pior soh jBanana

Estatísticas mostram que no RJ você corre risco de levar um tiro antes mesmo de nascer.
No RJ proporção é de uma bala perdida por cada gota de chuva.
No RJ quando o assunto é bala perdida, o óbito considera causas naturais.

[Email] [WWW]
fcoury
JavaChild
[Avatar]

Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline

Amigo, parabéns pela iniciativa! Só um toque: sintaxe em inglês é syntax e não sintax como está no site beleza?

Abração e novamente, parabéns!

Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com
[WWW] [MSN]
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team