Fork me on GitHub
#clojure-brasil
<
2017-11-15
>
renan11:11:27

@zignd boa tarde / dia hahahaha

zignd11:11:25

@renan pô, quebrou a corrente, a ideia era ir reduzindo um caractere a cada nova mensagem xD

zignd11:11:53

pelo menos foi isso que deu pra entender ali em cima

zignd11:11:57

bom dia mano

renan11:11:09

Hahahahaha foi mal foi mal !

renan11:11:02

Aproveitando que estou por aqui... No clojure-brasil grupo do Facebook, teve uma discussão interessante sobre fazer um hangouts periódico sobre clojure... Ideias como clojure em data science, clojure news, ou algo mais clojure em X, P, T ou O

gilmar12:11:17

Eu que puxei essa thread, eu não sabia desse Slack. Eu estava pensando em fomentar mais a linguagem, hoje só sei do Nubank usando. Não sei o que a galera aqui acha!

renan23:11:53

Eu queria animar mais a comunidade , por isso postei aqui também o link ! Podíamos voltar com o canal do YouTube , falando de use cases, ou o que estamos aprendendo , não precisa ser um especialista, tu pode ter estudado uma semana a parada e comentar, isso já é legal

gilmar10:11:17

É essa a ideia!

zignd11:11:06

mandei uma requisição pra entrar, não sabia que tinha grupos de Clojure aqui no Brasil

renan11:11:22

@zignd existia até o meetup online e teve alguns presenciais ... eu só consegui pegar a fase do online hahahhahaha

renan11:11:03

@zignd esse channel aqui mesmo, era mais movimentado hahahahah

zignd11:11:22

@renan então, eu vi o meetup, mas não parecia estar ativo a um bom tempo

renan11:11:02

@zignd e não está até onde eu sei 😕 infelizmente

renan11:11:44

Eu conferi aqui... Só o adm do grupo pode aceitar você 😕 sorry ... vamos esperar 😕 eu procurei aqui se eu conseguia te aceitar e não achei

zignd11:11:43

os grupos do facebook tinham que ser como os do g+, abertos pra todo mundo. faz muito mais sentido assim

zignd11:11:55

sem problema, eu espero xD

renan11:11:03

sim ! eu vou falr com o adm para ele deixar o grupo aberto

renan11:11:45

lá tem algumas coisas as vezes, papos, alguns blogposts / medium sobre clojure na nossa língua ....

zignd11:11:49

ah, é possível fazer isso no facebook também? não sou dos usuários mais pros, fico mais no twitter xD

renan11:11:42

eu sou teamtwitter também hahahah, mas no facebook tem como deixar o grupo aberto sim, ou pelo menos que qualquer um possa te aceitar no grupo

zignd12:11:14

bom saber, tô montando um projeto em Clojure, talvez eu até consiga discutir algumas boas práticas com eles, é legal ter uns colegas brasileiros xD

imetallica12:11:29

Eu sou um refugiado do Elixir, hahahaha

imetallica12:11:24

Aprendendo Clojure, mas é bem esquisita algumas coisas… mais mesmo por conta de como a JVM funciona.

renan12:11:15

@zignd open source esse projeto?

renan12:11:08

@imetallica Que maneiro ! eu já vi em algumas palestras do valim falando que no começo, todas as features que ele queria estavam no clojure... porém por roda a primor na JVM... ele queria uma alternativa

zignd12:11:02

uma coisa que achei esquisita quando comecei foram os diversos tipos de coleções, mano do céu, o livro que estou lendo me jogou todas na cara de uma só vez, eu fiquei tipo, eu realmente preciso de tudo isso xD

imetallica12:11:12

Eu trabalho com Erlang/Elixir tem uns 4-5 anos… queria algo mais mainstream. 😛

imetallica12:11:01

É bem complicado tentar botar goela abaixo uma VM que as pessoas não conhecem… apesar da VM do Erlang (BEAM) ser uma obra de arte.

zignd12:11:44

@renan sim, mas ainda estou no início, tive que reescrever algumas partes várias vezes até pegar qual era a maneira certa de usar o Datomic e de fazer testes unitários em funções que usam ele

imetallica12:11:18

E agora que estou aprendendo Machine Learning… o Cortex me parece bem interessante. E poder ter uma stack completa em Clojure me animou pra aprender a linguagem

zignd12:11:52

@imetallica em que tipo de sistema você trabalha? com o elixir

renan12:11:54

@imetallica imagino... a JVM é mais aceita ... ou nem isso... até em outros runtimes, se vc sai ai do Código -> Banco de dados, se você quer colocar algo de busca (elasticsearch, solr, lucene) vc acaba tendo que instalar a JVM

imetallica12:11:04

@renan sim, apesar do Erlang rodar em qualquer lugar, a JVM está em todo lugar.

imetallica12:11:14

@zignd mano, trampo numa fintech.

imetallica12:11:06

Só coisa chata que tem de fazer, CNAB, integrar com adquirente, parsear e construir uns XML xexelento, hahaha

renan12:11:25

@imetallica sim ! apesar que eu comecei a ler por ai... que node.js pode bater isso 😳

renan12:11:50

não me fale de CNAB hoje @imetallica ... como odeio fazer isso hahaha

imetallica12:11:06

@renan só quando o node for multithreaded aí a gente pode começar a pensar nisso. Mano, eu escrevi uma lib pra gerar essa porra e, no final de tudo descobri que o Itaú apenas caga pra convenção da FEBRABAN.

imetallica12:11:42

Antes eu tivesse escrito só pro Itaú, que é o que interessa pra gente.

renan12:11:17

@imetallica cara eu fiz 7 bancos ... um terror !

renan12:11:14

Mas eu não tenho essa frase maneira de "trampo numa fintech" haha, eu trabalho com escolas 😄 . qual nome da empresa?

renan12:11:51

maneiro ! ai a stack toda é elixir?

imetallica12:11:34

Sim. Tem um pouco de F# também, que eu botei, mas mais pros clientes usarem pra integrar com as nossas POS. 😉

renan12:11:32

Maneiro ! eu entrei aqui no site, já tinha visto vocês antes hahahah ; legal 😄

imetallica12:11:07

Vocês usam o que aí?

renan12:11:37

os times de produto, tipo turmas, alunos (lembrando que é um software para escolas) usam muito PHP, outras coisas mais na borda da plataforma, com editor de relatórios, notificações normalmente é em java

renan12:11:37

no front-end, galera usa Riot.js... eu estou quase conseguindo convencer a usar clojurescript no editor de relatórios...

imetallica12:11:52

É uma bosta JS

imetallica12:11:05

RiotJS é legalzinho, mas é muito lento.

renan12:11:12

Hahahah demais !

zignd12:11:56

ei não fala assim, eu fui obrigado a reescrever boa parte do back-end onde trabalho de C# -> Node.js, JavaScript é uma maravilha /s

zignd12:11:16

eu sei...

imetallica12:11:18

Se eu tivesse escolha

imetallica12:11:29

Ao invés do JS

imetallica12:11:34

Cara F# é uma linguagem linda

zignd12:11:40

mas eu coloquei uns Go onde eu pude xD

imetallica12:11:51

É uma pena que a comunidade do .NET é tão cheia de derrame.

zignd12:11:54

fiquei interessado no F# depois que aprendi Go

renan12:11:17

hahahahah @zignd galera vai bater em você falando de Go aqui hahahahha

imetallica12:11:43

Go é muito xexelento, eu não gostei… parece um C falsificado.

zignd12:11:16

cara, Go é legal, mas não foi feito para processar dados xD é bacana pra desenvolver ferramentas, sei lá, montar um Jenkins da vida, mas não pra desenvolver sistema que faz CRUD

renan12:11:43

@imetallica eu nunca curti muito nada da stack microsoft... mas eu vi o F# pareceu ser legal mesmo ... eu vi até comparações dele com clojure no CLR

imetallica12:11:11

Ah cara, eu fico decepcionado é com a comunidade do .NET

renan12:11:29

@zignd maneiro ! falei aquela brincadeira que o povo de FP não ve com bons olhos Go hahahahhaah

imetallica12:11:33

Os caras são muito fechados a qualquer coisa diferente do que a MS fala pra eles fazerem.

zignd12:11:42

eu sou um programador .NET de origem, então vou ficar aqui só observando os comentários xD

imetallica12:11:02

Sem contar o bando de derrame que tem na comunidade… o @zignd pode confirmar isso

imetallica12:11:26

Os cara acha que DDD é botar várias pastinha em projeto

zignd12:11:30

@renan eu já percebi esses olhares em alguns comentários na internet xD

imetallica12:11:24

E os catedráticos que ensinam, não vou citar nomes, ensinam a criar projeto padrão pastinha

renan12:11:44

@zignd eu não tenho nada contra haha, acho até interessante, que eu sempre vejo Go em domínios interessantes (docker, networking, microservices)

zignd12:11:47

@imetallica sim, nossa comunidade é um pé no saco, e o pior são os jobs que você encontra por aí, são todos jobs chatos em consultorias para trabalhar em escritórios com pessoas de colarinho branco

imetallica12:11:13

Uma vez eu peguei um projeto em .NET

imetallica12:11:18

Uma API, coisa simples

imetallica12:11:28

TInha 6 solutions, cheio de pastas cada uma

imetallica12:11:51

Repository, Service, API, BusinessRules, DO… Vai tomar no cu

zignd12:11:09

é para escalabilidade do projeto, se você não colocar essas várias pastas você não vai conseguir expandir o projeto /s

imetallica12:11:15

Tinha mais pasta que arquivo na porra do negócio

imetallica12:11:14

@zignd então mano, tá na hora de abandonar o barco, porque isso não pode ser normal…

zignd12:11:16

já estou fazendo isso xD mas quando comecei eu era um desses caras que evangelizava esses padrões xD

imetallica12:11:35

Eu gosto do F# porque, todo projeto em F# tem a mesma cara. Porque o F# não permite dependência circular, então você lê o código de cima pra baixo (ordem dos arquivos na solution e como o compilador compila o teu código inclusive).

imetallica12:11:26

@zignd padrões são importantes? Claro que são. Agora se você precisa infestar o seu projeto com 20395820358023958203958 padrões diferentes, pra resolver problemas estruturais da linguagem/paradigma, mano tem algo muito errado.

zignd12:11:28

hmm fale mais um pouco sobre isso, o Clojure também emite alguns erros quando encontra dependências circulares pelo o que eu vi, o Go também tem isso e o C# também

renan12:11:12

@zignd go tem gerenciamento de dependências ?

renan12:11:16

hahahhaha

zignd12:11:00

@renan woah! pesado isso aí! xD mas o compilador alerta quando encontra dependências entre pacotes

imetallica12:11:01

Então, sabe o .fsproj/`.csproj`, onde tem aquele xml muquirana pra você dizer quais pastas/arquivos compilar, o que jogar pro bin, etc… Ali tem a lista de aquivos que você quer compilar. O compilador do F# lê de cima pra baixo a lista. Então você já tem de organizar teu código de uma forma que não dê pra utilizar dependências circulares, sacou? Entre projetos pode ter (mas que porra você está fazendo?), mas entre arquivos da mesma solução, não.

renan12:11:52

hahahahha pelo que entendi é algo no projeto não as dependências que você importa de algum clojars/maven da vida, correto @imetallica?

renan12:11:13

@zignd to brincando haha, relaxa !

imetallica12:11:48

<Compile File="foo.fs"/>
<Compile File="bar.fs"/>
<Compile File="main.fs"/>
O compilador vai compilar nessa ordem: foo, bar, main. Então o foo não pode ter referência de nenhum outro arquivo, o bar só do foo e o main pode dos dois acima.

zignd12:11:52

oh, entendi como funciona agora

imetallica12:11:19

É por isso que você tem de ficar ordenando os arquivos no F# 😛

imetallica12:11:52

Então todo código em F# é, literalmente: Domínio -> Camada de Serviço -> Regras de Negócio.

zignd12:11:35

mas vocês não têm projetos dentro das solutions para separar isso?

imetallica12:11:56

@zignd pode pode ter, mas você não precisa ter, saca…

imetallica12:11:02

Porque o F# é muito enxuto.

imetallica12:11:51

E ele naturalmente te guia pro caminho “correto”.

zignd12:11:53

hmm, vocês são muito rebeldes, vocês precisam de pastinhas para poder ter um projeto maintainable /s

imetallica12:11:58

Ainda bem que ninguém morre toda vez que um programador de C# cria uma pastinha nova no projeto.

zignd12:11:55

tem um ponto positivo nas pastinhas, as vezes você tem tantas camadas no seu projeto que as pastinhas acabam sendo necessárias para que você consiga se encontrar e para não acabar com o scroll do mouse procurando o arquivo certo xD

rcustodio15:11:45

Tarde ✌️

zignd16:11:43

tarde compadre

renan16:11:52

:spock-hand::skin-tone-2:

renan23:11:53

Eu queria animar mais a comunidade , por isso postei aqui também o link ! Podíamos voltar com o canal do YouTube , falando de use cases, ou o que estamos aprendendo , não precisa ser um especialista, tu pode ter estudado uma semana a parada e comentar, isso já é legal