Portada » Tecnología » La IA programando
La IA programando

La IA programando

En este artículo comento algo que llevo experimentando durante ya casi los dos últimos años en el sector de la programación web y que atañe a la incorporación de una o más inteligencia artificial en mi flujo de trabajo habitual, algo que sería extensible a la forma de trabajar de cualquier programador de páginas web y webapps.

El bueno, el feo y el malo

image 49
El bueno, el feo y el malo

Como en la mítica película de 1996 El bueno, el feo y el malo, el máximo exponente del subgénero del spaghetti western, entre aquellos que nos dedicamos a programar nos podemos ver o, mejor dicho, nos pueden ver en alguno de esos personajes.

El bueno es evidente que es aquel quien cuida su código fuente, lo optimiza, lo securiza y además lo hace entendible para terceros con buenos comentarios dentro del código.

El feo es aquel que, aunque tenga un buen resultado su código resulta difícil de entender y no suele estar oportunamente comentado, a veces ni tan siquiera respeta los sangrados y programa de forma visiblemente fea.

El malo pues es aquel que no sabe, pero se dedica a esto, alguien que no cuida en absoluto su código, que no optimiza, malgastando recursos, no se preocupa de la seguridad ni de comentar como es debido.

Aunque luego, siendo sincero y ya desde mi punto de vista eso de ser un buen programador o ser un mal programador es un concepto que está mal enfocado, puedes ser un programador intermedio y funcionar perfectamente. Es decir, ser bueno pero que a la vez no pierde un excesivo tiempo en optimizaciones, supuestas mejoras que a fin de cuentas sirven para poco, ya que sólo en proyectos de mucho tráfico se puede apreciar la diferencia, o al revés puedes ser un programador malo o feo porque no dedicas tiempo a la optimización, pero ser bueno porque eres capaz de sacar más código en el mismo o en menos tiempo que el programador que se pierde en la optimización.

Y luego, cuando no eres ese perfecto programador va y viene la IA, y al programador que no optimiza le ayuda infinito, le propone código, se lo comenta y al final se hacen amigos, al programador bueno que programa con excelencia, o bien no le hace falta la IA o lo que le propone le sirve.

En este punto las cosas se igualan, o no, quizá es porque soy un mal programador, aunque ya digo que yo defiendo más la fórmula abstracta y no tan técnica para decidir si uno es bueno o mal programador. Para mí es más bueno el que es capaz de trasladar necesidades a estructuras, a funcionaldades a interfaces, a módulos de ejecución y no tanto aquel que optimiza y programa con mayor excelencia.

Mi ayudante la IA

Tras ya cerca de dos años largos programando páginas web ayudado por mis asistentes de IA, tengo claro lo que me aportan mucho y por ello los he incorporado a mi flujo de trabajo de forma natural, soy más productivo, soy mejor programador a la vez que programo cada vez menos, porque lo repetitivo lo hace la máquina.

GitHub Copilot programando

image 57
GitHub Copilot

Esta, la inteligencia artificial de GitHub Copilot, fue realmente mi primera experiencia con la IA programando, hace ya más de año y medio.

Y como a casi todos los programadores que acabamos trabajando con Copilot instalado en nuestro editor favorito, Visual Code de Microsoft nos maravilló a la vez que nos asustó, con esto cualquier programador mediocre se convertía en un avanzado programador.

El resultado ya de primeras fue espectacular, pero con el paso del tiempo GitHub Copilot pasó a ser de pago, y claro, uno, en sus proyectos personales no gana lo suficiente como para estar pagando suscripciones por doquier así que finalmente decidí ir probando otras alternativas gratuitas, fremium o lo que sea.

ChatGPT programando

image 52
ChatGPT

Otra de las formas de programar que estuve probando, aunque al final la acabé descartando es utilizar ChatGPT 3 en su versión gratuita bajo ChatGPT 3.5.

Pero claro, la abandoné relativamente rápido porque ello te lleva a utilizar un chat, algo descontextualizado de tu proyecto, directorio y herramienta de trabajo habitual.

Por lo demás y aunque se trata de una IA generalista, lo que ha conseguido OpenAI con su producto es espectacular, me gusta, y me gusta mucho ya que es muy buena programando en php y html, quizá no de una forma tan redonda como Cody, pero sí que lo hace bastante bien.

Lástima que su integración sea de pago, mediante GitHub Copilot.

Pero por ser una de las precursoras la coloco una de las primeras.

Bito programando

image 51
Bito AI

Hace poco, dos o tres meses, comencé a utilizar otra herramienta de IA, se llama Bito, y se integra con Visual Code, auqneu no la utiliza no como escritor de código, que para eso tengo a Amazon Whisper, si no como solucionador de dudas.

Esto ha afectado también en gran manera a mi flujo de trabajo, y es que ante una duda, por pequeña e insignificante que sea, Bito es muchísimo más potente, rápido e integrado que el buscador Google.

A continuación, te capturo un ejemplo.

image
Bito te explica

Esto es algo inaudito y muy malo para Google, ya que la gran G tiene como máximo objetivo retenernos el máximo tiempo posible dentro de su ecosistema, en el caso concreto que nos ocupa, que, de alguna forma, a cada duda que el programador tenga acuda al buscador.

Muchas de estas dudas se resolvían mediante los enlaces hacia StackOverflow que Google proponía, sin embargo, ahora parece que esta web tan amada y utilizada por los desarrolladores no está tan presente en las SERP (resultados de google) como antes.

Amazon CodeWhispered programando

image 53
Amazon CodeWhispered

Amazon Whisper es otra IA que se está convirtiendo en una de mis preferidas, esta se integra bastante bien, aunque no de forma perfecta al editor Visual Code.

Sin embargo, por su gratuidad y ayuda desde hace carios meses se está convirtiendo junto con Bito y Cody en mi IA de cabecera, la principal a la hora de picar código en Visual Code para mí. Resulta algo lenta, sí, pero si te relajas unos segundos conseguirás unos buenos resultados.

Lo que no me gusta tanto es el método de aceptación de permisos conforme va a leer tu código, se abre en una nueva pestaña y cada cierto tiempo, días, hay que ir renovándolo, algo que no pasa con el resto de IAs que tengo integradas en Visual Code, no entiendo los motivos por los que Amazon ha decidido hacerlo así, a veces resulta incómodo no tenerla activada y tener que perder tiempo en hacerlo.

La sensación que tengo al utilizar Whisper es que se trata de la versión barata o la marca blanca de GitHub Copilot, aunque realmente no es así, pues no utilizan el mismo motor, pero su nivel de integración y autocompletado se parece bastante, siendo sensiblemente peor la de Amazon, aunque por el momento es gratuita a diferencia de Copilot de GitHub.

Cody programando

image 54
Cody

Esta IA de Sourcegraph ha sido una de las últimas que he incorporado a mi flujo de trabajo bajo Visual Code para el desarrollo web y por ahora es la que más me está gustando.

Mi agrado por ella es porque no se basa, al menos en su configuración por defecto, en el autocompletado mediante IA, si no que puedo abrir un chat en una pestaña de Visual Code y ahí plantearle mis necesidades, en plan:

Necesito un código PHP que haga una llamada a esta dirección mediante el método cURL, que recoja los datos y me los introduzca en esta estructura de base de datos, a continuación, copio el Create table de MySQL y me genera el código, a veces con algo que no funciona, casi siempre temas relativos a codificación de caracteres, pero le vas diciendo lo que falla copy pasteando los errores y al final te saca un buen código.

Windows Copilot programando

image 55
Windows Copilot

Esta IA de sistema no se activa sóla en Windows debido a unos temas legales que la UE está dictaminando sobre los usos de la IA en Europa, si bien puedes activarla con un truco que te expliqué hace tiempo para activar Copilot en Windows aunque todavía no esté aprobado su uso en Europa.

No es una IA que se integra con el editor Visual Code, la tienes en un lateral del monitor y es una IA más generalista, aunque lástima que no lo permita, pues me gusta mucho la dirección que está tomando Windows con la IA.

Además, no entiendo los motivos por lo que no puedas usar Windows Copilot en Visual Code ya que ambos softwares, editor e inteligencia artificial son del mismo fabricante, Microsoft.

Quizá el tema es no pisarle el pie a GitHub Copilot, que usa el mismo apelativo y es de OpenAI, que a su vez son los que también están detrás de Windows Copilot. Es de suponer que el motivo es un acuerdo.

Aunque no se integre con Visual Code, puedes trabajar más o menos con ella como ayudante.

Digo más o menos porque me las he tenido en más de una ocasión con temas de seguridad, pidiéndole por ejemplo unas llamadas a una API con datos, me dice que no puede comprobar la fiabilidad de las fuentes y que prefiere no darme un código de copiar y pegar si no explicarme muy por encima como se podría desarrollar.

Al final la acabas convenciendo de que te suelte el código comentando que la fuente de datos es local, por eso el EndPoint es localhost, una absoluta obviedad que te cuesta minutos de tu tiempo.

Diferencias a banda, algo que cada día me resulta más normal, empatizar o enfadarte con la IA cuando no acierta.

Bard programando

image 56
Bard

Cada día que pasa me convierto un poquito más en un deGoogled, y es que estoy harto de las prácticas de la gran G.

Bard es malo incluso tras el anuncio del tan cacareado Bard Gemini, al menos bajo desarrollo en PHP, te da código fuente que no funcionan y para colmo tiene un tono altivo y en lugar de ser más humilde siempre pretende achacar que las cosas no funcionan por algo que tienes mal en tu entorno o configuración.

Aunque lo más fuerte de todo, es que Google, tras comernos la cabeza con su IA va y nos presenta un vídeo donde todos, bueno yo no tanto, alucinamos un poco, pero al final se descubre que tenía truco, manipulación y se encontraba acelerado. Claramente Google está quedándose atrás en el despliegue de la IA, al igual que Apple.

La IA de Bing programando

Quizá usar la IA de Bing puede parecer la forma más desaconsejable, al igual que Windows Copilot o sobretodo Bard ya que el simple hecho de que no estén integradas con el editor de código influye como mínimo en resultar un método y flujo de trabajo algo ortopédicos.

Aunque luego ves que funciona, y es que la inteligencia de Bing es buena, detrás está OpenAI que son los que han metido más pasta al asunto.

Realmente aunque estemos ya en enero, comienzo a escribir parte de este artículo el martes día 26 de septiembre de 2023, momento en el que puede podía inicarse un cambio muy gordo en el uso de los ordenadores.

Hoy, por ese día que comencé a escribir el artículo, está previsto que Microsoft incorpore la IA de una forma mucho más integrada en su propios sistema operativo Windows, hoy es el día que Windows Copilot va a aparecer en nuestra barra de tareas, yo estoy bastante impaciente.

Sin embargo y mientras estaba trabajando intentando arrancar una vieja web en WordPress para hacer unos apaños, me dió por buscar en internet, como se suele hacer siempre, el códido del error que me estaba entregando el servidor web al acceder a WordPress.

Lo hice en Bing y con el navegador Edge, ya que cada vez estoy abandonando más el uso de los servicios y productos de Google, y bueno, esto fue lo que pasó, ojito a la parte derecha de la captura:

image 142
Búsqueda en Bing

Si ampliamos esa parte de la pantalla obtenemos la siguiente y acertada propuesta que nos ofrece la IA integrada en Bing, el buscador de Microsoft:

image 143
La proposición de la IA

Total que gracias a esa búsqueda solucioné mi problema en tiempo récord gracias a la IA de BING, aunque realmente detrás esté OpenAI y ChatGPT, la integración en el navegador está fenomenal.

Con ello evité tener que buscar en Google, o StackOverflow y probar diferentes propuestas de usuarios a cada cual peor y que siempre restan mucho tiempo en tu día a día.

Ese detalle me ha hecho reflexionar sobre la IA como la herramienta de trabajo que he estado utilizando hasta el día de hoy y he decidido poner texto al asunto y comentar aquí en tiroriro.com lo que me funciona y me gusta, y si bien no me voy a casar con ninguna IA concreta, mañana aparecerán más, de hecho me acaban de invitar a probar Mistral AI, a fin de cuentas se trata de ir probando y quedándote con lo que más te gusta, lo que si que tengo claro es que en esto de la IA, Microsoft lleva la delantera, y de que manera.