"No soy un verdadero programador. Yo armo cosas hasta que funcionan y luego sigo adelante. Los programadores de verdad dirán: 'Sí, funciona, pero hay fugas de memoria por todas partes. Quizás deberíamos arreglarlo'. Yo me limito a reiniciar Apache cada 10 peticiones", dijo. En una entrevista de 2002, el programador danés-canadiense dijo lo siguiente: "PHP es tan emocionante como tu cepillo de dientes. Lo usas todos los días, hace su trabajo, es una herramienta sencilla, ¿y qué? ¿Quién querría leer sobre cepillos de dientes?".
Comentarios
#2 PHP es un grandísimo lenguaje de programación, la mala fama del lenguaje viene por como se programaba en los 90 y principios de los 2000 con PHP, el conocido como código spagetti, no había backend ni frontend y todo se limitaba a paginas estructuradas donde se mezclaba el HTML con el PHP, el CSS y el JavaScript, por aquel entonces ni hablar de patrones de diseño, buenas practicas o código limpio.
Te invito a ti y a todos los que piensen que PHP es un mal lenguaje a que investiguen sobre PHP 8 y frameworks como Laravel o Symfony autenticas maravillas que obligan al programador a usar buenas practicas y POO, permitiendo realizar aplicaciones escalables y fáciles de mantener. Si a esto el añadimos un gestor como composer y que mas del 80% de toda la Web mundial esta programada con PHP, que venga otro hater y me diga lo malo malísimo que es el lenguaje.
Se nota. Algún día se hará justicia y lo acusarán de crímenes de lesa humanidad
#22 "JavaScript es una pasada". --Bloodsucker, 2021
"11" + 1 = "111"
"11" - 1 = 10
PHP = Puedo Hacerlo Peor
#2 Aun estoy esperando el juicio sumarísimo de Brendan Eich por crear JS.
#91 cuando usas === no solo estas comparando que los valores sean iguales, si no que el tipo de dato también lo sea. ejemplo:
$var1 = 1;
$var2 = "1";
if($var1 == $var2) devolvera true por que en ambos casos las variables alacenan 1.
if($var1 === $var2) devolvera false por que a pesar que ambas variables almacenan el numero 1, en el segundo caso la varible $var2 es un string no un integer. ¿ y por que es un string? por que al declarar $var2 usamos comillas dobles para indicarle que esa variable es una cadena.
#6 No hubiese sido tan malo si la gente se hubiese limitado a lo que el propio nombre del lenguaje dice java SCRIPT y no se hubiesen empeñado en usarlo como si fuese un lenguaje de verdad.
#7 valgrind
https://toggl.com/blog/save-princess-8-programming-languages
#16 php y Js son lenguajes decentes/interesantes siempre que te olvides que existe == y uses solo ===.
Hay dos tipos de lenguajes: los que reciben cantidades ingentes de críticas y los que no usa nadie.
#1 un brindis para Brendan Eich.
Que parió Javascript en un mes escaso de tiempo y seguimos con el sin reemplazo a la vista.
Un héroe
#42 y ya que estamos.
.
#16 hombre, un grandisimo lenguaje, pues va a ser que no.
Esta lleno de inconsistencias en su diseno. Es algo que funciona y poco mas.
Y eso sin meternos a hablar de seguridad.
#56 superconjunto estricto del anterior. Todo código JS válido, es Typescript válido. Como C89 y C++95
Hasta lo pone en Wikipedia.
Y para hacer eso hay que heredar mucha basura.
#60 En cambio JS te diria
Roses are red
Violets are blue
Unexpected '('
in line 32.
#82 Y tiene pinta de que así seguira.
¿A que no adivinas como resuelve la siguiente línea?
document.write(('b' + 'a' + + 'a' + 'a').toLowerCase());
#16 jajaja en los 90, ppos de los 2000, los dosmildieses y ahora, y no solo php, el mundo de la programacion es ñapa detras de ñapa. Es la politica en la informatica. Cada uno tiene su partido y todos se piensan q el resto son gilipollas. Despues todos hacen lo mismo y si no copian no tienen puta idea.
#3 Huy, si yo te contara. . . Hubo una época en que se descubrían un par de bugs de PHP a la semana. Pasabas más tiempo actualizando y retocando las plataformas que usándolas
Le entiendo, y le honra decir tales cosas. Yo he llegado a momentos programando en C, con programas monstruosos, que he perdido el hilo de por qué en un caso concreto de cada cien posibles, y sé cuál es, cierta función casca por un fallo de memoria. Claro que se puede rastrear el origen del fallo, pero a veces equivale al esfuerzo de rehacer la mitad del código. Es una especie de condena.
#2 espero que antes juzguén al creador de Java......sus crímenes no tienen parangón
#11 dios nos concedió el poder de modificar el DOM pensando que lo usaríamos para cambiar la imagen de un botón al hacer rollover y caímos en el mal creando cosas como Angular
#91 uno es estricto (también compara tipos) y el otro no (solo compara "valores"). Es decir, un "carácter cero" con == es igual que el "número cero", con === no son iguales (como debe ser).
Y no veas el jaleo que montas en PHP con el 0, el espacioso en blanco y el false como no uses ===
PD: Por eso se llama "lenguaje no tipado" al php (entre otros), no tiene en cuenta los tipos de los datos (simplificando).
Quien lo iba a decir, con lo amado que es su lenguaje entre la comunidad de programadores.
Para todos los que odiáis PHP, solo recordad que Meneame esta programado en PHP
La frase que más me gusta y que me representa es está:
"PHP 8 is significantly better because it contains a lot less of my code."
#40 No he escrito una linea de Javascript en mi vida. Han sobrecargado el operador + para String y entero como concatenacion pero para - lo han sobrecargado con cast y resta?
#33 Bueno como digo hoy contamos con frameworks que obligan al programador a realizar buenas practicas e implementar patrones de diseño, evidentemente ñapas siempre ha habido, hay y siempre las habrá. Pero el PHP moderno no tiene nada que ver con el PHP de los 90 y principios del 00.
#22 Javascript es una aberración monstruosa. Lo suyo no son bugs, son fallos de diseño garrafales. Casi todo lo que la gente disfruta del lenguaje se añadió mucho, mucho después, y son precisamente features que lo alejan de su esencia original y lo acercan a otros lenguajes más bien diseñados.
Su ventaja nunca ha sido el ser un buen lenguaje. Solo está donde está porque nació en el contexto de los navegadores web.
#33 Razón tienes, pero las aberraciones que se hacían con PHP4 comparado con algo bien hecho en PHP7 es sencillamente ver dos lenguajes completamente diferentes que comparten la sintaxis.
#32
Netscape:
"Oye, crees que eso es una buena idea?"
Eich:
"Lo quieres rápido o lo quieres bien?"
Netscape:
"Rápido, para mañana si puede ser"
#23 >> Que parió Javascript en un mes escaso de tiempo
Diez dias cuenta la leyenda.
PHP no es tan malo, lo que hay son malos programadores.
¿¿¿Qué utilidad tiene renombrar un programador???
Vale... ya me voy.
#16 La precariedad laboral y el instrusismo han hecho mucho daño a este y otros lenguajes. Con el tiempo tendrá el mismo tratamiento que el COBOL.
#37 los mineros no bajan a la mina en su tiempo libre.
Me encanta su sentido del humor, es un soplo de aire fresco entre tanto friki y sabiondo de stackoverflow.
#21 mi madre tenia una lavadora, lavaba a mano algunas veces, otras con la lavadora. Hoy ya no lava, lava mi padre, pero a veces usa la aspiradora
#115 ...y hacen jugadas tan maravillosas como sacar una nueva versión y en vez de darle un nombre nuevo, renombran LA ANTERIOR y toda la documentación existente a tomar por culo. Solo por eso el infierno se les queda corto.
Programar es una auténtica mierda que nos da de comer
#42 These are your father's parenthesis .... An elegant weapon, for a more... civilized age
.
#63 Sí claro.
Mira el código de Wordpress, cuando lo comprendas y entiendas -> NUNCA EN TU PUTA VIDA HAGAS ALGO ASÍ.
Si te va el masoquismo del bueno bueno, ya directamente busca en los confines de Internet como funcionaba PHP-Nuke, aprende a usarlo y luego, cuando te parezca bueno Wordpress, tampoco hagas nada como Wordpress.
#38 Y que lo digas. Yo me gané la vida profesionalmente como programador PHP de 2000 a 2002. Desde hace 16 años soy profesor. El año pasado hice un curso de Laravel y flipé.
#82 En general, el tipado de JS es una risa.
#51 Typescript es a JS lo que C++ es a C. Y sí, C++ es mejor, pero hereda mucha basura de C. Y así lo admitimos los que lo usamos.
Y definitivamente en el bajo nivel se vive mejor. Con C89, C99, C++95, C++11... y poco más.
#48 Bueno... con PHP 8 puedes tipar los métodos y olvidarte del ===
#91 Ya te han respondido bien y no tiene que ver, pero ahí va el offtopic tirando del hilo de comparaciones (equal) en PHP:
Pon el valor a comparar siempre a la izquierda de la variable que quieras comparar. Si se te olvida un =,
0 = $var;
Rompe y te avisa.
$var = 0;
Asigna 0 a $var.
A esto lo llaman Yoda conditions.
Y si quieres dejar lo del spaguetti para las comidas y las religiones, puedes probar con https://phptherightway.com/, https://refactoring.guru/es y https://codely.tv
#126 Lo del NaN es tremendo.
#4 No, si aunque no soy de los viejunos viejunos, empecé mis pinitos cuando aun estábamos con PHP 3.0, antes de que se introdujera la "orientación a objetos", y cuando lo de las fugas de memoria no era solo "un decir", sino la razón básica para que PHP sea de los pocos (o el único?) lenguajes "server-side" que no funcionaba con procesos de larga duración...
#20 yo
#59
En C te cascaría un error críptico diez lineas más abajo.
#10 Una herramienta muy útil.
#36 web assembly no permite acceso al DOM. Al menos todavía (y no tienen pinta de que lo vaya a permitir).
#106 Sin querer negar que el PHP puede llegar a ser espeluznante si el que lo maneja no sabe, cuando un programador no sabe lo hace mal en TODOS los lenguajes.
A veces puede ser un programador técnicamente muy correcto pero que es incapaz de lograr una lógica en sus programas mínima, y de repente te encuentras código que pasa los test unitarios, los test de integración, que es "correcto", que cuando lo miras es bonito, que hasta es simple (aunque no elegante)... pero que falla estrepitosamente cuando llega a producción y se debe a cosas increíblemente básicas que nadie ha tenido en cuenta y que son de "primero de programador".
#16 Jodo no he entendido ni una sola línea
#112 qué es el intrusismo en informática?
Tiene razón, programar es algo muy tedioso, espero algún día lo hagan las máquinas solas
#23 #22 Para eso está Typescript.
#72 Drupal está escrito en PHP y es uno de los grandes ejemplos de código bien hecho, limpio y estructurado siguiendo buenas prácticas.
Wordpress es una mierda pinchada en un palo ejemplo de cómo no se debe de hacer.
#79 "Oyes campanas y no sabes dónde". Se lo diré a mi jefe. Que me despida que mis años de experiencia en JS no me han enseñado nada
Perdóneme usted eminencia.
A lo que me refería, y el resto parecen haber entendido, es que es un lenguaje que se diseñó inicialmente para hacer pequeños scripts y a día de hoy su uso es muy distinto. Todo lo que me estás diciendo son obviedades.
#99 Claro, en Java o en NodeJS son mucho mejores. Ni que decir tiene coger un programa en COBOL o C++. No todo es Python en esta vida.
#99 Un lenguaje que requiere frameworks para ser mínimamente escalable y mantenible no es lo que yo calificaría de un "buen" lenguaje.
¿Has probado a hacer una app web sim framework en Java (por nombrar la segunda tecnología más popular backend del mundo web)? Serías el primero que conozco que ha salido a producción con ello y ha aguantado más de un par de años.
¿Que tiende a ser un infierno mantenerlo en la mayoría de casos? también.
Que vamos, no es por hatear, solo es mi opinión basada en mi experiencia teniendo que tocar aplicaciones de otros. Si fuera solo cuestión del programador, las aplicaciones hechas en otros lenguajes serían igual de desastre, pero tienden a ser peor cuando están en php, por lo que sea.
Claro, en Java o en NodeJS son mucho mejores. Ni que decir tiene coger un programa en COBOL o C++. Mucho mantenible todo. No todo es Python en esta vida chico.
#39 Correcto, es más el día que fui de visita a Italia me encontré una moneda, no recuerdo cuántas liras eran. Nada, al final no valia nada. La guardé para no perderla, pero ahora no sé dónde está.
#142 el bocadillo tenia atun pero no se donde acabo la mortadela tampoco
#24 Lo que viene a ser la burocracia en un estado.
#8 Un acrónimo que termina en HP es imposible que signifique eso.
El que descubrió los polímeros pensaba que su invento era una mierda. Se acabó suicidando. Hoy vivimos en la era del plástico.
#6 JavaScript es una pasada. Y no hablo de frameworks ni plataformas ni pollas. Hablo a nivel lenguaje. Aunque tiene muchos bug que se han convertido en features muy absurdas, no quita que el lenguaje sea único y adaptable.
#19 No
#16 #104 Y si me dices que Laravel es un buen framework ya me lo has dicho todo. Nunca nos vamos a poner de acuerdo. Laravel es otra aberración del infierno que se dedica a dar palizas y a escupirle a SOLID y muchos otros conceptos de arquitectura de software sin aportar ningún beneficio tangible a cambio.
#111 C++ moderno apenas sufre nada de ello. Cíñete a nunca usar un puntero desnudo, usar shared/unique donde toca, y te has ahorrado el 90% de los problemas de C/C++
Respecto a operaciones peligrosas, nada que no tengan otros lenguajes modernos. Python y Js tienen "mixins" para implementar la herencia múltiple, y a falta de constructor de copia, en otros lenguajes tienes que explicitar de alguna forma si una copia es profunda o no si esta no es como el lenguaje hace por defecto. Reimplementar operadores es "syntactic sugar" si quieres usarlo, nada te impide usar .append() en vez de operator
#126 Yo sin escribir una linea de Javascript? Te aseguro que va a seguir siendo asi.
Sobre el acertijo, me gustaria pensar que en un error de compilacion, pero obviamente no va a pasar. Y sospecho que tampoco va a ser baaa.
#131 Me parece una sabia decisión, la comparto a efectos prácticos.
La respuesta, en el enlace que está en el comentario
Recuerdo en los 80s, estaba en una superficie mayorista y toda la empresa asustada "hay que llamar al programdor que el ordenador no funciona", llamarlo a 200 km qu venga y se entiende pagarle muy bien ... era chico, en los 90s eso de "programador" era como ser alguien, un yuppie de esos un triufador gracias a sus estudios y lo inteligente que es el tio, ahora por un lado dicen que es como el que trae los cafes a la oficina, o cuando efectivamente, hablando con uno y con otro ingenieros informaticos te dicen "yo no soy programador" ... osea programador era yuppie, tio de exito y genio ... y hoy oscila entre una cosa asi, como un pringao laboralmente muchas veces, una cosa rara oscilante que no se termina de saber que es eso
#14 amen, como bajar a la mina
#52 Typescript es a JS lo que C++ es a C.
??
Nope.
Esto viene a confirmar el "El Teorema de los Infinitos Monos", ¿no?
#5 ¿Quizás porque jamás se pensó para tratar procesos de larga duración?
#24 Eso es JS++, que se compila a JS normal. Para eso ponme WebAssembly, que me permite separarme totalmente de JS al menos al escribir código casi en el lenguaje que me de la gana.
#13 Lisp:
Lo hizo un mago. Con muchos ((((((()()(()))))))(()(())(
#43 ¿He dicho alguna mentira? Trabajo todos los días con JavaScript, a todas horas. Y que sepas que NPM es un coladero de fallos de seguridad.
PD: La cita la has formateado dpm, espero que no pongas los puntos y coma igual en JS (al menos ponlos).
#64 ¿Qué problemas de seguridad tiene PHP? Si expones cualquier aplicación a Internet, tendría los mismos problemas de seguridad.
#47 No dejan de repetir que hacen falta programadores. La cuestión es que hay suficientes, pero quieren provocar paro en el sector para hundir los salarios.
#70 Medio WWW está programado en PHP. La otra mitad no funciona o se rompe aleatoriamente como las páginas de la Administración en JSP/ASP.
#148 C permite programar aplicaciones con desbordamientos de pila y de búfer. ¿Decimos que C es inseguro?
Son herramientas, el inseguro es el programador que las hace, que no controla bien todas las condiciones.
#18 es lo que tiene el exceso de oferta
#48 #67 ¿Alguien puede explicar esto a un mierdaprogramador de código espagueti?
El manual dice que == es equal y === identical
Habiendo programado PHP normal que odie la programación
#76 ¿Cuál de las dos versiones? ¿La anterior a usar las librerias de Symfony o la que las usa?
#24 iba a poner lo mismo
#22 cuando conozcas typescript vas a flipar entonces
#18 pues que cambie de empresa ese "programador"
Algún buen tutorial donde empezar y profundizar?
#62 igual que C permite aliasing y C++ te va a gritar fuertemente con Warnings que no lo hagas, pero puedes ignorarlo o decirle al compilador que cierre la boca, que yo controlo
No hay lenguaje malo , solo programadores inexpertos...
#80 Y el demonio se extendió hasta el back.
#66 Typescript es un superconjunto de javascript con matices, del mismo modo que c++ es un superconjunto de c con matices.
Las diferencias que se están planteando son esos matices.
Dejé de tocar PHP hace casi ocho años... No volvería a tocarlo si pudiera evitarlo, pero es un lenguaje sumamente interesante, ver cómo ha evolucionado, la cantidad de cosas interesantes que uno encuentra en su librería estándar...
#85 Yo era frontender, hacia que las cosas se vieran bien y bonitas en cualquier navegador, metía efectos visuales, maquetaciones complejas, todo se veía fluido y rápido. Ahora me preguntó que coño hago leyendo y sirviendo datos en react como un vulgar backend. Esto es una estafa.
#62
const obj: any =
obj.b = 2;
TypeScript es javascript con anotaciones. Basta cambiar la anotación. Y si no quieres usar any pues creas el tipo... Y si no quieres crear el tipo ni usar any, pues te peleas con el tsconfig, babel, el linter y demás y lo haces.
#105 Lo que le comentaba al otro en este hilo es que, heredar todo JS heredas muchas de las basuras de JS, por necesidad.
De la misma forma que C++ heredó muchísimos de los problemas de C. C++ es un lenguaje más amable que C, y si solo programas en C++ no tendrás ningún problema con las "putaditas" de C, pero al final terminas teninedo que enfrentarte a todos los problemas de C de una u otra forma, es inevitable tener que lidiar con código "Estilo C" en C++ o directamente código en C.
A TypeScript le pasa... Lo mismo. Si te limitas a typescript, solo usas typescript y evitas JS "tradicional" como la peste... Terminarás teniendo que pelearte en algún momento con las putaditas de Js, igual que los de C++ tenemos que conocer C y sus putaditas por si acaso. y esto último lo puedo confirmar por dilatada experiencia.