Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Halo, Habr! Kuring nampilkeun ka perhatian anjeun tarjamahan tina tulisan Stephen Wolfram "The Wolfram Function Repository: Ngaluncurkeun Platform Terbuka pikeun Ngalegaan Basa Wolfram".

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Prasyarat pikeun konsistensi basa Wolfram

Dinten ieu kami nangtung dina bangbarung prestasi hébat babarengan jeung basa programming Basa Wolfram. Ngan tilu minggu ka tukang urang dibuka bebas mesin Wolfram pikeun pamekarpikeun mantuan pamaké urang ngahijikeun Wolfram Language kana proyék software skala badag maranéhanana. Dinten ieu kami ngaluncurkeun Repository fungsi Wolfram, Dina raraga nyadiakeun platform ngagabung pikeun fungsi dijieun pikeun manjangkeun basa Wolfram, sarta kami ogé muka gudang fungsi pikeun saha anu bisa nyumbang kana ngembangkeun produk software urang.

The Wolfram Function Repository mangrupikeun hal anu dimungkinkeun ku sifat unik tina Wolfram Language henteu ngan ukur salaku basa pamrograman, tapi ogé salaku basa komputasi skala pinuh. Dina basa program tradisional, nambahkeun fungsionalitas anyar signifikan biasana ngalibatkeun nyieun sakabéh perpustakaan tambahan nu bisa atawa bisa jadi teu dianggo lamun dipaké babarengan. Sanajan kitu, dina Wolfram Basa jadi loba anu geus diwangun kana basa sorangan, yén mungkin sacara signifikan ngalegaan pungsionalitasna ku ngan saukur nambahan pungsi anyar anu langsung diintegrasikeun kana struktur holistik sakabéh basa.

Contona, dina Repository fungsi Wolfram geus ngandung 532 fitur anyar terstruktur kana 26 kategori tematik:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Kitu ogé leuwih ti 6000 fungsi baku, diwangun kana basa Wolfram, unggal fungsi tina Repository ngabogaan kaca dokuméntasi kalayan pedaran lengkep aranjeunna sarta conto karya:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Pikeun dugi ka halaman, salin obyék di luhur (fungsi BLOB), lebetkeun kana garis input teras jalankeun fungsina - éta parantos diwangun kana basa Wolfram sareng dirojong sacara standar dimimitian ku vérsi 12.0:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Ieu kudu dicatet yén nalika ngolah LogoQRCode Anjeun teu kedah, contona, nyetél "perpustakaan pamrosesan gambar" - sabab kami parantos ngalaksanakeun cara algoritma anu konsisten sareng taliti dina Basa Wolfram. ngolah gambar, anu tiasa langsung diolah ku sababaraha fungsi basa grafis:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Kuring miharep éta kalayan rojongan komunitas éndah tur berbakat, nu geus tumuwuh sarta ngembangna (dumasar kana Wolfram Language) leuwih sababaraha dekade kaliwat. Repository fungsi Wolfram bakal ngidinan pikeun masa depan foreseeable mun nyata dilegakeun rentang (jigana berpotensi signifikan, husus dina sagala rupa widang sains jeung téhnologi) fungsi sadia dina basa. Ku kituna, janten mungkin ngagunakeun duanana eusi basa (na diwangun-di fungsi) jeung prinsip pangwangunan, anu dilaksanakeun dumasar kana basa. (Perlu diperhatoskeun di dieu yén Wolfram Language parantos ngagaduhan langkung ti 30-taun sajarah ngembangkeun sarta pertumbuhan stabil).
Fungsi tina gudang bisa ngandung potongan leutik atawa badag kode ditulis dina Wolfram Basa. Salaku conto, ieu tiasa janten telepon API sareng jasa éksternal atanapi perpustakaan éksternal dina basa sanés. Fitur unik tina pendekatan ieu nyaéta nalika anjeun ngebor fungsionalitas tingkat-pamaké, moal aya poténsi inconsistencies sabab pendekatan ieu diwangun dina luhureun struktur konsisten tina Basa Wolfram - sarta unggal fungsi bakal otomatis dianggo leres - persis sakumaha dimaksudkeun. manéhna kudu.
Struktur cangkang sareng program tina Wolfram Feature Repository dirancang supados sadayana tiasa nyumbang kana panyabab umum ku cara anu paling saderhana sareng merenah pikeun aranjeunna - kanyataanna, ngan ku ngeusian file téks notepad (kalayan ekstensi nb) WL. Diwangun-di fungsi otomatis ngidinan Anjeun pikeun pariksa fungsi anyar ditambahkeun kana gudang pikeun mastikeun integrasi maranéhanana kana basa. Pausahaan kami tohan dina rupa-rupa pamaké anu bisa ngahijikeun fungsi maranéhanana kana basa, tinimbang dina pajeulitna hébat fungsi anyar - sarta sanajan aya prosés review, urang teu keukeuh kana nanaon kawas analisis desain painstaking atawa standar ketat pikeun completeness jeung reliabilitas fitur pamaké anyar, sabalikna tina nguji leuwih rigorous fitur diwangun kana basa inti nu urang employ.

Aya seueur trade-offs sareng detil dina pendekatan ieu, tapi tujuan kami nyaéta pikeun ngaoptimalkeun gudang fitur Wolfram boh pikeun pangalaman pangguna sareng pikeun mastikeun yén fitur-fitur pangguna énggal nyumbang sacara bermakna pikeun pangembangan basa. Salaku urang tumuwuh, Kuring boga mamang yen urang kudu invent métode anyar pikeun ngolah jeung validating fungsi diwangun kana gudang, teu saeutik pikeun pangatur angka nu gede ngarupakeun fungsi sarta manggihan nu pamaké butuh. Sanajan kitu, éta encouraging yén jalur kami geus dipilih mangrupakeun mimiti alus. Kuring pribadi ditambahkeun sababaraha fitur kana database aslina. Loba di antarana anu dumasar kana kode nu Kuring geus pribadi dimekarkeun pikeun rada sababaraha waktos. Sareng kuring ngan ukur nyandak sababaraha menit pikeun nyorong aranjeunna ka gudang. Ayeuna aranjeunna aya dina gudang, tungtungna kuring tiasa - langsung sareng iraha waé - ngagunakeun fungsi ieu upami diperyogikeun, tanpa kedah hariwang milarian file, ngaunduh bungkusan, jsb.

Ningkatkeun efisiensi bari ngirangan biaya

Malah sateuacan Internét, aya cara pikeun ngabagi kodeu Wolfram Language (proyék terpusat utama munggaran urang nyaéta MathSource, dijieun pikeun Mathematica di 1991 dumasar kana CD-ROM, jsb). Tangtosna, pendekatan anu diusulkeun pikeun palaksanaan dumasar kana gudang fungsi Wolfram mangrupikeun alat anu langkung kuat sareng dipercaya pikeun ngalaksanakeun tugas di luhur.

Pikeun leuwih ti 30 taun, parusahaan urang geus digawé getol pikeun ngajaga integritas struktur basa Wolfram, sarta ieu penting pikeun mastikeun yén basa Wolfram jadi teu ngan hiji basa program, tapi ogé mangrupa basa komputasi full-fledged. Ku kituna, hakekat pendekatan pikeun nerapkeun Repository fungsi Wolfram nyaéta ngagunakeun pendekatan ngahijikeun Tatar pikeun programming sarta ngamekarkeun fungsi anyar nu sequentially ditambahkeun jeung pas kana kerangka basa sangkan bisa ngamekarkeun tur co-evolve.

Rupa-rupa prosés komputasi lumangsung dina struktur palaksanaan unggal fungsi. Ieu kudu dicatet yén perlu yén fungsi ngabogaan penampilan jelas tur seragam jeung readability visual pikeun pamaké. Dina kontéks ieu, fungsi anu diwangun dina Wolfram Language dibere langkung ti 6000 conto sekuen ngeunaan kumaha leres program fungsi (ieu mangrupikeun conto kami. video programming hirupnu ngawengku ratusan jam prosés nyiptakeun program standar). Naon pendekatan ieu pamustunganana ngajadikeun Repository fitur Wolfram sanggup ngajalankeun ogé mangrupa alam struktural tina Wolfram Basa, kalawan jumlah badag perpustakaan tambahan sarta variatif na anu geus diwangun kana basa. Contona, upami Anjeun gaduh fungsi nu ngolah gambar, atawa arrays jarangatawa struktur molekularjeung data géografis atawa sababaraha séjén - ngagambarkeun simbolis konsisten maranéhanana geus aya dina basa, sarta berkat ieu, fungsi anjeun langsung jadi cocog sareng fungsi sejenna dina basa.

Nyiptakeun gudang anu leres-leres tiasa dianggo mangrupikeun tugas pemrograman meta anu pikaresepeun. Salaku conto, kaleuwihan larangan dina program moal ngijinkeun kéngingkeun ngahijikeun sareng universalitas algoritma anu diperyogikeun. Sagampil sareng jumlah larangan fungsional anu teu cekap, anjeun moal tiasa ngalaksanakeun sekuen palaksanaan algoritma anu leres. Sababaraha conto sateuacana pikeun ngalaksanakeun kompromi tina pendekatan ieu, dilaksanakeun ku perusahaan kami, damel rada stabil - ieu nyaéta: Proyék Tungsten Demonstrasi, diluncurkeun dina 2007 tur ayeuna ngajalankeun online online kalawan leuwih 12000 demo interaktif pamaké. DI database Wolfram aya leuwih ti 600 database siap-dijieun nu bisa dipaké dina Wolfram Basa, jeung Panyimpen jaringan saraf Wolfram dieusi deui ku jaringan saraf anyar ampir unggal minggu (geus aya 118 di antarana ayeuna) sareng aranjeunna langsung dihubungkeun ngaliwatan fungsina. NetModel dina Basa Wolfram.

Sadaya conto di luhur gaduh fitur dasar - objék sareng fungsi anu dikumpulkeun dina proyék gaduh tingkat structuring sareng distribusi prosés anu kacida luhurna. Tangtosna, jéntré ngeunaan struktur naon demo atanapi jaringan saraf atanapi anu sanésna tiasa bénten pisan, tapi struktur dasar pikeun gudang ayeuna tetep sami. Janten kumaha pendapat anjeun, pangguna anu dipikacinta, ngeunaan nyiptakeun gudang sapertos anu nambihan ekstensi kana basa Wolfram? Basa Wolfram dirancang pikeun pisan fléksibel, ku kituna tiasa diperpanjang sareng dirobih ku cara naon waé. Kaayaan ieu penting pisan pikeun kamampuhan pikeun gancang nyieun rupa-rupa proyék software skala badag dina Wolfram Language. Perlu dicatet di dieu yén nalika kalenturan basa ningkat, biaya proyék anu dilaksanakeun dina basa sapertos kitu pasti bakal ningkat. Ieu alatan kanyataan yén beuki pamaké ngagunakeun basa sapertos, fungsionalitas beuki dedicated anjeunna nampi, tapi urang teu kudu poho yén pendekatan ieu ogé bisa boga sisi négatip tina segi henteu mampuh pikeun mastikeun konsistensi konsisten modul program.

Aya masalah umum sareng perpustakaan dina basa pamrograman tradisional - upami anjeun nganggo hiji perpustakaan, contona, kodeu bakal jalanna leres, tapi upami anjeun nyobian nganggo sababaraha perpustakaan, teu aya jaminan yén aranjeunna bakal berinteraksi kalayan leres. . Ogé, dina basa program tradisional - teu saperti basa komputasi full-fledged - teu aya cara pikeun ngajamin ayana konsistén diwangun-di representasi pikeun sagala fungsi atawa tipe data lian ti struktur dasar maranéhanana. Tapi, dina kanyataanana, masalahna malah leuwih badag batan sigana di glance kahiji: lamun hiji ngawangun vertikal skala badag fungsionalitas, teras tanpa waragad badag programming proyék terpusat nu urang nempatkeun kana basa Wolfram, mustahil mun ngahontal konsistensi. Éta kituna penting yén sakabéh modul software salawasna gawé bareng bener.

Janten ide di balik gudang fitur Wolfram nyaéta pikeun ngahindarkeun masalah anu digariskeun di luhur ku ngan saukur nambihan ekstensi kana basa dina potongan kode anu kawilang leutik liwat fitur individu anu langkung gampang dikembangkeun salaku modul anu koheren. Kitu cenah, aya fitur programming nu teu bisa dijieun merenah ngagunakeun fungsi individu (jeung parusahaan urang ngarencanakeun ngaleupaskeun hiji algoritma programming dioptimalkeun dina mangsa nu bakal datang pikeun mantuan nerapkeun bungkusan software skala badag). Sanajan kitu, dumasar kana fungsi geus diwangun kana Wolfram Basa, aya loba kemungkinan programming nu dilaksanakeun dumasar kana fungsi individu. Gagasan di dieu nyaéta yén kalayan usaha program anu kawilang sakedik tiasa nyiptakeun sajumlah fungsi anu énggal sareng mangpaat anu bakal nyayogikeun koherensi anu cekap pikeun desain, aranjeunna bakal saluyu sareng anu sanés, sareng ogé, salian ieu, aranjeunna. bakal bisa kalayan gampang tur loba dipaké dina basa dina mangsa nu bakal datang.

Pendekatan ieu, tangtosna, kompromi. Upami pakét anu langkung ageung dilaksanakeun, dunya fungsional anu énggal tiasa dibayangkeun anu bakal pisan kuat sareng mangpaat. Lamun aya anu peryogi pikeun meunangkeun fungsionalitas anyar nu bakal pas dina kalawan sagalana sejenna, tapi anjeun teu daék méakkeun loba usaha dina ngamekarkeun proyék, ieu, hanjakalna, bisa ngakibatkeun hiji réduksi dina lingkup proyek Anjeun. Gagasan di balik Repository fitur Wolfram nyaéta pikeun nyayogikeun fungsionalitas kana bagian anu ngahartikeun proyék; pendekatan ieu bakal nambihan fungsionalitas anu kuat bari ngagampangkeun pikeun ngajaga konsistensi anu hadé dina proyék program.

Ngabantosan nambihan fungsi khusus kana gudang fungsi

Tim kami parantos kerja keras pikeun ngagampangkeun pangguna pikeun nyumbang kana fitur gudang Wolfram. Dina desktop (geus di vérsi 12.0), Anjeun ngan saukur tiasa ngaliwat tab ménu utama sacara berurutan: File> New> RepositoryItem> Function Repository Item sareng anjeun bakal nampi "Harti Notebook" (programmatically jero workbench. Anjeun oge bisa make fungsi analog - JieunNotebook["Sumber Fungsi"]):

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Aya dua léngkah utama anu anjeun kedah laksanakeun: kahiji, nyerat kodeu pikeun fungsi anjeun sareng, kadua, nyerat dokuméntasi anu ngagambarkeun kumaha fungsi anjeun kedah jalan.
Pencét tombol "Buka Sampel" di luhur pikeun ningali conto naon anu anjeun kedah laksanakeun:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Intina, anjeun nyobian nyiptakeun anu sami sareng fungsi anu diwangun dina Wolfram Language. Kacuali yén éta tiasa ngalakukeun anu langkung spésifik tibatan fungsi anu diwangun. Dina waktos anu sami, ekspektasi ngeunaan kasampurnaan sareng reliabilitasna bakal langkung handap.
Anjeun kedah masihan nami fungsi anjeun anu nuturkeun pedoman penamaan fungsi Wolfram Language. Salaku tambahan, anjeun kedah ngembangkeun dokuméntasi pikeun fungsi anjeun, sami sareng fungsi basa anu diwangun. Kuring bakal ngobrol ngeunaan ieu dina leuwih jéntré engké. Pikeun ayeuna mah, perhatikeun yén dina barisan tombol di luhur file notebook definisi aya tombol "Panduan Gaya", anu ngajelaskeun naon anu kudu dilakukeun, sareng tombol Alat, anu nyayogikeun alat pikeun pormat dokuméntasi fungsi anjeun.
Lamun anjeun yakin sagalana geus kaeusi kaluar leres tur anjeun siap, klik tombol "Cék". Éta normal pisan yén anjeun teu acan terang sadayana detilna. Jadi fungsi "Cék" otomatis bakal ngajalankeun sarta ngalakukeun loba gaya jeung cek konsistensi. Seringna, éta bakal langsung ngajurung anjeun pikeun ngonfirmasi sareng nampi koréksi (Contona: "Garis ieu kedah ditungtungan ku titik dua," sareng éta bakal nyarankeun anjeun ngalebetkeun titik dua). Kadang-kadang manehna bakal nanya ka anjeun pikeun nambahkeun atawa ngarobah hal sorangan. Kami bakal terus-terusan nambihan fitur-fitur anyar kana pungsionalitas otomatis tina tombol Cék, tapi dasarna tujuanana nyaéta pikeun mastikeun yén sadaya anu anjeun kirimkeun kana gudang fitur parantos nuturkeun saloba pedoman gaya anu mungkin.

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Janten, saatos ngajalankeun "Cék", anjeun tiasa nganggo "Preview". "Preview" nyiptakeun sawangan halaman dokuméntasi anu anjeun tangtukeun pikeun fungsi anjeun. Anjeun oge bisa nyieun sawangan pikeun file nu dijieun dina komputer Anjeun atawa pikeun payil nu aya di gudang awan. Upami, kusabab sababaraha alesan, anjeun henteu sugema ku naon anu anjeun tingali dina sawangan, kantun uih deui sareng ngadamel koréksi anu diperyogikeun, teras pencét deui tombol Tilik.
Ayeuna anjeun siap nyorong fungsi anjeun kana gudang. Tombol Deploy masihan anjeun opat pilihan:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Anu penting dina léngkah ieu nyaéta anjeun tiasa ngalebetkeun fungsi anjeun ka gudang fungsi Wolfram supados sayogi pikeun saha waé. Dina waktos anu sami, anjeun ogé tiasa nempatkeun fungsi anjeun pikeun sajumlah pangguna anu kawates. Contona, Anjeun bisa nyieun hiji pungsi nu hosted lokal dina komputer Anjeun jadi sadia sawaktos Anjeun make komputer nu tangtu. Atawa anjeun bisa masangkeunana dina Anjeun akun awan, supados sayogi pikeun anjeun nalika anjeun nyambung ka méga. Anjeun ogé tiasa janten host umum (nyebarkeun) fitur éta ngalangkungan akun awan anjeun. Éta moal aya dina gudang fitur Wolfram sentral, tapi anjeun bakal tiasa masihan batur URL anu bakal ngamungkinkeun aranjeunna kéngingkeun fitur anjeun tina akun anjeun. (Di hareup, urang ogé bakal ngarojong repositories sentral sakuliah parusahaan urang.)

Ku kituna hayu urang nyebutkeun rék sabenerna ngalebetkeun fungsi anjeun ka basis pangaweruh fungsi Wolfram. Jang ngalampahkeun ieu, anjeun klik tombol "Kirim" ka gudang. Janten naon anu kajantenan ayeuna? Aplikasi anjeun langsung antrian pikeun ditinjau sareng persetujuan ku tim kurator khusus kami.

Nalika aplikasi anjeun maju ngaliwatan prosés persetujuan (anu biasana nyandak sababaraha dinten), anjeun bakal nampi komunikasi ngeunaan statusna sareng kamungkinan saran pikeun dianggo ka hareup. Tapi sakali fitur anjeun disatujuan, éta bakal langsung diterbitkeun ka Wolfram Feature Repository sareng bakal sayogi pikeun saha waé anu dianggo. (Sareng ieu bakal muncul dina warta digests fitur anyar jsb.)

Naon anu kudu aya di gudang?

Ieu kudu dicatet yén parusahaan urang boga standar kacida luhurna pikeun completeness, reliabilitas jeung kualitas sakabéh, sarta tina 6000+ fungsi nu urang geus diwangun kana basa Wolfram leuwih 30+ taun kaliwat, sadayana minuhan sarat di luhur. Tujuan tina Repository Fungsi Wolfram nyaéta ngagunakeun sadaya struktur sareng fungsionalitas anu parantos aya dina Basa Wolfram pikeun nambihan seueur fungsi anu langkung hampang (nyaéta, fungsi kinerja anu langkung luhur) sabisa-bisa.

Tangtu, fungsi dina Repository fungsi Wolfram kudu saluyu jeung prinsip desain Wolfram Basa - ambéh maranéhanana bisa pinuh berinteraksi sareng fungsi sejen tur ekspektasi pamaké ngeunaan kumaha fungsi kudu jalan leres. Nanging, fungsina henteu kedah lengkep atanapi reliabilitas anu sami.

Dina fungsi anu diwangun dina basa Wolfram, urang kerja keras pikeun ngajantenkeun fungsi program sacara umum sabisa. Kitu cenah, nalika dina Repository fungsi Wolfram teu aya anu lepat sareng gaduh fungsi di dinya anu ngan saukur nanganan sababaraha kasus anu khusus tapi mangpaat. Contona, fungsi SendMailFromNotebook tiasa nampi file dina hiji format khusus sareng ngadamel surat dina hiji cara anu khusus. Diagram Poligonal nyiptakeun bagan kalayan ngan ukur warna sareng panyiri, jsb.

Titik anu sanés anu aya hubunganana sareng fungsi anu diwangun nyaéta perusahaan urang ngalakukeun sagala usaha pikeun nanganan sadaya kasus atipikal, pikeun nanganan input anu salah, sareng sajabana. Dina Repository fungsi, éta sagemblengna normal pikeun aya hiji fungsi husus nu handles kasus utama ngarengsekeun masalah jeung malire sakabeh batur.

Titik anu jelas nyaéta yén éta langkung saé gaduh fungsi anu langkung seueur sareng ngalakukeun éta langkung saé, tapi optimasi pikeun gudang fungsi - sabalikna tina fungsi anu diwangun dina basa Wolfram - kedah gaduh langkung seueur fungsi anu dibuntel sareng langkung seueur fungsi tinimbang ngagali kana. prosés palaksanaan unggal fungsi husus.

Ayeuna hayu urang tingali conto nguji fungsi dina gudang. Ekspektasi konsistensi pikeun fungsi sapertos sacara alami langkung handap tibatan fungsi basa anu diwangun. Ieu hususna leres dina kasus dimana fungsi gumantung kana sumber éksternal sapertos API, hal anu penting pikeun terus-terusan ngalaksanakeun tés konsisten, anu otomatis lumangsung dina algoritma verifikasi. Dina file nb, anjeun sacara eksplisit bisa nangtukeun definisi (dina bagian Émbaran Tambahan) jeung nangtukeun saloba tés sakumaha ditetepkeun ku boh input jeung output string atawa objék karakter pinuh tipe. Tés Verifikasi, saloba nu katingali pas. Sajaba ti éta, sistem ieu terus nyoba ngahurungkeun conto dokuméntasi anjeun nyadiakeun kana prosés verifikasi (sarta kadangkala ieu bisa jadi rada sumberdaya-intensif, contona, pikeun fungsi anu hasilna gumantung kana angka acak atawa waktu poé).

Hasilna, gudang fungsi bakal boga sababaraha complexities palaksanaan. Sababaraha baris ngan hiji baris kode, batur bisa ngawengku rébuan atawa puluhan rébu garis, kamungkinan ngagunakeun loba fungsi nulungan. Nalika éta patut nambahkeun hiji fungsi anu merlukeun saeutik pisan kode keur ngartikeun? Dasarna, lamun keur fungsi hiji aya ngaran mnemonic alus, nu pamaké bakal gampang ngartos lamun maranéhna nempo dina sapotong kode, mangka geus bisa ditambahkeun. Upami teu kitu, éta sigana langkung saé pikeun nambihan deui kodeu kana program anjeun unggal waktos anjeun kedah nganggo éta.

Tujuan utama gudang fungsi (sakumaha ngaranna nunjukkeun) nyaéta pikeun ngawanohkeun fitur anyar kana basa. Lamun hayang nambahkeun data anyar atawa éntitas anyar, ngagunakeun gudang Data Wolfram. Tapi kumaha upami anjeun hoyong ngenalkeun jinis objék anyar pikeun itungan anjeun?

Sabenerna aya dua cara. Anjeun meureun hoyong ngenalkeun tipe objék anyar nu bakal dipaké dina fungsi anyar dina gudang fungsi. Sareng dina hal ieu, anjeun tiasa teras-terasan nyerat perwakilan simbolisna sareng dianggo nalika input atanapi kaluaran fungsi dina gudang fungsi.

Tapi kumaha upami anjeun hoyong ngawakilan obyék teras ngartikeun, ngalangkungan fungsi anu aya dina Basa Wolfram, yén anjeun badé damel sareng éta? The Wolfram Basa geus salawasna miboga mékanisme lightweight pikeun ieu, disebut UpValues. Kalayan sababaraha larangan (khususna pikeun fungsi éta teu bisa evaluate argumen maranéhanana), Repository fungsi ngamungkinkeun anjeun ngan ukur ngagambarkeun fungsi sareng nangtukeun nilai pikeun éta. (Pikeun ningkatkeun ekspektasi konsistensi nalika nyiptakeun desain utama anyar anu terpadu pinuh sapanjang Wolfram Language sacara umum mangrupikeun prosedur anu penting pisan anu henteu tiasa dihontal ku ngan ukur ningkatkeun biaya proyék sareng mangrupikeun hal anu perusahaan kami lakukeun salaku bagian tina proyék. pikeun ngembangkeun basa jangka panjang, tugas ieu lain tujuan anu diatur salaku bagian tina ngembangkeun gudang).

Janten, naon anu aya dina kode fungsi dina gudang fungsi? Sagalana diwangun kana Wolfram Basa, tangtosna (sahenteuna upami éta henteu ngagambarkeun ancaman keur kaamanan jeung kinerja program sorangan, salaku lingkungan komputasi) kitu ogé sagala fungsi tina Repository fungsi. Sanajan kitu, aya pungsi séjén: fungsi dina gudang fungsi bisa nelepon hiji API, atawa di Wolfram Awanatawa ti sumber séjén. Tangtu, aya sababaraha resiko pakait sareng ieu. Alatan kanyataan yén euweuh jaminan yén API moal robah, sarta fungsi dina toko fungsi bakal eureun gawé. Pikeun mantuan ngaidentipikasi masalah kawas ieu, aya catetan dina kaca dokuméntasi (dina bagian Syarat) pikeun sagala fitur nu ngandelkeun leuwih ti ngan diwangun-di fungsionalitas Wolfram Basa. (Tangtosna, nalika datang ka data nyata, tiasa aya masalah sanajan fungsionalitas ieu - sabab data dunya nyata terus-terusan robih, bahkan kadang definisi sareng strukturna robih.)

Naha sadayana kode pikeun gudang fitur Wolfram kedah ditulis dina Wolfram? Tangtosna, kodeu di jero API éksternal henteu kedah diserat dina basa Wolfram, anu bahkan henteu ngadamel kode basa. Kanyataanna, lamun manggihan hiji fungsi dina ampir sagala basa éksternal atawa perpustakaan, Anjeun bisa nyieun hiji wrapper nu ngidinan Anjeun pikeun make eta dina Repository fungsi Wolfram. (Biasana anjeun kedah nganggo fungsi anu diwangun pikeun ieu ExternalEvaluate atawa Fungsi Eksternal dina kode basa Wolfram.)

Janten naon gunana ngalakukeun ieu? Intina, ieu ngamungkinkeun anjeun ngagunakeun sakabéh sistem Wolfram Language terpadu sareng sadaya kamampuan parangkat lunak anu ngahijikeun. Upami anjeun nampi palaksanaan dasar tina perpustakaan atanapi basa éksternal, anjeun teras tiasa nganggo struktur simbolis anu beunghar tina Wolfram Language pikeun nyiptakeun fungsi tingkat luhur anu gampang anu ngamungkinkeun para pangguna gampang ngagunakeun fungsionalitas anu parantos dilaksanakeun. Sahenteuna, ieu kedah tiasa dilaksanakeun dina dunya idéal dimana sadaya blok wangunan perpustakaan loading jsb aya, nu hal ieu bakal diatur sacara otomatis ku Wolfram Language. (Perlu dicatet yén dina prakna meureun aya masalah sareng nyetel basa éksternal sistem komputer khusus, sareng panyimpenan awan tiasa nyababkeun masalah kaamanan tambahan).

Ku jalan kitu, nalika anjeun mimiti nempo perpustakaan éksternal has, aranjeunna mindeng sigana teuing kompléks bisa katutupan dina ngan sababaraha fungsi, tapi dina loba kasus, loba pajeulitna asalna tina nyieun infrastruktur diperlukeun pikeun perpustakaan jeung sagala fungsi pikeun. ngarojong eta. Nanging, nalika nganggo Basa Wolfram, prasarana biasana parantos diwangun kana bungkusan, janten henteu kedah ngalaan sadaya fungsi pangrojong ieu sacara rinci, tapi ngan ukur nyiptakeun fungsi pikeun fungsi khusus aplikasi "paling luhur" dina perpustakaan. .

"Ekosistem" tina basis pangaweruh

Upami anjeun parantos nyerat fungsi anu anjeun anggo rutin, kirimkeun ka Repository Fungsi Wolfram! Upami hal anu langkung seueur henteu kaluar tina ieu (kamekaran basa), teras éta bakal langkung merenah pikeun anjeun ngagunakeun fungsi pikeun panggunaan pribadi. Nanging, logis pikeun nganggap yén upami anjeun rutin ngagunakeun fungsi, panginten pangguna sanés ogé bakal mendakan éta mangpaat.

Alami, anjeun tiasa mendakan diri anjeun dina kaayaan dimana anjeun henteu tiasa - atanapi henteu hoyong - ngabagi fungsi anjeun atanapi upami anjeun kéngingkeun aksés kana sumber inpormasi pribadi. Malah dina kasus sapertos kitu, anjeun ngan saukur tiasa nyebarkeun fungsi dina akun awan anjeun nyalira, nangtukeun hak aksés ka aranjeunna. (Upami organisasi anjeun ngagaduhan Wolfram Enterprise awan swasta, mangka baris geura-giru bisa jadi host gudang fitur pribadi sorangan, nu bisa dikaluarkeun ti jero organisasi Anjeun tur nyetel naha atawa henteu maksa pintonan pikeun ditempo ku pamaké pihak katilu.)

Fungsi anu anjeun kirimkeun kana gudang fungsi Wolfram henteu kedah sampurna; aranjeunna ngan kudu jadi mangpaat. Ieu rada kawas bagian "Kasalahan" dina dokuméntasi Unix klasik - dina "Bagéan Definisi" aya bagian "Catetan Panulis" dimana anjeun tiasa ngajelaskeun watesan, masalah, sareng sajabana anu anjeun parantos terang ngeunaan fungsi anjeun. Salaku tambahan, nalika anjeun ngalebetkeun fitur anjeun ka gudang, anjeun tiasa nambihan catetan kiriman anu bakal dibaca ku tim kurator khusus.

Sakali hiji fitur diterbitkeun, kaca na salawasna mibanda dua tumbu di handap: "Kirim pesen ngeunaan fitur ieu"Jeung"Ngabahas dina komunitas Wolfram" Upami anjeun ngalampirkeun catetan (contona, wartosan kuring ngeunaan bug), anjeun tiasa mariksa kotak anu nyatakeun anjeun hoyong pesen sareng inpormasi kontak anjeun dibagikeun sareng panulis fitur.

Kadang-kadang anjeun ngan ukur hoyong nganggo fungsi tina gudang fungsi Wolfram, sapertos fungsi anu diwangun, tanpa ningali kodena. Nanging, upami anjeun hoyong ningali ka jero, sok aya tombol Notepad di luhur. Pencét éta sareng anjeun bakal nampi salinan anjeun sorangan tina notebook definisi asli anu dikintunkeun ka gudang fitur. Kadang-kadang anjeun ngan ukur tiasa dianggo salaku conto pikeun kabutuhan anjeun. Dina waktos anu sami, anjeun ogé tiasa ngembangkeun modifikasi sorangan tina fungsi ieu. Anjeun meureun hoyong masangkeun fungsi ieu anjeun kapanggih tina Repository dina komputer Anjeun atawa dina akun gudang awan aphid Anjeun, meureun anjeun hoyong ngalebetkeun kana basa pangaweruh fungsi, sugan salaku ningkat, versi dimekarkeun tina fungsi aslina.

Ka hareupna, kami ngarencanakeun pikeun ngadukung gaya Git forking pikeun repositori fitur, tapi pikeun ayeuna urang nyobian tetep saderhana, sareng kami ngan ukur gaduh hiji versi anu ditampi pikeun unggal fitur anu diwangun kana basa. Langkung sering ti henteu (kacuali pamekar nyerah ngajaga fitur anu dikembangkeun sareng ngabales kiriman pangguna), panulis asli fitur éta ngontrol apdet éta sareng ngirimkeun versi énggal, anu teras diulas sareng, upami aranjeunna lulus prosés ulasan. , diterbitkeun dina basa.

Hayu urang nganggap sual kumaha "versioning" fungsi dimekarkeun jalan. Ayeuna, nalika anjeun nganggo fungsi tina gudang fungsi, definisina bakal disimpen permanén dina komputer anjeun (atanapi dina akun awan anjeun upami anjeun nganggo awan). Upami versi anyar tina hiji fitur sayogi, waktos salajengna anjeun nganggo éta anjeun bakal nampi pesen anu ngabéjaan ngeunaan ieu. Sareng upami anjeun hoyong ngapdet fungsi kana versi énggal, anjeun tiasa ngalakukeun éta nganggo paréntah ResourceUpdate. (The "function blob" sabenerna nyimpen leuwih émbaran versioning, sarta kami rencanana sangkan ieu leuwih diaksés ku pamaké kami dina mangsa nu bakal datang.)

Salah sahiji hal anu éndah ngeunaan Wolfram Function Repository nyaéta yén program Wolfram Language, dimana waé tiasa nganggo fungsina. Upami program némbongan dina notepad, éta sering cocog pikeun pormat fungsi gudang salaku fungsi "obyek binér fungsi" anu gampang dibaca (panginten sareng set versi anu pas).

Anjeun salawasna bisa ngakses sagala fungsi dina gudang fungsi ngagunakeun téks Fungsi Sumberdaya[...]. Sarta ieu pohara merenah lamun nulis kode atawa Aksara langsung pikeun Wolfram Engine, contona, jeung ngagunakeun IDE atawa pangropéa kode téks (Perlu diperhatoskeun yén gudang fungsi sapinuhna cocog sareng Mesin Wolfram bébas pikeun pamekar).

Kumaha carana sangkan eta pagawean?

Jero fungsi dina gudang Wolfram ieu mungkin ngagunakeun persis sarua sistem sumberdaya dasarna, saperti dina kabéh repositories urang lianna aya (penyimpanan data, Neural Net Repository, kumpulan proyék demo jsb.), sapertos sadaya sumber sistem Wolfram anu sanés, Fungsi Sumberdaya pamustunganana dumasar kana fungsi ResourceObject.

nimbangkeun Fungsi Sumberdaya:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Di jero anjeun tiasa ningali sababaraha inpormasi nganggo fungsina inpormasi:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Kumaha cara nyetel hiji fungsi sumberdaya jalan? Anu pangbasajanna nyaéta kasus lokal murni. Ieu conto anu nyandak fungsi (dina hal ieu ngan ukur fungsi murni) sareng ngahartikeun salaku fungsi sumberdaya pikeun sési program anu dipasihkeun:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Sakali anjeun parantos ngadamel definisi, anjeun tiasa nganggo fungsi sumberdaya:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Catet yén aya ikon hideung dina blob fungsi ieu Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram. Ieu ngandung harti yén fungsi BLOB nujul kana fungsi sumberdaya di-memori diartikeun pikeun sési ayeuna. Fitur sumberdaya anu disimpen permanén dina komputer atanapi akun awan anjeun gaduh ikon abu Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram. Sareng aya ikon oranyeu pikeun fitur sumber resmi dina Repository Fitur Wolfram Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram.

Janten naon anu lumangsung nalika anjeun nganggo ménu Expand dina Notebook Definition? Mimiti, éta nyandak sadaya definisi dina notepad sareng ti aranjeunna nyiptakeun simbolis ResourceObject). (Sareng upami anjeun nganggo IDE atanapi program dumasar téks, anjeun ogé tiasa sacara eksplisit nyiptakeun ResourceObject)

Panyebaran lokal fungsi tina gudang dina komputer anjeun dilakukeun nganggo paréntah LocalCache pikeun objék sumberdaya pikeun nyimpen salaku Objék Lokal dina sistem file anjeun. Panyebaran kana akun awan dilakukeun nganggo paréntah CloudDeploy pikeun objék sumberdaya, sarta deployment awan umum nyaéta CloudPublish. Dina sagala hal ResourceRegister ogé dipaké pikeun ngadaptar ngaran fungsi sumberdaya, jadi Fungsi Sumberdaya["ngaran"] bakal dianggo.

Upami anjeun ngaklik tombol Kirim pikeun Repository Fungsi, naon anu aya di handapeunna SumberdayaKirim disebut dina objék sumberdaya. (Sareng upami anjeun nganggo antarmuka input téks, anjeun ogé tiasa nelepon SumberdayaKirim langsung.)

Sacara standar, kiriman dilakukeun dina nami pakait sareng ID Wolfram anjeun. Tapi upami anjeun ngirimkeun aplikasi atas nama tim pamekar atanapi organisasi, anjeun tiasa set penerbit ID misah sareng nganggo éta salaku nami pikeun berinteraksi sareng pandangan anjeun.

Saatos Anjeun geus dikintunkeun salah sahiji fungsi anjeun ka basis pangaweruh fungsi, eta bakal antrian pikeun review. Upami anjeun nampi koméntar pikeun ngaréspon, aranjeunna biasana dina bentuk file téks anu ditambah "sél koméntar" tambahan. Anjeun salawasna tiasa pariksa status aplikasi anjeun ku ngadatangan portal anggota sistem sumberdaya. Tapi nalika fitur anjeun disatujuan, anjeun bakal dibéjaan (ngaliwatan email) sareng fitur anjeun bakal dipasang kana gudang fitur Wolfram.

Sababaraha subtleties dina karya

Dina glance kahiji sigana anjeun ngan ukur tiasa nyandak notebook definisi sareng nempatkeun éta verbatim kana gudang fungsi, kumaha oge, saleresna aya seueur subtleties anu aub - sareng nanganan aranjeunna peryogi ngalakukeun sababaraha meta-programming anu cukup rumit, nanganan pamrosésan simbolis. salaku kode anu nangtukeun fungsi, sarta Notepad sorangan diartikeun. Kaseueuran ieu kajantenan sacara internal, di tukangeun layar, tapi éta tiasa gaduh sababaraha implikasi anu pantes dipikahartos upami anjeun badé nyumbang kana dasar pangaweruh fitur.

Kahalusan langsung munggaran: Nalika anjeun ngeusian Buku Catetan Harti, anjeun ngan saukur tiasa ngarujuk kana fungsi anjeun dimana-mana nganggo nami sapertos MyFunction, nu Sigana mah ngaran biasa pikeun fungsi dina Wolfram Basa, tapi pikeun dokuméntasi gudang fungsi ieu diganti. Fungsi Sumberdaya["MyFunction"] nyaéta naon anu bakal dianggo ku pangguna nalika damel sareng fungsina.

The subtlety kadua: mun anjeun nyieun hiji fungsi sumberdaya ti Notebook Harti, sadaya kagumantungan aub dina harti fungsi kudu direbut tur eksplisit kaasup. Nanging, pikeun mastikeun yén definisi tetep modular, anjeun kedah nempatkeun sadayana anu unik spasi ngaran. (Tangtosna, fungsi nu ngalakukeun eta sadayana, aya dina gudang fungsi.)

Biasana anjeun moal pernah ningali jejak kode anu dianggo pikeun ngonpigurasikeun rohangan ngaran ieu. Tapi lamun keur sababaraha alesan anjeun nyauran hiji simbol handapeun-dieksekusi jero fungsi Anjeun, mangka anjeun bakal nempo yén simbol ieu aya dina konteks internal tina fungsi. Sanajan kitu, nalika ngolah Harti Notepad, sahenteuna simbol pakait jeung fungsi sorangan adjustable pikeun tampilan pangalusna salaku BLOB fungsional tinimbang karakter atah dina konteks internal.

Repository fungsi pikeun nangtukeun fungsi anyar. Sareng fungsi ieu tiasa gaduh pilihan. Seringna parameter ieu (contona, metode atawa Ukuran Gambar) bakal tiasa dianggo pikeun fungsi anu diwangun, ogé pikeun anu ngagaduhan simbol anu aya. Tapi kadang fitur anyar butuh pilihan anyar. Pikeun ngajaga modularitas, parameter ieu kedah janten simbol anu didefinisikeun dina kontéks internal anu unik (atanapi hal sapertos fungsi sumberdaya sadayana, nyaéta sorangan). Pikeun kesederhanaan, gudang fungsi ngidinan Anjeun pikeun nangtukeun pilihan anyar dina harti string. Sareng pikeun genah pangguna, definisi ieu (anggap aranjeunna dianggo OptionValue и PilihanPola) ogé diolah ku kituna lamun ngagunakeun fungsi, parameter bisa dieusian teu ukur salaku string, tapi ogé salaku simbol global kalawan ngaran anu sarua.

Kaseueuran fungsi ngan ukur ngalakukeun naon anu sakuduna dilakukeun unggal waktos aranjeunna disebut, tapi sababaraha fungsi kedah diinisialisasi sateuacan tiasa dijalankeun dina sési khusus - sareng pikeun ngarengsekeun masalah ieu, aya bagian "Initialization" dina bagian Definisi.

Fungsi tina Repository tiasa nganggo pungsi sanés anu tos aya dina Repositori; pikeun nyetél definisi pikeun Repositori fungsi anu kalebet dua (atanapi langkung) fungsi anu ngarujuk, anjeun kedah nyebarkeun aranjeunna dina sési program anjeun supados anjeun tiasa. rujukan kawas on aranjeunna Fungsi Sumberdaya["ngaran"], teras anjeun tiasa nyiptakeun kombinasi fungsi ieu anu anjeun peryogikeun, conto (kuring henteu ngartos) sareng nambihan fungsi énggal kana gudang dumasar kana anu parantos dipasang sateuacana. (atawa geus atawa saméméhna - duanana kecap kagok)

Prospek pangwangunan. Naon anu kedah kajantenan nalika gudang janten ageung?

Dinten ieu kami nembé ngaluncurkeun Repository Fitur Wolfram, tapi kana waktosna urang ngarepkeun yén ukuran sareng fungsionalitasna tiasa ningkat sacara dramatis, sareng nalika ngembang dina pangwangunan bakal aya sababaraha masalah anu parantos kami antisipasi bakal timbul.

Masalah kahiji masalah ngaran fungsi jeung uniqueness maranéhanana. Repository fungsi dirarancang ku cara kitu, sapertos fungsi anu diwangun dina Wolfram Language, anjeun tiasa ngarujuk kana fungsi anu dipasihkeun ku ngan ukur nunjukkeun namina. Tapi ieu inevitably ngandung harti yén ngaran fungsi kudu global unik sakuliah gudang, ku kituna, contona, ngan aya hiji. Fungsi Sumberdaya["MyFavoriteFunction"].

Ieu mungkin sigana kawas masalah badag dina mimitina, tapi sia nyadar yén éta dasarna masalah sarua jeung hal kawas domain internét atawa handles média sosial. Sareng kanyataanna nyaéta yén sistem éta ngan ukur kedah gaduh registrar - sareng ieu mangrupikeun salah sahiji peran anu bakal dilakukeun ku perusahaan urang pikeun basis pengetahuan fungsi Wolfram. (Pikeun versi pribadi tina Repository a, registrars maranéhanana bisa jadi pangurus.) Tangtu, hiji domain Internet bisa didaptarkeun tanpa ngabogaan nanaon di dinya, tapi dina Repository fungsi, ngaran fungsi ngan bisa didaptarkeun lamun aya harti sabenerna fungsina.

Bagian tina peran urang dina ngokolakeun basis pangaweruh fungsi Wolfram nyaéta pikeun mastikeun yén ngaran nu dipilih pikeun hiji fungsi logis dibere harti fungsi sarta yén éta nuturkeun konvénsi ngaran Wolfram Basa. Kami gaduh pangalaman langkung ti 30 taun pikeun namikeun fungsi anu diwangun dina Wolfram Language, sareng tim kurator kami bakal mawa pangalaman éta ka gudang fungsi ogé. Tangtu, aya salawasna iwal. Contona, sigana leuwih hade mun boga ngaran pondok pikeun sababaraha fungsi, tapi leuwih sae pikeun "ngabela" kalawan panjang, ngaran leuwih spésifik sabab anjeun kurang kamungkinan kana ngajalankeun kana batur wanting nyieun ngaran fungsi sarupa dina mangsa nu bakal datang. .

(Perlu dicatet di dieu yén ngan saukur nambahkeun sababaraha tag anggota pikeun disambiguate fungsi moal boga pangaruh dimaksudkeun. Kusabab iwal mun keukeuh salawasna assigning tag, anjeun bakal kudu nangtukeun tag standar pikeun sagala fungsi dibikeun, sarta ogé allocate tag pangarang. , anu peryogi deui koordinasi global.)

Nalika dasar pangaweruh ngeunaan fungsi Wolfram tumuwuh, salah sahiji masalah anu sigana bakal timbul nyaéta kapendakan fungsi, anu sistemna nyayogikeun. fungsi pilarian (sareng file definisi tiasa kalebet kecap konci, jsb.). Pikeun fungsi diwangun dina Wolfram Language, aya sagala sorts cross-rujukan dina dokuméntasi pikeun mantuan "Ngaiklan" fungsi. Fungsi dina gudang fungsi tiasa ngarujuk kana fungsi anu diwangun. Tapi kumaha upami sabalikna? Jang ngalampahkeun ieu, urang badé ékspérimén sareng desain anu béda pikeun ngalaan fungsi gudang dina halaman dokuméntasi pikeun fungsi anu diwangun.

Pikeun diwangun-di fungsi dina Wolfram Basa aya nu disebut lapisan deteksi disadiakeun ku jaringan "halaman pitulung", nu nyadiakeun daptar diatur fitur patali wewengkon husus. Sok hese pikeun nyaimbangkeun halaman manual anu leres, sareng nalika basa Wolfram tumbuh, halaman manual sering kedah dirobih deui. Gampang pisan pikeun nempatkeun fungsi tina gudang kana kategori anu lega, bahkan pikeun ngarobih kategori-kategori éta sacara konsisten, tapi langkung berharga pikeun ngatur halaman rujukan basa anu leres. Ieu mah can écés kumaha pangalusna pikeun nyieun eta pikeun sakabéh basa pangaweruh fungsi. Salaku conto, CreateResourceObjectGallery dina repositori fitur, saha waé tiasa ngirim halaman wéb anu ngandung "pilihan" tina gudang:

Repository Fungsi Wolfram: Buka platform aksés pikeun ekstensi basa Wolfram

Repository fungsi Wolfram dikonpigurasikeun salaku gudang fungsi pengkuh, dimana sagala fungsi di dinya bakal salawasna jalan. Tangtosna, vérsi fitur énggal tiasa sayogi, sareng kami ngarepkeun yén sababaraha fitur tangtosna bakal leungit dina waktosna. Fungsina bakal tiasa dianggo upami dianggo dina program, tapi halaman dokuméntasina bakal numbu ka fungsi anyar anu langkung maju.

The Wolfram Feature Repository dirancang pikeun mantuan anjeun gancang manggihan fitur anyar jeung diajar cara anyar ngagunakeun basa Wolfram. Kami optimis pisan yén sababaraha anu parantos digali dina gudang fitur antukna bakal asup akal pikeun janten bagian anu diwangun dina inti Wolfram Language. Dina dasawarsa ka tukang kami ngagaduhan set anu sami fitur nu asalna diwanohkeun dina Wolfram | Alfa. Sarta salah sahiji palajaran diajar tina pangalaman ieu nu achieving standar kualitas sarta konsistensi nu urang difokuskeun dina sagalana diwangun kana basa Wolfram merlukeun loba karya, nu mindeng leuwih hese tibatan usaha awal pikeun palaksanaan ide. Sanajan kitu, hiji fungsi dina basis pangaweruh fungsi bisa ngawula ka salaku bukti pisan mangpaat tina konsép pikeun fungsi hareup nu bisa antukna jadi diwangun kana basa Wolfram.

Anu paling penting di dieu nyaéta yén fungsi dina gudang fungsi mangrupikeun hal anu sayogi pikeun unggal pangguna ayeuna. Éta kamungkinan yén fitur basa asli tiasa langkung saé sareng langkung saé, tapi gudang fitur bakal ngamungkinkeun para pangguna ngagaduhan aksés ka sadaya fitur énggal langsung. Sareng, anu paling penting, konsép ieu ngamungkinkeun sadayana pikeun nambihan fitur énggal anu dipikahoyong.

Saméméhna dina sajarah basa Wolfram, gagasan ieu moal bakal geus digawé sakumaha ogé mibanda, tapi dina tahap ieu aya kitu loba usaha nempatkeun kana basa, sarta misalna hiji pamahaman jero ngeunaan prinsip desain basa, nu ayeuna sigana rada. mungkin pikeun komunitas badag pamaké pikeun nambahkeun fitur anu bakal ngajaga konsistensi desain sangkan aranjeunna mangpaat pikeun rupa-rupa pamaké.

Aya sumanget anu luar biasa bakat(?) dina komunitas pangguna Wolfram Language. (Tangtu, komunitas ieu ngawengku loba R & D ahli ngarah dina rupa-rupa widang.) Kuring miharep éta Wolfram Feature Repository bakal nyadiakeun hiji platform éféktif pikeun muka konci na disseminating sumanget bakat ieu. Ngan babarengan urang tiasa nyiptakeun hal anu sacara signifikan bakal ngalegaan daérah dimana paradigma komputasi basa Wolfram tiasa diterapkeun.

Dina leuwih ti 30 taun, urang geus datangna jauh jeung basa Wolfram. Ayeuna babarengan, hayu urang leuwih jauh. Kuring ajak pisan sadaya pangguna anu dihormatan tina basa Wolfram di sakumna dunya ngagunakeun gudang fungsional salaku platform pikeun ieu, ogé proyék parangkat lunak énggal sapertos Mesin Wolfram Gratis pikeun Pamekar.

sumber: www.habr.com

Tambahkeun komentar