¿Cuáles son las partes fáciles de la informática y cuáles son las partes difíciles?

Aunque esas respuestas son más o menos correctas, no hay partes estrictamente “fáciles” o “difíciles” de la informática; cada subcampo dentro de CS tiene partes más fáciles y partes más difíciles.

Por ejemplo, es cierto que escribir código en sí no es una tarea muy difícil. Cuando estás limitado a unos pocos miles de líneas o unas pocas clases, escribir código generalmente no es muy difícil, una vez que te acostumbras. Pero si está trabajando a nivel de la industria y explorando una base de código, por ejemplo, unos pocos millones de líneas de código, incluso mirar a través de la API no es una tarea sencilla, y se necesita experiencia para poder mapear las relaciones dentro de su cabeza y para implementar lo que realmente quieres. Creo que no hace falta decir que la depuración de estos programas es mucho más difícil.

Como otro ejemplo, los algoritmos también tienen un grado variable de “dureza”. El análisis de los algoritmos introductorios que aprende, como los algoritmos de clasificación y algunos algoritmos de programación o gráficos dinámicos más simples, es bastante accesible si tiene los conocimientos básicos de matemáticas.
Sin embargo, algunos de los análisis involucrados en la investigación de algoritmos están por encima de incluso muchos estudiantes graduados en CS (especialmente si no eres un estudiante de doctorado en ese subcampo en particular), y requieren una sólida base en matemáticas y ciencias de la computación teórica. Una cosa es resolver un problema hw para una clase CS de 100 niveles, y otra intentar probar el límite de la función inversa de ackermann de la estructura de datos de conjuntos disjuntos (análisis amortizado realizado por Robert Tarjan)

En general, depende de cuán profundo estudies ese subcampo en particular.
En general, el consenso entre las especialidades de CS es que las clases teóricas superiores son conceptualmente más difíciles, y las clases de aplicación como Bases de datos o Gráficos son más fáciles, pero pueden tener más trabajo involucrado (ya que está escribiendo código real).

Parte fácil: aprender un nuevo idioma, codificar
Parte difícil: optimización, escalado, depuración
Pesadilla: código de optimización, escalado o depuración no escrito por usted

Escribir código es fácil, escribir un buen código es difícil. Si bien la refactorización es inevitable en el proceso de desarrollo, comenzar con un código eficiente que cumpla con un estándar útil tendrá un gran impacto.

Bien hecho, nada en CS es fácil cuando trabajas a nivel profesional.

depende de qué tan grande es el mundo en tu mente. todo puede codificarse e interactuar con el mundo real a través de la electromecánica, pero no puede ser EL experto en física, matemáticas, química, biología y neurolingüística al mismo tiempo, incluso si no tiene vida social (parte difícil)
la parte facil? ya aprendes álgebra básica en el jardín de infantes. es suficiente si no le importa o no le preocupa el conocimiento que no incluye scam4money.

Parte fácil: escribir programa de juguete
Parte difícil: lidiar con la complejidad

Parte fácil: escribir código
Parte difícil: desarrollar algoritmos eficientes

Parte fácil: programa en vacío
Parte difícil: programa con limitaciones del mundo real

Parte fácil: hacer que lo que haces suene complejo para tus amigos y familiares
Parte difícil: todo lo demás

More Interesting

¿Qué algoritmos básicos debe saber un programador promedio?

Dada la secuencia creciente, en cada paso puede elegir 2 elementos consecutivos, reemplazarlos con su suma y no puede elegir el último elemento, ¿cuál es el número máximo de movimientos que puede hacer para que la secuencia siga aumentando?

Si llamo k veces getSuccessor () de un nodo con altura h en una búsqueda de árbol binario. ¿Cómo pruebo que el tiempo de ejecución tomará solo O (k + h)?

¿El algoritmo codicioso siempre resuelve el problema de cobertura de subconjunto?

¿Qué métricas deberían usarse para crear una puntuación de confiabilidad automática para los artículos de Wikipedia?

¿Cuáles son los mejores algoritmos para el análisis de sentimientos?

¿Escribir un programa de CA para convertir un número en palabras de moneda?

¿Cuál es la mejor forma / algoritmo para detectar un patrón en una serie de tiempo?

Cómo hacer un robot que pueda resolver un laberinto de líneas

¿Cuál es la diferencia entre tener un buen algoritmo y no tener uno?

¿Cómo implementas quicksort en c? Sé que hay respuestas disponibles en línea, pero estoy buscando idealmente la forma más elegante.

¿Cuál es el mejor algoritmo de búsqueda en programación?

¿Qué representa un estado en términos de programación dinámica?

Si quiero resolver problemas del mundo real, ¿qué debo hacer, encontrar esos problemas y luego aprender las estructuras de datos y algoritmos requeridos o viceversa?

¿Qué algoritmo es el más adecuado para la detección de fraudes en términos de precisión y consistencia en la minería de datos?