¿Qué subcultivos de programación / software existen? ¿Qué los define? ¿A cuál perteneces? [cerrado]

13

Para el mundo exterior, los programadores, los científicos informáticos, los ingenieros de software y los desarrolladores pueden parecer todos iguales, pero eso no es el caso para las personas que crean software para ganarse la vida. La capacidad y el conocimiento de cualquier programador individual pueden variar ampliamente, al igual que sus herramientas (sistema operativo, lenguaje y sí, editor preferido), y esa diversidad genera muchas subculturas en el software, como los programadores que usan el Desbordamiento de Pila en este sitio. versus muchos más que no lo hacen.

Tengo curiosidad por saber de otras personas las subculturas de software con las que se han encontrado, que han pertenecido, admirado, rechazado o incluso creado. Para empezar, me he encontrado con:

  • 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 y IIS. Tienen grandes carpetas de su suscripción a la Red de Desarrolladores de MS llenas de varias versiones de VB, .net, Visual Studio, etc. Evita trabajar con un shell / línea de comandos. No veo de qué se trata el alboroto con el código abierto y todo eso. Las compañías centradas en MS tienden a ser 9-5 y bastante corporativas (impulsadas por gerentes de negocios, no por personas de software). Hoy en día (dada la amplia disponibilidad de herramientas que no son MS), esta es la antítesis de la cultura hacker.
  • Personas de la CS de la vieja escuela : a menudo conocen a Lisp y Unix extremadamente bien; a veces, pueden haber escrito un Lisp semi popular o una utilidad del sistema. Pocas, si las hay, "ingeniería de software" son nuevas para ellos, ni están impresionadas por eso. Conozca las referencias, la historia y las implicaciones de alto nivel de los lenguajes de programación como Lisp, C, Prolog y Smalltalk. Puede ser amargo sobre los resultados de AI de los años 80 y 90. Tienden a ser usuarios de Emacs. Puede escribir comandos de shell de varias líneas sin parpadear. Su consejo puede ser críptico, pero contiene oro una vez entendido.
  • Desarrolladores web de escuelas nuevas : jugaba con computadoras y videojuegos mientras crecía, pero a menudo solo empezaba a programar a finales de los 90 o principios de los 00. Cómodo con 1 a 1.5 scripting / lenguajes dinámicos; piense que C y los idiomas fuera de Ruby / Perl / Python son innecesarios / mágicos. Puede haber considerado HTML como programación inicialmente. Tiende a obtener una Mac y ser fanático / irracional al respecto. Usa marcos más que construirlos. A menudo, demasiado entusiastas con NoSQL y / o Ruby On Rails.
  • New-school CS : mucha capacitación en estadísticas, modelos bayesianos e inferencia; no diga "IA", diga "aprendizaje automático". Más Java que Lisp, pero también podrían ser expertos programadores de Haskell. Ver grandes éxitos en el mundo real por parte de expertos en su campo (Google, finanzas / quants) a menudo los hace (demasiado) confiados. Pero el big data y su procesamiento distribuido realmente están cambiando el mundo.

Los ejemplos anteriores no son de ninguna manera completos, correctos, ortogonales ni objetivos. :) Justo lo que he visto personalmente, y proporcionado para provocar un debate y un resumen de la pregunta más amplia. ¡Siéntete libre de estar en desacuerdo!

    
pregunta limist 21.09.2010 - 19:04

10 respuestas

12

Me consideraría parte del grupo Sistemas de tiempo real . Hay algunas características de la "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 ensamblador desde su código.
  • Puede leer un diagrama de circuito
  • No sabe cómo escribir código sin hacer una 'optimización prematura'.
  • Es bastante cómodo con la línea de comandos.
respondido por el AShelly 21.09.2010 - 21:30
6

No te olvides de los programadores de mainframe. También son una subcultura.

    
respondido por el Toon Krijthe 21.09.2010 - 22:36
5

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

    
respondido por el Peter Turner 21.09.2010 - 21:24
4

Supongo que existen varias culturas que de alguna manera conviven en lugar de luchar y de alguna manera son trascendentes:

  • Cultura hacker / de código abierto : comparte código, usa nombre real o no. Concentrado probablemente en pequeñas herramientas que resuelven un problema. Permite hacks en el programa. Idiomas: C , Lisp , C ++ , Python . Probablemente se superponga con el suyo personas de la CS de la vieja escuela .
  • Academia : concentración en algoritmos y haciendo las cosas de la manera correcta. El nombre real es must (aparece en papel de todos modos). Idiomas: Java , Haskell , ( F # ?)
  • Corportate : concentración en soluciones (probablemente de todo). Si el código abierto no es necesario que dar el nombre . Idiomas: Java , C # , VB.net , Ruby .
  • " Escuela secundaria ": funciona si funciona pero no tiene que hacerlo. Concentración en nombres como "SuperProgram 1.0 para Windows XP". (Lo siento, no he encontrado un buen nombre, pero me refiero a los programadores que comenzaron a dominar CS y no son buenos en eso, al menos todavía). Idiomas: PHP , VB , Ruby
  • Desarrolladores web de escuelas nuevas : como se ha indicado anteriormente.

Tenga en cuenta que:

  • es posible mezclar las culturas en organizaciones y en una sola persona. De hecho, a menudo lo hace.
  • Los idiomas son EJEMPLOS y es, por ejemplo, un grupo bastante grande de "hackers" que trabajan en C #. Es más un juego de asociaciones el estudio real, así que, por favor, no se ofenda (sí, sé que hay excelentes programas escritos en PHP con buena práctica de ingeniería, etc. pero tiende a ser el primer idioma para muchas personas que no lo hacen). No sé lo que es, por ejemplo, XSS)
  • No quería ofender a nadie con el nombre de High School. Quiero decir que a menudo es el primer paso en la programación a través de esta cultura (y espero que no sea la última)
  • Editar: Academia no significa que esa persona esté en la academia, así como estar en la academia no significa que alguien pertenezca a academia (a pesar de ser brillante científico / investigador etc.). Indica que él prefiere las herramientas que dan una solución clara y obviamente correcta, incluso si carece de rendimiento / lleva más tiempo / ... Similarmente, la cultura corporativa no es equivalente a las corporaciones.

Creo que actualmente soy principalmente de código abierto con una ligera influencia de la Academia (pasivo).

    
respondido por el Maciej Piechotka 21.09.2010 - 21:33
2

Estoy como en el campamento Alt.NET/old-school CS. Trabajo con tecnología de Microsoft (C #, etc.), pero soy consciente de que hay un mundo entero a mi alrededor, otros lenguajes, algoritmos, marcos, "cosas debajo del capó", etc. No es perfecto, obviamente, pero es un trabajo en curso.

    
respondido por el Adam Lear 21.09.2010 - 20:29
2

No estoy totalmente de acuerdo con esta afirmación sobre la subcultura de la EM: "No veo de qué se trata el código abierto y todo eso. Además, ¿quién necesita saber otro idioma? Lugares para ser 9-5 y bastante corporativos (impulsados por gerentes de negocios, no por gente de software). La antítesis de la cultura hacker ". He trabajado en dos tiendas .Net a estas alturas y el entorno en realidad era muy parecido a un 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, diversificarse. Las tecnologías que utilizan son irrelevantes.

No te olvides de la subcultura de Metodología ágil que incorpora desarrolladores de diferentes orígenes.

    
respondido por el ysolik 21.09.2010 - 21:05
2

Creo que habría un espacio intermedio entre CS de la escuela antigua y Desarrolladores web de escuelas nuevas .

Tradicionalmente me consideraría un "desarrollador web". PHP y Java y ciudadanos de primera clase para mí, junto con el código HTML / CSS apropiado, simpático, válido . Tira en SQL y tendrás un conjunto de habilidades sólido y bien redondeado.

Mueve Nueva escuela a Script Kiddies y cambia la marca al Desarrollador web .

Script Kiddies : las personas con poco o ningún conocimiento de "bajo el capó" sobre el idioma. Tiende a buscar tutoriales en Google antes de copiar / pegar ciegamente el código en su lugar. Normalmente, no entiende completamente la sintaxis de más de un idioma.

    
respondido por el Josh K 21.09.2010 - 21:40
2

Académicos que realizan investigaciones utilizando computadoras, no investigaciones sobre computadoras.

Ellos:
   - están escribiendo software que puede consumir cantidades ilimitadas de tiempo de CPU, memoria y espacio en disco para que se preocupen (o al menos traten de preocuparse) del rendimiento, cualquiera de ellos usando cosas como -O3 , time , perfiladores, controle y pase horas más o menos cambiando aleatoriamente el código para reunir un poco de aceleración o aplicando sin pensar algunos trucos míticos a sus scripts.
 - use números reales y sepa que es lo suficientemente complicado como para que pueda existir una ciencia separada llamada "números".
 - a menudo utilizan algunos lenguajes de programación / bibliotecas / programas muy específicos y son muy fanáticos al respecto; Las guerras de fuego son comunes, principalmente sobre el rendimiento.
 - llame a sus programas "códigos" para resaltar que tienen la interfaz de usuario tan ofuscada para que solo sus creadores sepan cómo usarla.
 - Generalmente, trabaje en Linux o al menos use PuTTY para ssh en alguna estación de trabajo / clúster de Linux.

    
respondido por el mbq 21.09.2010 - 23:34
1

Probablemente soy una combinación de personas de la CS de la vieja escuela y desarrolladores web de la nueva escuela : aprendí programación escribiendo sitios web con PHP, Javascript y SQL, y Ahora asisto a la universidad, donde todo se hace en las instrucciones de comando y Emacs bajo UNIX.

    
respondido por el gablin 21.09.2010 - 19:38
0

Cuéntame como el chico de la 'vieja escuela'. Sin embargo, nunca hice LISP bien. Emacs? No, vi y set -o vi en mi shell por mi agradecimiento.

    
respondido por el Jé Queue 21.09.2010 - 19:38

Lea otras preguntas en las etiquetas