No estoy de acuerdo con eso. Un técnico no necesita saber cómo funciona el negocio, no es parte de su función e incluso ni le interesa, para eso hay otra gente que sabe del negocio. De la misma forma se puede decir que alguien del negocio no sabe de tecnología y por tanto es un lastre para el proyecto. Siguiendo esa lógica podemos decir que el de negocio tiene que saber de la tecnología también... ningún técnico está enfrentado al mercado, es simplemente que no hace esa función de analizar el mercado. Bastante tiene que aprenderse las millones de tecnologías que existen.Sí, FB existe. Es una 'empresita' que (como muchos dicen) no vale para nada ni hace nada útil. A pesar de lo cual factura 4 veces lo que factura Inditext y casi 10 lo que factura el Grupo Telefónica.
Que esas críticas son muy Paco, 'ej que Google es una hez'. Y sigue siendo la 2ª o 3ª empresa más grande que haya habido en la historia....
Y puedo estar de acuerdo en que por ejemplo Facebook tiene problemas, porque su modelo se va volviendo obsoleto y lo del Metaverso aparentemente no parece la idea más brillante del mundo y les está costando una pasta increíble en inversión.
Pero que cualquier trabajador normal diga esas cosas de empresas que han arrasado y aún arrasan, me parece al menos temerario. ¿De qué viven aparte de la publicidad? cachopo, que hablamos de miles de millones de usuarios y cientos de millones de clientes de pago. El mayor negocio publicitario que haya existido jamás.
No sé, cuando leo críticas así a la brava, sin tener los pies en el suelo y negando esas realidades evidentes, termino pensando que en IT estamos en España siempre atrasados, precisamente porque los técnicos no es que sepan de cómo funcionan los negocios, sino que son un contrapeso.
Y eso es un problema; una empresa tecnológica que no esté creada o dirigida por gente con muchos conocimientos técnicos, tiene un problema...y aquí el problema no es que los creadores de empresas o directivos no sepan de IT, es que los de IT están enfrentados con el mercado y no quieren saber nada de esto.
Y casi todos los nuevos lenguajes de 10 o menos años soportan esas características, o bien equivalencias. No entiendo del todo lo que propones, sustituir todos los lenguajes por uno solo?Las llamadas "abstracciones" del SW modesno son todas un puñetero timo, porque como ud muy bien dice, se hacen sobre abstracciones anteriores ya rotas como wrappers para tapar la hez que ocultan.
Si desde el principio se hubiera hecho un buen sistema de tipos, no haría falta tanta abstracción y capa de los narices. Coges tus ADT (tipos de datos algebraicos sumas y productos ) y tienes toda la abstracción que quieras combinandolos con records , pattern recognition, desestructuración del tipo anidado etc etc y los NULLS metidos en tipos de dato contextuales, para que no te rompan el sistema de tipos cascandolos con null pointers y excepciones de hez cada dos lineas.
Cuál es el problema. Qué si todo el mundo adopta un sistema de tipos asi, se les acaba el negocio a los Micropoff de turno, ya no hay releases , antiestéticatures y la berenjena en vinagre para sacar un C# cada vez mes arreglando al anterior.
La informática apesta a hez como negocio. DEsde los 80-90 sabemos perfectamente como hacer un lenguaje de programación que genere SW predictible y libre de errores. Pero ,nada, hay que facturas miles de millones vendiendo basura.
Ejemplo claro de lo que he comentado antes, elegiste trabajar en el sector TI porque buscabas el dinero, no era vocacional ni te gustaba.Y casi todos los nuevos lenguajes de 10 o menos años soportan esas características, o bien equivalencias. No entiendo del todo lo que propones, sustituir todos los lenguajes por uno solo?
Vamos te lo resumo yo. La OOP es sólo syntactic sugar para hacer lo que se ha hecho simple en procedural pero más alambicado. Encima todo eso de la encapsulation, herencia y polimorfismo son chorradas inventadas por 4 hippies californianos que ese día deben ir engrifados hasta las cejas: la encapsulación se rompe importando referencias, la herencia degenera en objetos dios y el polimorfismo es un ****** en run time que te rompe el sistema de tipos con el que garantizas la corrección de tu programa.Pacomer, ¿porqué esta verborrea irracional y sin sentido?
El mundo está hecho gracias a la OOP. Estado y funcionalidad. Se necesitan los dos. Sin estado no se puede construir absolutamente nada de valor...
Rara avis. Como no sea Erlang, pero aparte de las telecos, es raro que se use, pues ya está todo hecho en las telecos.
¿Es la moda programar decentemente? Pues menos mal. Excepto el templating que es algo propio de C++ (y obsoleto, como C++), todo lo demás es básico. Yo no contrataría a un programador que no supiera eso. Yo he visto proyectos "hechos" con OOP (pero en realidad paradigma imperativo envuelto en clases), que eran un caos total sólo por el número de lineas. Usando elementos de programación funcional de manera sana se reduce el código mucho, y además es más flexible.
No sabe ustec lo que dice. Todo el mundo del ML y de las matemáticas es Python, y se hacen proyectos serios. Que luego esas librerías Python usa un motor escrito en C o Fortran por debajo, pues muy bien, pero nadie usa las librerías en C directamente. A veces hay APIs alternativas en otros lenguajes de alto nivel, pero otras veces sólo hay una API Python.
Todavía han de ver mis ojos una oferta de Haskell.
Como mucho verá alguna de Scala para proyectos BigData antiguos, porque las librerías desde hace unos años se han migrado a Java al no haber programadores Scala suficientes.
Alguna oferta de Clojure puede quedar también.
Los talibanes de .NET pueden tirar de F# para no salirse de la marca.
Lo que he dicho al principio: al final necesitas estado. Queda muy bien quedar como fundamentalista funcional puro, pero con eso sólo puedes solucionar un subconjunto de proyectos muy pequeño. Para todo lo demás necesitas estado. Y ahí es mucho más natural usar OOP (y puedes también usar FP junto con OOP) que forzar FP y meter todo el manejo del estado debajo de la alfombra.
Las cosas de la bolsa están escritas mayormente en Java, y sólo si se necesita mucho rendimiento, en C o C++, pero a costa de enormes problemas.