¿Qué es mejor para un estudiante de secundaria que aprende programación competitiva o programación de la vida real?

Yo votaría la programación de la vida real.

La programación de la vida real es un desastre, en su mayor parte.

Pero competitiva puede ser mucho más desordenada cuando hay poco tiempo.

Tome TopCoder, por ejemplo: si puede llegar a la División superior, aprenderá a construir cosas fuertes. Y tienes la oportunidad de invalidar el código de otros. Siendo realistas, a nadie le gusta que señales las fallas en su código de esta manera (trabajo en equipo, no competitivo). Pero necesita saber mucho para llegar a este nivel de código fuerte e invalidar a otros. Aprenderás mucho Pero si retrocede, mientras compite a tiempo y mira su código, es un desastre hasta que tenga el hábito de construir bien las cosas (lo suficientemente fuerte como para limitar las excepciones que pueden invalidarlo). Lanzar cosas juntas para competir es una mala práctica, en mi opinión.

Otra forma de verlo, un punto que trato de transmitir: la razón por la que hay una gran industria de seguridad informática es porque las personas se ven presionadas a moverse demasiado rápido y no prestar atención a los detalles. Gran alboroto sobre BS más tarde que podría haber sido tratado en primer lugar si las personas se preocuparan por las buenas prácticas.

Si vas a construir algo, mira la evolución del proyecto de código abierto de la vida real con muchos colaboradores. Tenga en cuenta que aquellos que se adoptan más rápido tienen mejores prácticas de programación detrás de ellos (incluida la documentación, las pruebas, el flujo de programación y el enfoque).

Aprende a construir como el profesional primero, luego compite.

De cualquier manera ganas experiencia. ¿Desea escribir código basura que nadie lea o preste atención, o desea llamar la atención sobre sus esfuerzos y no solo sobre sus habilidades? También hay algunas respuestas interesantes sobre Quora sobre los supuestos programadores “rockstar”.

Primero, ¿necesita saber por qué está haciendo este grado en Informática?
La mayoría de las personas lo toman como un trampolín hacia un MBA o un trabajo de gestión.

Para ayudarlo a decidir, pregúntese:
¿En qué estás realmente interesado? ¿En qué te gustaría trabajar el resto de tu vida?
– ¿Te gustaría hacer una aplicación viral?
– ¿Te gustaría trabajar en robótica?
– ¿Te gustaría desarrollar un videojuego?
– ¿Quieres trabajar en un banco o hacer un trabajo de tecnología?

Actualmente estoy estudiando Informática en la Universidad y puedo decir que el conocimiento que se les enseñará aquí es muy básico (no experimentarán la profundidad de ningún campo). TÚ siempre tendrás que tomar la iniciativa para aprender más.

Dicho lo anterior, le recomiendo que trabaje exclusivamente en programación competitiva.
La programación competitiva es aplicable a la programación de la vida real.

Personalmente,
– Los algoritmos de aprendizaje son increíbles. En cada momento está resolviendo un nuevo problema y utilizando soluciones listas para usar. Pero no es la taza de té de todos. Si estás preparado para un desafío, lee tantos algoritmos como puedas.

Filosofía, otro de mis temas favoritos está profundamente relacionado con los algoritmos. La búsqueda del hombre para responder preguntas que nadie ha respondido antes o para mejorar las anteriores. Eso es exactamente lo que hacemos en informática (algoritmos)

Tener conocimientos de programación competitivos es una característica muy valorada en la mayoría de los trabajos de informática, incluidos los bancos de inversión. Una gran parte del comercio realizado en los bancos hace uso de algoritmos complejos y quién mejor que los informáticos para ayudarlos.

Me mantengo involucrado en proyectos de programación de la vida real (sitio web, programas de computadora, aplicaciones de Android) y puedo decirle que después de un punto se vuelve repetitivo.
Los proyectos en los que he trabajado han requerido una variedad de lenguaje que incluye HTML, CSS, PHP, MySQL, C #, Java y, por experiencia personal, puedo decirle que puede aprender este lenguaje en muy poco tiempo. Especialmente ahora que hay tantos métodos de aprendizaje electrónico disponibles en Internet.

Cada vez que tengo un nuevo proyecto en mente, solo busco la programación en Internet, la aprendo y puedo completar el proyecto en poco tiempo.
Hice mi primer sitio web en 20-30 hrs.
Compruébalo en http://speechexpress.org

Yo recomiendo,
Si tiene una idea (o proyecto) en mente, aplíquela ahora. ¡Constrúyalo ahora!
No esperes a que termine tu carrera. Tómese el tiempo para trabajar en este proyecto hasta que se complete.
Porque después de la creatividad necesitas disciplina para completar tu trabajo.

Actualmente también estoy en HS (grado 10), pero no estoy seguro de si mi respuesta será beneficiosa para usted, pero lo intentaré de todos modos.

Personalmente, creo que debería haber un buen equilibrio entre la programación competitiva y la programación de la vida real. Digo esto porque ambos pueden beneficiarlo de muchas maneras.

Si bien la programación de la vida real es excelente y todo, sin un poco de experiencia con la programación competitiva, un software de personas tenderá a carecer de muchas cosas. Las competencias lo obligan a explorar y aprender más sobre el lenguaje en el que programa, también le permite practicar algoritmos y dónde implementarlos, etc.

Entonces, mi respuesta es tratar de encontrar un equilibrio en ambos, ver si eres maestro de HS CS para agregar algunos proyectos más de la vida real para ayudarte, así como competencias para ayudarte a practicar tus habilidades.

Elige lo que más te gusta hacer. El resto seguirá.

Comencé a hacer concursos de programación en 2007. No tenía idea de a qué terminaría conduciendo, solo que realmente me gustaban los concursos de programación. No tenía idea de lo que era la “programación de la vida real” hasta 2011, cuando obtuve mi primer trabajo en “programación de la vida real” como pasante en Google.

Los concursos de programación le permiten demostrar que es inteligente y capaz de pensar rápidamente. La programación de la vida real te permite demostrar que eres capaz de construir cosas. Ambas son propiedades deseables.

Ambos.

La programación competitiva te enseña habilidades que serán útiles cuando eres un mono de código pagado. (¿Y no se verá bien cuando pueda relajarse durante 3 días, luego presente a su jefe la solución a un problema que seguramente tomaría 3 semanas para resolverlo, porque lo escribió una vez en la escuela secundaria para vencer a alguien más?)