#7 Re: C y Sistemas Operativos
Originalmente publicado por ICE-MAN
Estoy estudiando para Ingeniero Informático y aún no encaramos el paradigma orientado a objetos (recién en 5 año) por el momento nuestro enfoque esta dado por el paradigama imperativo.
Si con "código nativo" quieren decir lo que yo conozco como un programa compilado o interpretado que es otro caso; esto me lleva a replantear el objetivo de mi pregunta:
¿Que lenguaje me recomiendan para desarrollar sistemas (programas), por ejemplo, para S.O Windows?
Debería tener conocimientos sobre Win32API, si quiero un programa compilado ¿no?.
Por un momento olvídense de la portabilidad y de los lenguajes que traducen el código fuente a programas interpretados (vi un programa hecho en C# que solo muestra el nombre del usuario actual y consume 12 MB de RAM) más allá que en la actualidad tenemos Dual Core, DDR2 y otras tecnologías innovadoras que ejecutan estos programillas como si nada.
Como dijo un ingeniero hace poco en una cátedra: "Los lenguajes como C# tienden a una mayor abstracción, hoy en día parece que cualquiera puede encarar el desarrollo de un sistema, arrastramos de allá, un poco de código ahí y listo..."
Espero que entiendan hacia donde voy y no me tomen como un troll :O_O:
Saludos.
noooooooooo... de troll no tiene nada!!! Es más, está lindo este debate que armaste
Vamos por partes:
¿Que lenguaje me recomiendan para desarrollar sistemas (programas), por ejemplo, para S.O Windows?
C# y java, ya que tienen excelentes APIs, son portables y son "lo ultimo" en tecnología... A la hora de desarrollar sistemas complejos (juegos, programas muy demandantes con la memoria, etc), C++ de cajón.
Aparte, java y c# son los lenguajes "estrella" para programar dispositivos móviles como celulares, PDAs y demás, aunque java le lleva un par de cuerpos de ventaja, .net está preparada para ser una plataforma para desarrollos móviles... Y el mercado que están abriendo estos "aparatitos" es increíble.
Debería tener conocimientos sobre Win32API, si quiero un programa compilado ¿no?.
Te habla alguien que no conoce la Win32API...
Como ves, lo que más se usa actualmente para desarrollar programas de usuario son lenguajes que se basan en los paradigmas de objetos y/o
aspectos, aunque aspectos es "la novedad", pero al estar basado mucho en objetos, se sitúa como otra capa más de abstracción... mientras que C tiene su espacio en programas de alta carga y que trabajan "cerca" del SO y obviamente, SO... no es descabellado en lo mas mínimo que muchos daemons de los servers unix (ej: bind para DNS, MTAs como sendmail, qmail y postfix, etc, etc, etc) estén hechos en C por un tema ppalmente de robustez y velocidad, en pos de la fiabilidad...
En sí, cuando necesites tener un mayor control de los recursos de la máquina, más obligado te vas a ver a "bajar" y quitar abstracción a tus trabajos...
Igual, en el peor de los casos, siempre tenés que evaluar el entorno donde va a correr tu aplicación.
El doc