Aclaración

Una cosa:

Sea cual fuere el tema del que publique en este blog, será relacionado con la materia de matemática discreta, es un blog personal, y es básicamente pensamientos u opiniones (sobre el tema) que se me vienen a la mente. Exhorto específicamente a cualquiera que busque un lugar completo donde aprender lógica, que me lo haga saber, si necesita ayuda en algo o algún tema en específico, es una gran ayuda para ideas de nuevas entradas al blog, pero mas allá de eso, las entradas no siguen una agenda específica, ni tampoco un sumario de temas que se relacionen en orden de dificultad o en orden de relevancia, no son más que extractos de cosas relacionadas con el amplio campo de estudio de la lógica. Espero sea de la comprensión del lector, (y como última nota; decir que este es un diario virtual, por ende todas sus características ya mencionadas) y no sigue un orden, cualquier observación o crítica constructiva será tomada en cuenta pero más allá, mi juicio será el que tenga más peso en el blog que cualquier otro elemento.

Una pequeña reflexión

Apenas entré a la universidad y es verdad, todavía me falta mucho que aprender, vivir, analizar, pero con lo que me he topado últimamente es con el pensamiento no sólo de mis contemporáneos, también de propios ingenieros de sistemas diciendo que la gran mayoría de las materias son inservibles para tu carrera, y bien, es verdad que tienen derecho a su propia opinión, pero me pongo a leer los programas de las materias, sus objetivos como materias, y parecen bastante racionales, y en cierto sentido, son bases que son fundamentales para luego desenvolverte como profesional, hay tantas cosas del propio colegio que me están siendo extremadamente útiles en la universidad, y es verdad algunas cosas que ví no las volveré a ver nunca más en mi vida, pero me sirvieron en cierta manera para expandir mis ideas, ver de otra manera la realidad, y con eso un ingeniero de sistemas puede llegar muy lejos, la ingeniería de sistemas se enfoca en abstraer toda nuestra realidad, el día a día que vivimos, y transformarlo en un sistema con un objetivo, o tomar todos estos elementos y hacerlos parte de un sistema, que es lógico, jerárquico, que requiere de conceptos abstractos bastante elevados, con buenas bases para ser exitoso, y todos estos conceptos si bien algunos nos sirven y otros no, nuestro trabajo es abstraernos y abstraer todo lo que nos rodea, ya sea matemáticamente, lógicamente, sintácticamente. Por eso les digo a los que lean este blog, que solo cubro una pequeña parte de lo que en realidad es estudiar ingeniería de sistemas, por mi parte cubro el área de lógica matemática, y la defenderé porque encontré respuesta allí, y me sirvió en cierta medida a desarrollarme de una mejor manera en mi ámbito académico, es sólo un punto de vista personal y no hay necesidad de insultarlo o de menospreciarlo, solo tomarlo en cuenta con una mente abierta y reflexionar con mis palabras, algo bueno saldrá de todo. En base a eso solo enlisto unas cuantas razones por las cuales creo que lógica matemática es de gran ayuda en el ámbito de ingeniería de sistemas.

1. Algunas soluciones necesitan del ingenio de las matemáticas, operaciones matemáticas.

2. La capacidad para resolver problemas en el desarrollo de software (lógica del desarrollador) se podría decir que es la misma que la capacidad para resolver problemas matemáticos. Esto es verídico, la forma de resolver problemas en matemáticas, más que saber algebra, o cálculo, es saber qué herramientas usar para resolver un problema.

Si por ejemplo yo tengo una integral, y tengo N métodos para resolverla, mi capacidad matemática me va a llevar a resolverlo de la manera más óptima y con el menor esfuerzo posible, y en el desarrollo de software es igual, puedes tener varias herramientas como el manejo de variables, estructuras de control, clases y objetos, apis, librerías, frameworks etc. y tu deberás tener la suficiente habilidad para hacer que esto funcione.

3. Hay varios temas de matemáticas ampliamente usados en el desarrollo de software:

ALGEBRA BINARIA: Utilizado en estructuras de control para la toma de desiciones, prácticamente consiste en todas las operaciones que puedes hacer con sólo dos valores: Verdadero o Falso. Por ejemplo si tu quieres escribir un archivo si no existe o si el usuario acepta sobreescribirlo, Sea A Verdadero si el archivo existe y B Verdadero si el usuario acepta sobreescribirlo, entonces para saber si ejecutas el ciclo sería : SI no(A) o B entonces escribirArchivo();

ALGEBRA DE CONJUNTOS: A un nivel muy general, pero es importante para saber si pertenece a un conjunto o si necesitamos la intersección de dos conjuntos.

ALGEBRA RELACIONAL: Prácticamente utiliza mucho de algebra de conjuntos, pero esto es específicamente para el manejo de bases de datos, toda la teoría sobre selección, proyección, producto cartesiano, se aprende con el algebra relacional, Cada vez que utilizamos SQL estamos usando el algebra relacional.

4. Para videojuegos, hay que saber un poco de física, para que tenga sentido el movimiento de los objetos.

5. Para los que programan en C y C++ Es importante la aritmética de punteros.

6. Nunca sabes cuando necesitas usar de las matemáticas para resolver problemas. entonces es importante saber aplicarlas y programarlas Ejemplos:

a) UN AFINADOR DE GUITARRA: Para detectar el tóno en el que una cuerda está sonando para saber si está afinada o no necesitaba usar transformadas de Furier.

b) UN SOFTWARE DE GPS: Para que se vean en google maps, se tiene que adaptar los puntos y coordenadas cartesianas que involucran incluso a coordenadas en terceras dimensiones.