Desenvolvedores Scala, Ruby, a jugular está preparada

Acabei de escrever um texto no meu blog, comentando o post de James Strachan sobre a possível substituição do Java pelo(a) Scala. Comentei, também, sobre a “alta produtividade” do Ruby que vi pelas mãos do Fábio Kung, no último Falando em Java.

Enfim, a jugular está pronta, mas venham devagar, sou pai de um menino lindo. =)

http://celsoavmartins.blogspot.com/2009/07/scala-vai-substituir-o-java.html

Abraços

bem, pelo pouco que codifiquei em ruby, realmente achei mais produtivo que java. Mas vale ressaltar que nem sempre produtividade está no topo, principalmente quando afeta qualidade. Mas, sei muito pouco de ruby pra falar, só sei que a linguagem é bem cômoda.

Mas é verdade também que muitas pessoas tendem a usar uma linguagem para os mais diferentes tipos de projetos. Isso realmente é uma coisa descabida. Todos nós sabemos que cada uma tem seu uso específico.

Sineramente?

Fiquei com medo da “única linha” que o Kung fez para - somente - gerar números aleatórios. :lol:

huahuahua…realmente, isso em c ou php, o que quer que seja, a gente pode fazer tmb uai:

#include int main(){ for(int i=0;i<100;i++)std::cout << rand() % 100 <<endl; return 0; } //números entre 0 e 99

Você tem razão.

Cara Scala não vi substituir o java, o Foco de Scala é outro completamente diferente.

Quanto ao Ruby, ele é bacana mesmo, mas nem sempre é a melhor escolha.

Só dei uma olhada no Scala, não me apeguei muito pois gostaria de aprender outra linguagem que não seja Java-style de programação hehehe.

[]'s

Sineramente?

Fiquei com medo da “única linha” que o Kung fez para - somente - gerar números aleatórios. :lol: [/quote]

Aquela que não saia números acima de 300 nem a pau? :twisted:

Acho que atende as mesmas necessidades, e de uma maneira mais adequada com seu modelo de atores. Cai como uma luva para o mundo empresarial, ou pelo menos força e mente do desenvolvedor a trabalhar menos acoplado.

Olha um dos parágrafos do post do James:

[quote=Bruno Laturner]
Aquela que não saia números acima de 300 nem a pau? :twisted: [/quote]

huahauhauhauhauhauhuah
A própria. No próximo evento, chegarei apenas a alguns minutos do início.

A performance do Scala é realmente tão boa assim como ele cita?

não mechi muito no scala então não sei dizer, so fiz alguns hello worlds, e um programação estruturada uhaahuuhauhahuahu

Sinceramente, eu nem sabia que existia isso(Scala). Vou dar uma pesquisada, e ver como funciona.

[quote=juliocbq]huahuahua…realmente, isso em c ou php, o que quer que seja, a gente pode fazer tmb uai:

#include int main(){ for(int i=0;i<100;i++)std::cout << rand() % 100 <<endl; return 0; } //números entre 0 e 99

Você tem razão.[/quote]

Em C++ é preciso mais do que isso para gerar números aleatórios… o segredo para gerar números aleatórios é a semente. Gerado por algo que tenta simular algo aleatório e não repetitível.

Se vc rodar esse código várias vezes o resultado sempre será o mesmo.

Nessa de números aleatórios, poderiam tentar o http://www.random.org/

Mas como a gente faz programa, fazer o que… :wink:

[quote=Felipe Kan][quote=juliocbq]huahuahua…realmente, isso em c ou php, o que quer que seja, a gente pode fazer tmb uai:

#include int main(){ for(int i=0;i<100;i++)std::cout << rand() % 100 <<endl; return 0; } //números entre 0 e 99

Você tem razão.[/quote]

Em C++ é preciso mais do que isso para gerar números aleatórios… o segredo para gerar números aleatórios é a semente. Gerado por algo que tenta simular algo aleatório e não repetitível.

Se vc rodar esse código várias vezes o resultado sempre será o mesmo.[/quote]

claro que sim, mas, somente quando essa semente sair da memória. Enquanto o código rodar, gerará diferentes números. O objetivo do código é gerar números entre 0 e 99. Se vc rodar, vai ver que ele faz exatamente isso.

correção:

#include int main(){ for(int i=0;i<100;i++){srand(i);std::cout << rand() % 100 <<std::endl;} return 0; }

Nossa, quanta diferença. rs

[quote=juliocbq][quote=Felipe Kan][quote=juliocbq]huahuahua…realmente, isso em c ou php, o que quer que seja, a gente pode fazer tmb uai:

#include int main(){ for(int i=0;i<100;i++)std::cout << rand() % 100 <<endl; return 0; } //números entre 0 e 99

Você tem razão.[/quote]

Em C++ é preciso mais do que isso para gerar números aleatórios… o segredo para gerar números aleatórios é a semente. Gerado por algo que tenta simular algo aleatório e não repetitível.

Se vc rodar esse código várias vezes o resultado sempre será o mesmo.[/quote]

claro que sim, mas, somente quando essa semente sair da memória. Enquanto o código rodar, gerará diferentes números. O objetivo do código é gerar números entre 0 e 99. Se vc rodar, vai ver que ele faz exatamente isso.

correção:

#include int main(){ for(int i=0;i<100;i++){srand(i);std::cout << rand() % 100 <<std::endl;} return 0; }

Nossa, quanta diferença. rs[/quote]

Continua gerando números iguais… rs…

[quote=Bruno Laturner]Nessa de números aleatórios, poderiam tentar o http://www.random.org/

Mas como a gente faz programa, fazer o que… ;)[/quote]

Realmente… se for para aplicações sérias o melhor é usar bibliotecas específicas… esse é o problema/solução do C++… muitas alternativas… muitas escolhas…

[quote=Felipe Kan][quote=Bruno Laturner]Nessa de números aleatórios, poderiam tentar o http://www.random.org/

Mas como a gente faz programa, fazer o que… ;)[/quote]

Realmente… se for para aplicações sérias o melhor é usar bibliotecas específicas… esse é o problema/solução do C++… muitas alternativas… muitas escolhas…[/quote]

Rs… “The randomness comes from atmospheric noise”… pensei que era uma biblioteca…

Prq vc reinicia o programa em vez de aumentar a quantidade de números:

Mas assim:
srand(time(NULL)+i);
ou
srand(Time.msec());
Ae vai do seu framework. Eu uso qt aqui.

[quote=juliocbq]

Prq vc reinicia o programa em vez de aumentar a quantidade de números:

Mas assim:
srand(time(NULL)+i);
ou
srand(Time.msec());
Ae vai do seu framework. Eu uso qt aqui.[/quote]

Essas funções são ansi, então são independentes… só espero que você não esteja usando a semente(tempo) para para algo que precise ser realmente aleatório… tal como criptografia/sorteios/etc.

Precisei ir na Wikipedia pra descobrir o que era jugular. :slight_smile:

Eu estou iniciando meus estudos em Scala e, pelo pouco que eu vi, não tem essa de Java e Scala atenderem propósitos diferentes, Scala é realmente a linguagem para ser usada no lugar de Java, pois aquela é muito superior e muito mais moderna.

Sabia que, com Scala, uma classe com “getters” e “setters”* seria assim?

import java.util._

class Pessoa(var nome: String, var cpf: String, var dataNascimento: Date)

Nada das zilhões de linhas que é em Java.

  • : aos que já sabem, isso é só maneira de dizer, nessa linguagem, não existe o padrão JavaBeans

Seria o que o C++ foi para o C, quando Scala introduz programação funcional à plataforma.

Também acredito que no futuro, a tendência é Scala virar uma forte candidata à projetos Enterprise, como construção de frameworks, containers e por aí vai. Para a implementação de negócio, ficaria com algo mais leve como Ruby, que é uma delícia de programar e vicia !! :slight_smile: