Penulisan ulang Bun dengan Rust adalah pencapaian yang mengesankan
MMaximilian Schwarzmüller
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00BUN telah dipindahkan dari SIG ke Rust.
00:00:02Anda mungkin sudah mendengar tentang hal itu,
00:00:04tapi ada banyak hal yang perlu dibahas di sini.
00:00:06Ada banyak drama minggu lalu,
00:00:08tapi ada banyak hal menarik yang sedang terjadi.
00:00:10Dan tidak peduli apakah Anda tertarik pada BUN, SIG, atau Rust,
00:00:14ini sungguh menarik.
00:00:15Juga mengenai bagaimana AI dimanfaatkan
00:00:18dan apa artinya itu bagi proyek-proyek serupa
00:00:20di industri kita secara umum.
00:00:22Sekarang, sebagai catatan kecil,
00:00:24saya pribadi cukup menyukai BUN.
00:00:26Ini adalah runtime JavaScript standar yang saya gunakan
00:00:29di sebagian besar proyek saya.
00:00:30Dan kebetulan yang menyenangkan,
00:00:32saya baru saja menerbitkan kursus baru tentang BUN minggu lalu.
00:00:35Dan tentu saja, ini berfungsi untuk versi Rust
00:00:37seperti halnya untuk versi SIG.
00:00:39Jadi, jika Anda ingin mendalami BUN lebih jauh
00:00:41dan mempelajari semua API inti yang ditawarkannya,
00:00:44karena itu salah satu keunggulan terbesar BUN,
00:00:46yaitu banyaknya fitur bawaan.
00:00:48Beberapa orang tidak menyukainya, saya menyukainya.
00:00:50Jika Anda ingin belajar lebih banyak tentang itu,
00:00:51kursus itu mungkin menarik.
00:00:53Tapi mari kita lihat lebih dekat
00:00:54linimasa pemindahan kode secara keseluruhan, oke?
00:00:58Itu sebenarnya terjadi dua bulan lalu.
00:01:01Jadi postingan blognya dirilis minggu terakhir bulan Juli,
00:01:04tapi pemindahannya sendiri terjadi di bulan Mei.
00:01:08Dan itu dimulai pada awal Mei
00:01:10saat cabang CloudFaserPort ditemukan
00:01:13di repositori GitHub resmi BUN.
00:01:15Cabang itu berisi file MD pemindahan kode,
00:01:18file markdown dengan petunjuk
00:01:21tentang cara mengonversi kode SIG ke kode Rust,
00:01:23cara memindahkan kode itu, tabel terjemahan,
00:01:27dan petunjuk umum.
00:01:28Dan kita akan kembali ke bagaimana file itu dibuat,
00:01:30karena tentu saja AI terlibat,
00:01:32seperti yang mungkin Anda duga, nanti saja.
00:01:34Itu ditemukan.
00:01:36Jadi tentu saja, diskusi terjadi di Hacker News dan di X.
00:01:40Dan ada orang-orang yang bersemangat tentang hal itu.
00:01:43Ada orang-orang yang sangat kritis tentang hal itu.
00:01:46Tapi pada saat itu, kita tidak tahu banyak.
00:01:47Jelas, ada banyak polarisasi seputar Rust.
00:01:52Ada orang-orang yang mencintai Rust, seperti saya sendiri.
00:01:55Ada orang-orang yang membenci Rust.
00:01:57Ada orang-orang yang membenci
00:01:58bahwa segalanya harus ditulis ulang dalam Rust,
00:02:00karena sangat sering Anda membaca
00:02:03bahwa orang ingin program XYZ ditulis ulang dalam Rust.
00:02:06Dan saya mengerti bahwa ini mengganggu.
00:02:08Tapi tentu saja, oleh karena itu,
00:02:09ada banyak polarisasi yang terjadi di sana.
00:02:11Tapi pemindahan kode belum terjadi.
00:02:15Itu berubah kemudian di bulan Mei.
00:02:16Dan pada tanggal 14 Mei, pull request resmi dibuka,
00:02:22dan kemudian juga digabungkan,
00:02:24yang benar-benar memigrasikan basis kode BUN,
00:02:28semuanya, dari SIG ke Rust.
00:02:30Sekarang, seperti yang Anda lihat, ini adalah pull request yang sangat besar.
00:02:32Lebih dari satu juta baris kode ditambahkan.
00:02:35Dan penghapusan kode SIG terjadi
00:02:39pada tahap yang berbeda.
00:02:40Jadi ya, itu sebabnya ini bukan pertukaran.
00:02:42Tapi ini adalah perubahan besar, seperti yang Anda lihat,
00:02:44dengan hampir 7.000 commit.
00:02:46Sekarang, tentu saja, kode itu tidak ditinjau oleh manusia,
00:02:51setidaknya tidak sepenuhnya.
00:02:52Itu ditinjau oleh AI.
00:02:54Itu sudah lulus pengujian, tapi tidak ditinjau oleh manusia.
00:02:59Dan kita akan kembali ke bagaimana AI digunakan sebentar lagi.
00:03:02Tapi itu sudah diterbitkan atau digabungkan.
00:03:06Dan tentu saja, diskusi lebih lanjut terjadi sekarang.
00:03:08Seperti yang baru saja saya sebutkan, itu tidak ditinjau oleh manusia.
00:03:10Tentu saja mustahil untuk melakukannya dalam jangka waktu tersebut.
00:03:14Tapi komunitas mulai melihatnya
00:03:17dan menganalisis bagian-bagiannya.
00:03:19Dan kemudian ada postingan blog lain, atau yang pertama,
00:03:23bukan yang resmi tentang semua detailnya,
00:03:25tapi postingan blog pertama atau pernyataan yang dirilis oleh Buntine
00:03:29tentang penggunaan “unsafe”.
00:03:32Karena satu kritik besar yang muncul setelah pull request ini
00:03:37adalah bahwa kode Rust di sana bukan Rust yang idiomatik.
00:03:41Itu bukan jenis kode Rust yang akan atau harus Anda tulis
00:03:44jika Anda membangunnya dari nol.
00:03:46Sebaliknya, itu benar-benar seperti terjemahan dari SIG ke Rust.
00:03:50Dan itu berarti tidak semua praktik terbaik Rust
00:03:54dan pola yang digunakan.
00:03:55Dan khususnya, ada jumlah yang cukup banyak
00:03:58penggunaan “unsafe” di sana.
00:04:00Sekarang, untuk memahami “unsafe”, Anda harus memahami
00:04:03bagaimana Rust mengelola memori,
00:04:05karena itu adalah salah satu keunggulan terbesarnya,
00:04:08dan itu cukup berbeda dari bahasa lain.
00:04:10Karena di sebagian besar bahasa, Anda memiliki garbage collector,
00:04:14yang merupakan proses yang pada dasarnya mendeteksi
00:04:16ketika suatu nilai tidak lagi digunakan di mana pun dalam program
00:04:19dan kemudian membebaskan memori tersebut, yang praktis,
00:04:21tapi mengonsumsi sumber daya tambahan.
00:04:24Atau Anda harus melakukannya sendiri.
00:04:26Dalam bahasa seperti C, misalnya,
00:04:28Anda harus mengalokasikan dan membebaskan memori secara manual.
00:04:31Dan itu sama di SIG.
00:04:33Anda dapat mengalokasikan memori di sana, tapi Anda juga harus memanggil “free”
00:04:37atau Anda harus membebaskannya saat tidak lagi membutuhkannya.
00:04:40Anda dapat menggunakan “defer”, yang bagus.
00:04:43Itu pada dasarnya berarti Anda dapat memanggilnya
00:04:47sebelum benar-benar dieksekusi.
00:04:49Itu ditangguhkan dan akan dipanggil secara otomatis
00:04:52saat lingkup ini berakhir, pada intinya.
00:04:55Dan itu bagus karena ada situasi berbeda
00:04:58di mana nilai mungkin tidak lagi diperlukan.
00:05:00Tapi tetap saja, saat Anda harus membersihkan memori secara manual,
00:05:04ada banyak situasi
00:05:05di mana Anda bisa merugikan diri sendiri.
00:05:07Anda memiliki kontrol yang lebih rinci
00:05:09dan itu bisa sangat berguna, sangat efisien,
00:05:11tapi juga mudah untuk melupakan situasi
00:05:15dalam program yang lebih kompleks
00:05:16di mana Anda mungkin tidak membersihkan memori,
00:05:19sehingga menimbulkan kebocoran memori,
00:05:20atau di mana Anda mungkin membersihkannya dua kali,
00:05:23yang juga akan menyebabkan kesalahan.
00:05:25Dan oleh karena itu ada pertukaran (trade-off).
00:05:27Dan Rust memiliki pendekatan yang berbeda.
00:05:30Dalam Rust, Anda memiliki konsep yang disebut kepemilikan (ownership),
00:05:32yang berarti bahwa setiap nilai memiliki tepat satu pemilik,
00:05:36dan itu terikat pada lingkup.
00:05:38Jadi jika Anda memiliki lingkup,
00:05:39dan Anda dapat membuat lingkup dengan menggunakan kurung kurawal,
00:05:41atau fungsi juga akan memiliki lingkupnya sendiri.
00:05:43Anda mungkin tahu konsep itu dari JavaScript.
00:05:46Jika Anda memiliki lingkup,
00:05:47maka saat nilai dibuat di sana,
00:05:49itu dimiliki oleh lingkup tersebut.
00:05:51Dan jika lingkupnya berakhir, itu dibebaskan.
00:05:53Dan itu tentu saja sangat praktis
00:05:55karena Anda tidak perlu memikirkan untuk membebaskannya.
00:05:58Anda juga tidak memiliki garbage collector.
00:06:00Sebaliknya, Anda memiliki aturan yang jelas itu.
00:06:02Itu bisa menyebabkan kerumitan dalam program yang lebih kompleks
00:06:05di mana Anda perlu mengoper nilai ke sana kemari.
00:06:07Anda bisa melakukan itu di Rust,
00:06:08tapi itu membutuhkan cara berpikir yang berbeda.
00:06:11Tapi tentu saja itu memberi Anda keamanan memori,
00:06:14kecuali jika Anda menggunakan kata kunci “unsafe”.
00:06:19Jika Anda menggunakan itu, Anda dapat membuat lingkup “unsafe”.
00:06:22Dan di sana, aturan-aturan tersebut tidak lagi berlaku.
00:06:24Dan kemudian menjadi tugas Anda untuk memastikan
00:06:26bahwa memori dikelola dengan tepat.
00:06:28Sekarang, mengapa Anda melakukan itu?
00:06:29Yah, misalnya,
00:06:31jika Anda menarik pustaka C,
00:06:33yang bisa Anda lakukan di Rust,
00:06:34Anda bisa mencampurkan beberapa kode C, bisa dikatakan,
00:06:37atau memanggil beberapa metode dan fungsi pustaka C,
00:06:40maka karena C secara alami tidak aman (“unsafe”),
00:06:44kode di mana Anda menjangkau kode C itu juga tidak aman.
00:06:48Jadi Anda memerlukan fitur itu untuk berinteraksi dengan kode yang tidak aman.
00:06:52Dan itu juga satu hal yang mereka catat
00:06:54dalam pernyataan resmi itu,
00:06:56bahwa semua penggunaan “unsafe” dalam basis kode itu
00:07:00hingga bagian yang cukup besar sebenarnya terkait dengan panggilan,
00:07:04ke pustaka lain, pustaka C, dan sebagainya,
00:07:07yang tidak akan berubah.
00:07:08Tapi mereka juga mengidentifikasi area
00:07:10di mana mereka sebenarnya bisa meningkatkan kode
00:07:13dan menyingkirkan “unsafe”.
00:07:14Dan mereka menyebutkan bahwa mereka akan melakukan ini
00:07:15dalam pull request berikutnya.
00:07:18Dan mereka melakukannya dan masih melakukannya.
00:07:20Jadi Anda bisa menganggap port awal ini
00:07:22sebagai titik awal,
00:07:24yang kemudian diperhalus seiring waktu.
00:07:26Masih perlu disebutkan bahwa pull request awal ini,
00:07:28atau pull request yang sangat besar itu,
00:07:30sudah memiliki pengujian yang lulus.
00:07:32Jadi itu stabil, pengujiannya lulus,
00:07:35tapi kodenya bukan kualitas kode
00:07:37yang mungkin Anda harapkan jika itu ditulis dalam Rust
00:07:40sejak awal, karena itu bukan tujuannya.
00:07:43Jadi itu terjadi pada 21 Mei.
00:07:45Kemudian ada keheningan.
00:07:46Dan perlu dicatat juga bahwa versi BUN ini
00:07:49belum dirilis.
00:07:50Dan saat saya merekam ini, itu masih belum aktif.
00:07:52Saat Anda menginstal BUN sekarang,
00:07:54Anda masih mendapatkan versi SIG,
00:07:56tapi itu seharusnya berubah kapan saja sekarang.
00:07:58Tapi kemudian pada tanggal 8 Juli,
00:07:59postingan blog resmi dirilis
00:08:02di mana kita menemukan banyak detail menarik
00:08:04tentang port ini.
00:08:06Dan itu sangat layak untuk dibaca.
00:08:07Saya akan menautkannya di bawah
00:08:08karena ada banyak hal yang bisa dipelajari di sini.
00:08:11Seluruh port ini, dan itu bukan rahasia,
00:08:13dilakukan dengan bantuan AI.
00:08:15Perlu diingat bahwa BUN dimiliki oleh Anthropic.
00:08:18Jadi mereka punya akses gratis ke semua token tersebut
00:08:22dan khususnya juga ke Fable 5
00:08:24sebelum dirilis ke publik.
00:08:26Porting ini dilakukan dengan Fable 5.
00:08:29Dan omong-omong, jika Anda menginstal Cloud Code sekarang,
00:08:32meskipun BUN 1.4, versi Rust, belum dirilis,
00:08:36Cloud Code sudah berjalan di atas
00:08:39versi BUN yang belum dirilis, bisa dibilang begitu,
00:08:42yaitu versi Rust.
00:08:44Jadi begitulah.
00:08:45Tapi ya, porting ini dilakukan dengan Cloud Code
00:08:48berbasis Fable 5 dengan token gratis, tentunya,
00:08:52karena BUN adalah bagian dari Anthropic.
00:08:54Dan hal itu penting untuk diingat
00:08:56karena dalam postingan blog itu,
00:08:58kita mengetahui bahwa jika Anda menggabungkan semua token,
00:09:03atau jika Anda menjumlahkan semua token
00:09:04yang dihabiskan dan mengenakan harga API,
00:09:08seluruh porting ini akan menelan biaya sekitar $160.000.
00:09:13Itu angka yang mencengangkan, tapi sebenarnya,
00:09:18jika Anda memikirkan cakupan proyek ini,
00:09:20dan cakupannya adalah bahwa BUN terdiri dari 535.000 baris kode SIG,
00:09:26jika Anda memikirkan cakupan itu
00:09:28dan berapa lama waktu yang dibutuhkan manusia untuk melakukan porting ke Rust,
00:09:32maka $160.000 mungkin tidak terdengar terlalu buruk,
00:09:36tergantung di mana Anda berada.
00:09:38Namun, jelas bahwa tidak ada proyek sumber terbuka
00:09:43yang mampu melakukan itu.
00:09:44Dan kebanyakan perusahaan mungkin tidak akan mampu
00:09:47atau bersedia menghabiskan uang sebanyak itu untuk sebuah porting.
00:09:50Ini dimungkinkan karena BUN adalah bagian dari Anthropic.
00:09:54Dan tentu saja, ini juga merupakan aksi pemasaran yang bagus
00:09:58untuk Anthropic.
00:09:59Itu mungkin bukan tujuan utamanya.
00:10:03Saya tidak tahu itu.
00:10:04Tapi tentu saja, itu pemasaran yang bagus.
00:10:06Semua itu penting untuk diingat.
00:10:08Namun, dalam postingan blog ini,
00:10:10kita bisa belajar bagaimana Jared melakukan porting itu
00:10:14atau bagaimana dia membuat porting itu berhasil.
00:10:18Dan itu semua dimulai dengan file porting MD,
00:10:21yang dia buat dalam diskusi dengan Claude,
00:10:25dalam diskusi selama tiga jam,
00:10:26seperti yang dia sebutkan di postingan blog,
00:10:28di mana dia pada dasarnya memutuskan bersama dengan Claude Code
00:10:32dan model-model Anthropic,
00:10:35seperti apa file porting MD tersebut harus terlihat
00:10:37agar dapat menerjemahkan kode SIG ke Rust.
00:10:40Kemudian setelah dia mengulangi hal itu dan merasa puas,
00:10:44dia mengujinya pada tiga file pada awalnya.
00:10:46Dan setelah dia puas dengan itu,
00:10:48dia melepaskan Claude pada seluruh basis kode BUN.
00:10:53Sekarang dalam postingan blog ini,
00:10:54dia memperjelas bahwa dia tidak hanya meminta Claude
00:10:57untuk menulis ulang BUN menjadi Rust, jangan salah sangka,
00:11:00tetapi dia menyiapkan sistem yang rumit
00:11:03di mana dia memiliki satu agen utama,
00:11:07yang tentu saja juga menjalankan sub-agen,
00:11:09melakukan porting sesuai dengan file porting MD.
00:11:13Dan kemudian dia memiliki dua agen peninjau adversial
00:11:16yang meninjau pekerjaan agen utama itu setelah selesai
00:11:19dan memberikan umpan balik,
00:11:21lalu agen perbaikan untuk menerapkan umpan balik tersebut.
00:11:24Dan dia menjalankan itu semua dalam satu putaran
00:11:25dan tentu saja didistribusikan di berbagai work tree
00:11:30untuk memproses seluruh basis kode
00:11:33dan menyelesaikannya.
00:11:35Dalam postingan blog,
00:11:35dia menyebutkan bahwa dia menulis ulang BUN ke Rust
00:11:38menggunakan 50 alur kerja dinamis di Claude Code,
00:11:40yaitu alur kerja yang menjalankan banyak sub-agen
00:11:43selama 11 hari.
00:11:46Dan dia juga memiliki grafik yang bagus di sana.
00:11:48Secara umum, di postingan blog,
00:11:49ada grafik bagus di dalamnya
00:11:51yang membuatnya lebih mudah dicerna,
00:11:53yang menunjukkan jumlah komit yang dibuat
00:11:56dan kemudian didorong pada hari-hari yang berbeda
00:11:58dan kemudian waktu dalam sehari.
00:12:00Jadi semua itu terjadi dengan bantuan loop di Claude Code,
00:12:04dengan bantuan banyak sub-agen
00:12:05dan proses yang jelas dari satu agen utama,
00:12:08agen peninjau, dan agen perbaikan.
00:12:10Dan kemudian dia juga melakukan jalur terpisah lainnya
00:12:15bisa dibilang membuat semua tes itu berhasil.
00:12:20Dan itu membawa tantangannya sendiri
00:12:22karena rangkaian tesnya sangat besar dan kompleks
00:12:25sehingga dia mengalami berbagai batasan infrastruktur
00:12:29karena beberapa tes menghabiskan banyak memori
00:12:31dan menjalankan banyak tes secara paralel,
00:12:33oleh karena itu tidak berhasil.
00:12:34Tapi akhirnya dia membuat semua itu berhasil juga dengan bantuan AI,
00:12:39menjalankan tes, memperbaiki kode,
00:12:42menjalankan ulang tes dan sebagainya.
00:12:43Jadi banyak loop, banyak agen dan sub-agen yang terlibat,
00:12:47tentunya, dan banyak token yang terbakar.
00:12:49$165.000 dalam bentuk token terbakar.
00:12:53Sekali lagi, Anda bisa mendalami lebih dalam,
00:12:55dan itulah yang saya sarankan untuk dilakukan
00:12:57jika Anda tertarik dengan semua detail teknisnya.
00:12:59Ini adalah postingan blog yang sangat bagus yang mendokumentasikan perjalanan untuk sampai ke sana.
00:13:03Tapi secara singkat, itulah bagaimana porting tersebut terjadi selama 11 hari
00:13:08dengan semua agen dan sub-agen tersebut didistribusikan di berbagai alur kerja,
00:13:1250 alur kerja seperti itu, seperti yang kita pelajari selama atau lebih dari 11 hari,
00:13:17$165.000 dihabiskan dalam bentuk token dengan harga API.
00:13:24Nah, akhirnya, setelah dia selesai dalam postingan blog,
00:13:29dia menyebutkan bahwa Bun 1.4 memperbaiki berbagai bug yang dimiliki versi SICK terakhir,
00:13:35bahwa itu lebih efisien memori, bahwa itu lebih kecil.
00:13:38Dan seperti yang kita pelajari dari tanggapan Andrew Kelly, pencipta SICK,
00:13:43beberapa dari peningkatan ini mungkin juga bisa dicapai dengan SICK.
00:13:47Tapi postingan blog itu cukup menarik karena telah diedit.
00:13:53Sekarang tidak terlalu penuh amarah dibandingkan awalnya.
00:13:57Versi pertama penuh dengan serangan pribadi,
00:14:00hanya untuk kemudian mengatakan bahwa itu tidak dimaksudkan sebagai serangan pribadi,
00:14:03tetapi penuh dengan serangan pribadi.
00:14:05Versi terbaru, yang juga akan saya tautkan di bawah, masih cukup pedas.
00:14:11Pada akhirnya, Anda dapat dengan jelas mengetahui dari membaca versi pertama,
00:14:14tetapi juga versi ini,
00:14:16bahwa Andrew, pencipta SICK dan Jared, pencipta Bun,
00:14:21mereka tidak akan menjadi sahabat lagi.
00:14:26Sekarang, dia berterima kasih kepada Bun karena mendukung SICK, juga secara finansial,
00:14:31hanya untuk pada dasarnya marah tentang seluruh porting ini dan bagaimana itu tidak perlu
00:14:41jika kode Bun ditulis dalam SICK yang benar.
00:14:44Dia memperjelas bahwa dia tidak merasa repositori Bun,
00:14:48versi SICK, memiliki kualitas kode yang tinggi dan itu menyebabkan banyak masalah.
00:14:53Dan itu mungkin benar atau mungkin tidak.
00:14:56Saya pikir sangat mungkin bahwa dalam proyek berskala Bun,
00:15:01bergerak dengan kecepatan di mana Bun bergerak,
00:15:06kualitas kode mungkin tidak memenuhi standar pencipta SICK.
00:15:12Anda pasti bisa berpendapat bahwa kebanyakan proyek kode
00:15:15tidak harus memiliki kualitas kode tertinggi.
00:15:18Jadi Anda bisa berpendapat apa pun yang Anda inginkan.
00:15:21Sekarang, saya akan membiarkannya di sana.
00:15:24Saya merasa postingan blog tanggapan secara keseluruhan cukup lemah
00:15:29karena sangat dipenuhi amarah.
00:15:33Ini memiliki beberapa poin yang valid.
00:15:35Seperti, misalnya, dalam postingan blog yang dibuat Jared,
00:15:40dia menyebutkan bahwa porting dari SICK ke Rust divalidasi,
00:15:46tentu saja, dengan semua agen peninjau ini,
00:15:48tetapi juga dengan menjalankan rangkaian tes dan membuatnya berhasil.
00:15:51Dan Andrew menyatakan dengan benar bahwa, tentu saja, rangkaian tes yang sama itu
00:15:56seharusnya cukup atau tidak untuk membuktikan bahwa versi SICK itu hebat.
00:16:00Jadi mungkin rangkaian tes seharusnya ditingkatkan juga.
00:16:04Bagaimanapun, jelas keduanya tidak akan menjadi sahabat.
00:16:09Dan saya tidak memiliki pendapat apakah SICK atau Rust adalah bahasa baterai secara umum atau untuk Bun.
00:16:17Namun, saya percaya bahwa dengan AI, Rust dan model memorinya serta fakta
00:16:23bahwa Anda mendapatkan kesalahan waktu kompilasi untuk banyak masalah terkait memori adalah keuntungan besar,
00:16:30terutama di era AI, karena, tentu saja, seluruh porting ini sangat mengesankan
00:16:38dalam hal penggunaan AI.
00:16:41Dan tentu saja, ini adalah cara menggunakan AI yang sebagian besar dari kita tidak akan mampu
00:16:45atau tidak akan bersedia untuk mampu di perusahaan.
00:16:48Tapi sangat mengesankan bahwa saya bisa melakukan itu.
00:16:52Dan ini bukan pengkodean Vibe atau sekadar prompting YOLO.
00:16:56Ada proses yang jelas di balik semua itu.
00:16:59Banyak pemikiran yang masuk ke sini, yang saya harap sudah saya perjelas, yang pastinya juga menjadi jelas
00:17:05jika Anda mendalami detail teknisnya.
00:17:08Tapi dengan semua perencanaan, semua iterasi dengan penyiapan, dengan cara ini didekati,
00:17:13jelas ini bukan sekadar satu prompt yang dilemparkan padanya.
00:17:17Dan kemudian kita akan melihat ke mana kita mendapatkan ini, ini menunjukkan apa yang dapat Anda lakukan dengan AI.
00:17:21Dan tentu saja, melakukan porting basis kode dari satu bahasa ke bahasa lain adalah kasus penggunaan yang cukup bagus untuk AI.
00:17:27Jika Anda memikirkannya, AI, tentu saja, dapat berjuang dengan menulis kode baru.
00:17:32Itu mungkin tidak menulis kode yang Anda inginkan, tidak mengikuti konvensi kode
00:17:36atau gaya yang ingin Anda ikuti, dan mungkin juga mengacaukan banyak hal.
00:17:40Sekarang, AI jelas luar biasa untuk membangun perangkat lunak baru juga.
00:17:43Tapi Anda menghadapi serangkaian masalah yang berbeda di sana dengan sebuah porting.
00:17:47Keuntungan besarnya adalah Anda memiliki basis kode bagi AI untuk dilihat dan diterjemahkan,
00:17:53yang merupakan sesuatu yang dapat dilakukan AI, dan Anda memiliki rangkaian tes di sana.
00:17:57Jadi ada banyak hal yang bisa dibangun.
00:17:59Ini adalah kasus penggunaan yang baik untuk AI, sepertinya, dan seperti yang dibuktikan dengan jelas oleh porting ini.
00:18:04Dan saya pikir itulah poin paling menarik di sini.
00:18:08Juga bahwa Anda dapat menangani proyek yang tidak mungkin
00:18:12untuk ditangani sebelumnya.
00:18:13Sekali lagi, tidak untuk semua orang, tetapi untuk perusahaan tertentu dengan ukuran tertentu.
00:18:18Ini mungkin menarik.
00:18:19Memodernisasi perangkat lunak lama dengan bantuan AI bisa atau mungkin menjadi kasus penggunaan yang hebat.
00:18:26Dan ini menunjukkan dan membuktikan bahwa hal ini dapat dilakukan.
00:18:30Sekarang, tentu saja, BUN 1.4 belum keluar.
00:18:32Kita akan melihat apakah semuanya macet dan mereka harus kembali dalam sebulan dari sekarang.
00:18:36Anda tidak bisa sepenuhnya mengesampingkannya, tetapi saya pribadi tidak berpikir itu akan terjadi.
00:18:40Ini sudah digunakan dalam produksi oleh beberapa pengadopsi awal, seperti Cloud Code CLI.
00:18:47Itu telah diuji dan ditinjau secara ekstensif, meskipun, tentu saja, oleh AI, bukan peninjau manusia.
00:18:54Tapi saya cukup yakin bahwa ini akan berhasil dan saya merasa itu adalah prestasi yang cukup mengesankan dan juga penggunaan AI yang cukup mengesankan.
00:19:03Tapi seperti biasa, saya juga tertarik untuk mendengar apa pendapat Anda tentang semua itu.