Hace 9 años | Por mr_b a phoronix.com
Publicado hace 9 años por mr_b a phoronix.com

Desarrolladores indios han creado BOSSMOOL en un esfuerzo para rediseñar el kernel de Linux añadiendo abstracciones mediante orientación a objetos junto a un framework para poder crear controladores de dispositivos en C++ además de otra serie de características.

Comentarios

D

#5 bloatware.

frankiegth

Para #5 y #20. Hay solo dos formas de programar orientando a objetos, muy bien o muy mal.

frankiegth

Para #38. '...-Veo que no han entendido nada... este aeropuerto sin aviones es para las pesonas...'

La programación en ensamblador y C es especialmente indicada para programar orientando hacia la arquitectura de los propios sistemas digitales.

La programación orientada a objetos está enfocada a resolver problemas relacionados con el mundo real o problemas proyectos muy grandes o/y abtractos. (CC #35)

D

#25 No para escribir drivers, solo C(y ensamblador si hay un muy buen motivo). Las aplicaciones se pueden hacer como se quiera.

#39 Y a qué está enfocada la programación funcional?

frankiegth

Para #44. Buena pregunta. El paradigma funcional es una paradigma que dirige al programador hacia algoritmos muy óptimos, óptimos y compactos (*). De alguna forma las propias reglas y restricciones del los lenguajes funcionales fuerzan al programador a optimizar el código. Un semestre programando con 'Racket' me llevaron a estas conclusiones. (CC #39)

http://racket-lang.org/

(*)(Optimos en cuanto a planteamiento y espacio del propio código fuente, pero no necesariamente en cuanto a velocidad de ejecución. Un mismo algoritmo en lenguaje C prodría ser más rápido).

D

#38 perdona pero lo mas macho es programar con tarjetas perforadas

P

#38 todo lo que no sea programación funcional es para retards.

PD: Programación funcional = Haskell, lo demás también es para retards.

PD2: Hay que ser gilipollas para usar ensamblador para algo hoy en día salvo muy concretas excepciones. Con C pasa lo mismo.

#52: En realidad la JVM es la hostia, eso de que Java es lento se quedó atrasado hace unos años: http://www.infoq.com/articles/twitter-java-use

animalDeBellota

#61 lo siento pero no. Pot mucho JIT o on-line opt , algo escrito en C siempre va a see mas rápido

P

#62 no me digas genio? Va a ser igual de mantenible y va a costar lo mismo en horas de desarrolladores también?

C hoy en día solo es apto para aplicaciones muy concretas. C++ ya es otra cosa.

También podemos programar todos en ensamblador, o aún mejor desarrollar nuestros propios dispositivos hardware que ejecutan más rápido!

Sigh...

Que Java sea más lento que C no significa que sea lento por otra parte.

animalDeBellota

#63 A los listos siempre tiene que saliros la vena de "sobrao". Ahí te quedas... "genio"

P

#64: Tienes razón, te pido disculpas. Es que estoy muy cansado de determinadas cosas en el mundo de la informática, como la historia de que C es más rápido, como si eso importase. Conozco a gente que te defiende C a muerte y son unos programadores pésimos que no podrían hacer algo decente ni en Python. Y da mucha rabia, que luego se te pongan a decir cosas como que C es más rápido que Java y luego no se dan cuenta de que eso da igual porque el cuello de botella en su aplicación es la red o el acceso a disco.

Java a mí no me gusta nada como lenguaje (trabajo con él y no lo soporto), pero es una de las mejores opciones para la inmensa mayoría de aplicaciones (aunque prefiero Scala mil veces). Para otras tienes C++, y para otras C.

En fin, me disculpo de nuevo. Estuvo fuera de lugar.

animalDeBellota

#65 Ok. ok... disculpas aceptadas. Esta claro que programar en cualquier cosa (incluso en asm) puede hacer auténticos truños desde el punto de vista de rendimiento. Lo que te digo es que si elevas el nivel de abstracción (que esta genial desde el punto de vista de productividad) pierdes control sobre lo que ocurre en el bare-metal. C esta muy cerca..por lo que si sabes lo que estas haciendo creo que puedes mejorar. También es cierto que si no tienes ni idea de programar, y no va a ser tu modo de vida ... usa Java. Si quieres saber a programar: aprende C y después lo demás (lo mejor seria empezar por ASM pero el x86 es odioso en ese sentido).

En mi opinión C++ ya empieza a poner las cosas complicadas (algo tan sencillo como la abstracción de tipos puede ser una jodienda... ya no te digo cosas como esta absoluta paja mental http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/design.html)

Otra cosa es con proyectos gordos. En cualquier caso sigo opinando que Java esta muy, muy lejos del hardware. Yo no tengo mucha experiencia pero benchmarks similares escritos en C y Java es bastante complicado sacarle chicha. Imagino que tienes que elegir productividad o rendimiento. En algunos casos lo importante es lo primero y en otros lo segundo...

animalDeBellota

#17 --> #16 Yo tambien quiero saber por que es tan "monstruoso". Que me digas el asm venido a más (esto... C), pero C++ me parece una virgueria.... igual no he programado tanto...

ur_quan_master

#23 Sobre todo por el abuso de templates. estoy haciendo una base de datos en memoria que funcione igual en memoria que en ficheros mapeados en memoria y la propagación de tipos es un infierno.muchas veces me acuerdo de la elegaancia de Java con ehcache.

animalDeBellota

#46 ya... pero eso no es del lenguaje... es una herramienta externa. Imagino que algo similar habra en C++. Java puede ser muy chulo pero el rendimiento es bastante malo. Como todo esta oculto es muy dificil optimizar nada. A mi me parece muy limitante para cosas gordas y complejas de verdad.

x

#52 En el kernel esta mas que discutido: http://www.tux.org/lkml/#s15-3

Azucena1980

Que virguerías hacen, son cosas del demonio

D

#3 Custer lo arregló todo de buen rollo.

D

#9 en ese caso #4 está equivocado, y deberían enviar a los de la Compañía de las Islas Orientales a escarmentarlos de nuevo.

m

#3 Sinceramente, para hacer esa monstruosidad se podían haber quedado cazando bisontes.

Campechano

#6 O enviando sondas a Marte

G

#3 Fuera el tema "indios", en la india el 90% de las personas según leí en articulo no vieron en su vida un cajero automático y viven en la extrema pobreza, o sea no andaran cazando bisontes pero por esa época seguramente.

El otro 9% deben ser programadores lol

secreto00

Débiles, si no saben programar qué no se metan.
Fdo.- Linus Torvalds

D

¡¡HEREJIAS!! Cualquier día vemos el kernel hecho en C#,o algo peor...¡¡en Java!!

kaoD

#15 imposible, no puedes ejecutar el CLR ni la JVM sin un kernel por encima.

D

#19 #24 Veo que a todo hay que ponerle la etiqueta ...

j

#c-27" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2267205/order/27">#27 No hombre, había captado la ironía (con lo del C# era evidente). Solo lo he comentado como curiosidad, para demostrar que a veces la realidad alcanza nuestras más disparatadas ocurrencias

mr_b

Es muy curioso que la gente vote irrelevante, sobre todo porque, por estadística, la mayoría de los que lo han hecho no saben por qué esta noticia es tan importante.

x

#48 ¿ tan importante ?

c++ hace tiempo que fue desechado para el desarollo de Linux: http://harmful.cat-v.org/software/c++/linus

Tannhauser

#47 #49 A mi me parece más una crítica a los desarrolladores que al propio lenguaje.

animalDeBellota

#50 #49 como si en C no se pudiesen hacer burradas. En fins...entiendo lo del kernel pero lo de git no tiene ni pies ni cabeza. Esos mismos argumentos servirian para programar todo en ensamblador en lugar de hacerlo C. No hay stl ni hay nada... te lo haces tu... seguro que si algo peta lo encuentras rápido. El C++ es simplemente más productivo... y esta mucho mas cerca de la máquina que el java.

Tannhauser

#51 ¿Estás seguro que me querías responder?

mr_b

#49 Pues precisamente. Después de los argumentos de Linus (como full of bullshit) ya todo queda más claro. Linus no quiere y punto.

Ahora, unos indios lo han hecho y aparentemente funciona, así que los argumentos que da el hombre son una basura. De hecho, como dice #51, siguiendo esos argumentos más valdría hacerlo todo en ensamblador.

Y sí, C++ no es un buen lenguaje. Tiene una sintaxis difícil, hace cosas raras con la memoria y, a poco que te despistes, la lías mucho. Pero eso no quita validez a lo principal que dice el artículo: programación orientada a objetos. C++ fue elegido por su madurez (de hecho, ya que es un proyecto nuevo y de investigación, yo habría elegido D). Pero de lo que se trata es de usar OOP para mejorar su mantenibilidad.

/cc #50

Tannhauser

#58 ¿C++ no es un buen lenguaje? Se utiliza para la gran mayoría de juegos AAA y entornos industriales y estáis criticando que una de sus mayores virtudes es el poder gestionar a placer la memoria, sin tener que esperar/forzar a colectores de basuras que bajan el rendimiento. Hombre, yo no afirmaría que sea el mejor, pero no estoy nada de acuerdo en que no es un buen lenguaje. La puedes liar mucho si tienes falta de experiencia porque al desarrollador se le otorga un """poder""" que otros lenguajes no tienen.

mr_b

#59 No es un buen lenguaje porque su sintaxis es muy retorcida. Y sí, puedes hacer de todo y te deja hacer todo con la memoria (algo bueno, por otra parte), por eso se usa para entornos industriales y juegos; el problema es cuando usabas, en C++98 o C++03, cosas como destructores que lanzaban excepciones o excepciones que lanzaban excepciones o si lanzar excepciones con o sin new. Ni siquiera estaba descrito en el propio estándar el comportamiento de eso (parece que en C++11 lo han mitigado, aunque nos han metido los move semantics con lo que también hay que tener su cuidado).

Y, volviendo al principio, no hablemos de la sintaxis de las templates, que me da la risa.

thingoldedoriath

No sabía que el kernel Linux actual no tuviese soporta para C++
Tengo que ponerme al día...

D

La pregunta sería ¿funciona?

M

#22 Y no es tan tonta, siendo indios...

dphi0pn

#22 Solo hasta recompilar el kernel

Jack-Bauer

Es una noticia tan importante que me voy corriendo a comentarla -aunque en realidad no se que comentar porque no me he enterado de nada-

w

En serio deberíamos hacer un Menéame solo para tecnología, me tienen las bolas llenas los que votan irrelevante solo porque a ellos no les interesa

O

El kernel de Linus o el kernel Linux, pero no el kernel de Linux. No hay nadie llamado Linux ni un sistema operativo con tal nombre

D

Lo cual por definicion es mucho mas mantenible pero tambien ligeramente mas lento. La POO añade sobrecarga, en sistemas en tiempo real se sigue utilizando estructurada y con razon. De todas formas imagino que en un buen procesador y si esta bien hecho la cosa debe ir como un rayo. Mi admiracion por este equipo.

D

#21 Quieres decir ~satanás();?

#26 Lo cual por definicion es mucho mas mantenible

Lo hace mucho más mantenible… ceteris paribus, es decir, si la calidad general del código es la misma.

ailian

Linus Torvalds confesó una vez que el hizo y sigue haciendo el kernel en C porque es el único lenguaje que conoce.

D

#47 "harmful" debería darte una pista.

#56 "El C++ sí es superior al C,"

Compara el tamaño un hello world entre uno y otro y compara.

O cuando un código misteriosamente no compila con un nuevo compilador o cambio simple de ABI, cosa que con glibc no me ha pasado.

listuam

Estáis haciendo el indio?
Yo entiendo que son de la India.

D

ALEJAD DE MI ESE ABORTO. COMO SE PASE A C++, ME PASO A OPENBSD Y PLAN9 TRAS ACABAR EL CICLO. VADE RETRO SATANA!!

Sofrito

El kernel de Linux tiene que ser algo así como el séptimo círculo de los infiernos de Dante.

Cehona

Desconozco en Ascii como son las señales de humo.

froster

¿Es impresión mía o los indios están muy a la vanguardia en desarrollo software? Más bien en produccion de "mano de obra software".

Da un poco de miedito, sobre todo viendo el nivel de mucha gente...

D

Vaya tela con los comentarios, ¿es código libre? Pues bienvenido sea coñe, ojalá tuviéramos 100 kernels libres en vez de uno. Además dejemos que se juzge a estos valientes por su trabajo y no porque son indios!

¿Ni un comentario técnico?

El C++ sí es superior al C, al igual que el paradigma microkernel es superior al monolítico, otra cosa es saber implementar o no, y ojo eso no le quita méritos al señor Torvalds...

d

El unico y mejor lenguaje al que deberia portarse es ADA.

D

Los indios son gente muy buena en programación.

m

#31 Quiero pensar que estas siendo sarcástico...

D

que han hecho?

ejemplo practico please

y por que es monstruoso?

Sofrito

Si alguien quiere descargarse el Kernel de Linux, puede hacerlo desde aquí:
https://www.kernel.org/

Es de una lectura superinteresante. Sobre todo porque la mayoría de las funciones no están documentadas y es muy divertido intentar adivinar para qué sirven. Yo todos los fines de semana me emborracho mientras leo el Kernel de Linux.

D

Irrelevante.

D

Frikis. Igual que se fueron los deportes deberían irse estas particularidades que sólo os interesan a los programadores. Borreguéame!