Cio.com: Pra que serve Ruby?  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Zed Shaw acaba de escrever um artigo para a cio.com.


Deciding when to use any language--including Ruby--depends on the appropriateness to task and the amount of yak shaving necessary. Zed Shaw explains when Ruby's MRI or JRuby is the best language for the job, and when it really isn't.


http://www.cio.com/article/191000/You_Used_Ruby_to_Write_WHAT_/

Segundo o artigo:

Ruby serve para:
Systems scripting and automation
Web programming, sometimes
Simplified APIs for nonexperts
Gluing C APIs together.
Prototyping network protocols
Web application testing.
Telephony applications.


JRuby serve para
Breathing new life into tired old Java APIs
Gluing together Java libraries.
Rapid prototyping and experimentation
Enterprise application integration
Web programming but with the Java platform
Swing or SWT GUI development.


Ruby NÃO PRESTA para:
Large data crunching
Image manipulation
Heavy math or computation
New language development
E-mail processing
Server protocols
Enterprise deployments

This message was edited 2 times. Last update was at 02/03/2008 00:06:24


Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Sobre a parte de linguagens em específico:


New language development. While Ruby can build very nice DSLs, any errors in the DSL source aren't specified in that language, but instead, as Ruby errors. That's confusing. If your intention is to provide a language that a financial analyst can use to do her day job, then the error "undefined local variable 'var' for main:Object" is not helpful. In this case, you'd need a real parser with actual error checking and a better syntax that's not dependent on Ruby's?and this is where Ruby falls flat in practice.

There are libraries available for Ruby that can generate lexers and parsers, and plenty of templating engines for code generation, but most of these tools are poorly documented. You can find books for many of the Java, C or C++ based tools, and a trained language implementer can crank out simple DSLs with them in a few days to a week.


Eu concordo que Ruby Não é uma boa linguagem para definir linguagem as discordo do motivo. O problema de erros pode ser resolvido com tratamento decente de exceções. O prblema é que Ruby não foi eito pensando niso e muitas regras da linguagem atraalham demais a construção de outras linguagens (ver thread sobre Monkey patching).

Mas, no final do dia, Ruby é provavelmente a melhor plataforma mainstream para criar DSLs hoje em dia. Eu diria que é até melhor que Lisp em termos de liberdade de sintaxe (apesar de perder miseravelmente em todos os outros aspectos).

Alé disso, a crítica do inicio do artigo é meio estranha. Com TreeTop você cria uma DSL externa mais facilmente qe com ANTLR.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Tudo verdade, mas como ele mesmo disse, é pro caso do MRI, JRuby só não mata "image manipulation" porque as bibliotecas de manipulação de imagens em Java são horríveis.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

pcalcado wrote:
Alé disso, a crítica do inicio do artigo é meio estranha. Com TreeTop você cria uma DSL externa mais facilmente qe com ANTLR.


Desde quando escrever BNF e usar ANTLR foi facil? heehhehe

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
rubinelli
JavaEvangelist
[Avatar]

Membro desde: 26/04/2005 11:18:25
Mensagens: 469
Offline

Aí vareia. Você está comparando com flex/bison?
[WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Paulo Silveira wrote:Desde quando escrever BNF e usar ANTLR foi facil? heehhehe


Realmente, estudar o ANTLR foi uma das coisas mais difíceis que fiz nos últimos anos. Gostaria de converter para Java uma linguagem orientada a um programa (naquele tempo a gente chamavade POL) que escrevi o parser há muitos anos e desisti depois de ler as partes I e II (2/3) do livro do Terence Parr.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Paulo Silveira wrote:Desde quando escrever BNF e usar ANTLR foi facil? heehhehe


Mas o ponto dele é que com Ruby é muito mais difícil de se fazer o mesmo por causa da falta de ferramentas/documentação pro trabalho.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

Treetop.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Sei la, da ultima vez que eu vi, nao era tao facil fazer mensagens de erro uteis sairem de uma definicao do Antlr...
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
louds
Moderador
[Avatar]

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

ANTLR é difícil pacas pois é o tipo de ferramenta que exige todo um conhecimento diferente do habitual para se escrever um programa. Por isso que coisas como parser combinators e PEQs são coisas muito mais práticas de serem usadas. O Bracha da uns exemplos muito legais de PC com newspeak. Outra coisa legal é ver o que fizeram no Irony, uma lib p/ C# que implementa o conceito - vale a pena ver a palestra que o autor deu no lang.net 2008

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]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

link, louds?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
mfb
Thread.start()

Membro desde: 27/03/2006 08:33:20
Mensagens: 33
Offline

Links dos slides das palestras:
Newspeak - Bracha e Irony
louds
Moderador
[Avatar]

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

cv wrote:link, louds?


O mfb postou as palestras, sugiro também assistir os vídeos, Quanto ao suporte a PC em newspeak a melhor referencia além do lang.net é o blog do Gilad. Esse artigo em particular: http://gbracha.blogspot.com/2007/09/executable-grammars.html

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]
 
Índice dos Fóruns » Ruby & Ruby on Rails
Ir para:   
Powered by JForum 2.1.8 © JForum Team