პროგრამირების სამყაროში ენების არჩევანი ხშირად დებატების საგანია. თუმცა, ერთმა დეველოპერმა გადაწყვიტა, თეორიული მსჯელობის ნაცვლად, პრაქტიკული ექსპერიმენტი ჩაეტარებინა და თავისი 30-ათასიანი Rust-პროექტი Ruby-ზე გადაეწერა.
ავტორის თქმით, გადაწყვეტილება ლოკალურ LLM-ებთან მუშაობისას მიიღო. მან შეამჩნია, რომ თანამედროვე Ruby და Ruby on Rails ეკოსისტემა კვლავ ინარჩუნებს სიმარტივეს, ხოლო Sorbet-ის მსგავსი ინიციატივები მას ტიპიზაციის კუთხითაც აძლიერებს.
რატომ Rust-დან Ruby-ზე?
ავტორი აღნიშნავს, რომ მისი Rust-პროექტი, რომელიც Axum-სა და Tera-ზე იყო აგებული, საკმაოდ მძიმე დამოკიდებულებებს შეიცავდა. კომპილაციის დრო 10 წამს აღწევდა, ხოლო ტესტირების პროცესი Playwright-ის გამოყენებით ზედმეტად კომპლექსური იყო.
კვლევის შემდეგ დეველოპერმა დაასკვნა, რომ Ruby-ზე გადასვლა პროექტის სირთულეს შეამცირებდა. მიუხედავად იმისა, რომ სტატიკური ტიპიზაციის დაკარგვა გარკვეულ რისკებს აჩენს, მან ეს პრობლემა ხელოვნური ინტელექტის აგენტებითა და Sorbet-ის გამოყენებით გადაჭრა.
შედეგი: 77%-იანი კლება
ყველაზე გასაოცარი შედეგი კოდის მოცულობის შემცირებაა. 30-წუთიანი ავტომატიზებული კონვერტაციის შემდეგ, კოდის ხაზების რაოდენობა 77%-ით შემცირდა. კონკრეტულად, ყოველი 4.49 ხაზი Rust-ის კოდი ჩანაცვლდა Ruby-ის ერთი ხაზით.
კოდი გამოიყურება სუფთად და იდიომატურად. რა თქმა უნდა, შესაძლებელია გარკვეული შეცდომები იყოს, თუმცა ეს მიდგომა ბევრად მარტივს ხდის ტესტირებასა და მენეჯმენტს.
ავტორი ამჟამად აგრძელებს კოდის ანალიზს და აპირებს შეამოწმოს, რამდენად ეფექტურია მიღებული Ruby-აპლიკაცია რეალურ გარემოში. პროექტის მთავარი უპირატესობა ისაა, რომ დეველოპერს შეუძლია თავისუფლად მიიღოს რადიკალური გადაწყვეტილებები, რაც გრძელვადიან პერსპექტივაში განვითარების ტემპს ზრდის.
ეს ექსპერიმენტი ხაზს უსვამს ხელოვნური ინტელექტის როლს კოდის რეფაქტორინგში. როდესაც LLM-ს შეუძლია 30 ათასი ხაზის გადამუშავება 30 წუთში, პროგრამული უზრუნველყოფის არქიტექტურის შეცვლა აღარ არის ისეთი მტკივნეული პროცესი, როგორიც ადრე იყო.






დისკუსია
0 კომენტარი
ჯერ კომენტარი არ არის — იყავი პირველი.