Eve: Linguagem de programação voltada a humanos!

Notícias, idéias, tutoriais, dicas, etc...
Avatar do usuário
Xevious
Administrador
Administrador
Mensagens: 9401
Registrado em: 28 Abr 2009, 01:12
Fale sobre voce: Sou feito de atomos
Gender:
Brazil

Eve: Linguagem de programação voltada a humanos!

Mensagempor Xevious » 05 Dez 2016, 17:05

Eve é uma linguagem de programação e IDE baseado em anos de pesquisa sobre a construção de um ser primeira plataforma "humana" de programação. A partir do código embutido em documentos para uma língua sem fim, apresenta uma tomada alternativa sobre o que a programação pode ser - um que incide sobre nós em vez de a máquina

Imagem

Eve é sobre seres humanos e não os computadores
Temos feito grandes avanços desde os primeiros dias de programação, mas a forma moderna ainda nos força para o papel de máquinas bit mudando. A programação tem sido sempre para nós - os seres humanos tocando em teclados. O computador não importa o que a sintaxe ou semântica usamos ou como mensagens de erro são formuladas. Esses são para você e para mim. E é assim que tratamos a nós mesmos ...

Imagem

Concentrando-se na máquina e ignorando os fatores humanos da engenharia de software, levaram-nos por um caminho difícil. A partir de mensagens de erro inescrutáveis a semântica que requerem anos de estudo para entender, nós desembarcaram em uma versão de programação que está ativamente antagônica em direção ao nosso objetivo de criar software utilizável e robusto. Para piorar a situação, estamos programando como se nós ainda tinha computador a década de 1970 que as nossas ferramentas foram desenvolvidas para. Sem surpresa, estamos lutando. Um monte .
Não há nenhuma razão que temos de ficar em cima de uma fundação afundamento embora. E se voltamos aos primeiros princípios e colocar seres humanos em primeiro lugar? O que isso parece?

Um tipo diferente de programação
Ao longo dos últimos anos, temos vindo a explorar o que um futuro alternativo poderia ser semelhante e ter destilada que a investigação sobre uma plataforma que chamamos de Eva. Para obter um sabor, vamos dar uma olhada em um dia na vida de alguém programação em Eve:

http://www.youtube.com/watch?v=TWAMr72VaaU

Prosa e, em seguida, codifique.
A primeira diferença que você vai notar é que os programas procurar documentos de texto mais do que como arquivos de código. Eve é projetado para "programação letrada" - em vez de comentários embutidos em código, código é incorporado em um documento.
Isso nos dá a liberdade para organizar nossos programas baseados em como realmente pensamos, e não como o código será compilado. Podemos agrupar blocos com base na funcionalidade, similaridade, proprietário, ou qualquer outra coisa que podemos pensar.
Mais importante, porém, que nos dá a capacidade de tecer uma narrativa de não apenas o que o programa faz, mas por que ele faz isso. Você pode escrever uma especificação e, em seguida, incorporar os blocos de código que o fazem funcionar. Alguém novo para o projeto pode olhar para a tabela de conteúdo para ter uma noção do que está acontecendo e, em seguida, escavar em uma seção de acrescentar algo. Em vez de constantemente tentando remendar a narrativa volta juntos cada vez que corrigir um bug, podemos torná-lo um artefato de programação em primeiro lugar.

Imagem

O ambiente que queremos, neste contexto, é mais sobre a criação narrativa que as hierarquias de classe. Queremos uma leitura * * e * * ambiente de escrita que nos permite estabelecer significativamente e explorar o nosso programa. O primeiro passo para isso é ter uma tabela de conteúdo que fornece um esboço e uma forma conveniente de navegação.
Mas só porque nós temos uma representação linear do programa, isso não significa que não podemos vê-lo de outras maneiras com a mesma facilidade. Em vez de uma série de guias e recursos de navegação complexas, temos um documento que se organiza em qualquer forma que precisamos. E, tanto quanto possível, tudo é colocado no contexto para que a narrativa é mantida frente e no centro.

Imagem

Um modelo simples: o mundo como dados
Eve é baseado em um único princípio unificador: tudo é um registro - um conjunto de pares de atributo / valor associado a um ID. Com esta uniformidade, Eve só precisa de um punhado de operações que consultar e manipular registros. Quer enviar um e-mail? Você criar um registro de e-mail. Quero olhar para as mensagens enviadas de folga? Você consulta para registros de mensagens no banco de dados folga. Quer fazer um app TODO? Consulta para todos e criar div registros no banco de dados do browser.

Imagem

Imagem
Blocos são reativas na véspera; eles declarativamente especificar "quando vejo esses padrões, fazer essas coisas." Você não precisa especificar como eles atualizar, ou como eles são armazenados em cache, ou como eles estão armazenados, ou ... Se você adicionar novos todos, novos divs aparecerá automaticamente.
Apenas nove operações vamos escrever tudo a partir de um clone de aves flappy para analisador de código de Eva.

absoluta transparência e visualização sem esforço
Porque literalmente tudo é um registro, nós temos uma visão totalmente transparente em nosso sistema. Vamos dizer que queria saber quantas solicitações http estavam abertos no momento. Em um aplicativo Javascript teríamos nenhuma maneira de saber a menos que capturou explicitamente essa informação. Na véspera, nós apenas pedimos:

Como cerca de memória? Como qualquer outra coisa na véspera, procuramos o que queremos e, em seguida, usar o poder da linguagem para reagir a ela. Vamos enviar-nos uma mensagem de folga, se a memória livre nesta máquina vai abaixo de 200mb.
mensagem de folga memória
Mas podemos fazer ainda melhor. Vamos visualizar a memória livre ao longo do tempo:

Imagem

Imagem

Mas podemos fazer ainda melhor. Vamos visualizar a memória livre ao longo do tempo:

Imagem

Pense sobre o que isto significa para nossa capacidade de entender programas - podemos trivialmente visualizar e reagir a qualquer coisa no nosso sistema. Quer ver uma visualização em tempo real dos usuários se inscrever? Escrever um único bloco de fazê-lo:

Imagem

o inspector
A visualização é apenas uma parte da história, porém, às vezes precisamos apenas cavar e investigar o que está acontecendo. Quando algo não está funcionando, você pressiona o botão inspecionar e Eve vai ajudá-lo a descobrir o porquê.

https://www.youtube.com/watch?v=JJk9PTzz_8M

O inspetor é um exemplo de algo que simplesmente não pode ser feito em linguagens tradicionais. Ele exige saber onde as coisas vieram e como o seu programa se encaixa. A grande maioria da nossa depuração esforço é gasto apenas tentando descobrir onde o erro ainda é, mas Eve pode nos levar direto a ele. Melhor ainda, ele nos aponta para por que ele vai para o lado em primeiro lugar. Isto é como dar um mecânico do carro um dispositivo que mantém-se uma seta vermelha gigante dizendo "O fio do alternador está solto aqui!"
[youtube]
https://www.youtube.com/watch?v=oPyQf0rk8V4[/youtube]

Tendo em conta que passamos a maior parte do nosso tempo caçando e corrigir erros, a implicação de ter este botão é clara: temos muito mais tempo livre.

Into the deep
Como nós desenvolvemos Eve, nós aprendemos que essas escolhas aparentemente simples tem notavelmente amplas consequências sobre o que significa programar. Vejamos alguns deles.

blocos pequenos que cabem em uma história mais ampla
Código não é um ativo, é uma responsabilidade. Cada linha adiciona à área de superfície de potenciais erros e para a pilha de coisas que têm de ser compreendidos e mantidos. Enquanto não estamos ofuscar a intenção, o nosso objectivo deve ser ter menos código. programas de véspera tendem a ser muito pequeno, mas ainda mais importante, blocos individuais permanecem curto e único propósito. Devido ao foco de programação letrada, os blocos também se encaixam em uma narrativa que ajuda a fornecer contexto. Código é apresentado em pedaços pequenos, de fácil digestão, com explicações embutidos e um lugar no quadro maior. O impacto que isso tem sobre a manutenção, navegação e colaboração não pode ser exagerada.

Programação por composição
A interface comum de registros significa que bloqueia Eve compor por padrão e porque não há nenhuma ordenação inerente aos blocos, estamos livres para organizar-los no entanto que queremos. Em vez de constantemente re-arquitetar para lidar com as mudanças, ou a construção de infra-estrutura complexa de lidar com a evolução, programas Eve crescer organicamente. Recursos, correções, até mesmo visualizações podem ser adicionados sem alterar o código existente ea falta de ordem nos permite colocá-los onde quer que faz mais sentido.
O poder de correção mundial
Em vez de espalhar verificações nulos e afirma todo o nosso código, invariantes podem ser aplicadas globalmente através da produção de registros de erro. Fazer isso através de blocos normais Eve nos dá todo o poder da linguagem para expressar invariantes arbitrariamente complexas.

Imagem

O fato de que as restrições podem ser expressas a nível mundial através da composição bloco tem um par de implicações interessantes. A primeira é que a correção é como você vai pagar. Não temos de colocar para fora um monte de tipos ou esquemas antes mesmo de saber realmente o que estamos tentando construir. Podemos trabalhar em nosso programa e camada sobre invariantes como parece apropriado.
A segunda é que essas restrições de integridade nunca permitirá que nossos registros para entrar em um estado ruim. Como tal, é seguro para nós pensar apenas sobre o bloco em que estamos trabalhando. Não há necessidade de verificar invariantes cada linha ou se preocupar com a adição de código que dá a todos dez salários. Temos raciocínio local com a execução global.
A melhor parte, porém, é que, assim como tudo o mais, os erros são registros. manipulação de erro é apenas um outro bloco.

"Zoom e melhorar"
"Zoom e melhorar" é um tropo comum na ficção científica, mas o que nos impede de realmente tê-lo? No caso das imagens, nós realmente estão faltando os dados, mas com software há uma incrível quantidade de informações que simplesmente jogar fora. E se nós não o fez?
A coisa mais próxima que temos a este agora é o inspector web em navegadores, mas ainda está faltando um monte de informações. Eve capta tudo o que puder, o que nos permite ligar os pontos de maneiras muito úteis.

Imagem

Nós nunca estamos presos
Nossos sistemas deve ser medido pela nossa capacidade de compreendê-los quando eles estão caindo aos pedaços. Por que não podemos perguntar "Computer, por que isso é mau funcionamento?" como fazem em Star Trek?
O inspetor é como ter outro programador bem próximo de nós 24/7. Quando estamos presos, nós apertar um botão e Eva nos coloca no caminho para encontrar e corrigir tudo o que está errado - "Computer, por que isso é lenta?"
Um dos únicos grandes mudanças que podemos fazer para a programação está a dar-nos a capacidade de fazer perguntas. Não apenas porque isso não funciona, ou porque este é lento, mas o que é o número médio de vezes que um usuário clica neste botão ou quantas pessoas nós pagamos esta semana? todo o modelo de Eva é baseado em torno permitindo-nos fazer qualquer pergunta que venha com. Ele nos liberta da "undefined undefined" e vamos nos pares profundamente dentro de nossos sistemas.

Imagem

Simplicidade
Soluções simples, infelizmente, são muito mais difíceis de encontrar do que as complexas. Ele exige ser deliberada e questionar muitas das coisas que temos como verdades inerentes. No final, a concepção de Eva deriva de um foco completo na simplicidade. Em vez de Eclipse, vamos fazer o nosso trabalho em algo mais parecido com caneta e papel. Em vez de semântica complexa, vamos ter tudo ser um recorde. Em vez de milhares de opções de depurador, vamos ter uma ferramenta mágica onde você clicar na coisa que está acontecendo de errado. Eva é sobre fazer as coisas mais simples para as pessoas resolvendo problemas: nós.

Apenas um gosto
Há muito mais para cavar, de como pensamos Eve pode mudar a curva do sino da programação de como podemos tornar esta linguagem louco rápido. Esta é, no entanto, apenas o primeiro de três marcos no nosso roteiro:

Eva: programação projetada para os seres humanos (0.2.0 implementação)
O primeiro passo foi a construção de uma forma simples, humano-centric da programação. O que nós mostramos aqui não é apenas uma demo, é um real, embora cedo, pedaço de software. Você pode jogar com ele aqui .

Eve: O computador escala mundial (projetos, protótipos)
O próximo passo é mostrar como Eve nos permite livrar-se da noção de um computador da década de 1970 e abraçar um mundo distribuído. Ao longo do caminho, talvez pudéssemos obter algo como a lei de Moore para trás sem forçar as pessoas a compreender Paxos.

Eva: Computação para todos (pesquisa, protótipos)
O passo final é mostrar como tudo isso estabelece as bases para uma versão mais poderosa de computação do usuário final. Embora nem todo mundo quer escrever * software *, todos nós temos algo para ser feito e as chances são de que o computador pode ajudar-nos a fazê-lo.

Através de todas as nossas pesquisas, nós começamos a juntar um futuro de computação para aspirar - a partir de ferramentas humanas e um conceito diferente da máquina, para dar a todos no planeta uma superpotência. Há muito mais a fazer, e independentemente de haver ou não você acredita Eve é, cabe a todos nós para tornar esse futuro uma realidade. Caso não o faça não só segurar a nossa indústria de volta. Ele arrasta para baixo todos os esforços humanos à espera de ser impulsionado por melhores formas de computação. O computador é, sem dúvida, a ferramenta mais poderosa já desenvolvida. É hora para que nós realmente empunhá-la.

fonte: http://programming.witheve.com
Conheça o site Tele-Tudo, que contem prestadores de serviços para todo tipo de serviço


Avatar do usuário
Lancelot
Membro
Membro
Mensagens: 2591
Registrado em: 04 Mai 2009, 17:37
Fale sobre voce: Galáxia xtrs23vf99
Contato:
Portugal

Re: Eve: Linguagem de programação voltada a humanos!

Mensagempor Lancelot » 06 Dez 2016, 07:20

É muita areia para a minha camioneta.
"O mal de muita gente não é a falta de ideias, mas um excesso de confiança nas poucas que tem"

Imagem

global93
Membro
Membro
Mensagens: 1
Registrado em: 10 Dez 2016, 12:26
Fale sobre voce: khong co

Mensagempor global93 » 11 Dez 2016, 06:25

like
TodayJav world adult in Car and computer Free.


  • Tópicos Semelhantes
    Respostas
    Exibições
    Última mensagem

Voltar para “Programação”

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante