Glöm AI, har du testat TI ännu?
4 minuter i lästid Java C++ AI

Glöm AI, har du testat TI ännu?

I ett tidigare utskick diskuterade jag Chat GPT och för- och nackdelar med att använda AI stöd i sitt arbete. Ett annat relaterat AI stöd; är GitHub's Co-pilot, som par-programmerar direkt med dig och den kod du skriver i din moderna IDE.

Co-pilot fungerar som en smart code-completion engine, vilket innebär att baserat på den kod du just för stunden skriver, så fyller den på med förslag du kan godkänna med TAB eller avvisa med ESC. Jag kör med Co-pilot i all tre JetBrains IDE:er jag använder; nämligen CLion för C++ utveckling, IntelliJ för Java utveckling och WebStorm för web/node.js utveckling.

Hur är då de förslag den genererar? Tja, ibland blir jag förbluffad över hur precis den gissar vilken kod jag skulle vilja se. Men det är inte alltid den prickar rätt och jag trycker ESC oftare än TAB.

Du kan testa Co-pilot i 30 dagar, sedan måste du bestämma dig för om du tycker det är värt $10 per månad. Personligen tycker jag det.

Man kan förvisso, diskutera hur pass användbar Co-pilot är i nuläget. Emellertid, är det en teknik och programmerings-stöd som evolverar i snabb takt och kommer att vara en naturlig del i arbetet. Precis på samma sätt, som vi tar för givet nu för tiden att en IDE har stöd för refactoring, hämta ned och visa dokumentation för vald funktion, köra enhets-tester och mycket annat.

En uppfattning jag ibland stöter på ute hos kund är att "riktiga" programmerare skriver kod med en enkel text-editor, typ vi eller emacs. Den attityden förbluffar mig en hel del, eftersom jag upplevt hela evolveringen av hur man skriver kod, från tidigt 1980-tal till våra dagar.

Först var det hålkort, man stansade och lämnade in och fick tillbaka ett resultat dagen efter på pyjamas-randigt papper. Detta var förvisso strax före min tid. Dock började jag med skrivmaskins-terminaler, vilket innebar att "skärmen" var på papper. Det var övertydligt vad new-line och carriage-return innebar. Den första matade fram pappret en rad och den andra flyttade skrivhuvudet tillbaka till startpositionen.

Hur editerade man då? Jo, via rad-editorn ed. Man arbetade med en rad i taget och gav kortfattade kommandon om hur raden skulle förändras. Pappret blev ju sen en bra "audit log" 😉

Sen kom black-screen terminalerna under 1980-talet, som visade något i stil med 25 rader och 80 tecken-kolumner. Det var här emacs kom att bli ett ovärderligt verktyg. Förutom det rent uppenbara, att kunna editera kod i 2d, så kunde man dela in skärmen i olika sektioner och förutom att visa olika filer kunde man köra en terminal i en sektion och mail i en annan. Med andra ord, vi använde emacs som ett fönster-system 😎

Under 1990-talet fick vi pixel-baserade skärmar och tillhörande fönster-system, såsom Motif på Unix, OpenLook på Solaris och Windows på PC. Med detta kom också integrerade program-utvecklingsmiljöer (IDE). Först ut var Turbo Pascal från Borland och senare Turbo C++ och andra turbo produkter (såsom Prolog). Mot slutet av 1990-talet ändrades produktnamnen hos Borland till X-Builder, såsom JBuilder för Java och C++ Builder med flera. Microsoft bidrog substantiellt till denna utveckling med sin Visual Studio produkt. Poängen här, är att det var en helt annan och förbättrad miljö än tidigare med ren text-editering i 1d eller 2d.

Efter millennium-skiftet vidareutvecklades IDE:erna. JetBrains konkurrerade ut Borland med sin IntelliJ IDEA, som då för 22 år sedan hade stöd för refactoring och kunna köra JUnit direkt i IDE:n.

Och så där har det hållit på. Vi får hela tiden bättre och bättre verktyg som hjälper oss i arbetet som program-utvecklare. IDE med AI-stöd är bara nästa steg i denna utveckling.

På Google's senaste utvecklare-konferens i början på maj, lanserades Duet AI for Google Cloud. Det är en annan typ av IDE plugin jämfört med Co-pilot och är framtagen för att underlätta utveckling i deras moln-miljö GCP. Så, jag räknar nu ned 3,2,1..., tills vi får se liknade verktyg för AWS och Azure.

Duet AI, finns ännu ej allmänt tillgänglig. Men man kan skriva upp sig på en väntelista för att vara med och beta-testa den.

AI det vill säga Artificial Intelligence, är ju det stora samtalsämnet just nu. Vad som blir uppenbart för alla som använder tekniken är att den måste kompletteras med HI, dvs Human Intelligence, eftersom man måste hela tiden värdera de svar man får tillbaka, vilket innebär att man måste ha ett hyfsat hum om ämnet i fråga. Ett utmärkt sätt att förvärva detta är via TI, dvs Teacher Intelligence, som innebär att ta del av kunskaper förvärvade under ett långt yrkesliv av en lärare i ett klassrum som på ett pedagogiskt sätt lär ut ämnet i fråga.

Välkommen att boka en kurs med TI-stöd hos Ribomation.