Hace 1 año | Por --639557-- a genbeta.com
Publicado hace 1 año por --639557-- a genbeta.com

La NSA o Agencia Nacional de Seguridad de Estados Unidos ha publicado una guía en la que anima a las organizaciones a cambiar los lenguajes de programación de C y C++ por alternativas "memoria segura", donde entran otros lenguajes como C#, Rust, Go, Java, Ruby o Swift. "La NSA recomienda que las organizaciones utilicen lenguajes seguros para la memoria siempre que sea posible y refuercen la protección mediante defensas de endurecimiento del código" dice el último comunicado emitido por el organismo.

Pacman

Java?

Socavador

Es que así no hay quién espíe tranquilo...

frg

#3 Espero más Rush en el kernel de linux. Solventa muchos de los problemas existentes con drivers de todo tipo y condición.

D

#1 demasiado facilón para ser seguro

Fingolfin

#3 Pues en este caso no les falta razón

abnog

Si lo recomienda la NSA, ya sé lo que NO tengo que hacer.

Aeren

¿Pero Java no lleva 10 años obsoleto?

Yo me alegro de que cada vez se use menos en la web, por que vaya porculo cada vez que fallaba la versión concreta y exclusiva que había decidido utilizar el becario cutre para tál página de la administración. Entre flash y java retrasaron el avance de internet unos 10 años.

Aeren

#8 C está muy bien para aprender las bases del desarrollo de software y para cacharritoso como arduino y otros controladores robóticos. Luego ya con esa base puedes ir aprendiendo el lenguaje que toque según las necesidades de la empresa. Luego en las entrevistas de trabajo ya te pueden pedir 15 años de experiencia en ruby, .net, o lo que sea que esté de moda, que leyendo un par de libros te puedes apañar en una semana.

D

#11 No. Lo actualizan.

¿Quizás hablas de Java para hacer snippets web? Ese es un uso residual de Java. Siempre lo han sido. En la actualidad es uno de los lenguajes más usados.


Por cierto, quizás sin flash hoy el uso de Internet en el mundo sería sensiblemente inferior. Gracias a flash se llevaron las animaciones, los gráficos y los juegos a la web. Tampoco retrasó nada, su problema fue de agujeros de seguridad

t

#3 Pues deberías saber que esta gente tiene, o tenía, manuales bastante buenos para el público de como asegurar equipos linux y Windows.

t

#11 Confundes Java del lado cliente con Java del lado servidor.

D

#13 Flash era una mierda para invidentes y algunas animaciones bajo ADSL tardaban la vida en tirar. Yo era el rarito usando Lynx/Links, no lo niego, incluso Opera a veces. Pero mucha gente con RDSI las pasaba putas por esa peste.

Ahora las webs siguen tirando mierda, pero al menos con UBlock Origin reduces, literalmente, el ancho de banda de anuncios en un 90%.

He probado un navegador de terminal con soporte de JS via QuickJS. Bien, gracias a un fichero de /etc/hosts capando publi y demás cosas, Menéame tira a 2.7 KBPS. Hacer eso mismo en un fichero de /hosts hace que en vez de tardar unos 10-15 segundos en el cacheo inicial se tire mucho más haciendo imposible leer nada.

Pero es que incluso con fibra se satura la conexión con los anuncios. Imagina un mundo con anuncios Y Flash.

D

Razón de más para usar C y C++.

D

#12 Sin C no hay Unix,ni iOS, ni Android, ni Linux, ni BSD, ni Mac OS.

D

#9 Golang hoy se folla a Java para eso.

t

Pues yo opino justo lo contrario a la mayoria.

La NSA ya tiene sus backdoors, y lo que necesita es estabilidad en los programas, ya que los "malotes" son los que buscan los errores de memoria para poder acceder al sistema.

PauMarí

#9 eing? No estarás confundiendo Java con Javascript?

f

#21 tu sabes que ni java ni rust son interpretados, verdad?

p

#22 No, Javascript es el lenguaje que se ejecuta en tu navegador web. Pero en el servidor, el código que se ejecuta cuando buscas un producto, cuando lo añades a tu cesta y se guarda en base de datos, cuando haces el proceso de compra, cuando se genera el recibo, cuando te llega una notificación por correo electrónico... es Java. Es su principal uso (además de Android) y siempre ha sido así, aunque mucha gente tienda a asociar Java a Applets (que sería algo parecido a Javascript en que se ejecutaba en el navegador).

E

BoF everywhere 

whatisthat

#24 A todo lo que te ha dicho #25 (que está bastante completo), habría que añadir que te has colado diciendo que JS no funciona como servidor, cuando hoy en día es una opción especialmente popular.
https://w3techs.com/technologies/details/ws-nodejs

Pero no solo como servidor; también se nutren de diferentes frameworks como electron para crear aplicaciones multiplataforma como el visual studio code, discord...
https://zeke.github.io/electron.atom.io/

D

#16 Lo importante es que era la única opción para poner gráficos y animaciones en la web.

¿lento? Vale.

t

#23 No. No sabía que creaban ejecutables que directamente se ejecutan sin tener ningún software específico instalado.

Pacman

#9 andas liado, como dice #22
Y todas esas compañías están migrando a otras cosas.

mecha

#16 "con UBlock Origin reduces, literalmente, el ancho de banda de anuncios en un 90%."

¿Sabes que los anuncios se descargan igual en gran medida y que ublock solo hace que no los veas?

D

#32 Creo que UBlock Origin también bloqueaba conexiones.

https://github.com/gorhill/uBlock/wiki/Strict-blocking

Definitvamente si lo pones en ajustes avanzados nada debería conectarse.

Yo por lo menos tengo bloquadas las peticiones a terceros.

D

#32 https://github.com/gorhill/uBlock/wiki/Does-uBlock-Origin-block-ads-or-just-hide-them%3F

Despejando dudas.

Sí, bloquea las peticiones. Lo mejor para ello es ir a los ajustes de UBo y descargar los recomendados y actualizarlos.

tul

#18 ni windows

tul

#32 ein, no, para nada, no llegas a descargarlos.

D

#36 Puede ser que #32 confunda Adblock con Ublock Origin. Y no, UBo trabaja de forma diferente.

ostiayajoder

#6 Precisamente por eso es seguro.

Y no te preocupes por JVMs, otra cosa no habra, pero JVMs a montones. Y todas Open Source.

ostiayajoder

#31 Si claro, cambian lo que les da un monton de pasta for the lols

PauMarí

#39 te aseguro que no me falta mundo, tengo (tenía, mejor dicho, ya que hace unos años) el record europeo de website con más compras simultáneas soportadas... (máquinas virtuales repartidas en diferentes datacenters con un backend NO funcionando en java (pero sí, a mi pesar, con un clúster de SQL Servers)).
Y cuando me refiero a una decisión empresarial me refiero a una ADMINISTRATIVA (tema sueldos programadores y no querer asumir el coste de canviar a un sistema moderno)
Creo que al que le falta mundo no es precisamente a mi....
Por cierto, la tecnología del backend de Netflix es público (de hecho alguien meneó un artículo al respecto por aquí). El front creo que era React, no lo recuerdo ahora mismo pero te aseguro que el Back NO era java, hablas sin conocer de lo que hablas.

meneandro

#4 Las prisas no son buenas...

Polarin

#1 eh... nosotros tambien tenemos corazoncitos... aunque nos hayan hecho usar "ese" "lenguaje".

D

#45 OpenJDK. Java es libre desde hace eones, y ahora está el GraalVM en OpenJDK.

Jajjajajjajajja

#11 Sin Flash jamás habríamos tenido a Cálico Electrónico o Xiaoxiao

R

#21 El código de OpenJDK es GPL. Si hubiese una puerta trasera, sería visible en el código.

Capitan_Centollo

Lo lógico es que si estás programando en C o C++ sea porque la aplicación necesita un control a bajo nivel del dispositivo, ya sea por velocidad de proceso o por ahorro de recursos. Cuando programas algo a ese nivel se da por sentado que sabes lo que haces y tienes la experiencia necesaria. Lo que no pones es a un novato a hacer microcontroladores para un satélite militar, digo yo.
Ahora, si necesitas un código que se ejecute en un espectro amplio de dispositivos muy dispares entre sí, quizás sí te convenga usar una plataforma de desarrollo a un nivel más alto, que te evite quebraderos de cabeza en el testeo y tener que hacer hacks para dispositivos concretos, sobre todo si no dispones de mucho tiempo o recursos.

R

#41 Efectivamente, mucho es publico. Y hay java a patadas. https://netflix.github.io/

D

Imbéciles. No hay nada más seguro que C.

l

#9 Es lo que tienen las modas. Hay software usado muy a lo bestia funcionando en Java, como Confluent o Presto, pero como es antiguo puede ser bueno ni molar. La gente es así

lgg2

Rust lo veo muy "diplodocus" por tamaño de herramientas, verde por como está aún en cuanto a integracion con IDEs y depuradores y que no tenga aún una librería gráfica bien definidas a estas alturas.

También es bastante "caja negra donde opera la magia" con Cargo.

R

#25 la mayoría de los servicios de AWS tienen Java por detrás

K

#9 Permite me que lo dude ¿De donde sacas la idea de que el back de esas empresas está en java? Primero, supongo que será una amalgama de lenguajes. Por ejemplo, si que se que Ebay está principalmente en PHP por qué lo dijeron cuando desarrollaron los microservicios. Pero si de verdad crees que el back de esas empresas es sólo una aplicación monolítica hecha en java y no varias decenas montadas en SOA con ESBs y Middlewares (software hecho mayoritariamente en C) o mejor aún cientos de microservicios cada uno de su padre y de su madre según convenga, o que ellos usan solo software propio y no de terceros, es que no has trabajado en una empresa medianamente grande. Seguramente la pasarela de pago este hecha en un lenguaje y con una tecnología, la logística en otra u otras, el control de almacenes en otra, la facturación en otra, el esb en otra, cada una con su repositorio de código en otra, con su gestor documental en otra, cada una con su motor de base de datos en otra, y con sus ETLs en otra, con su análisis de datos en otra, con su BI en otra, etc y eso simplificando mucho el tema.

Ehorus

Me quedo más tranquilo sabiendo que no han recomendado Cobol.....

infraser

#41 te falta muuucho mundo si te crees que el único por el cual se elige java es administrativo

g

#10 recomiendan cambiar a lenguajes más lentos porque así te cambias a una CPU más moderna y ahí está “su magia”.

prejudice

#4 git también está escrito en C
Aunque tiene menos complejidad que el kernel de Linux y la verdad no creo que necesite mejoras, ya es un herramienta perfecta

dalton1

#19 Sólo si Java dice que sí, es que sí.

F

#49 No creo (no soy experto en C/C++) que la cosa se resuelva contratando expertos (en gran parte supongo porque no será tan fácil encontrarlos). De ahí que todas las grandes tecnológicas están preocupados por los exploits de memoría y estén prácticamente alineadas respecto a Rust.

j0seant

#18 tampoco tendríamos los interpretes, compiladores o maquinas virtuales de otros lenguajes, ya que la grandísima mayoría están escritos en C/C++

Vensier

#1 hay muchos lenguajes modernos que usan la máquina virtual de java, como kotlin, Scala, Apache Groovy o Clojure

R

#59 para mi git es lo que realmente demuestra la genialidad de Linus como desarrollador.

E

#25 La mayoría del backend de Netflix sigue escrito en Java

canduteria

Entonces c y c+ a saco. 

woopi

#62 Es que el chiste era que dejé a la novia por que no sé de Java

PauMarí

#61 soberbia? Dime algún NUEVO proyecto que se base en java? Tenéis ganas de discutir obviedades? Ya nadie se lo plantea....

PauMarí

#57 sí papa, sí, lo que digas... wall

e

#69 Si la NSA mete una puerta trasera en el compilador, cosa que recuerdo ya se ha hecho, estás en las mismas. Tienes un código binario con un troyano que se ejecuta fantásticamente.
El tema de meter puertas traseras te da lo mismo, sea con máquina virtual o con código compilado.

PauMarí

#54 y ahora es cuando viene lo de que Facebook está hecho en php?

o

De Rust no tengo ni idea de como funciona, pero de Java lo que quieren es enchufar la puerta trasera en la maquina virtual que es de Oracle (curiosamente empresa americana que abre el culo si se lo pide la NSA) y controlar todo sin que puedas hacer nada por evitarlo. Se les ve el plumero a kilómetros de distancia.

PauMarí

#50 hadoop? Un proyecto de más de 20 años... Lo dicho, los nuevos proyectos no se hacen con java pero eso no quita (ni niego) que existelan muchos todavía.

D

Dennis Ritchie estará revolviendose en su tumba.

Meneacer

En esa lista falta Ada/SPARK que es lo que está usando, por ejemplo, NVIDIA.

https://www.reddit.com/r/programming/comments/yoisjn/nvidia_security_team_what_if_we_just_stopped/

D

Esto es como si el lobo viniera a decirle al pastor como guardar las ovejas.

R

#74 busca mis comentarios. Mi LinkedIn está ahí. Cuando veas quién soy y en que trabajo te darás cuenta que estoy en una posición privilegiada para entender el uso de Java en AWS. Es más, creo que puedo decir con confianza que es la posición más privilegiada que existe.

c

Y qué tal aprender a programar y no contratar chapuceros?

c

#23 Si lo son. Se "compilan" a una máquina virtual que ejecuta el programa.

No producen código máquina nativo.

c

#30 No. Java no "compila a medias".

Java crea un binario para que una JVM lo ejecute

ur_quan_master

#1 Java sigue siendo muy bueno para lo que es.
Por otro lado, como dice la coplilla: C y C++ son de la famila... Y a Rust lo encontré en la calle.

PauMarí

#81 y eso en que invalida mi comentario?

c

#25 ninguna de esas empresas (y me atrevería a decir ni ninguna de la mayoría de "nuevas" empresas) montan un backend en java
Java es un gran lenguaje de servidor y probablemente el MAS utilizado para aplicaciones de alta demanda y rendimiento.

Java no es ni anticuado ni engorroso. En qué te basas para sostener esa afirmación?

Por qué dices que "solo interesa desde el punto de vista empresarial"?

PauMarí

#87 igual que cobol lo fue en los bancos, y por el mismo motivo que tardaron tanto en substituirlo. Lo cortés no quita lo valiente.

c

#51 Desde luego. Si el programa está bien hecho solo el ensamblador lo iguala ..

f

#84 #83 #69 Pues mira, despues del primer comentario me entretuve buscando, y resulta que no se consideran ni compilados ni interpretados, justamente por que tienen parte de los dos procesos.

Por cierto, cuando hables a uno que presumiblemente no sabe del tema (como era mi comentario anterior), es mucho mas entendible por esa persona "se compila a medias" que "produce un bytecode, que vendria a ser un codigo intermedio, y blah-blah-blah". O sea que sí: para un no iniciado, java "compila a medias"

D

#73 Si, siempre que uses una máquina virtual y/o un compilador fiables, todo en orden... http://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf

Pero no es lo mismo troyano en código compilado (lo metieron al compilarlo) que compilador con troyano. Lo segundo es top top.

Pacman

#9 como dicen algunos talibanes, si se mueve el ratón no estás programando lol

R

#86 decías anteriormente que ninguna de esas empresas (incluyendo Amazon) montaría un backend usando Java, y luego has intentado compararlo con el uso de PHP en Facebook, que hace años reemplazó PHP por Hack y distintos lenguajes para backend

Azrapse

Al margen de que esté hablando de putas La Tacones (NSA), el hecho es que Rust tiene el mismo escenario de uso que C/C++, pero su gestión de memoria es más robusta y no le deja al programador pegarse un tiro en el pie con tanto entusiasmo como C/C++ lo hacen. Y es igual de rápido.

Por muy buenos que hayan sido C/C++, y sean los cimientos de casi todo, son lenguajes anticuados, que han sido "actualizados" una y otra vez de la forma más ortopédica y frankenstein imaginable. Un programa moderno en C++ da asco leerlo, por la cantidad de "ruido" absurdo que conlleva hacer las cosas bien sin que ser vaya todo al garete en temas de librerías, referencias, gestión de memoria, etc.

Me recuerda a la programación en PHP y Javascript modernas, que para tener algo decente y robusto, te tienes que montar un pifostio en andamiaje y seguir unas prácticas a rajatabla. O si no, el caos.

vorotas

#16 Prueba con una raspberry y Pi hole, y si quieres enfrascarte más Pihole + Unbound. UBlock lo tengo también, pero el PI Hole discrimina por dominio al usarlo como servido DNS.

Zade

#9 La mayoría de esas empresas usan también los “lenguajes de moda” incluso en el lado servidor. Por ejemplo hay servicios de Prime Video implementados con Swift de lado servidor porque es más rápido que el resto de alternativas.

c

#88 Ni de coña. No es para nada comparable.

D

#5 No lo dudes. EEUU siempre acusa de espionaje a los chinos sin pruebas, pero es que a ellos les hemos pillado espíando infraganti a empresas y primeros ministros europeos. Y nos ha dado igual.

c

#31 Como cuales?

h

#22 #31 #55 Yo estuve un tiempo currando en Amazon y confirmo que la mayor parte del código era Java. Sí, hay miles de microservices pero el 90% era Java.

Y no están migrando a nada. Como mucho estaban pensando cambiar el framework propio y empezar a usar Spring. Si aún había cosas críticas en Perl porque era el lenguaje de moda cuando la compañía estaba en sus inicios dudo que vayan a migrar masivamente a otro lenguaje 😂

1 2 3