¿Cuáles son los conceptos más importantes para entender la "fluidez en el inglés para desarrolladores"? [cerrado]

10

En abril, voy a dar una charla llamada ** Inglés 2.0 - Comprender el idioma de los desarrolladores "a un grupo de profesores de inglés. El propósito es en dos horas darles una breve experiencia en conceptos clave para que puedan Comprenda mejor los blogs y podcasts de desarrolladores y pueda hacer mejores preguntas cuando hable con los desarrolladores.

¿Cuáles crees que son los conceptos más importantes para entender, conceptos que los desarrolladores dan por sentado pero que el público en general no conoce? Aqui hay algunas ideas:

  • control de versiones
  • abstracciones
  • pub / sub
  • empujar contra tirar
  • depuración
  • modularidad
  • arquitectura de tres niveles
  • clase / objeto
  • "código de espagueti" vs. OOP
  • lanzamiento de excepción
  • abastecimiento de multitudes
  • refactorización
  • la nube
  • SECO - no te repitas
  • Servidor de cliente
  • examen de la unidad
  • diseñador / desarrollador
Edward Tanguay
fuente
2
Me pregunto si es posible llevarlos a través de varios sitios web (proyectos de código abierto, etc.) y luego hacer que elijan palabras / terminología que no entienden.
Martijn Verburg
2
@Martijn: esta página sería perfecta para eso ;-)
Syg
99
¿Código de espagueti vs.OOP? Puede tener código Spaghetti OOP y un código no OOP bien estructurado y legible.
Jon Hopkins
44
¿Por qué los profesores de inglés en particular quieren hablar con los desarrolladores de software en lugar de, por ejemplo, médicos o físicos?
Kevin Cline
2
¿Puedo preguntar por qué un profesor de inglés tiene la necesidad de conocer estos términos? La mayoría de estos son información de nivel de implementación en la que si el profesor de inglés fuera una parte interesada, se preocuparía más por algunos términos muy diferentes.
Plataforma

Respuestas:

7

Para las definiciones de estos términos, consulte el Diccionario de red

Esto le dará una lista casi completa de todos los términos que encontrará (esto cubre cualquier frase que pueda perderse en esta página). Obviamente, querrá rastrearlos buscando aquellos que sean relevantes para usted y su público objetivo.

Como ejemplo, considere algunas de las entradas en D:

Daemon
Data Architect
Database Normalization

Todos parecen bastante útiles. Sin embargo, hay millones de entradas, por lo que es posible que desee aplicar algunas reglas (si ha oído hablar de él, entonces está dentro, de lo contrario está fuera):

  1. No hay siglas (por ejemplo, TCP / IP está dentro, OOD está fuera)
  2. No hay nombres de aplicaciones específicos (por ejemplo, Microsoft Word está dentro, Kazaa-Lite está fuera)
  3. No hay nombres de idiomas específicos (por ejemplo, Java está dentro, Haskell está fuera)

Espero eso ayude

EDITAR: Originario de: http://www.networkdictionary.com/software/dictionary.php pero el sitio parece haber sido abandonado.

EDIT 2: Parece que el archivo de Internet tiene una copia: https://web.archive.org/web/20120507195610/http://www.networkdictionary.com/software/d.php Gracias a @locster por el enlace.

Gary Rowe
fuente
Daemon agradable! +1
3
El enlace ya no parece funcionar.
Jan Hudec
@ JanHudec Editado para reflejar que se ha ido. Vergüenza, fue una buena fuente de material.
Gary Rowe
5

Algunas palabras de las matemáticas:

  1. Canónico. El distinguido representante de un grupo de elementos equivalentes.
  2. Picadillo. No suele estar hecho de col.
  3. Heurístico. Una solución imperfecta que puede estar bien dadas las circunstancias, y que no promete demasiado.
  4. Lineal / exponencial. Cómo la tasa de memoria o procesador se ve afectada por el tamaño de la entrada.

Algunas palabras que a menudo se malinterpretan:

  1. Apoderado. Algo que actúa en nombre de otro.
  2. Servidor de cliente. Al igual que su navegador frente a un servidor web.
  3. Maestro-esclavo. Nada que ver con la esclavitud humana o S&M, por lo general.
  4. Demonio. Un proceso que generalmente se ejecuta sin interacción humana. Nada diabólico.
  5. Mago. Un elemento de interfaz de usuario que guía a un humano a través de un procedimiento.

Algunas palabras cuyas connotaciones violentas suelen ser involuntarias:

  1. Matar. Cuando se aplica a procesos, no a gatitos.
  2. Movimiento de piernas. Un proceso que no está logrando nada debido a la falta de memoria para expandirse.
  3. Golpetazo. Un lenguaje de script.
  4. Choque. Eminentemente sobrevivible para cualquier cosa capaz de reiniciar.
  5. Explosión. Otro nombre para el símbolo '!'.
  6. etc.

Y puede valer la pena incluir una lista de epítetos, ya que todos quieren saber cuándo se habla de ellos: jefe de pelo puntiagudo, etc.

Mike Samuel
fuente
2

Yo agregaría esos:

  • ágil
  • BESO (Mantenlo simple estúpido)
  • refactorización
  • Interfaz de programación de aplicaciones

fuente
Se lanzan con bastante frecuencia en blogs y programadores. Me criaron de KISS. (no hablaremos de la banda ...)
Berin Loritsch
1
  • YAGNI - No lo vas a necesitar
  • Melé
  • BESO
  • Ajax
  • Encapsulación
  • Herencia
  • Servicio web
  • Componentes
Sorantis
fuente
1

Es posible que desee discutir la precisión del lenguaje. A veces bromeo diciendo que el desarrollo de software necesariamente nos convierte en pedantes, no porque lo disfrutemos, sino porque cuando estás programando a menudo necesitas ser preciso. Esto lleva a una gran cantidad de jerga, porque el lenguaje específico del dominio le permite ser rápido y preciso.

Rory Hunter
fuente
+1 esto es muy cierto. Sea testigo de todas las preguntas aquí que preguntan si X es 'requerido' o 'necesario', cuando el autor de la pregunta realmente significa 'recomendado'. Si no se pueden hacer preguntas con precisión, están en desventaja porque nuestro campo requiere precisión.
GrandmasterB
1

Me encantaría si abordara los usos no estándar de la puntuación típica de algunos programadores, como "Me niego a poner la coma en una cita literal de cadena cuando la fuente no utilizó una coma", <----- dijo Brian.

El uso de brackets []y bigotes (o brackets, para la gente con menos cadera) {}podría recibir un tratamiento similar.

3- La recursión puede ser divertida de señalar. Ver punto 3.

Para un descanso divertido, podría ser agradable señalar algunas inspiraciones puramente culturales que son comunes a gran parte de la comunidad de desarrolladores, desde rapaces (gracias, XKCD), a Monty Python, hasta un puntero a algunos de los primeros puntos en común que fundó la comunidad moderna: IRC, tableros de anuncios / foros y Usenet.

BrianH
fuente
0

SDLC sería mi sugerencia para otro tema que cubrir.

Algunos otros términos que pueden valer la pena abarcar:

  • Solicitud
  • Sistema
  • Programa
  • Requisitos

Si se sale de la gente técnica, algunos de estos términos pueden tener otros significados. Solicitar un trabajo puede significar tomar una solicitud, por lo que algunas personas pueden no pensar en el software en términos de aplicaciones. Del mismo modo, hay actividades recreativas e iniciativas gubernamentales que algunas personas pueden ver como programas. Por lo tanto, puede haber una diferencia entre los administradores de programas en Microsoft y los administradores de programas en YMCA, solo para dar un ejemplo específico aquí.

Me sentiría tentado a ver si puede solicitar ideas a los participantes con anticipación y hacer que parte de la charla sea un poco más interactiva. Esta es solo una idea para la charla misma que no sé si ya lo consideró o no.

JB King
fuente
0

Incluiría una tarjeta de referencia / hoja de trucos para que todos se lleven a casa. Recordar todas esas cosas será difícil si muchas de ellas son nuevas.

Sobre el tema, definitivamente agregaría "patrones de diseño" como concepto general.

Syg
fuente