the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job. Paul Graham, en los inicios de Python.
@Yussef Verilog partió como lenguaje de simulación, para desarrollar y probar circuitos en software antes de construirlos en hardware. Luego alguien tuvo la idea de extenderlo y hacerlo capaz de "sintetizar hardware"; es decir, dada una cierta instrucción como "A = A + 1", producir un circuito de puertas lógicas que implementa dicha operación. En mi caso, el circuito se implementa en un FPGA.
El problema es que el modelo de programación que presentan está horriblemente mal definido; hay 1.001 restricciones y casos especiales de los cuales te vas enterando a medida que te los encuentran. Oh, y el compilador puede colgar el PC si encuentra algo que no es de su gusto.
Es el peor toolkit de desarrollo que he visto en mi vida. Imaginate lidiar con un compilador que sólo tiene cinco mensajes de error distintos, todos vagos y genéricos.
@CandidMoe Yo tuve mi época latex, e incluso directamente Tex (el "ensamblador" del latex). Y llegué a codificar montones de figuras en metapost, un dialecto esotérico de metafont, el lenguaje con que Knuth diseñó las familias de fuentes para TeX
Mi nivel de frikismo llegó al punto de tener el box de libros físicos de TeX. Cinco volúmenes, uno de ellos siendo el código fuente de TeX escrito en otro lenguaje esotérico llamado Web (mucho antes de que la web existiera) que era una especie de pascal que entretejía código y documentación en un mismo fuente ("literate programming" lo llamaban)
y otro de los volúmenes es el diseño de la fuente "Computer Modern", cada página una letra a gran tamaño junto con su código fuente en Metafont
@gbianchi porque hubo varias personas influyentes que dieron a entender que no era necesario un título (Steve Jobs y Elon Muak por ejemplo) Y como lo más importante es saber hacer, lo mejor para mostrarlo sea un portfolio. Entonces pensé que casi no piden CV, al menos en los trabajos de programación
@Mateo PAra que alguien sepa lo que sabes hacer, primero se lo tenes que contar, y la unica forma que hasta ahora existe es mediante un CV... que sirve como primer filtro.... si yo me postulo a algo, tengo que decirle a alguien lo que se, si no como sabe si voy a servir o no como para avanzar?
hola tienes un mal concepto ... todos incluso Elon Musk y Steve Jobs tienen un C.V. tengan o no un titulo... un C.V es un resumente de tus datos personales, conocimientos y experiencia... apoyado obviamente si tienes de certificaciones que ayuden al analista de RH a saber si es cierto lo que dices en el C.V ...
si no tienes certificaciones entonces tendras que demostrar como indicas mediante portafolios y pruebas lo que indicas saber ... el problema es que las empresas tradicionales no te van a aceptar esto ... ellos siguen pidiendo titulos aunque sean el futuro elon musk o steve jobs ... …
@Mateo entonces debes indicar en tu C.V que estas estudiando ... y cuando vas a la entrevista muy humildemente ... se lo explicas a la entrevistadora como lo has dicho aqui ...
ha mi me ha tocado entrevistar gente ... que se tiran flores y fuegos artificiales ... y a la hora de validar los conocimientos y el nivel de preparacion ... se deja claro que mienten en la entrevista con tal de conseguir el puesto ...
incluso tienen certificaciones de instituciones brujas ... y no saben nada sobre los temas de las certificaciones ...
@Mateo Una manera de entrar es trabajar para una consultora pequeña. Ahí no serán tan exigentes con los requisitos. Si lo haces bien, puede que el cliente final te quiera tener para mantener la aplicación.
@Juanjo una empresa con un recruiter decente se da cuenta de toque si estas mintiendo.. no es necesario mentir... hay que empezar por donde corresponde...
@gbianchi jejeje ... pues no sería un recruiter decente xDD
@gbianchi Ya llevo algún tiempo en esto, y no suelo tener problema si llego a la entrevista técnica. Lo dificil es llegar a esa ... sin tener formación
OoooOooh..! Estoy usando Copilot dentro de VSCode (ya sabeis, la IA que ayuda a programar) y no sólo me ha autocompletado mucho código tedioso como si me estuviera leyendo la mente (escribía lo que yo iba a escribir de todas formas), sino que además se me ha ocurrido una idea genial para darle otro uso y ... ¡ha funcionado!
Configurando VSCode como editor para git commit, resulta que Copilot te ayuda a rellenar los mensajes de commit. Si encima usas la opción -v, que mete el diff de todos los cambios que tienes en el commit dentro del editor, entonces tiene más contexto para saber exactamente cuáles son esos cambios y te redacta mensajes apropiados y al grano
Por ejemplo, en mi commit había estado tocando varios css y ya no recordaba para qué. Pues Copilot me generó un mensaje de commit que contenía cosas como:
Some minor changes to the UI
- Changed the download button image
- The current playing song is more visible in the playlist
- Added a max width to the song list and filter
- Added some padding in the song list
Parece ciencia ficción
En otro commit en el que había estado tocando parámetros de línea de comandos e implementando la lógica que los llevaba a cabo, hice un git add -u (añadir ficheros modificados) y git commit -v (para escribir el mensaje de commit) y Copilot me sugirió, sólo observando los diff que aparecían debido al -v, el siguiente mensaje de commit
New command line options
--shuffle, -s to shuffle the order of the songs
--debug, -d to print some debug information
--path, -P accepts now a .m3u playlist file in addition to a folder
Es otro mundo a la hora de programar. No creo que vaya a reemplazar al programador, pero sí reducir drásticamente las consultas a la documentación, a google, y a StackOverflow. Todos esos detalles que constantemente se me olvidan y tengo que buscar una y otra vez (era len o era lenght, o era size()? cómo se iteraba por una lista en el lenguaje X sin iterar por los índices?) ya me los resuelve
Y es que "entiende" rápidamente la estructura del fichero también. Rellenando YAML o JSON "a mano", enseguida detecta la estructura de tu esquema de datos y lo respeta
Lo instale. Estoy logeando en GitHub. Copilot me manda ingresar un cierto código en una página; tarea que se completa con éxito. Sin embargo, dentro de Pycharm, Copilot insiste en que esta offline. Lo desintale.
Hm.. no sé si será un problema de PyCharm o de que además de estar logueado en github tienes que tener algún plan de suscripción para Copilot. Desconozco si te dan un periodo de prueba gratuito
obviamente, cabe esperar una mejor integración con los productos de MS (VSCode)
otra cosa chula que he descubierto de VSCode es que puedes conectar una versión web que tienen (vscode.dev) con cualquier máquina en la que tengas instalado el componente "code server", lo que puede ser incluso una raspberry pi
de hecho lo estoy usando así. Tengo code server en la raspberry (en la que instalé un operativo sin gestor de ventanas, solo se puede entrar por consola, y de hecho la tengo "headless" y solo puedo entrar por ssh), y si en la raspberry pongo "code tunnel", te muestra una URL a la que te puedes conectar desde cualquier navegador
(y desde cualquier lugar del mundo, previo login en github, y previo registro del componente server en tu cuenta)
así que puedo editar código de la Raspberry usando VSCode desde un navegador, lo que incluye por ejemplo desde el iPad
En la época de Ballmer yo le había pillado a Microsoft mucha manía, pero ahora tengo que reconocer que estas herramientas para desarroladores las están haciendo muy bien
Ahora estoy trabajando en la décima iteración de mi intento de construir una CPU con FPGA.
Finalmente me harte de Verilog y opte por un cambio de "lenguaje". Este es Logisim, un software gráfico para diseño de circuitos, simulación y que también puede exportar a Verilog. Es curioso que haya dos enfoques tan distintos para modelar el mismo hardware.
@abulafia Son 6 meses de prueba, luego 10u$s por mes. Lo usé bastante, no tanto para programar sino para documentos técnicos en markdown, y me funcionaba como un intellisense con esteroides.
@PatricioMoracho Sí, yo también lo he usado con Markdown y también va muy bien. Forzando un poco hasta se puede chatear con el GPT3 que tiene por debajo
@abulafia Si, totalmente. La primera vez que lo usé en este sentido fue para escribir una lista básica de comandos git, un ayuda memoria para el equipo, sorpresa fue cuando escribí "crear una rama de desarrollo:" y al lado me sugirió, el comando exacto.
Son detalles sorprendentes. Yo estaba escribiendo código para leer de una playlist y empecé a escribir if y me autocompleta if not filename.endswith("m3u"): print("Only m3u files are supported") que es exactamente lo que yo tenía en mente