¿Por qué los matemáticos son más útiles para los interesados ​​en las matemáticas que los programadores para los interesados ​​en la programación?

En primer lugar, no pregunte por qué hasta que haya establecido si . He pasado mucho tiempo en muchas comunidades de expertos basadas en el conocimiento que invitan preguntas, y cada una de ellas ha desarrollado ciertos mecanismos de defensa para tratar

  • preguntas mal especificadas
  • Problemas XY
  • pereza por parte del que hace la pregunta
  • preguntas que pueden resolverse buscando en Google
  • respuestas agresivas a las personas que señalan fallas más profundas en la comprensión

En todas estas comunidades, hay personas que mantienen una línea tan dura en todos estos temas, llegando al extremo de atacar a las personas que consideran que hacen preguntas tontas. Matemáticas, programación, ciencias, todas ellas.

La mejor de estas comunidades tiene reglas explícitas. StackExchange, por ejemplo, tiende a imponer una política de cierre de preguntas que no están claras y que no muestran qué trabajo e investigación ha realizado hasta ahora el autor de la pregunta. Desde el principio deja claro que hacer una pregunta es y debería ser una tarea difícil . Además, si una pregunta no está obteniendo las respuestas que el autor de la pregunta quiere, eso es principalmente culpa del autor de la pregunta .

Como Quora poliniza de manera cruzada con todos esos lugares, también puede esperar ver muchas de esas actitudes aquí. Hay mucha antipatía en todos los ámbitos acerca de responder “preguntas de tarea”. Hay una buena razón para esto: si todas estas preguntas obtuvieran respuestas directas cada vez, eventualmente los temas correspondientes no serían más que estas preguntas triviales y sin interés. No es que debamos tener una política en contra de responderlas, sino que debemos juzgarlas en qué medida pueden ser en su mayoría duplicados de las preguntas existentes y reducir su prioridad en consecuencia.

Ahora, lo que puede estar viendo aquí es una diferencia en el alcance del problema. Por lo general, una pregunta matemática implica aclarar un concepto o proceso, posiblemente a través de ejemplos. Dichas descripciones pueden ser muy esclarecedoras y tener un atractivo muy amplio. Las preguntas de programación, por otro lado, solo a veces tienen esta propiedad. A menudo requieren resolver un problema mucho más difícil y definido de manera más estrecha, sin explicar un concepto general. A menudo, no hay mejor manera de responder a esa pregunta que proporcionar un código (que, si se escribe bien, se explica por sí mismo) o simplemente describir la forma general general de la apariencia de un algoritmo. Cualquier cosa más específica se parecería mucho a responder con demasiado detalle las “preguntas de tarea” triviales y poco atractivas que no merecen tanto esfuerzo.

Dicho esto, hay muchas respuestas excelentes a las preguntas de programación en Quora si nos fijamos.

Matemáticas:

Las personas que no son buenas en matemáticas son expulsadas de las matemáticas desde el principio.

Los problemas de tarea de matemáticas, especialmente para cálculo y versiones anteriores, requieren resolver muchos problemas pequeños.

La pedagogía matemática está bastante desarrollada y la mayoría de las preguntas provienen de un conjunto de conocimientos compartidos.

Las matemáticas son en gran medida autónomas.

Programación:

Las personas sin experiencia y sin talento obvio para la programación son bienvenidas como nuevos estudiantes de informática.

Los problemas de tarea tienden a ser monolíticos, por lo que la tentación es mucho más fuerte para que alguien haga el problema por usted.

A los estudiantes no se les enseña sistemáticamente cómo depurar, cómo encontrar y leer documentación, cómo usar las herramientas del sistema existentes … tal vez porque la facultad que les enseña tampoco aprendió esas habilidades.

La habilidad de programación eventualmente tiene que toparse con las matemáticas, la ingeniería de hardware y, ocasionalmente, otras disciplinas.


Lo anterior da como resultado preguntas de matemáticas que son simultáneamente mejores y más fáciles de responder.

Desde mi propia perspectiva, explicar en detalle sobre la codificación en Quora es pecaminosamente improductivo, especialmente cuando se compara con la plataforma como el desbordamiento de la pila.

Las preguntas sobre Quora a menudo son difíciles de entender, faltan detalles importantes y carecen de contexto. No creo que alguna vez intente ayudar a alguien con problemas de codificación específicos en Quora, a menos que alguien proporcione toda la información mencionada anteriormente o tenga un código ejecutándose en algún lugar al que pueda acceder. Además, escribir código en Quora es bastante doloroso.

Y sospecho que mi pensamiento anterior es algo típico para los desarrolladores. Estamos, por naturaleza y capacitación, muy preocupados por la eficiencia y la productividad. Principalmente producimos funcionalidades en lugar de ideas.

Además, y quizás lo más importante, los problemas matemáticos tienen mucho menos condiciones periféricas y contexto que la programación. Por lo tanto, exijo que me comparen con otros profesionales de la ingeniería que no sean científicos teóricos.

Solo puedo ofrecer mi impresión.

Mi impresión es que la mayoría de las personas que son matemáticas activas y profesionales están involucradas en la investigación y la educación. A menudo participan en proyectos singulares (a diferencia del proyecto de cualquier otra persona) y para obtener ayuda y ser reconocidos, han aprendido a comunicarse con otras personas, al menos en lo que respecta a las matemáticas.

Mi impresión de otros programadores (soy uno) es que es fácil para la mayoría de los programadores / programadores trabajar sin tener que explicarse a los demás o ayudar a otros (como tutores, etc.) Además, las tareas asignadas a muchos programadores son a menudo de la naturaleza de doblar la placa de caldera para adaptarse a una tarea particular. Desarrollar ideas radicalmente nuevas es bastante raro, y no hay tiempo ni necesidad de explicar cosas a personas ajenas a sus colegas inmediatos.

La comunicación y la tutoría son habilidades enormes. Toman tiempo y esfuerzo para desarrollarse. Para la mayoría de los trabajos de programación, no hay recompensa por ello, especialmente en organizaciones comerciales con fines de lucro.

En resumen, se trata de las habilidades que los individuos han sido alentados a desarrollar.

No sé cómo estás obteniendo esto, porque nunca he visto que eso suceda.

Hay 2 razones para esto, si realmente está experimentando esto.

  • No está haciendo la pregunta correcta o no está dando suficientes detalles.

Los problemas matemáticos se definen fácilmente, simplemente se formulará la pregunta y se indicará para qué se necesita la respuesta. Entonces eso facilita que alguien responda. No es lo mismo para la programación. Mucha gente me envía mensajes sobre quora, respondo detalladamente a personas que me hacen preguntas muy específicas, lo que realmente me hace involucrarme en la pregunta, y luego hay personas que simplemente hacen preguntas generales, no tengo ganas de responderlas, porque son flojos y ni siquiera se molestan en investigar antes de preguntar. Use google antes de hacer preguntas, no aquí para alimentarlo con cuchara. Tengo ganas de decirles que cambien de profesión, porque si no puedes usar google para algo tan simple, la programación no es para ti. Pero no digo eso, porque no quiero ser un imbécil, tampoco los ignoro, pero les doy una respuesta muy general, si no pueden ayudarse a sí mismos, no voy a perder mi tiempo en ayudarlos. Aún así, hago todo lo posible, pero nunca están contentos con la respuesta, no sé cómo decirles que no hicieron la pregunta correcta sin parecer groseros.

  • La programación y las matemáticas no son lo mismo.

No espere que las personas escriban código para usted cuando hace una pregunta, no espere que lo depuren por usted, eso es algo que un matemático haría, un programador no lo hará. Por lo general, no puede explicar un problema matemático con palabras y luego dejar que la persona deduzca una solución por sí misma, pero lo mismo no es cierto para la programación. Si me haces una pregunta de programación, solo te explicaré la forma en que puedes resolverlo, depende de ti resolverlo. Le di código a algunos problemas en quora, pero de nuevo, la pregunta era muy específica y sentí que me estaba alimentando con cuchara. Si estoy haciendo eso, no te estoy ayudando a convertirte en un mejor programador de todos modos.

Podría tratar con el tipo de pregunta que está haciendo. Se espera que los programadores sepan cómo usar google, es una habilidad fundamental, y es probable que su pregunta se haga y responda en stackoverflow o en uno de muchos otros sitios web.

Además, los programadores están menos inclinados a responder preguntas tipo ‘cómo resuelvo mi problema de tarea’ que deberías resolver por tu cuenta.

Además, si está haciendo alguna pregunta que sea cálculo, álgebra o menor, es probable que los matemáticos no las estén respondiendo, cualquier título de BS requiere tomar cálculo y álgebra, por lo que hay muchas más personas que pueden responder.

Que es dios Esta pregunta es subjetiva y si le preguntas a 100 personas, probablemente obtendrás 100 respuestas con suficientes diferencias o contradicciones para que cada “dios” pueda definirse como una entidad separada. Es el problema con preguntas abstractas. Haga una pregunta a 100 programadores sobre programación y probablemente obtendrá 100 respuestas diferentes. Debería haber bastante en común, pero no siempre está garantizado.

Definir 1 + 1 y describirlo es mucho más fácil que describir una idea abstracta. La mayoría de las matemáticas tienen una respuesta concreta y, por lo tanto, se pueden dar explicaciones.

Lo único objetivo de la programación es si funciona e incluso eso podría discutirse con cierto detalle. Podría explicar esto, pero está fuera del tema en cuestión. ¿Cuál preferirías tener? La afirmativa de que si el código pasa las condiciones le das que funcione o la realidad de que siempre habrá condiciones y potencial para que tu código no funcione. Cualquiera que diga que su código funciona está dando la mano breve, la respuesta real solo es importante en el control de calidad.

¿Entonces haces una pregunta que tiene una respuesta subjetiva y quieres una objetiva? Si quieres una respuesta académica, ve a la universidad o lee Wikipedia o abre un libro de texto.

Finalmente, si bien existen conceptos matemáticos que requerirían una cantidad extrema de conocimientos previos, algunos de ellos se pueden explicar. Basta con mirar las matemáticas elementales para preálgebra a álgebra lineal. Es básicamente todo lo mismo, pero existe una clara distinción entre lo que se requiere y cómo se puede definir. Puede cortar esquinas con Matemáticas y no decirle a la gente lo difícil que solo le importa a otros matemáticos, como 0.9 repetir es igual a 1 .

En programación, lo que se le ha dado es muy probablemente la mano corta y no hay atajos establecidos para responder sus preguntas.

La razón por la que desea que muchos programadores respondan la misma pregunta es porque las respuestas serán subjetivas y se basarán en la experiencia de cada programador. Hay muchas veces que leo una respuesta que no se ajusta completamente a mi idea de cuál debería ser la respuesta y la ignoro simplemente porque la respuesta es lo suficientemente correcta. Una respuesta no tiene que coincidir con el 100% de lo que creo que debería ser, y preferiría no discutir con las personas sobre los matices. No hay suficiente tiempo en un día para discutir con alguien con quien esté de acuerdo. He estado allí, molesto por seguir haciéndolo nunca más.

Si creo que una respuesta está fuera del rango de lo que considero aceptable, entonces daré mi propia respuesta. eso no quiere decir que las otras respuestas sean incorrectas, es solo para decir que no completó lo suficiente de lo que hubiera dado y escribo mi respuesta para proporcionar esa adición. Si una respuesta es simplemente errónea, entonces la votaré. Si suficientes personas hacen eso, entonces está oculto.

Es sencillo. En la programación, no hay forma de aprender que no sea hacerlo usted mismo.

La programación implica toneladas de lectura, depuración sistemática y simplemente trabajo duro. Es muy difícil encontrar un error oscuro en el código fuente. Para mejorar en eso, simplemente tenemos que superarlo nosotros mismos. Idealmente, debería comenzar leyendo las páginas de manual, mirando StackOverflow, buscando en Google, usando depuradores y declaraciones impresas, pensando lógicamente en el flujo de su programa y encontrando sistemáticamente la solución.

La mayoría de la gente no se da cuenta de esto. Si yo, como programador experimentado, veo que alguien pide ayuda, lo primero que preguntaré es ¿qué han intentado ya? Lo más probable es que ni siquiera intentaron resolver el problema antes de pedir ayuda.

Eso es malo. No aprendes nada de eso.

Además, existe la realidad de que si alguien pasa suficiente tiempo trabajando en su programación, eventualmente mejorará. Lo mismo no es necesariamente cierto para las matemáticas. No importa cuánto trabaje en un problema de matemáticas que requiera un análisis complejo, nunca lo resolveré, ya que todavía no me han enseñado análisis complejos. Cuando se trata de un error en mi código (que creé, por cierto), es cuestión de trabajar duro y simplemente resolver el problema.

Son dos conjuntos de habilidades diferentes. En la programación, pedir ayuda generalmente está mal visto porque la mayoría de los que preguntan no se toman el tiempo para resolverlo antes de pedir ayuda. Es una pérdida de tiempo y les quita su aprendizaje. No es así en matemáticas, necesariamente.

En primer lugar, no me gustan las generalizaciones.

Fui programador durante 25 años y vi algunos programadores que fueron útiles y otros que no.

Algunas experiencias:

  • La programación puede ser muy compleja y un sistema tarda mucho en aprender. Si es así, no siempre puede dar una respuesta rápida y fácil.
  • Dado que la programación cambia todo el tiempo (diferentes idiomas, diferentes bases de datos, diferentes plataformas, etc.) es más importante aprender cómo aprender cosas nuevas y transferir todo lo que pueda de lo que sabe. Solo tú puedes hacerlo bien.
  • A menudo, un programador será el único (o uno de los pocos) que conoce un sistema, idioma, es el DBA, etc. A veces pueden ayudar a un área diferente, pero a veces es demasiado diferente.
  • Algunos casos se debían a que la otra persona se atribuiría lo que acababa de enseñar. Esto sucedió mucho.
  • Algunos programadores son vagos. Hacen preguntas para no tener que pensar mucho.

En primer lugar, las CS (por lo tanto, la programación) son (y solían conocerse como) matemáticas aplicadas. Ahora, en lugar de actuar como un matemático y decir “el descanso se deja al alumno como un ejercicio”, ofrecería una explicación: no nos gusta interactuar con formas de vida bípedas (en su mayoría) basadas en carbono, lo hacen. Si lo hiciéramos, no desarrollaríamos nuestras habilidades sociales en relación con la única forma de máquina que es:

  • Propósito libre
  • Puede ser antropomorfizado
  • Básicamente el juguete más caro que tuvimos en la infancia.

Se supone que el lector tiene la capacidad de discernir qué profesión somos nosotros y cuáles son ellos …

Por mi experiencia

  1. Matemáticos: parecen más pacientes y dispuestos a comprender a las personas sobre cosas triviales. He respondido preguntas porque estoy seguro de que son estudiantes de secundaria y he explicado cosas a niveles básicos.
  2. Programadores: si quieren lo explícito en lo que están trabajando, verán su código. No lo corro. No lo depure. Si tiene un problema genuino de nivel inferior, depende de usted encontrar una solución. En su lugar, le darán material de referencia y una idea de cómo implementar una solución.

Estoy seguro de que he escrito respuestas aquí que me tomaron más de 30 minutos escribir en LaTeX, reformatearlas para hacer cosas bastante explícitas, mientras que las interacciones con los programadores es que no tienen mucho tiempo para preocuparse realmente por lo que está haciendo a menos que Realmente lo buscas.

Los programadores y los matemáticos piensan en algunos problemas de manera similar, pero quizás no en cómo abordarlos pedagógicamente. Los matemáticos generalmente tienen muchas definiciones y cosas con las que trabajar. Creo que los programadores tienen una base de conocimiento mucho más amplia de ideas interconectadas para mantenerse al día.

Creo que la diferencia fundamental es que los resultados matemáticos (teoremas, fórmulas, etc.) están abiertos para que todos los vean, mientras que el software no está abierto en gran medida, con la excepción del código de código abierto.

Esta diferencia tiende a hacer que las personas sean secretas.

Un segundo problema es la dominación masculina del mundo del software. Esto tiende a fomentar una actitud de machismo.

El resto podría ser simplemente una cultura elitista. Parece que cuanto más talentoso sea el programador, es menos probable que él (probablemente él más que ella) esté dispuesto a compartir su bolsa de trucos.

Nuevamente, parte de esto se debe a que la programación es una artesanía en lugar de una ciencia, sus artistas más talentosos estarán más celosos de su trabajo como propiedad intelectual.

Los matemáticos no poseen las fórmulas y los teoremas que crean.

No estoy involucrado en el área de matemáticas de Quora, así que no voy a comentar sobre eso.

No estoy de acuerdo con que los programadores no ayuden, lo veo todo el tiempo, lo hago yo mismo pero …

A) No voy a hacer tu tarea por ti.

B) La respuesta que obtienes puede no ser la que deseas. No voy a respaldar tus suposiciones.

C) Muchas preguntas son realmente difíciles de responder, es decir, no hay suficientes detalles, premisas o suposiciones incorrectas.

Hay otras razones, pero si escribe una buena pregunta, haré todo lo posible para dar una buena respuesta.

La programación tiene una edad disciplinaria joven, solo un siglo de antigüedad en la práctica pero algunos siglos de aprendizaje y apoyo en la escuela. Esto significa que los programadores aún no tienen una identidad completa, un cuerpo de aprendizaje ni un propósito social. Cualquier grupo de programadores que conozca probablemente se verá joven, moderno y nuevo en la presentación cultural. Pero ciertamente, en el foro, grupo social o red adecuados, puedes conocer a programadores interesados ​​en mostrarte su trabajo o ayudarte a programar. La presentación literaria y escolar más formal que mostrarán en la universidad, y llevar a cabo una investigación real para desarrollar su disciplina. Esto significa que la programación se desarrolla en una estructura disciplinaria más amplia y se integra con la educación y profesión social normal.

Realmente no lo sé con certeza, pero como alguien que es matemático y programador de computadoras, lo intentaré.

La programación de computadoras y las matemáticas tienen muchas similitudes. Ambos son estructurados, abstractos y útiles para el cálculo. Como matemático aplicado, escribo código todo el tiempo.

Creo que puede ser la cultura que naturalmente nos selecciona. Cuando estudiamos para obtener un título superior en matemáticas, lo más probable es que hayamos pasado años enseñando material como ayudante de enseñanza y / o como tutor. Si no nos gustara este tipo de cosas, probablemente habríamos cambiado los campos. Esto no quiere decir que los informáticos no hagan esto también, pero creo que es en menor grado.

También creo que los tipos de preguntas que se hacen sobre la programación tienden a ser menos sobre teoría y más sobre práctica. Si bien las preguntas de matemáticas que me gusta responder son más sobre teoría.

Supongamos que alguien hace una pregunta sobre los punteros de función en C. ¿Se trata de tratar de localizar un error? ¿O es una pregunta sobre cómo se compila el idioma y qué está pasando bajo el capó?

Los matemáticos y los programadores piensan que tienen buenos trabajos. Pero los primeros están acostumbrados a que otras personas no estén de acuerdo con ellos, por lo que están más ansiosos por difundir la alegría.

Los programadores solicitan ayuda todo el tiempo, constantemente. Matemáticos … no tanto.

Los programadores novatos hacen las preguntas más irrespetuosas, que básicamente equivalen a: “No sé qué hacer. Haz todo el trabajo por mí “.

Esperan que hagamos solo para resolverles problemas, por alguna razón.

“* Suspiro. * Otro programador que no puede pasar 2 minutos en Google antes de hacer una pregunta”. Así es como nos sentimos.

Porque son 2 disciplinas diferentes.

Aprendes matemáticas estudiando. Si te digo cómo usar una ecuación, estás progresando.

Aprendes programación practicando. Si te digo cómo escribir un programa, estás jodido cuando tienes que hacerlo de nuevo pero con pequeñas diferencias.

Puedes aprender matemáticas, no puedes aprender a pensar analíticamente, pero la programación requiere la capacidad de pensar analíticamente, y eso es innato. Entonces, si alguien simplemente asume que se le puede “enseñar” a “ser un programador” y viene aquí pidiendo instrucciones sobre cómo convertirse en uno, se le dará poca atención, no se puede.

Así que venga aquí con la capacidad de pensar analíticamente y preguntar sobre programas específicos sobre programación y la gente incluso irá tan lejos como escribir el código para usted en el lenguaje de programación que solicite, pero venga aquí con una actitud de “enséñame a programar” y no lo haremos, porque no se puede hacer a menos que ya pienses analíticamente, en cuyo caso no hay nada que enseñarte.

Comience a pedir ayuda con las matemáticas de 11 dimensiones y recibirá el mismo tratamiento de los matemáticos (aquellos que pueden hacer matemáticas de 11 dimensiones): la mayoría de las personas no pueden pensar en 11 dimensiones, por lo que “enseñarle” algo sobre eso es imposible .

No es matemática versus programación, es “puedes aprender esto” versus “tienes que nacer con esta habilidad”. Simplemente elige uno de cada uno para comparar. Si tengo un oído de hojalata, ¿por qué nadie me enseñará a cantar con clave? (Siempre tengo aproximadamente 1/4 de nota libre, es una cosa física, que se reduce a ser un tinte genético, no se me puede “enseñar” a escuchar el “tono correcto”).

Pruebe https://stackoverflow.com , se sorprenderá.