etrospektif

Susan Sarandon
Susan Sarandonasal
2025-01-05 15:11:40986semak imbas

etrospektif

Imbas kembali pada 2024 dan pratonton tahun hadapan.

2024 ialah tahun terkenal untuk stdlib, padat dengan kemajuan, inovasi dan pertumbuhan komuniti. Mengimbas kembali, saya kagum dengan jumlah masa dan usaha yang diluangkan oleh ahli komuniti stdlib untuk menapis API sedia ada, mencipta fungsi baharu dan meletakkan asas untuk jalan yang menarik di hadapan. Saya berasa amat bertuah kerana menjadi sebahagian daripada komuniti yang secara aktif membentuk masa depan pengkomputeran saintifik di web dan saya yakin dengan kejayaan berterusan kami pada bulan-bulan akan datang.

Dalam siaran ini, saya akan memberikan imbasan beberapa sorotan utama dan membayangkan apa yang akan berlaku untuk tahun 2025. Walaupun saya akan membuat pelbagai laungan kepada penyumbang individu, tiada satu pun daripada apa yang kami capai tahun ini boleh berlaku tanpa keseluruhan komuniti stdlib. Komuniti memainkan peranan penting dalam melakukan kerja keras yang diperlukan untuk menjayakan stdlib, daripada mencari dan menampal pepijat kepada menyemak permintaan tarik dan mencuba isu kepada menyelam jauh ke dalam rumpai algoritma berangka dan reka bentuk perisian. Jika saya tidak menyebut nama anda, sila pastikan anda mengetahui bahawa usaha anda diiktiraf dan amat dihargai. Terima kasih yang tidak terhingga kepada semua yang terlibat dan kepada semua orang yang telah membantu sepanjang perjalanan, dari segi besar mahupun kecil. ❤️

TL;DR

Tahun lalu ini adalah transformatif untuk stdlib, ditandai dengan pertumbuhan yang ketara, inovasi dan sumbangan komuniti. Beberapa sorotan utama termasuk:

  • Pertumbuhan Komuniti: 84 penyumbang baharu menyertai stdlib, meningkatkan tiga kali ganda saiz komuniti pembangun kami dan memacu lebih 4,000 komitmen, 2,200 permintaan tarik dan keluaran 500 pakej baharu.
  • Kod Musim Panas Google: empat penyumbang luar biasa membantu memajukan projek kritikal, termasuk keupayaan REPL yang dipertingkat, sokongan BLAS yang diperluas dan API matematik baharu.
  • Alat Pembangun Dipertingkat: kemajuan utama dalam automasi termasuk penjanaan log perubahan automatik, aliran kerja CI yang dipertingkatkan dan penjejakan liputan ujian yang lebih baik.
  • Pencapaian Teknikal: kemajuan ketara telah dicapai dalam algebra linear (BLAS dan LAPACK), pengindeksan mewah, penyepaduan WebAssembly dan pelaksanaan C fungsi matematik, semuanya bertujuan menjadikan JavaScript sebagai bahasa kelas pertama untuk pengkomputeran saintifik.
  • Wawasan Masa Depan: melihat ke hadapan ke 2025, kami menyasarkan untuk mengembangkan perpustakaan matematik kami, meningkatkan interaktiviti REPL, meneroka WebGPU dan terus membina alatan untuk menjadikan pengkomputeran saintifik di web lebih berkuasa dan boleh diakses.

Dengan pertumbuhan pesat stdlib dan usaha kolektif komuniti global kami, kami sedang membentuk masa depan pengkomputeran saintifik di web. Sertai kami sambil kami mengambil langkah seterusnya dalam perjalanan yang menarik ini!

Statistik

Untuk memulakan, beberapa statistik akhir tahun peringkat tinggi. Tahun ini,

  • 84 penyumbang baharu dari seluruh dunia menyertai stdlib, tiga kali ganda saiz komuniti pembangun kami dan membawa kehidupan baharu serta perspektif baharu kepada projek.
  • Bersama-sama, kami membuat lebih 4000 komitmen ke cawangan pembangunan utama.
  • Kami membuka hampir 2200 permintaan tarik, dengan lebih 1600 permintaan tarik itu digabungkan.
  • Dan kami menghantar lebih 500 pakej baharu dalam projek, daripada rutin algebra linear baharu kepada fungsi matematik khusus kepada infrastruktur asas untuk tatasusunan berbilang dimensi kepada API yang menyokong WebAssembly dan persekitaran dipercepatkan yang lain.

Pencapaian ini mencerminkan kerja keras dan dedikasi komuniti kami. Ia adalah tahun yang sibuk, dan kami terpaksa berfikir secara kritis tentang cara kami boleh meningkatkan projek dan komuniti kami dengan berkesan kerana kedua-duanya terus berkembang. Ini bermakna melabur dalam peralatan dan automasi, menambah baik proses semakan dan keluaran kami serta memikirkan cara untuk mengenal pasti dan meningkatkan kemahiran penyumbang baharu dengan cepat.

Kod Musim Panas Google

Satu peristiwa yang benar-benar menggerakkan perkara untuk stdlib pada tahun 2024 ialah penerimaan kami ke dalam Kod Musim Panas Google (GSoC). Kami sebelum ini telah memohon pada 2023, tetapi ditolak. Jadi apabila kami memohon pada tahun 2024, kami tidak fikir kami mempunyai banyak peluang. Amat mengejutkan dan menggembirakan kami, stdlib telah diterima, sekali gus mencetuskan langkah gila untuk menyelesaikan urusan kami supaya kami dapat menangani kemasukan penyumbang yang akan datang.

GSoC akhirnya menjadi pengalaman transformatif untuk stdlib, membawa masuk penyumbang berbakat dan memajukan projek kritikal. Seperti yang kami perincikan dalam refleksi GSoC kami, jalan itu bergelombang, tetapi kami belajar banyak dan keluar dari seberang. Tidak perlu dikatakan, kami amat bertuah kerana mempunyai empat penyumbang GSoC yang benar-benar cemerlang: Aman Bhansali, Gunj Joshi, Jaysukh Makvana dan Snehil Shah. Saya akan memberitahu lebih sedikit tentang kerja mereka dalam bahagian di bawah.

REPL

Gelung cetakan baca-eval (REPL) Node.js selalunya menjadi sesuatu yang difikirkan semula dalam dunia JavaScript, yang kurang digunakan dan tidak dihargai. Sejak hari-hari terawal stdlib, kami ingin mencipta pengalaman REPL yang lebih baik, dengan sokongan bersepadu untuk pengkomputeran saintifik dan fungsi pemprosesan data stdlib. Pembangunan REPL stdlib telah datang sesuai dan bermula, tetapi sentiasa ada matlamat untuk memadankan set kuasa dan ciri IPython Python untuk memudahkan analisis data penerokaan interaktif dalam JavaScript. Oleh itu, kami agak teruja apabila Snehil Shah menyatakan minat untuk mengusahakan stdlib REPL sebagai sebahagian daripada GSoC.

Snehil telah membuat liputan beberapa karyanya dalam catatan blog sebelum ini tentang "Warna-warna yang dialu-alukan untuk REPL!", tetapi kerjanya dan yang lain meliputi lebih banyak lagi. Beberapa sorotan:

  • Penyelesaian pratonton: apabila menaip aksara yang sepadan dengan simbol yang diketahui dalam REPL, pratonton pelengkapan kini dipaparkan, membantu memudahkan pelengkapan automatik dan menyimpan ketukan kekunci berharga pembangun. Jerit kepada Tudor Pagu, khususnya, kerana menambahkan ini!
  • Pengeditan berbilang baris: sebelum menambah sokongan untuk pengeditan berbilang baris, REPL menyokong input berbilang baris, tetapi tidak menyokong pengeditan baris yang dimasukkan sebelum ini, selalunya membawa kepada pengalaman pengguna yang mengecewakan. Kini, REPL menyokong pengeditan berbilang baris dalam terminal serupa dengan aplikasi editor khusus.
  • Penomboran keluaran panjang: permintaan ciri yang telah lama wujud ialah menambah sokongan untuk sesuatu seperti kurang/lebih kepada REPL stdlib. Sebelum ini, jika arahan menghasilkan output yang panjang, pengguna boleh berhadapan dengan dinding teks. Perkara ini kini telah diatasi, dengan harapan dapat menambah fungsi carian kurang seperti yang lebih maju pada bulan-bulan akan datang.
  • Tampal kurungan: menampal input berbilang baris ke dalam REPL yang digunakan untuk melaksanakan input baris demi baris, bukannya menampalnya sebagai gesaan tunggal. Walaupun berguna dalam sesetengah kes, ini selalunya bukan niat yang diingini, terutamanya apabila pengguna ingin menampal dan mengedit input berbilang baris sebelum pelaksanaan.
  • Tema penyerlahan sintaks tersuai: pembangun yang biasa membangun dalam IDE selalunya boleh berasa hanyut apabila berpindah ke terminal yang tidak mempunyai beberapa ciri editor kegemaran mereka. Salah satu kebaikan itu ialah penyerlahan sintaks. Sehubungan itu, kami berusaha untuk menambah sokongan untuk tema tersuai, seperti yang diperincikan dalam catatan blog Snehil.
  • Autopasangan: satu lagi kebaikan IDE biasa ialah penutupan automatik kurungan dan tanda petikan, membantu menjimatkan ketukan kekunci dan mengurangkan kurungan hilang yang ditakuti. Tidak ada yang mengelak daripada tugas yang sukar, Snehil melaksanakan sokongan untuk gandingan automatik sebagai salah satu permintaan tarik pertamanya yang membawa kepada GSoC.

Sebahagian besarnya terima kasih kepada kerja Snehil, kami bergerak lebih dekat dengan pariti IPython pada tahun 2024, sekali gus mengubah pengalaman JavaScript untuk pengkomputeran saintifik. Dan kita belum selesai lagi. Kami masih mempunyai permintaan tarik yang berfungsi melalui baris gilir, dan satu perkara yang saya sangat teruja ialah kami baru-baru ini mula meneroka menambah sokongan untuk protokol Jupyter. Nantikan berita REPL tambahan pada tahun 2025!

BLAS

Satu lagi bidang tumpuan ialah pembangunan berterusan stdlib BLAS (Basic Linear Algebra Subprograms) sokongan , yang menyediakan API asas untuk operasi algebra linear biasa, seperti penambahan vektor, pendaraban skalar, hasil darab titik, gabungan linear dan pendaraban matriks. Menjelang tahun 2024, sokongan BLAS dalam stdlib agak tidak lengkap, terutamanya dari segi sokongannya untuk jenis data titik terapung bernilai kompleks. Air pasang mula berubah dengan usaha Jaysukh Makvana untuk mencapai pariti ciri struktur data Complex64Array dan Complex128Array stdlib dengan tatasusunan ditaip JavaScript terbina dalam.

Usaha ini kemudiannya membuka jalan untuk menambahkan sokongan BLAS Tahap 1 untuk jenis data tatasusunan bertaip bernilai kompleks dan kerja Aman Bhansali, yang meneruskan sokongan BLAS Tahap 2 dan Tahap 3 dalam stdlib. Selepas memfokuskan pada mulanya pada antara muka tatasusunan langkah BLAS peringkat rendah, Aman mengembangkan skopnya dengan menambahkan pelaksanaan WebAssembly dan dengan menambahkan sokongan untuk menggunakan operasi BLAS pada susunan matriks dan vektor melalui API tatasusunan berbilang dimensi peringkat tinggi (a.k.a., ndarray).

Selain rutin BLAS konvensional, stdlib termasuk rutin seperti BLAS yang bukan sebahagian daripada BLAS rujukan. Rutin ini termasuk API untuk algoritma penjumlahan skalar dan kumulatif alternatif, menyusun tatasusunan berjalur, mengisi dan memanipulasi elemen tatasusunan berjalur, pengendalian nilai NaN secara eksplisit dan operasi lain yang tidak berada di bawah panji algebra linear, tetapi adalah perkara biasa apabila bekerja. dengan data.

Semasa kerja BLAS Aman, kami membersihkan dan memfaktorkan semula pelaksanaan BLAS, dan Muhammad Haris menawarkan diri untuk melanjutkan usaha tersebut kepada rutin BLAS lanjutan kami. Usaha beliau memerlukan pemindahan alat tambah asli Node.js kepada C tulen untuk mengurangkan pelat dandang dan memanfaatkan koleksi makro C kami yang meluas untuk mengarang alat tambah asli dan seterusnya memerlukan penambahan API C khusus untuk memudahkan antara muka dengan ndarray stdlib.

Perkembangan ini memastikan bahawa stdlib terus menerajui sokongan algebra linear untuk pembangun JavaScript, menawarkan alat berkuasa untuk pengkomputeran berangka. Walaupun banyak yang telah disiapkan, lebih banyak kerja masih ada dan BLAS akan terus menjadi tumpuan pada 2025.

LAPACK

Membina kerja BLAS sebagai sebahagian daripada latihan di Quansight Labs, Pranav Goswami berusaha untuk meletakkan asas untuk LAPACK (Linear Algebra Pack umur) sokongan dalam stdlib untuk menyediakan rutin algebra linear tertib lebih tinggi untuk menyelesaikan sistem persamaan linear, masalah nilai eigen, pemfaktoran matriks, dan penguraian nilai tunggal. Terperinci lebih lengkap dalam catatan blog pasca latihannya, Pranav berusaha untuk mewujudkan pendekatan untuk ujian dan dokumentasi pelaksanaan tambahan dan untuk memanfaatkan idea BLIS untuk mencipta antara muka LAPACK yang memudahkan antara muka dengan ndarray stdlib dan dengan itu meminimumkan pergerakan data dan keperluan storan. Walaupun sebahagian besar masa dihabiskan untuk menyelesaikan masalah dan mengulang reka bentuk API, Pranav mencapai kemajuan yang ketara dalam menambah pelbagai utiliti pelaksanaan dan hampir 30 rutin LAPACK yang biasa digunakan. Memandangkan kehebatan LAPACK (~1700 rutin), kerja ini akan diteruskan pada masa hadapan, jadi nantikan lebih banyak kemas kini pada bulan-bulan akan datang!

Secara ringkasnya, jika anda berminat untuk mengetahui lebih lanjut tentang cara stdlib menghampiri antara muka dengan perpustakaan Fortran, yang kebanyakannya masih membentuk asas pengkomputeran berangka moden, pastikan anda menyemak catatan blog Pranav tentang memanggil rutin Fortran daripada JavaScript menggunakan Node.js.

C pelaksanaan fungsi matematik khas

Salah satu keutamaan lama stdlib ialah pembangunan berterusan rutin vektornya untuk operasi matematik dan statistik biasa. Walaupun semua kernel matematik skalar (cth., fungsi transendental, seperti sin, cos, erf, gamma, dsb, dan fungsi ketumpatan pengedaran statistik) mempunyai pelaksanaan JavaScript, banyak kernel tidak mempunyai pelaksanaan C yang sepadan, yang diperlukan untuk membuka kunci prestasi yang lebih pantas dalam Node.js dan masa jalan JavaScript sebelah pelayan lain yang menyokong pengikatan asli.

Gunj Joshi dan yang lain berusaha untuk mengisi jurang ini dan membuka 160 permintaan tarik sambil menambah pelaksanaan C khusus. Pada ketika ini, hanya beberapa fungsi transendental ketepatan dwi yang paling banyak digunakan (melihat anda betainc!). Usaha kini telah beralih kepada melengkapkan sokongan ketepatan tunggal dan menambah pelaksanaan C untuk fungsi pengedaran statistik. Kami menjangkakan kerja ini diteruskan untuk separuh pertama tahun 2025 sebelum menumpukan perhatian kami kepada tatasusunan langkah dan API ndarray peringkat lebih tinggi, dengan pelaksanaan untuk kedua-dua alat tambah asli WebAssembly dan Node.js.

Pengindeksan mewah

Satu lagi bidang di mana kami membuat kemajuan yang ketara ialah dalam meningkatkan ergonomik penghirisan dan manipulasi tatasusunan. Pengguna bahasa pengaturcaraan berangka, seperti MATLAB dan Julia, dan perpustakaan pengkomputeran berangka khusus, seperti NumPy, telah lama menikmati faedah sintaks ringkas untuk menyatakan operasi yang hanya mempengaruhi subset elemen tatasusunan. Contohnya, coretan berikut menunjukkan menetapkan setiap elemen lain dalam tatasusunan kepada sifar dengan NumPy.

import numpy as np

# Create an array of ones:
x = np.ones(10)

# Set every other element to zero:
x[::2] = 0.0

Sebagai bahasa, JavaScript tidak menyediakan sintaks yang begitu mudah, memaksa pengguna sama ada menggunakan kaedah objek yang lebih bertele-tele atau manual untuk gelung. Oleh itu, kami berusaha untuk menangani jurang ini dengan memanfaatkan objek Proksi untuk menyokong "pengindeksan mewah". Walaupun penggunaan objek Proksi memerlukan beberapa overhed prestasi disebabkan oleh kelalaian harta, anda kini hanya perlu memasang dan mengimport satu pakej untuk mendapatkan semua faedah penghirisan gaya Python dalam JavaScript, sekali gus mengelakkan keperluan untuk verbose untuk gelung dan membuat tatasusunan manipulasi jauh lebih ergonomik.

import array2fancy from '@stdlib/array-to-fancy';

// Create a plain array:
const x = [ 1, 2, 3, 4, 5, 6, 7, 8 ];

// Turn the plain array into a "fancy" array:
const y = array2fancy( x );

// Select the first three elements:
const v = y[ ':3' ];
// returns [ 1, 2, 3 ]

// Select every other element, starting from the second element:
v = y[ '1::2' ];
// returns [ 2, 4, 6, 8 ]

// Select every other element, in reverse order, starting with the last element:
v = y[ '::-2' ];
// returns [ 8, 6, 4, 2 ]

// Set all elements to the same value:
y[ ':' ] = 9;

// Create a shallow copy by selecting all elements:
v = y[ ':' ];
// returns [ 9, 9, 9, 9, 9, 9, 9, 9 ]

Selain menghiris semantik, Jaysukh menambah sokongan pada stdlib untuk tatasusunan boolean, sekali gus meletakkan asas untuk penyamaran tatasusunan boolean.

import BooleanArray from '@stdlib/array-bool';
import array2fancy from '@stdlib/array-to-fancy';

// Create a plain array:
const x = [ 1, 2, 3, 4, 5, 6, 7, 8 ];

// Turn the plain array into a "fancy" array:
const y = array2fancy( x );

// Create a shorthand alias for creating an array "index" object:
const idx = array2fancy.idx;

// Create a boolean mask array:
const mask = new BooleanArray( [ true, false, false, true, true, true, false, false ] );

// Retrieve elements according to the mask:
const z = x[ idx( mask ) ];
// returns [ 1, 4, 5, 6 ]

Kami kemudiannya menggunakan pembelajaran kami apabila menambah sokongan untuk penyamaran tatasusunan boolean untuk menambah sokongan untuk pengindeksan tatasusunan integer.

import Int32Array from '@stdlib/array-int32';
import array2fancy from '@stdlib/array-to-fancy';

// Create a plain array:
const x = [ 1, 2, 3, 4, 5, 6, 7, 8 ];

// Turn the plain array into a "fancy" array:
const y = array2fancy( x );

// Create a shorthand alias for creating an array "index" object:
const idx = array2fancy.idx;

// Create an integer array:
const indices = new Int32Array( [ 0, 3, 4, 5 ] );

// Retrieve selected elements:
const z = x[ idx( indices ) ];
// returns [ 1, 4, 5, 6 ]

Walaupun perkara di atas menunjukkan pengindeksan mewah dengan objek tatasusunan JavaScript terbina dalam, baru-baru ini kami telah memperluaskan konsep pengindeksan mewah kepada stdlib ndarrays, topik yang akan kami perkatakan lagi dalam catatan blog akan datang.

Tidak perlu dikatakan, kami amat teruja dengan perkembangan ini kerana kami percaya ia akan meningkatkan dengan ketara pengalaman pengguna pengkomputeran interaktif dan analisis data penerokaan dalam JavaScript.

Uji dan bina

Akhir sekali, 2024 adalah tahun automasi, dan saya akan lalai jika saya tidak menyebut usaha Philipp Burckhardt. Philipp memainkan peranan penting dalam meningkatkan infrastruktur binaan dan ujian CI kami serta meningkatkan kebolehskalaan keseluruhan projek. Hasil kerja beliau adalah prolifik, tetapi terdapat beberapa sorotan utama yang ingin saya ketengahkan.

  • Penjanaan log perubahan automatik: Philipp mengetuai projek ke arah menggunakan komitmen konvensional, yang merupakan cara piawai untuk menambahkan makna yang boleh dibaca manusia dan mesin untuk menghantar mesej, dan seterusnya membina set alat yang mantap untuk melaksanakan keluaran automatik, menjana komprehensif log perubahan, dan menyelaraskan penerbitan ekosistem stdlib yang sentiasa berkembang 4000 pakej kendiri. Proses keluaran manual yang dahulunya boleh dilakukan dengan menjalankan satu aliran kerja GitHub.
  • stdlib bot: Philipp mencipta bot permintaan tarik GitHub untuk mengautomasikan tugasan semakan permintaan tarik, menyiarkan mesej yang berguna dan meningkatkan keseluruhan pengalaman pembangunan penyelenggara. Pada bulan-bulan akan datang, kami amat berminat untuk melanjutkan kefungsian bot untuk membantu dengan penyelarasan penyumbang baharu dan membenderakan isu sumbangan biasa.
  • Automasi liputan ujian: dengan projek bersaiz stdlib, menjalankan keseluruhan suite ujian pada setiap komit dan untuk setiap permintaan tarik adalah mustahil. Oleh itu, adalah sukar untuk mencantumkan laporan liputan ujian pakej individu untuk mendapatkan pandangan global tentang liputan ujian keseluruhan. Philipp berusaha untuk menangani masalah ini dengan membuat saluran paip automasi untuk memuat naik laporan liputan ujian individu ke repositori khusus, dengan sokongan untuk menjejaki metrik liputan dari semasa ke semasa dan mencipta perubahan liputan ujian yang dijangka untuk setiap permintaan tarik yang diserahkan. Tidak perlu dikatakan, ini telah meningkatkan keterlihatan kami secara drastik ke dalam metrik liputan ujian dan membantu meningkatkan keyakinan kami dalam ujian yang mengiringi permintaan tarik yang diserahkan.

Walaupun kami telah membuat kemajuan yang besar dalam perkakasan automasi projek kami, kami nampaknya tidak pernah ketandusan idea untuk automasi dan penambahbaikan alatan selanjutnya. Jangkakan lebih banyak lagi akan datang pada tahun 2025! ?

Pandang ke hadapan

Jadi apa yang ada untuk 2025?! Senang awak bertanya!

Kami telah pun merujuk kepada pelbagai inisiatif dalam bahagian di atas, tetapi, pada tahap yang tinggi, di sinilah kami merancang untuk menumpukan usaha kami pada tahun hadapan:

  • GSoC 2025: dengan mengandaikan Google menjalankan program tahunan Google Summer of Code dan kami cukup bernasib baik kerana diterima semula, kami ingin terus menyokong penyumbang sumber terbuka generasi seterusnya.
  • Pelaksanaan C Matematik dan statistik: mengembangkan perpustakaan inti matematik dan statistik skalar kami serta memastikan pariti ketepatan dua dan tunggal.
  • BLAS: melengkapkan pengedaran WebAssembly kami dan API peringkat lebih tinggi untuk beroperasi pada tindanan matriks dan vektor.
  • LAPACK: terus melupakan ~1700 rutin LAPACK (!).
  • FFT: menambahkan sokongan Fast Fourier Transform (FFT) awal pada stdlib untuk membantu membuka kunci algoritma untuk pemprosesan isyarat.
  • Operasi bervektor: mengautomasikan penciptaan pakej untuk operasi bervektor ke atas matematik skalar dan inti statistik.
  • pariti API ndarray: mengembangkan kebolehgunaan dan kebiasaan ndarray dengan mencapai pariti API dengan tatasusunan JavaScript terbina dalam dan tatasusunan ditaip.
  • REPL: menambahkan sokongan protokol Jupyter dan pelbagai peningkatan ergonomik pengguna.
  • WebGPU: walaupun kami belum komited secara rasmi kepada mana-mana pendekatan khusus, kami berminat sekurang-kurangnya menerokai sokongan untuk WebGPU, standard web baru muncul yang membolehkan halaman web menggunakan unit pemprosesan grafik (GPU) peranti dengan cekap , termasuk untuk pengiraan GPU tujuan umum, untuk menyediakan API untuk pengkomputeran saintifik dipercepatkan di web.
  • Pembiayaan projek: meneroka dan berharap mendapatkan pembiayaan projek untuk mempercepatkan usaha pembangunan dan menyokong pertumbuhan berterusan komuniti stdlib.

Itu sudah tentu banyak, dan ia akan mengambil sebuah kampung—komuniti orang yang berdedikasi kepada misi kami untuk menjadikan web sebagai platform kelas pertama untuk pengkomputeran berangka dan saintifik. Jika anda bersedia untuk menyertai kami dalam membina masa depan pengkomputeran saintifik di web, kami ingin anda menyertai kami. Lihat panduan penyumbang kami untuk melihat cara anda boleh terlibat.

Nota peribadi

Sambil melihat ke hadapan, saya ingin berkongsi refleksi peribadi tentang apa yang bermakna tahun ini kepada saya. Memandangkan pertumbuhan kami tahun ini, saya sering berasa seperti saya minum dari hos api. Dan, secara jujur, agak sukar untuk tidak berasa letih apabila anda bangun dari tidur hari demi hari hingga melebihi 100 pemberitahuan dan mesej baharu daripada orang yang mahukan bimbingan, jawapan kepada soalan dan permintaan tarik balik disemak. Tetapi, apabila mengingati tahun lepas ini, saya amat berbangga dengan apa yang telah kami capai, dan saya amat berbesar hati apabila saya melihat penyumbang baharu kepada sumber terbuka berkembang dan berkembang, kadangkala menggunakan pengajaran yang telah mereka pelajari menyumbang sebagai batu loncatan untuk pekerjaan dan peluang impian. Bernasib baik untuk melihatnya adalah motivasi pemacu dan keistimewaan dalam dunia sumber terbuka yang lebih besar yang saya lakukan yang terbaik untuk tidak mengambil mudah.

Dan dengan itu, ini menyimpulkan retrospektif 2024. Mengimbas kembali semua yang telah kita capai bersama, masa depan pengkomputeran saintifik di web tidak pernah lebih cerah! Terima kasih sekali lagi kepada semua yang terlibat yang telah membantu sepanjang perjalanan. Jalan di hadapan dipenuhi dengan peluang yang menarik, dan kami tidak sabar untuk melihat apa yang akan kami capai bersama pada tahun 2025. Maju dan seterusnya! ?


stdlib ialah projek perisian sumber terbuka yang didedikasikan untuk menyediakan suite komprehensif perpustakaan yang teguh dan berprestasi tinggi untuk mempercepatkan pembangunan projek anda dan memberi anda ketenangan fikiran kerana anda bergantung pada perisian berkualiti tinggi yang direka dengan mahir.

Jika anda menyukai siaran ini, berikan kami bintang ? di GitHub dan pertimbangkan untuk menyokong projek itu dari segi kewangan. Sumbangan anda dan sokongan berterusan membantu memastikan kejayaan jangka panjang projek dan amat dihargai!

Atas ialah kandungan terperinci etrospektif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn