Planeando un nuevo proyecto: ¿Cuantas horas dormir?, ¿El mejor horario para programar?
- sábado, junio 04 2011 @ 10:44 CEST
- Autor: luisrey
- Lecturas 1,303
Bienvenido(a) a Grupo Linuxero del Bajío sábado, abril 17 2021 @ 08:18 CEST
En el pasado, me quejaba de los centros de servicio autorizados de dispositivos (computadoras, tableta, mac, hp), ¿el motivo? : “cobraban” por revisión del equipo cantidades mayores a $500 pesos (45 dólares americanos) por el solo HECHO de revisar la falla del dispositivo en cuestión....
http://luisreylara.com/2011/06/02/¿debo-de-cobrar-la-revision-de-un-dispositivo/
Ya lo saben: mi educación superior, la susodicha ingeniería en sistemas computacionales, fue muy precaria. Cada día de mi vida profesional descubro y redescubro una carencia nueva y más escandalosa que la anterior. En esta ocasión ha sido sobre el apasionante tema de los compiladores.
Durante los primero meses de este año estuve trabajando con v8, el motor de JavaScript desarrollado por Google y parte de su navegador Chrome. Y sólo bastaron pocas semanas para darme cuenta de que no tenía ni la más mínima idea sobre el tema.
El proyecto para mi terminó con un valioso aprendizaje: darme cuenta cabal de que no sé nada de compiladores. Es una deuda que tengo para conmigo mismo.
Con el fin de comenzar a pagar ese mal karma, dediqué este fin de semana a escribir un compilador de juguete. Bueno, ahora ni siquiera llega a compilador: en un mero analizador sintáctico del lenguaje BASIC, en su primera encarnación de 1964.
Utilizo flex para hacer en analizador léxico, y bison para el analizador sintáctico.
Sospecho que aún puedo simplificar más la gramática y alguno que otro retoque más. El siguiente paso es hacer el árbol sintáctico abstracto, para luego recorrerlo e intentar hacer optimizaciones locas.
El código está en gitorious y recuerden armarse con el clásico libro del dragón. ¡Son menos de 450 líneas de código!
Chavos que están estudiando alguna carrera relacionada con las ciencias computacionales: No dejen que el mal karma les desdibuje sus aspiraciones profesionales. Programen sus propios compiladores, sistemas operativos, manejadores de bases de datos, máquinas virtuales. Al menos inténtenlo. Verán que el esfuerzo paga muy buenos dividendos.
ICT Consulting busca personas que deseen integrarse a su equipo de trabajo:
Agente de Service Desk:
Proporcionar atención telefónica y solucionar problemas de primer nivel para todas las llamadas entrantes. Desarrollar todas las fases de solución del problema incluyendo interpretación, análisis, investigación y resolución de problemas técnicos de distintas plataformas y categorías de software y hardware.
En 1966 un profesor de la Universidad de Stanford, Michael J. Flynn propuso una clasificación para la arquitectura de computadoras conocida como la Taxonomía de Flynn [1].
Esta clasificación está basada en el número concurrente de instrucciones y en los flujos de datos disponibles en la arquitectura:
|---------------+--------------------+----------------------| | | Single Instruction | Multiple Instruction | |---------------+--------------------+----------------------| | Single Data | SISD | MISD | | Multiple Data | SIMD | MIMD | |---------------+--------------------+----------------------|
De manera general los ordenadores personales pueden considerarse como SISD: Single Instruction, Single Data. Estos procesadores solamente pueden hacer una operación sobre un valor a la vez.
Sin embargo, con la llegada del procesamiento multimedia, el mercado de los ordenadores personales comenzó a ejercer presión sobre los fabricantes de chips para proveer de hardware más potente capaz de reproducir audio y vídeo (actividad muy demandante de poder de cómputo), sin afectar la sensación de desempeño en las demás tareas.