(...)



Archivado por última vez {{ '2022-05-02T15:11:51.410Z' | moment 'DD/MM/YY HH:mm'}} (Hora Local).
Descargar archivos ({{ 10 }})

164043731988.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 48.96KB, 780x496, golang-Programing.jpg )
97595

/#/ 97595
{{{"Estuve echándole un ojito a este lenguaje por recomendación de un anon.\n\n>creia que Go era un lenguajesucho forzado por Google, así que no le presté atención\n>el negro me lo recomienda\n>voy a ver y... ¡WoW!\n>un lenguaje de sintaxis fácil pero complejo al mismo tiempo\n>me enamoré\n\nSi estás aquí, conoces el dilema de los programadores:\n>hago un programa eficiente pero me complico la vida y demoro para tenerlo hecho\n>o hago una mierda fácil de hacer pero de pobre rendimiento, total el que la va a usar es otro\n\nGo se enfocó en acortar esa brecha, para que podamos desarrollar más fácil en un lenguaje casi tan eficiente como C.\n\n>La diferencia con C en rendimiento es porque Go tiene un recolector de basura (garbage collector) y así no te preocupas de liberar la memoria dinámica\n>El for es el while también\n>El switch no necesita break en cada case sino fallthrough para transpasar hacia abajo\n>Go maneja punteros\n>Go puede usar ducktyping pero una vez asignado, el tipo de dato no se puede cambiar (el compilador se fija qué dato es)\n>Go compila desde y hacia cualquier Sistema Operativo, por ejemplo, puedes compilar a MacOs sin tener una Mac\n>Go tiene structs como C\n>Go no admite excepciones (no hay try-catch porque dicen que la gente lo usa mal)\n>Go te hace huelga si creas una variable y no la usas o si importas una libreria y no la usas\n\nComo ves, no se quedaron en sólo mezclar Python con C sino que pensaron en crear un lenguaje perfecto (o casi).\n\n¿En dónde fubciona mejor?\n>Servidores\n>Redes\n>Terminal\n\n¿Dónde se usa menos?\n>Desktop\n>Android e iOS\n\nEl motivo es que las UI (User Interfaces) no están tan maduras como en otros lenguajes. A pesar de eso, sí encontré algunas. Lo que hacen es hacer una vista web (HTML, CSS e incluso pueden llamar código JS).\n\n>Guark allows you to build beautiful user interfaces using modern web technologies such as Vue.js, React.js..., while your app logic handled and powered by the amazing Go.\n>For example, we can build a Desktop App with Go and Vue.js using Wails framework.\n\nAparentemente, no es tan cierto que sea inapropiado para Android e iOS, porque hasta tienen un herramienta especial para eso:\n>Next install the GoMobile tool which compiles and runs pre-existing Go applications for Android and iOS\n\nPara desarrollo de juegos incluso se usa:\n>Ebiten\n>Tetra3D is a 3D software renderer written in Go and Ebiten and made for games" | renderPostMessage 97595}}}

>>

/#/ 97604
{{{"asi es negro, es como si google se diera cuenta de la mierda de codigo que terminan haciendo en python con un rendimiento pal culo. Tomara las buenas partes de el, agarrase conceptos de c y pascal y termina con un lenaguaje sin autismo, bien hecho y poca fricción." | renderPostMessage 97604}}}

>>

/#/ 97611
{{{"Yo quiero aprender Go, es más que garantizado que en un futuro va a haber bastante código abandonado que portar desde Python y Java 6-8 (hay mucha corpo que en serio prefiere esperar a que el sol engulla la tierra antes de confiar otra vez en Oracle, kek, bien les cabe) así que sabiendo esos tres más un poquito de shell no debe dejar a nadie atrás. De paso Go me parece que es un trampolín más sólido para empezar a aprender C más adelante, menos preocupación por las especificidades del ecosistema." | renderPostMessage 97611}}}

>>

/#/ 97612
{{{">>97595 (OP)\nGo es un lenguaje simple, hasta el siguiente año van a añadir genéricos, el lenguaje te permite escribir código concurrente mas facil y poder compilar un solo archivo binario, mas tener buenas bibliotecas para manejo de red, para aplicaciones nivel usuario u otras tenias el problema de los genéricos, por lo que usar Go es para aplicaciones a nivel red o el backend de servidores, incluso un mas bajo que hacer el render HTML, aunque Hugo es muy popular como motor de microblogging, eso de poder simplemente mandar un binario a producción y que use recolector de basura es muy muy útil.\n\nLo que es Go lo puedes aprender rapido y tener cosas listas, de los problemas es su gestión de errores con un if en todos los casos y que trabajar con bases de datos es muy meh, Java es mas rapido, tiene mas características, mucho mayor ecosistema, pero usa mas memoria, no compila a nativo(de forma oficial y con el mismo rendimiento) y su modelo de hilos nativo es mas complicado que el de Go, su interfaz con C es complicada contra la simpleza de Go." | renderPostMessage 97612}}}

>>

/#/ 97614
{{{">>97611\n>De paso Go me parece que es un trampolín más sólido para empezar a aprender C más adelante, menos preocupación por las especificidades del ecosistema.\nEs al revés, la única manera de entender porque Go es hermoso y esta bien hecho, es aprender C bien. Una vez que dominas C (como lenguaje de propósito general) al principio Go se te hace chocante, por conceptos como los slices y punteros de fantasia, pero terminas amandolo porque te das cuenta que es es una manera mas amable de escribir código de calidad sin necesidad de recurrir a programación orientada a objetos que si bien es buena para ciertas lógicas de negocio, termina con practicas ridiculas de sobre-ingenieria. \nFeatures como las funciones receptoras o funciones con receptor , tienen mucho mas sentido que la idiotes monumental que hizo el creador de python de [b]self[/b]" | renderPostMessage 97614}}}

>>

/#/ 97617
{{{">>97595 (OP)\nMemelenguage que nadie usa. Menos en latinoamérica kek." | renderPostMessage 97617}}}

>>

/#/ 97618
164046159044.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 44.53KB, 728x663, ecdf7a908c1ff727b78e6635c28b1280.jpg )
97618
{{{">>97617\n>Memelenguage que nadie usa. Menos en latinoamérica kek.\ny asi detectas a alguien sin empleo\nhttps://madnight.github.io/githut/#/pull_requests/2021/3\nEl 4to lenguaje más usado. \nhttps://mx.indeed.com/jobs?q=golang\nMejor di que te da pereza dejar de ser un pajet soya o meme-dev sin empleo en lugar de inventarte tu realidad." | renderPostMessage 97618}}}

>>

/#/ 97619
{{{">>97617\n>Menos en latinoamérica.\nEsto de hecho es un plus, no irónicamente. Entre más alergia le tenga a algo lod cursos de Platzi menos cáncer da intentar echarle un ojo a ver qué onda." | renderPostMessage 97619}}}

>>

/#/ 97620
{{{">>97619\n> cursos de Platzi\nayyy, es cierto negro, empiezo a notar un patrón, los platzi-tards siempre salen con \"lo que se úsa en latinoamérica\" como si no existiera el trabajo remoto y empiezan con su frasesita pendeja \"hoy por hoy\"" | renderPostMessage 97620}}}

>>

/#/ 97621
{{{"A mi me resulta muy interesante, mas porque programo en C y Python, pero como mi area es la ciencia de datos pero de ciencia de verdad, no mierdas de waggie, no se que tan buenonsea aprenderlo antes que C++ y Java. \n¿Que tan bueno es aprenderlo si soy meme-fisico-matemático?" | renderPostMessage 97621}}}

>>

/#/ 97622
{{{">>97621\n>¿Que tan bueno es aprenderlo si soy meme-fisico-matemático?\nSi ya sabes bien C y Python, no tiene caso que aprendas C++ la verdad, de C++11 para arriba es un caos y java no te va beneficiar.\nGo tiene un universo de paquetes ordenados muy similar a la forma de python, además tiene cosas que se te van a hacer familiares. \nSi revizas la lista de frameworks que ya hay https://github.com/avelino/awesome-go te daras cuenta que se esta volviendo atractivo para tu campo, la desventaja es que no tiene sobre-carga de operadores pero se hizo asi para evitar que te de diabetes de tanta azúcar sintáctica. \nOtra ventaja es que el performance de los binarios que genera es buena, asi te evitas estar creando wrappers sobre código en C o C++." | renderPostMessage 97622}}}

>>

/#/ 97623
{{{">>97621\nGo es mas para middleware/infraestructura, software que no es programación de sistema como drives o el kernel, pero que tampoco es la capa de aplicación, seria como el soporte o infraestructura de grandes sistemas, por lo que te queda muy lejos de lo que tu quieres.\n\nPython tiene todas las bibliotecas que puedes imaginar para lo que tu te dedicas, mientras te mantengas en dar servicios directos al cliente y necesites una herramienta de modelado para iterar rapido que tenga un ecosistema enorme de paquetes solo para importar X y ya tener algo hecho, pues Python es por mucho el mejor lenguaje que puedes usar, otro es R que es mas enfocado en estadisticas.\n\nEso si lo que haces son scripts para analizar y presentar datos, realmente te podrías vivir toda la carrera usando eso y darle poca importancia a otros lenguajes.\n\nJava tienes Spark que es algo de computación distributiva que tiene un paquete para los algoritmos de ML, por que Python es un maldito dolor para hacer infraestructura o tener instalado en muchas maquinas, Spark es en Java la herramienta para crear sistemas completos para ciencia de datos, que lo que crearan los analistas de datos, que el programador lo transforme a eso, para poder mandar a servidor y tome los datos de bases de datos de la empresa, reportes o datos de sensores que manden y tener todo organizado, que igual algunos fiscos o matemáticos, cambian a ser programadores, por lo que puede ser una opcion.\n\nDe C++, es si quieres programar HPC, integrar software que este en C++ o quieres tomar datos de sensores estos conectados a una computadora, es de lo mas versátil, que a tragar tanta complejidad con el sistema de planillas y mas cosas con cada nueva version de C++ y los mensajes crípticos de depuración.\n\nC o Fortran estan bien si solo quieres hacer simulaciones, rendimiento puro y duro, y ser lenguajes simples en Fortran ni te preocupas de la memoria por se asignación estática, tienes vectorizacion mas simple y arreglos de múltiples dimensiones como parte del lenguaje, pero es un lenguaje de solo procesar datos en general que sean operaciones con matrices o formulas, para todo lo demas ser con interfaces con C/C++, o incluso haciendo el preprocesamiento de datos en Python y la graficacion en Python, todavia tienes muchos físicos o químicos escribiendo Fortran, y el estándar Fortran su ultima actualización es del 2018.\n\nOtros lenguajes son Chapel o Julia, Chapel es un lenguaje creado por CRAY un fabricante de supercomputadoras mas apoyo del gobierno de USA, esta enfocado a computación paralela y distribuida, pero es muy nicho, si no te dicen que programes en el, no encontraras nada en internet fuera de guías oficiales, Julia es un lenguaje creado por graduados del MIT como un lenguaje para computación su sintaxis es facil, para código numérico puede ser tan rapido como C/C++/Fortran, soporte para arreglos multidimensionales y algebra lineal de base, aunque tiene muchas cosas mejor que Python como lenguaje, tenga una comunidad enfocada en esos temas y constantes mejoras, todavia es muy inmaduro para recomendarlo como substituto de Python en ciencia de datos, pero es un lenguaje donde simplemente puede escribir bucles For y funciona con muy buen rendimiento, en lugar de NumPy y wrappers en otros lenguajes o meter cosas como Numba o Cython." | renderPostMessage 97623}}}

>>

/#/ 97625
{{{">>97595 (OP)\n¿Ya implementaron genéricos y error handling de verdad al C con soja?\n>garbage collector\n<no gestión manual\n<no contador de referencias\nEs decir, otro meme lenguaje destinado a solo funcionar para crear software de servidor / backend.\nBueno, al menos ya no hay que usar la mierda de Ruby." | renderPostMessage 97625}}}

>>

/#/ 97630
{{{">>97625\n> error handling\n>tiene el descaro de llamarle soja a alguien.\nSi por error handling quieres algo como try catch, te evidencias que programas con las puras patas." | renderPostMessage 97630}}}

>>

/#/ 97631
164047605078.gif [Google] [ImgOps] [iqdb] [SauceNAO] ( 129.89KB, 123x90, laugh-cry-smile.gif )
97631
{{{">>97623\nayyylmao todo ese muro de texto lleno de incongruencias y duning krugismo." | renderPostMessage 97631}}}

>>

/#/ 97637
{{{">>97630\n>gestión profesional de errores malo, if else if else bueno\nSi, eres SOJA y además un amateur kek." | renderPostMessage 97637}}}

>>

/#/ 97639
{{{">>97637\n> y además un amateur kek.\n>t. el mediocre que escribe microservicios para VMs y no entiende porque hay cuellos de botella además de que no sabe lo que es unit testing. \nEl try no se inventó para que escribas código con el culo y no escribas validaciones changito sin estudios." | renderPostMessage 97639}}}

>>

/#/ 97656
164055079485.png [Google] [ImgOps] [iqdb] [SauceNAO] ( 178.08KB, 1157x830, 6183c0a57babfd8e4b2ce78ab4ddee6a5678355d.png )
97656
{{{">>97595 (OP)\nYo aprenderé go por cuestiones laborales siento que me estoy traicionando, pero JAMAS ADMIRARE AL LENGUAJE DEL GLOBOHOMO o sea si te gusta go de forma no irónica eres la encarnación de la soja\n\nEste lenguaje debería ser despreciado hasta que cada vez menos lo usen" | renderPostMessage 97656}}}

>>

/#/ 97659
{{{">>97656\n>AL LENGUAJE DEL GLOBOHOMO\nGo no es rust, pendejete." | renderPostMessage 97659}}}

>>

/#/ 97663
{{{">>97656\n>Al lenguaje del globohomo\nNoticias a las 11: cada lenguaje sobre la tierra que se use de forma comercial de alguna manera o es del globohomo máximo, o es un fork específico con backdoors (como Lua). Y sí, C++ también cuenta. Literalmente el destino del lenguaje lo decide un conjunto de sillas a puertas cerradas que no le tienen nada de aversión al dinero." | renderPostMessage 97663}}}

>>

/#/ 97701
{{{">>97595 (OP)\nvoy a aprender go por los kekes" | renderPostMessage 97701}}}

>>

/#/ 97705
{{{">>97621\nActualmente, Go no es bueno para análisis de datos (no es mi opinión, lo dicen por ahí). Supuestamente es mejor para casi todo menos para esas cosas y por eso no va a sustituir a Java, pero sí es mejor para websockets, servicios de red y eso (como juegos online, sitios de usuarios). Lo que ha reemplazado en Google es C/C++ y para que sus empleados no usen lenguajes menos eficientes porque eran difíciles.\n\nEso es lo que entendí. Sinceramente, sólo me resiento un poco de que me digan que no es tan rápido para consultar bases de datos. ¿Qué tanta es la diferencia?\n\n>dejo esto para los que quieran ver\n>https://qvault.io/golang/golang-vs-java-go/" | renderPostMessage 97705}}}

>>

/#/ 97707
{{{">>97625\nEl error handling no fue implementado POR UNA DECISIÓN porque los programadores abusan de ellos.\n\nGenericos:\n>https://ichi.pro/es/jugando-con-go-y-genericos-206324157322400\n>https://blog.friendsofgo.tech/posts/generics-en-go/" | renderPostMessage 97707}}}

>>

/#/ 97708
{{{">>97637\nA Google le ardía el culo porque sus empleados usaban mal el trycatch y el operador ternario. Los borró de la faz de la tierra en Go.\n>FIN" | renderPostMessage 97708}}}

>>

/#/ 97709
{{{">>97612\n>y que trabajar con bases de datos es muy meh\nNegro, sinceramente busqué por todos lados eso que dijiste de las bases de datos pero por suerte [b]no tienes razón[/b]. Dicen que la base de datos es independiente del lenguaje y que, si tuviste mal rendimiento, es porque elegiste mal tu sistema para gestionar la base de datos para ese proyecto. No es que Java vaya a ser más eficiente (y mucho menos que gestione los datos, porque eso lo hace el sistema que gestiona la base de datos)." | renderPostMessage 97709}}}

>>

/#/ 97724
{{{">>97705\n>Actualmente, Go no es bueno para análisis de datos (no es mi opinión, lo dicen por ahí)\nLa persona que dijo eso por ahí, seguramente no sabe ni lo que hace ni lo que es el análisis de datos. El análisis de datos lo haces hasta en una texas instruments, solo que la mayoria de los cursos forzan R y Python porque el mongolo promedio que toma esos cursos es un simio que mordió el bait. \n>pero sí es mejor para websockets, servicios de red y eso (como juegos online, sitios de usuarios)\nAlli quedaste como ignorante, websockets no es lo mismo que sockets TCP|UDP crudos, el lenguaje rey de los websockets es javascript y no es la manera más eficiente de implementar juegos multijugador, tiene latencia, si acaso webrtc pero no esta tan difundido no mientas. \n>Lo que ha reemplazado en Google es C/C++ y para que sus empleados no usen lenguajes menos eficientes porque eran difíciles. \nOtra mentira estúpida, golang no es un reemplazo de C y C++, ya que no esta diseñado con los mismos objetivos en mente. No tiene el mismo performance ni lo tendra, tan asi que mejor hicieron transpiladores.\n>Eso es lo que entendí.\na bueno.\n>sólo me resiento un poco de que me digan que no es tan rápido para consultar bases de datos. ¿Qué tanta es la diferencia? \nNo se donde leiste esa tonteria, pero la mayoria de los drivers de bases de datos para todos los lenguajes usan el mismo driver nativo (menos java que tiene versiones hechas en puro java Type 3 para arriba). \nEn conclusión negro, no es sano para tu pseudo carrera que te dediques a especular. Mejor ponte a leer." | renderPostMessage 97724}}}

>>

/#/ 97725
{{{">>97709\n>. Dicen que la base de datos es independiente del lenguaje y que,\nDepende de como esta construir el driver, pero generalmente se usan drivers nativos asi que no es mucho el overhead. No le hagas caso a ese negro idiota." | renderPostMessage 97725}}}

>>

/#/ 97744
{{{">>97707\n>por fin tiene genéricos\nBien.\n¿Y cuándo añaden manejo de excepciones que no sea if else if else?\n>>97639\nProyecciones" | renderPostMessage 97744}}}

>>

/#/ 97747
{{{">>97744\nSupuestamente, deberías aprender a manejar los errores sin trycatch. Así opina Google." | renderPostMessage 97747}}}

>>

/#/ 97769
164074004374.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 10.16KB, 235x214, index.jpg )
97769
{{{">>97744\n>¿Y cuándo añaden manejo de excepciones que no sea if else if else? \nNunca, golang esta hecho para escribir software de calidad y ejecutarse directamente sobre el OS , no para soyaputos perdedores como tú." | renderPostMessage 97769}}}

>>

/#/ 97770
{{{">>97747\n>Así opina Google.\nPero el negro es un genio con Coheficiente Chanero de 200, entonces sus ideas autistas deberian valer mas que 1000 profesionales de Google." | renderPostMessage 97770}}}

>>

/#/ 98924
{{{">>97595 (OP)\n>(no hay try-catch porque dicen que la gente lo usa mal)\n>>97630\nPero tienen que admitir que hay veces en las que meter un try-catch te simplifica las cosas. Por ejemplo, digamos que hago un programa que obtiene un dato X de una pagina Y que le indiques, pero Y puede devolver Z o un error 4xx/5xx, ¿como haces para gestionar eso en Go sino puedes usar excepciones y sin que se te crashee el programa? Seguramente se puede pero imagino que así debe ser mas tardado.\n>>97663\n>fork específico con backdoors (como Lua)\n¿Contexto?\n>>97701\n¿Y como te esta resultando hasta ahora?" | renderPostMessage 98924}}}

>>

/#/ 98936
{{{">>98924\n>¿Y como te esta resultando hasta ahora?\nAun me falta entender mas como hacer paquetes para organizar mejor mis proyectos, ademas que de momento no encuentro algún tutorial mas avanzado.\nAlso, existe algún estándar/buenas costumbres, para el nombre de variables y funciones, o algo así..." | renderPostMessage 98936}}}

>>

/#/ 98963
{{{">>97769\n>\"profesional\"\n<cree que tener un control de excepciones es \"de perdedores\"\nAyyy no ya te delataste, brainlet. Esa selfie tuya que posteaste te queda perfecta. Solo un retardado mental filtrado por el control de excepciones pondría una excusa tan estúpida. Seguramente eres de esos pajeets que más allá de las estructuras de control básicas como if else y for no saben una mierda y solo conocen el paradigma imperativo." | renderPostMessage 98963}}}

>>

/#/ 98973
{{{">>98924\nTienen algo para eso.\n\n[code]\npackage main\n\nimport \"fmt\"\n\nfunc imprimir() {\n fmt.Println(\"Hello World\")\n defer func() {\n cadena := recover()\n fmt.Println(cadena)\n }()\n panic(\"Error indefinido\")\n}\n\nfunc main() {\n imprimir()\n \n fmt.Println(\"Fin del programa\")\n\n}\n[/code]\n\nrecover evita que se vaya todo a la moerda, pero sólo te salva si está en otra función que no sea main; o sea, la función con panic implosiona pero el programa puede continuar" | renderPostMessage 98973}}}

>>

/#/ 98974
{{{">>98924\nOutput:\n\n[code]\nHello World\nError indefinido\nFin del programa\n[/code]" | renderPostMessage 98974}}}

>>

/#/ 98991
{{{">>98963\n> tener un control de excepciones es \"de perdedores\" \n>el paradigma imperativo.\nNegro, ya hablando sinceramente creo que no tienes ni idea de como funciona el control de excepciones ni lo que es un paradigma de programación. Creo que más bien estas totalmente desentendido de temas como patrones de diseño. Si todos fueran tan ignorantes como tu los sistemas operativos no serian capaces de recuperarse de errores y nada que ver tiene con el lenguage o paradigma en que fueron hechos.\nNo te haria mal leer." | renderPostMessage 98991}}}

>>

/#/ 99009
{{{">>98991\nVoy a dejar esto por aquí...\n>https://profile.es/blog/patrones-de-diseno-de-software/" | renderPostMessage 99009}}}

>>

/#/ 99018
{{{">>98991\nCreo que tu no sabes leer y tergiversas lo que digo como te sale del culo.\n>No te haria mal leer\nDeberías tomar tu propio consejo kek\n>pajeetrones de diseño\nAh, que eres de esos retardados con sub 85 de IQ que necesitan memorizar 1000 patrones de diseño (o peor, que pretenden que saben varios pero no salen de MVC) para solucionar cualquier cosa, vale. Tu opinión no cuenta. Ya admite que try-catch te filtró y deja de meter otros temas que no van al caso como cope kek" | renderPostMessage 99018}}}

>>

/#/ 99034
{{{">>99018\n>(o peor, que pretenden que saben varios pero no salen de MVC)\nmis kekes no sabes nada de software, el MVC es un patrón de [b]arquitectura[/b] no de diseño. \n>que eres de esos retardados con sub 85 de IQ\nsuerte consiguiendo un empleo en tu vida.\n> try-catch \ninsisto, si según no se puede hacer manejo de excepciones sin try-catch entonces no existiria el firmware ni los sistemas operativos. Aprende primero como funcionan las cosas para que pueda salir de tu mundo de pajeet." | renderPostMessage 99034}}}

>>

/#/ 99049
{{{">>97595 (OP)\n[b]Pregunta noob:[/b] [s](Para que no comience el troleo)[/s]\n>¿Con Sublime Text/Neovim puedo programar en Go? [i]de forma eficiente[/i]\n>¿Puedo aprender POO con Go? solo sé el paradigma funcional en JavaScript. Es decir, ¿hay libros, comunidades disponibles al respecto?\n>¿Aprender Backend en Go sería más util (al momento de [i]conseguir trabajo[/i]) que en Python-Flask? [i]Soy muy novato para aprender dos cosas, prefiero una y hacerlo bien.[/i]" | renderPostMessage 99049}}}

>>

/#/ 99050
{{{">>99049\nNegro, toma nota:\n>usa Visual Code.\n>si quieres trabajo: Python, Django(mucho mejor que flask), Postgres, REST API. O muere con PHP." | renderPostMessage 99050}}}

>>

/#/ 99052
{{{">>99049\n>¿Con Sublime Text/Neovim puedo programar en Go? de forma eficiente\nUsa un IDE, no seas mogo\n>¿Puedo aprender POO con Go? solo sé el paradigma funcional en JavaScript. Es decir, ¿hay libros, comunidades disponibles al respecto?\nSí, tiene POO pero sin el autismo corporativo de Java. Igual no hay mucho material al respecto, por lo menos no en español [s]aprende inglés[/s]\n>¿Aprender Backend en Go sería más util (al momento de conseguir trabajo) que en Python-Flask? Soy muy novato para aprender dos cosas, prefiero una y hacerlo bien.\nSi sabes inglés, cualquiera de los dos tiene salida laboral." | renderPostMessage 99052}}}

>>

/#/ 99066
{{{">>99049\n>¿Con Sublime Text/Neovim puedo programar en Go? de forma eficiente \nSublime text es cagada, y en Neovim le tienes que instalar varios plugins https://vimawesome.com/?q=tag:go, los trannies detras de Go recomiendan usar VSCode, pero lo mejor es que te alejes de ese navegador con editor de texto lo mejor posible.\n>¿Puedo aprender POO con Go? \nSi, pero hay poca documentación.\n>¿Aprender Backend en Go sería más util (al momento de conseguir trabajo) que en Python-Flask?\nPues como van las cosas puede que Go se termine volviendo el lenguaje de backend predeterminado, y eso en parte es bueno y en otras mala, pero sigue siendo mejor que programar con lengujes que no fueron hechos para eso cof Python cof JS." | renderPostMessage 99066}}}

>>

/#/ 99071
164262127098.mp4 [Google] [ImgOps] [iqdb] [SauceNAO] ( 6.04MB, simplicity.mp4 )
99071
{{{">>99034\n>Model View Controller (MVC) MVC is a [b]design pattern[/b]\n>Fuentes: w3schools, universidad de ohio, google, MIT, microsoft, wikipedia \n<aún así tiene la caradurez de venir a decirme que \"no es un patrón de diseño\"\nVale pajeet, cuando tengas un trabajo vienes a joder. Mientras, deberías tomar tu propio consejo y leer.\n>si según no se puede hacer manejo de excepciones sin try-catch entonces no existiria el firmware ni los sistemas operativos\nMuchos sistemas operativos usan C++ (el cual si posee control de excepciones aunque es cagada) y Linucs es el único relevante que solo usa C. Si, se puede, pero de una forma muy mierda usando if-else-if o switches (https://docs.kernel.org/x86/exception-tables.html). Ahora, para software de bajo nivel esto más o menos entendible, pero para software que tiene la posibilidad de emplear lenguajes de mayor nivel de abstracción para aumentar la legibilidad y mantenimiento del código, es ridículo quedarse con solo lo que C te da.\n<inb4 hurr ¡pero más difícil es mejor!\nEs lo que diría un amateur de mierda. Video related." | renderPostMessage 99071}}}

>>

/#/ 99078
{{{">>99071\n>Si, se puede, pero de una forma muy mierda usando if-else-if o switches\nayy mis kekes, te digo que no sabes de lo que estas hablando." | renderPostMessage 99078}}}

>>

/#/ 99079
{{{">>99071\n> Mientras, deberías tomar tu propio consejo y leer. \ntoma para que leas un poco, espero que el inglés no sea un problema \nhttps://www.intel.com/content/www/us/en/docs/programmable/683620/current/exception-checking.html\nhttps://developer.arm.com/documentation/dui0056/d/handling-processor-exceptions/about-processor-exceptions" | renderPostMessage 99079}}}

>>

/#/ 99085
{{{">>99050\n>>99052\nPrefiero alternativas a VsCode. \n>Si sabes inglés...\nDebería ser obvio, no sé como se puede avanzar en este rubro sin el idioma.\n>>99066\n>pero lo mejor es que te alejes de ese navegador con editor de texto lo mejor posible.\nSí.\nGracias por la opinion, negros color mojón." | renderPostMessage 99085}}}

>>

/#/ 99088
{{{">>99078\n>literalmente cito y doy pruebas\n<n-no sabes de lo que estás hablando\nEl himno del BETA que además es incapaz de probar lo que dice.\n>>99079\n>procesadores\nClaro negro, 99% del software actual se programa en ensamblador." | renderPostMessage 99088}}}

>>

/#/ 99107
{{{">>99088\nya calmate, llevas por el tablón mismoputeando de manera evidente , transmitiendo ignorancia en muchos temas de tecnologia. Deberian banearte por tu propia salud mental" | renderPostMessage 99107}}}

>>

/#/ 99123
{{{">>99088\n> doy pruebas \n>de que no sabes leer." | renderPostMessage 99123}}}

>>

/#/ 99124
164269720491.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 20.03KB, 300x300, TRUE-AND-THE-RAINBOW-KINGDOM-REVISED.jpg )
99124
{{{">>99088\n>Claro negro, 99% del software actual se programa en ensamblador.\nA menos que tu culo sepa como realizar un XOR. Es seguro que el 100% del código corre en procesadores. En cuanto a las excepciones, una forma muy simple (y también riesgosa) es tener una tabla con punteros. Algo como:\n[code]\n mov rax, [exception_code] // Codigo de la excepción\n mov rbx, exception_table // Dirección base de la tabla\n call qword [rbx+rax*8] // Invoca la función que maneja la excepción\n[/code]\n>huurrr, códigos de error\n>duurrr, ya no se usan\nAllí están, siempre. Que el lenguaje no te deje usar sus juguetes es otro asunto.\n\n>>99079\n>espero que el inglés no sea un problema\nnegro yo..." | renderPostMessage 99124}}}

>>

/#/ 99127
{{{">>99124\n>A menos que tu culo sepa como realizar un XOR. Es seguro que el 100% del código corre en procesadores.\nkek , si hasta triangulitos sabe que el concepto de excepciones no esta casado al try-catch es porque el negro que las defiende tiene tremendo daño cerebral. \n> es tener una tabla con punteros.\nEsto además en lenguajes de más alto nivel puede crear un decorador para envolver todo lo que deberia causar excepciones (sin necesidad de que el lenguaje las tenga)" | renderPostMessage 99127}}}

>>

/#/ 99128
{{{">>99123\n>me proyecto\n>>99124\nClaro negro, voy a programar la aplicación mi cliente en ensamblador y voy a usar tablas de punteros para control de excepciones. Ya te dije que en programas de bajo nivel de abstracción está bien, pero anda tu a ver la app de telegram o de cualquier otra compañía grande. Es C++ o sojascript y obviamente se usa try-catch." | renderPostMessage 99128}}}

>>

/#/ 99132
{{{"[i]Sólo vine a decir...[/i]\nEl problema es que patrón se arquitectura es más amplio que patrón de diseño pero ambos son patrones de software. Quizás eso es lo que confunde al negro.\n\n>patrón de diseño es algo a menor escala, como una pieza de tu software; literalmente tienen muchas\n>patrón de arquitectura es un modelo para el software mismo, como el MVC\n\nPongo ejemplos de pattern design: \n>observer(los componentes se suscriben para que les avise si pasa algo)\n>singleton(una cosa posee todas las otras dentro suyo y sólo puede haber una instancia de ella)\n\nEstos patrones se usan todo el tiempo y seguro que ya seguiste los principios de alguno aunque no te dieras cuenta o tendrías un mierdero de código." | renderPostMessage 99132}}}

>>

/#/ 99134
{{{">>99049\n>¿Con Sublime Text/Neovim puedo programar en Go? de forma eficiente\nSí, Neovim tiene soporte para Go y los plugins también\n\n>¿Puedo aprender POO con Go? solo sé el paradigma funcional en JavaScript. Es decir, ¿hay libros, comunidades disponibles al respecto?\nEn teoría \"es un poco diferente\" pero en realidad es lo mismo. Son structs como las de C++ que pueden meterse en slices(algo como arreglo dinámico) o maps(diccionarios de tipo fuerte). Y los métodos de estos structs se agrupan en interfaces (esto todavía no lo entiendo muy bien). ¿La herencia? Así:\n[code]\npackage main\n\nimport \"fmt\"\n\ntype Human struct {\n name string\n}\n\ntype Student struct {\n Human\n school string\n}\n\nfunc main() {\n pablo := Student{Human{\"Pablo García\"}, \"Escuela Técnica N° 200\"}\n fmt.Println(pablo.name) // output: Pablo García\n fmt.Println(pablo.Human.name) // lo mismo\n}\n[/code]\n\nVoy rápido. Si me equivoqué, disculpa. Pero básicamente el struct Human se vuelve parte de Student. Lo mismo pasa con las interfaces.\n\n>¿Aprender Backend en Go sería más util (al momento de conseguir trabajo) que en Python-Flask? Soy muy novato para aprender dos cosas, prefiero una y hacerlo bien.\nSon opciones diferentes. Lo que hoy se pide es Python Django o Python Flask, pero Go es el más demandado en el sentido de que no hay suficientes desarrolladores Go y les pagan bien. Igualmente, Python se paga bien comparado con otros. Creo que te sería más fácil Python. Y como te dijeron, Django es mejor opción porque en Flask te piden que seas el chico que hace 50 cosas (vas a ver que te piden más conocimientos que no tienen nada que ver) y en Django haces un solo trabajo (te piden Python y Django y ya)" | renderPostMessage 99134}}}

>>

/#/ 99135
{{{">>99128\n>anda tu a ver la app de telegram o de cualquier otra compañía grande. Es C++ o sojascript y obviamente se usa try-catch...\nhasta que encuentran un cuello de botella y tienen que optimizar en Ensamblador.\n\nC++ es un lenguaje del tipo: \"Esa característica está allí por si la necesitas.\" Eso significa que no tienes que lanzar un THROW por cualquier nimiedad." | renderPostMessage 99135}}}

>>

/#/ 99151
{{{">>99128\n> pero anda tu a ver la app de telegram\nayyy mis kekes, si de verdad hubieses leido el código fuente de telegram (en especial la versión para winbugs) te darías que no tienes ni puta idea de como funcionan las excepciones." | renderPostMessage 99151}}}

>>

/#/ 99152
{{{">>99135\n>Eso significa que no tienes que lanzar un THROW por cualquier nimiedad.\nesto además en M$ hay casos donde dividieron try y __try en C++ y es un caos, volviendose un antipatron restandole portabilidad, es absurdo usar try-catch en C++ de hecho." | renderPostMessage 99152}}}

>>

/#/ 99153
{{{">>99134\n> Son structs como las de C++\nNo, no son como las de C ni C++, aunque la forma es similar internamente no se comportan nadita igual desde que no existe la misma flexibilidad de manejo a nivel bytes algo como \n(uint8_t *)&estructura_arbitraria. \n>Y los métodos de estos structs se agrupan en interfaces (esto todavía no lo entiendo muy bien). ¿La herencia? Así: \nNo existe la herencia en Go, se llama composicion https://www.thoughtworks.com/insights/blog/composition-vs-inheritance-how-choose\nY las interfaces lo único que hacen es describir la lista de metodos que deben existir para que determinada estructura pertenesca auna interfaz. La útilidad de esto es poder usar el patrón de estrategia \nLa ventaja de esta métodologia de interfaces implicitas es que evita escribir código redundante y terminar con métodos abstractos o sin implementación. Eso evita código basura hay muchos programadores que dedican su dia a meter código paja para sacar el dia haciendose pendejos, go evita eso. Si algo no esta completo no te deja ni compilarlo." | renderPostMessage 99153}}}

>>

/#/ 99154
{{{">>99135\nQuiero que cites un caso donde lo hagan y no que lo afirmes estilo \"trust me dude\"\n>Eso significa que no tienes que lanzar un THROW por cualquier nimiedad.\nCosa que nunca dije. Además de que C++ no es el único lenguaje ampliamente usado a nivel corporativo. Está Java, Javascript, Python, etcétera. \n>>99151\nTal vez no como me gustaría, pero claramente he demostrado a lo largo de este hilo que sigo siendo mejor que tú kek" | renderPostMessage 99154}}}

>>

/#/ 99158
{{{">>99154\n>siendo mejor que tú kek\nno, hay por lo menos 7 negros en este hilo dejandote en ridiculo,eres el único mismo puto que se distingue facilmente por su inéptitud. \n>a nivel corporativo\nayyy mis kekes, mejor dedicate a hacer estudios de género." | renderPostMessage 99158}}}

>>

/#/ 99159
164272418091.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 68.51KB, 637x478, 162423586379.jpg )
99159
{{{">>99154\n>Quiero que cites un caso donde lo hagan y no que lo afirmes estilo \"trust me dude\" \n>No sé lo que es un Lookup Table\n>No sé lo que es un compilador\n¡Mira negro! En este tablón el único que ha podido lidiar con más de 3000 cucarachos pajeet larpers shitposteando en un hilo y salir victorioso, soy yo. Así que no te quiero echar montón. Por lo que cambio el enfoque...\n\nCreo que estás sobre valorando el uso del [b]try-throw-catch[/b]. Esa es solo una forma que tiene [b]C++[/b] para el manejo de excepciones, tal vez la predilecta del lenguaje y la recomendada por los \"expertos/corporaciones\". Pero su uso no está hecho para responder a cada error o mínimo de errores en una aplicación. Su función esencial [i]es manejar errores que no deberían ocurrir[/i]. Como lo sería querer ejecutar una aplicación GUI en un sistema sin monitor o hacer una petición [b]HTTP-GET[/b] con el servidor [b]off-line[/b] o que la función de la [b]Win32 GetCommandLineA[/b] devuelva un [b]nullptr[/b]. Si se hace como te digo, el compilador puede optimizar el manejo de excepción usando un simple [b]Lookup-Table[/b], porqué de lo contrario el compilador estaría obligado usar código condicional ineficiente si se abusa del [b]try-throw-catch[/b]. De allí que se entienda porqué en [b]Go[/b] no se implementa el manejo de excepciones [b]try-throw-catch[/b] porqué lo usan mal, como dice OP." | renderPostMessage 99159}}}

>>

/#/ 99161
164272962284.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 47.89KB, 1152x864, spongebob_the_hot_sauce.jpg )
99161
{{{"Discutir sobre C++ en este tablón siempre atrae gente rara pero al menos es kekeante y no es otro hilo de Windows vs Linux." | renderPostMessage 99161}}}

>>

/#/ 99165
{{{">>99158\n>7 negros\nSi claro, tú y el otro negro son 7 en total. Aprende a leer Y contar kek.\n>mejor dedicate a hacer estudios de género\nNo veo por qué. Yo si tengo un buen trabajo en este medio a diferencia de ti y el resto de NEETs que de programar no tienen puta idea pero les encanta hablar. Yo simplemente cuestioné sus quejas sobre try-catch y se ponen a chimpear.\n>>99159\n>estás sobre valorando el uso del try-throw-catch\nEs el tema central si hubieras leido el hilo, si. Se volvió el tema central desde que tu o el otro anónimo empezaron a tirarle caca sin fundamento, si, también. No lo estoy defendiendo, simplemente me burlo de Go por ser un lenguaje larpero y justificar de maneras raras su carencia de características importantes en cualquier lenguaje moderno. Igual, cuando no había genéricos había gente como tú elaborando biblias sobre por qué los genéricos no eran importantes. \n>una forma que tiene C++ para el manejo de excepciones\nTambién otros lenguajes\n>De allí que se entienda porqué en Go no se implementa el manejo de excepciones try-throw-catch porqué lo usan mal\nVaya hasta que dices algo con sentido. Mira que está bien lo de las optimizaciones del compilador, pero si yo tengo una estructura que se supone debe hacer algo, y por 1000 razones no puede, yo en Go tengo que escribir código espagueti para averiguar por qué dicha clase falló en su operación. En cualquier otro lenguaje basta con lanzar una excepción y sí ya sé que son condicionales extra, pero necesarios en ciertos casos." | renderPostMessage 99165}}}

>>

/#/ 99166
{{{">>99165\n>yo en Go tengo que escribir código espagueti\nojala escribieras por lo menos código espagueti, pero no programas una mierda." | renderPostMessage 99166}}}

>>

/#/ 99167
{{{">>99165\n> lenguaje moderno\ncreo que no sabes lo que es un lenguaje moderno." | renderPostMessage 99167}}}

>>

/#/ 99168
{{{">>99165\n>No veo por qué. Yo si tengo un buen trabajo en este medio a diferencia de ti y el resto de NEETs que de programar no tienen puta idea\nSeria buena idea que busques un empleo como programador negro, solo para que veas realmente lo que es trabajar en el área." | renderPostMessage 99168}}}

>>

/#/ 100085
{{{">>98936\n>de momento no encuentro algún tutorial mas avanzado. \nQuizás te sirvan los de https://ebookfoundation.github.io/free-programming-books/casts/free-podcasts-screencasts-en.html#golang o https://ebookfoundation.github.io/free-programming-books/books/free-programming-books-es.html#go si quieres algo en español\n>existe algún estándar/buenas costumbres, para el nombre de variables y funciones, o algo así...\nDe no haberlos siempre puedes usar la notación que mas te guste de https://www.neoguias.com/tipos-notacion-nombres/\n>>98973\nTengo un proyecto para lo cual quizás esto me pueda ser útil.\n>>99107\n>llevas por el tablón mismoputeando de manera evidente\n¿Y tus pruebas son...?\n>>99152\n>dividieron try y __try en C++\n¿Acaso Microsoft quiere forzar [s]de nuevo[/s] un estándar propio o para que hicieron eso?" | renderPostMessage 100085}}}

>>

/#/ 100089
{{{">>100085\n> propio o para que hicieron eso?\nporque C++ compila a nativo y a diferencia de Java que esta casado a un entorno de ejecución agnostico al OS. Las excepciones tambien ocurren a nivel sistema operativo entonces M$ decidió diferenciarlas." | renderPostMessage 100089}}}

>>

/#/ 100436
{{{"Estoy intentando convertir https://github.com/sapuri/porn-thumbnail-api/ en una librería que se pueda usar desde otros lenguajes tal como se explica en https://medium.com/learning-the-go-programming-language/calling-go-functions-from-other-languages-4c7d8bcc69bf pero al momento de compilar me aparecen estos errores:\n[code]# command-line-arguments\n./server.go:41:16: Go type not supported in export: rest.ResponseWriter\n./server.go:41:40: Go type not supported in export: rest.Request[/code]\nPor lo que puedo deducir el problema esta en https://github.com/ant0ine/go-json-rest pero si también le tengo que meter mano a las dependencias externas y a las dependencias de las dependencias entonces no voy a terminar nunca. ¿Conocen algún modo de resolver esto u otra forma de lograr lo mismo?" | renderPostMessage 100436}}}

>>

/#/ 101034
{{{">>99161\nbump" | renderPostMessage 101034}}}

>>

/#/ 101109
{{{">>97595 (OP)\nen que IDE se programa con este lenguaje'" | renderPostMessage 101109}}}

>>

/#/ 101113
{{{">>101109\nCon Vim y compilas con la linea de comandos, querido platzinfante" | renderPostMessage 101113}}}

>>

/#/ 101116
{{{">>101109\n>IDE\n¿Los pajeets de verdad?" | renderPostMessage 101116}}}

>>

/#/ 101133
{{{">>101109\n>IDE\n¿Para que mierda vas a usar un IDE si ni sabes programar? pedazo de imbecil, regresa al lugar de donde veniste:\nhttps://platzi.com/\nhttps://www.youtube.com/c/HolaMundoDev\nhttps://www.youtube.com/c/LareddeMario\nhttps://www.youtube.com/c/BettaTech\nhttps://www.youtube.com/c/AbsoluteSite" | renderPostMessage 101133}}}

>>

/#/ 101190
{{{">>101133\ndeja de shillear tu mierda" | renderPostMessage 101190}}}

>>

/#/ 101191
{{{">>101109\nYo uso vs code" | renderPostMessage 101191}}}

>>

/#/ 101859
{{{">>97595 (OP)\n¿Es idea mía o la forma estándar en la que Go maneja JSON es algo mas compleja de lo que debería? Por ejemplo, en cualquier otro lenguaje es simplemente importar el modulo/librería correspondiente para JSON, pasarle la cadena que quieres decodificar y ya tienes un array listo para usar. En cambio para lograr lo mismo en Go es necesario hacer todo esto (lo importante esta dentro de [i]main()[/i]):\n[code]package main\n\nimport (\n \"encoding/json\"\n \"fmt\"\n)\n\nfunc main() {\n cadena := []byte(`[{\"x\": \"ldfgudoisfg\"}, {\"x\": \"lwea569te99tdow\"}, {\"x\": \"ñerogifer9pt09\"}]`)\n // Es necesario declarar una variable de esta forma si quieres algo genérico\n var datos []interface{}\n if err := json.Unmarshal(cadena, &datos); err != nil {\n panic(err)\n }\n // Para acceder a algún elemento del array primero hay que castearlo\n fmt.Println(datos[0].(map[string]interface{})[\"x\"])\n}[/code]\nNo seria un gran problema si esta forma de hacerlo fuera mas fácil de encontrar.\nY si, se que se puede crear un struct para que json.Unmarshal() sepa que esperar, pero los archivos JSON no siempre tienen una estructura consistente, habrá veces en las que es necesario agregar o quitar atributos a un archivo JSON o simplemente no te sale de los huevos hacer un puto struct cada vez que quieres procesar un JSON (en especial si se trata de uno complejo).\nPor suerte existen librerías, como las que se encuentran en https://github.com/avelino/awesome-go#json que intentan simplificar esto." | renderPostMessage 101859}}}

>>

/#/ 101864
{{{">>101859\n>¿Es idea mía o la forma estándar en la que Go maneja JSON es algo mas compleja de lo que debería?\nEs que estas pensando mal negro\n>var datos []interface{}\nen vez de hacer eso alli deberias usar una estructura, dejarlo generico significa que de donde estas jalando tus datos es una mierda. \nPara el ejemplo que propones , seria una arreglo de estructuras que tiene un miembro x. \nAsi no tienes que hacer type assertion (que es el nombre correcto del usar [b].()[/b] )" | renderPostMessage 101864}}}

>>

/#/ 101865
{{{">>101859\n[code]\npackage main\n\nimport (\n \"encoding/json\"\n \"fmt\"\n)\n\ntype BuenaPracticaUsarStructs struct {\n X string \n}\n\nfunc main() {\n cadena := []byte(`[{\"X\": \"ldfgudoisfg\"}, {\"X\": \"lwea569te99tdow\"}, {\"X\": \"ñerogifer9pt09\"}]`)\n var datos []BuenaPracticaUsarStructs\n if err := json.Unmarshal(cadena, &datos); err != nil {\n panic(err)\n }\n fmt.Println(datos[0].X)\n}\n\n[/code]" | renderPostMessage 101865}}}

>>

/#/ 102489
{{{">>101864\n>>101865\nSupongo que esta bien cuando tienes un JSON con una estructura sencilla o con la que sabes que no le van a meter/quitar atributos de un momento a otro, pero lo ideal es que el parser determine el tipo de datos del contenido del JSON en vez de llevarlo de la mano con structs y demás mierdas." | renderPostMessage 102489}}}

>>

/#/ 102636
164954312684.gif [Google] [ImgOps] [iqdb] [SauceNAO] ( 28.37KB, 220x220, yukleniyor.gif )
102636
{{{">>97595 (OP)\n>Go\n>un lenguaje casi tan eficiente como C" | renderPostMessage 102636}}}