Quais são os conceitos mais importantes a serem entendidos para "fluência em inglês para desenvolvedores"? [fechadas]

10

Em abril, darei uma palestra chamada ** Inglês 2.0 - Entendendo a linguagem dos desenvolvedores "a um grupo de professores de inglês. O objetivo é em duas horas fornecer a eles um rápido conhecimento dos principais conceitos, para que possam entenda melhor os blogs e podcasts dos desenvolvedores e faça perguntas melhores ao conversar com os desenvolvedores.

Na sua opinião, quais são os conceitos mais importantes a serem entendidos, conceitos que os desenvolvedores dão como certo, mas o público em geral não está familiarizado? Aqui estão algumas idéias:

  • controle de versão
  • abstrações
  • pub / sub
  • push vs. pull
  • depuração
  • modularidade
  • arquitetura de três camadas
  • classe / objeto
  • "código de espaguete" vs. OOP
  • lançamento de exceção
  • multidão de abastecimento
  • reestruturação
  • a nuvem
  • SECA - não se repita
  • servidor cliente
  • teste de unidade
  • designer / desenvolvedor
Edward Tanguay
fonte
2
Gostaria de saber se é possível levá-los através de vários sites (projetos de código aberto, etc) e depois levá-los a escolher palavras / terminologia que eles não entendem?
Martijn Verburg
2
@Martijn: desta página seria perfeito para isso ;-)
SYG
9
Código de espaguete vs. OOP? Você pode ter um código OOP de espaguete e um código não OOP bem estruturado e legível.
Jon Hopkins
4
Por que os professores de inglês querem particularmente conversar com desenvolvedores de software, em oposição a, digamos, médicos ou físicos?
kevin Cline
2
Posso perguntar por que um professor de inglês precisa conhecer esses termos? A maioria dessas informações são de nível de implementação, onde, se o professor de inglês fosse uma parte interessada, eles se importariam mais com alguns termos muito diferentes.
Rig

Respostas:

7

Para definições desses termos, consulte o Dicionário de Rede

Isso fornecerá uma lista quase completa de todos os termos que você encontrará (isso abrange todas as frases que podem ser perdidas nesta página). Obviamente, você deve procurar por aqueles que são relevantes para você e seu público-alvo.

Como exemplo, considere algumas das entradas em D:

Daemon
Data Architect
Database Normalization

Tudo parece bastante útil. No entanto, existem milhões de entradas, portanto, convém aplicar algumas regras (se você já ouviu falar, então está dentro ou fora):

  1. Sem acrônimos (por exemplo, TCP / IP está ativo, OOD está desativado)
  2. Nenhum nome de aplicativo específico (por exemplo, o Microsoft Word está ativo, o Kazaa-Lite está ativo)
  3. Nenhum nome de idioma específico (por exemplo, Java está ativo, Haskell está desativado)

Espero que ajude

EDIT: Originalmente originário de: http://www.networkdictionary.com/software/dictionary.php, mas o site parece ter sido abandonado.

EDIT 2: Parece que o Internet Archive possui uma cópia: https://web.archive.org/web/20120507195610/http://www.networkdictionary.com/software/d.php Obrigado a @locster pelo link.

Gary Rowe
fonte
Daemon nice one! 1
3
O link parece não funcionar mais.
Jan Hudec
@JanHudec Editado para refletir que se foi. Vergonha - foi uma boa fonte de material.
Gary Rowe
5

Algumas palavras da matemática:

  1. Canônico. O representante distinto de um grupo de itens equivalentes.
  2. Cerquilha. Geralmente não é feito de repolho.
  3. Heurística. Uma solução imperfeita que pode ser boa, dadas as circunstâncias, e que não promete demais.
  4. Linear / exponencial. Como a taxa de memória ou processador é afetada pelo tamanho da entrada.

Algumas palavras que geralmente são mal interpretadas:

  1. Proxy. Algo que age em nome de outro.
  2. Servidor cliente. Como seu navegador vs um servidor web.
  3. Senhor de escravos. Nada a ver com escravidão humana ou S&M, normalmente.
  4. Daemon. Um processo que geralmente é executado sem interação humana. Nada diabólico.
  5. Bruxo. Um elemento da interface do usuário que guia um humano através de um procedimento.

Algumas palavras cujas conotações violentas geralmente não são intencionais:

  1. Matar. Quando aplicado a processos, não a gatinhos.
  2. Lixo. Um processo que não está sendo realizado devido à falta de memória para expansão.
  3. Bater. Uma linguagem de script.
  4. Batida. Eminentemente sobrevivível para qualquer coisa capaz de reiniciar.
  5. Bang. Outro nome para o símbolo '!'.
  6. etc.

E pode valer a pena incluir uma lista de epítetos, já que todo mundo quer saber quando está sendo falado: chefe de cabelos pontudos, etc.

Mike Samuel
fonte
2

Eu adicionaria aqueles:

  • ágil
  • BEIJO (mantenha-o simples estúpido)
  • reestruturação
  • interface de programação de aplicativos

fonte
Eles são lançados com frequência em blogs e programadores. Eu fui criado fora do KISS. (não vamos falar sobre a banda ...)
Berin Loritsch
1
  • YAGNI - Você não vai precisar disso
  • Scrum
  • BEIJO
  • Ajax
  • Encapsulamento
  • Herança
  • Serviço de internet
  • Componentes
Sorantis
fonte
1

Você pode discutir a precisão do idioma. Às vezes, brinco que o desenvolvimento de software necessariamente nos transforma em pedantes, não porque gostamos, mas porque quando você está programando, muitas vezes precisa ser preciso. Isso leva a uma grande quantidade de jargões, porque a linguagem específica do domínio permite que você seja rápido e preciso.

Rory Hunter
fonte
+1 isso é muito verdade. Testemunhe todas as perguntas aqui que perguntam se X é 'obrigatório' ou 'necessário', quando o solicitante realmente significa 'recomendado'. Se alguém não pode fazer perguntas com precisão, elas estão em desvantagem, porque nosso campo exige precisão.
GrandmasterB
1

Eu adoraria se você abordasse usos não padronizados de pontuação típicos de alguns programadores, como "Eu me recuso a colocar a vírgula em uma citação literal de cadeia de caracteres quando a fonte não usou vírgula", <----- disse Brian.

O uso de suportes []e bigodes (ou suspensórios, para as pessoas com menos quadril) {}pode receber tratamento similar.

3- Recursão pode ser divertida de salientar. Veja o ponto 3.

Para uma pausa divertida, pode ser agradável apontar algumas inspirações puramente culturais comuns a grande parte da comunidade de desenvolvedores, desde raptores (obrigado, XKCD) a Monty Python, até um ponteiro de volta para alguns dos primeiros motivos comuns que fundou a comunidade moderna: IRC, quadros de avisos / fóruns e Usenet.

BrianH
fonte
0

SDLC seria minha sugestão para outro tópico para cobrir.

Alguns outros termos que podem valer a pena abranger:

  • Inscrição
  • Sistema
  • Programa
  • Exigências

Se você ficar fora do pessoal técnico, alguns desses termos podem assumir outros significados. Candidatar-se a um emprego pode significar aceitar uma inscrição, para que algumas pessoas não pensem em software em termos de inscrição. Da mesma forma, existem atividades recreativas e iniciativas governamentais que algumas pessoas podem ver como programas. Portanto, pode haver uma diferença entre os gerentes de programas da Microsoft e os gerentes de programas da YMCA, apenas para dar um exemplo específico aqui.

Eu ficaria tentado a ver se você poderia solicitar idéias aos participantes com antecedência e fazer com que parte da conversa fosse um pouco mais interativa. Esta é apenas uma ideia para a palestra em si que não sei se você já considerou isso ou não.

JB King
fonte
0

Eu incluiria um cartão de referência / folha de dicas para que todos possam levar para casa. Lembrar todas essas coisas será difícil se muitas delas forem novas.

Sobre o assunto, eu definitivamente adicionaria "padrões de design" como um conceito geral.

Syg
fonte