| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2008 22:28:31
|
eduveks
GUJ Ranger
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.png)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2008 22:32:54
|
kicolobo
Moderador
![[Avatar]](/images/avatar/445b6949ed8860ca6175e8c89464ba85.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2008 23:12:34
|
Rodrigo.Lima
JavaChild
![[Avatar]](/images/avatar/7de64fd4ad48b97aa81f0250c25b899a.jpg)
Membro desde: 14/07/2006 09:45:21
Mensagens: 128
Offline
|
Parabéns, belo nome.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2008 23:23:25
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 01:17:21
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 01:35:21
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 08:14:46
|
eduveks
GUJ Ranger
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 08:45:08
|
soudaniel_01
JavaEvangelist
Membro desde: 11/04/2007 18:55:00
Mensagens: 429
Offline
|
legal, parabens !!!
hoje atarde vou fazer algo com ele...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 08:47:47
|
eduveks
GUJ Ranger
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 10:50:15
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 13:55:11
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 14:43:29
|
eduveks
GUJ Ranger
![[Avatar]](/images/avatar/bce9abf229ffd7e570818476ee5d7dde.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 15:24:20
|
dlt
JavaEvangelist
![[Avatar]](/images/avatar/f8decd07ac3bcdb30bc816319f3287de.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/01/2008 17:50:37
|
jjose
Virtual Machine Man
![[Avatar]](/images/avatar/68be68a4c8ce0d9d97e5259a649ce6a4.jpg)
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/01/2008 18:41:10
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
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 |
|
|
 |
|
|