it-swarm-es.com

¿Qué sub-culturas de programación / software existen? ¿Qué los define? ¿A que perteneces?

Para el mundo exterior, los programadores, los científicos informáticos, los ingenieros de software y los desarrolladores pueden parecer iguales, pero eso está lejos del caso de las personas que crean software para ganarse la vida. Cualquier capacidad y conocimiento del programador individual pueden variar muy ampliamente, así como sus herramientas (sistema operativo, idioma y sí, editor preferido), y esa diversidad engendra muchas sub-culturas en programadores similares a software que usan activamente el desbordamiento de la pila y este sitio, versus muchos más que no.

Tengo curiosidad por saber de los demás. Qué sub-culturas de software que han encontrado, pertenecieron, admiradas, no les gustan o incluso crearon. Para empezar, he encontrado:

  • Empresas y desarrolladores impulsados ​​por Microsoft: Su pila completa es de Redmond, WA. El correo electrónico es Outlook es el correo electrónico. La web es IE e IIS. Tienen grandes aglutinantes de su suscripción de red de desarrolladores de MS llena de múltiples versiones de VB, .NET, Visual Studio, etc. Evita trabajar con una línea de cáscara/comando . No vea qué se trata el alborigo con código abierto y tal. Las compañías de MS-centric tienden a ser 9-5 y bastante corporativas (impulsadas por gerentes de negocios, no personas de software). Hoy en día (dada la amplia disponibilidad de no -MS Herramientas), esta es la antítesis de la cultura hacker.
  • People de CS de la vieja escuela: a menudo conocen a Lisp y Unix extremadamente bien; A veces, pueden haber escrito un Semi-Popular Lisp, o una utilidad del sistema. Pocas cosas, si las cosas "de ingeniería de software" son nuevas para ellos, ni están impresionadas por tales. Conozca las referencias, la historia y las implicaciones de nivel superior de lenguajes de programación como Lisp, C, PROLOG y SMALLTALK. Puede ser amargo acerca de los resultados de AI de los años 80 y 90. Tienden a ser usuarios de Emacs. Puede escribir comandos de shell de línea múltiple sin parpadear. Su consejo puede por críptico, pero contiene oro una vez comprendido.
  • desarrolladores web de nueva escuela: jugado con computadoras y videojuegos que crecen, pero a menudo solo comenzó a programar en los últimos 90 años o temprano ". Cómodo con 1 a 1.5 Lenguajes de scripts/dinámicos; Creo que C y los idiomas fuera de Ruby/Perl/Python son innecesarios/mágicos. Puede haber considerado HTML como programación inicialmente. Tienden a conseguir una Mac y ser fanáticos/irracionales al respecto. Usa los marcos más que construirlos. A menudo, demasiado entusiasta del NOSQL y/OR Ruby en los rieles.
  • Nueva escuela CS: Mucha capacitación en estadísticas, modelos bayesianos e inferencia; No digas "AI", dice "Aprendizaje de la máquina". Más Java que Lisp, pero también podría ser expertos programadores de Haskell. Al ver los principales éxitos del mundo real por expertos en su campo (Google, Finanzas/Quants) a menudo los hace (más) de confianza. Pero grande Los datos, y el procesamiento distribuido de tales, realmente están cambiando el mundo.

Los ejemplos anteriores no son de ninguna manera completos, correctos, ortogonales u objetivos. :) Justo lo que he visto personalmente, y proporcionado a spark alguna discusión y esquema de la pregunta más amplia. ¡Siéntase libre de estar en desacuerdo!

13
limist

Me consideraría parte de los sistemas en tiempo real grupo. Hay algunas características de 'vieja escuela', pero con menos enfoque en CS, más en hardware.

El arquetipo:

  • Tiene conocimiento experto de 'C'
    • Tiene una copia original de K & R
    • Escribe en otros idiomas como si fueran solo una sintaxis alternativa para 'C'
  • Puede predecir la salida del ensamblaje de su código.
  • Puede leer un diagrama de circuito
  • No sabe cómo escribir código sin hacer "optimización prematura".
  • Es bastante cómodo con la línea de comandos.
12
AShelly

No olvides los programadores de mainframe. Ellos también son una subracultura.

6
Toon Krijthe

Represento al contingente solitario de Delphi Devs menores de 30 años. Nuestro caucus es pequeño, pero nuestros corazones son grandes.

5
Peter Turner

Estoy un poco en el campamento alt.net/old-school CS. Trabajo con Microsoft Tech (C #, etc.), pero tengo consciente de que hay un mundo entero que me rodea, otros idiomas, algoritmos, marcos, "cosas debajo del capó", etc. No es perfecto, obviamente, pero es un trabajo en curso.

2
Adam Lear

No estoy totalmente de acuerdo con esta afirmación sobre la Subcultura de la EM: "¡No vea qué se trata el alboroto con código abierto y tal. Además, ¿quién necesita conocer otro idioma? En general, he encontrado que esos lugares para ser 9-5 y bastante corporativos (impulsados ​​por gerentes de negocios, no personas de software). La anti-tesis de la cultura hacker ". Ahora he trabajado en las dos tiendas .Net por ahora y el entorno fue en realidad muy hacker. Hemos empleado muchos proyectos de código abierto en nuestro trabajo. En mi opción, todo depende del tipo de personas con las que se trabaja. Si son verdaderos desarrolladores, buscarán constantemente formas de mejorar, sucederán. Qué tecnologías que usan son irrelevantes.

No se olvide de la subcultura de metodología ágil que incorpora a los desarrolladores de diferentes orígenes.

2
ysolik

Creo que habría un término medio entre Old School CS y nuevos desarrolladores de la escuela escolar.

Tradicionalmente me consideraría un "desarrollador web". PHP y Java y ciudadanos de primera clase para mí, junto con adecuados, sintémicos, válidos HTML/CSS. Lanza en SQL y tiene un conjunto de habilidades robusto y bien redondeado.

Mover Nueva escuela a Script Kiddies y rebrand the desarrollador web.

Script Kiddies - Personas con poco, en su caso, "bajo la capucha" conocimiento sobre el idioma. Tiende a Google para tutoriales antes de copiar/pegar ciegamente el código en su lugar. Por lo general, no entiende completamente la sintaxis de más de un idioma.

2
Josh K

académicos que hacen investigación usando computadoras, no investigan sobre computadoras.

Ellos:
- están escribiendo software que puede consumir cantidades ilimitadas de tiempo, memoria y espacio de disco de CPU para que se preocupen (o al menos intentan cuidar) de rendimiento tampoco usando cosas como -O3, time, Profilers, Memcheck y pasan horas más o menos aleatoriamente cambiando el código para recopilar algo de velocidad o aplicando sin sentido Trucos míticos a sus guiones.
- Use números reales y sepa que es lo suficientemente complicado, por lo que puede existir una ciencia separada llamada "numérica".
- A menudo use algunos lenguajes/bibliotecas/programas de programación muy específicos y son muy fanáticos al respecto; Las guerras de llamas son comunes, principalmente sobre el rendimiento.
- Llame a sus programas "Códigos" para resaltar que tienen una interfaz de usuario tan ofuscada para que solo sus creadores sepan cómo usarlo.
- Generalmente trabaja en Linux o al menos usa la masilla a SSH a una estación de trabajo/clúster de Linux.

2
mbq

Probablemente soy una combinación de personas de CS de la vieja escuela y desarrolladores web de nueva escuela: Aprendí la programación escribiendo sitios web con PHP, JavaScript y SQL, y ahora estoy asistiendo Universidad donde todo se realiza en indicaciones de comando y emacs bajo UNIX.

1
gablin

Cuéntame como el tipo 'vieja escuela'. Sin embargo, nunca lo hice bien. Emacs? Nah, vi y set -o vi En mi shell para mí, gracias.

0
Jé Queue