inad escribiópues mira yo tengo la misma duda..
ahora empiezo 2º año de asir, y tal vez si encuentre trabajo lo deje estar, pero tengo muchas ganas de meterme a dam(y tambien me llama daw) y tengo ese mismo miedo, lo pase mal en asir con las transformaciones de numeros a binario y son una tonteria, soy muy negado en matematicas, pero me encanta programar, lo poco que se.. me encanta.
este verano me he dedicado a hacer scripts para crear una pequeña distribucion de linux que arranque un script desde el cual elegir que se va a hacer, tambien tenia pensado hacer una aplicacion en java recopilando todos los calculos calculables de la asignatura de fol, pero perdi los apuntes y la deje a medias.
Siempre se dice que para programar hay que valer, ¿y mi pregunta es como se sabe si vales para programar? 😛
Eso si con java(autodidacta) me lio, no lo acabo de entender del todo(como se relacionan las clases.. como se las llama y "ejecuta"), c me parece mucho mas facil.
tambien tengo la duda de a la hora de trabajar, ¿de que trabaja un programador en su dia a dia?
Supongo que si trabajas en un equipo tu te encargas de programar X funciones, o revisar lo que otros programan, o encajarlo.. A nivel aficionado hacer un pequeño programa lo veo sencillo pero no me imagino trabajar en un programa en el que hacen falta muchas personas.
En DAM/DAW no se dan matemáticas, aunque en Sistemas Informáticos nosotros hemos dado la conversión de números a binario, hexadecimal, octal, etc...pero vamos, tan solo es dividir o multiplicar, no hay nada raro. En youtube hay profesores de matemáticas que lo explican todo bien.
En un principio no se usan matemáticas, pero de vez en cuando tendrás que crear algoritmos que sí tengan algo de matemáticas, nada del otro mundo. Por ejemplo pueden ponerte un ejercicio en el que te dan unos precios y luego tienes que introducir un porcentaje de descuento y que finalmente te de el precio con el descuento. Esto no es más que una regla de tres. Yo creo que se puede programar bastantes cosas sin necesidad de grandes conocimientos de matemáticas, con tan solo algo de álgebra. Además, siempre vas a acabar copy-pasteando código de otros, haz como todo "buen" programador, copia y di que lo has hecho tú xDDD. En general los grandes algoritmos para ciertas cosas se copia, ¿para qué vas a pasarte horas reinventando la rueda si ya existe? Además del tiempo que malgastas puedes hacer un algoritmo menos eficiente. En clase a veces yo también me he preguntado "¿pero qué co*o?", pero luego buscas por internet y haces el algoritmo en papel con dibujitos o lo que sea y lo entiendes. Todo lo que te dan es básicamente para que apliques conocimientos poco a poco, aunque en la vida real no vayas a hacer nada parecido.
Hay gente que tiene más facilidad para programar que otros, como también hay gente que tiene más facilidad para jugar a fútbol, para bailar o para ligar, pero con práctica se consigue todo. Java te habrá parecido más difícil de C porque es Programación Orientada a Objetos, y si no tienes un buen tutorial donde te explique lo que es, te será difícil.
El programador en su día a día, programa Es broma. Pues depende, hay miles de trabajos distintos que puede hacer un programador. Uno puede programar webs, hacer una web dinámica para que guarde datos en una base de datos y que te devuelva otros, por ejemplo, para eso no te hacen falta matemáticas. Otro puede programar una aplicación para móviles que te permite hacerte...un horario con tus cosas, o un programita para gestionar el dinero que ganas. Luego también encontrarás programadores que hacen cosas mucho más complicadas y a nivel mucho más bajo, como programar un SO, programar drivers para que el hardware funcione, etc, que son cosas que sí necesitan una buena base de matemáticas.
Trabajar en equipo es difícil, pero hay herramientas para ello como por ejemplo Git, donde la gente del equipo va subiendo sus actualizaciones y demás. Es como montar un coche, a cada uno le tocará hacer una parte del trabajo. Cada uno hace su parte, la sube y ya se tiene una aplicación entera.