Libreng Wolfram Engine Library para sa Mga Developer ng Software

Libreng Wolfram Engine Library para sa Mga Developer ng Software
Orihinal na pagsasalin sa aking blog

Ang ilang mga video tungkol sa Wolfram Language


Bakit hindi mo pa rin ginagamit ang mga teknolohiya ng Wolfram?

Well, nangyayari ito, at medyo madalas. Sa proseso ng pakikipag-usap sa mga developer ng software, nagsasalita sila ng medyo nakakapuri tungkol sa aming mga teknolohiya, halimbawa, tungkol sa kung paano nila talaga sila tinulungan sa pag-aaral sa paaralan o sa pagsasagawa ng gawaing pang-agham, ngunit pagkatapos ay tinanong ko sila ng tanong: "Kaya gumamit ka ng dila Wika ng Wolfram at mga kakayahan sa pag-compute sa iyong software system?"Minsan ang sagot nila ay oo, ngunit madalas na mayroong isang awkward na katahimikan at pagkatapos ay sasabihin nila, "Hindi, ngunit posible ba ito?'.

Libreng Wolfram Engine Library para sa Mga Developer ng SoftwareGusto kong kumbinsihin na ang sagot sa tanong na ito ay palaging magiging: "Oo, madali lang!" At para matulungan ka dito, naglulunsad kami ngayon libreng Wolfram Engine para sa mga developer (Libreng Wolf Engine para sa mga developer). Ito ay isang ganap na Wolfram Language engine na maaaring i-deploy sa anumang system at tawagan mula sa anumang programa, wika, web server, o anumang bagay...

Ang Wolfram Engine ay ang puso ng lahat ng aming mga produkto ng software. Ito ang ipinapatupad ng wikang Wolfram, kasama ang lahat ng computational intelligence nito, mga algorithm, base ng kaalaman at iba pa. Ito ang nagpapanatili sa atin mga produktong desktop (kabilang ang Mathematica), pati na rin ang aming platform ng ulap. Ito ang nakaupo sa loob Wolfram | Alpha, at sa parami nang parami mga pangunahing sistema ng produksyon sa mundo. At ngayon, sa wakas, nagbibigay kami ng pagkakataong i-download ang makinang ito nang libre para sa paglutas ng mga problema gamitin sa iyong mga proyekto sa pagbuo ng software para sa lahat.

Wikang programming ng Wolfram Language

Alam ng maraming tao ang tungkol sa wika Wika ng Wolfram (madalas lamang sa anyo ng programang Mathematica) bilang isang makapangyarihang sistema para sa interactive na computing, gayundin para sa siyentipikong pananaliksik sa edukasyon, pagproseso ng data, at "Computational X" (mga lugar ng computing) para sa maraming X (mga lugar ng kaalaman). Gayunpaman, ito ay lalong ginagamit, nang hindi inilalagay sa unahan, bilang isang pangunahing bahagi sa pagbuo ng mga sistema ng software ng produksyon. Kaya ano ang magagawa ng libreng Wolfram Engine library para sa mga developer ngayon? β€œIpino-package nito ang wika sa paraang maginhawang ipasok ito sa maraming kapaligiran ng software at proyekto.

Dapat tayong huminto dito para sa paglilinaw, Paano ko nakikita ang Wikang Wolfram sa mga katotohanan ngayon. (Dapat tandaan na maaari mo itong patakbuhin kaagad online sa Sandbox ng Wolfram Language). Ang pinakamahalagang bagay ay ang mapagtanto na ang Wikang Wolfram sa kasalukuyan nitong anyo ay tunay na isang panimula na bagong produkto ng software, ibig sabihin full-feature na computing language. Ngayon, ito ay lubhang makapangyarihan (symbolic, functional,... ) ay isang programming language, ngunit ito ay higit pa rito dahil mayroon itong natatanging tampok na mayroon itong malaking bilang ng mga computational knowledge base na binuo dito: kaalaman tungkol sa mga algorithm, kaalaman tungkol sa mundo sa paligid natin, kaalaman tungkol sa kung paano i-automate ang mga produkto at proseso ng software.

Nasa higit sa 30 taon Ang aming kumpanya ay sistematikong nagpapaunlad ng lahat ng wika ng Wolfram ngayon. At lalo akong ipinagmamalaki ang katotohanan na (bagaman ito ay medyo mahirap, halimbawa sa pagproseso mga live na video broadcast!) magkano pare-pareho, elegante at matatag na disenyo ng software nagawa naming ipatupad ito sa buong wika. Kasalukuyan ang wika ay may higit sa 5000 mga function, sumasaklaw sa halos lahat ng mga lugar: mula sa visualization sa machine learning, pagproseso ng numerical data (numerical calculations), graphic na pagproseso ng imahe, geometry, mas mataas na matematika, natural na pagkilala sa wika, pati na rin ang marami pang ibang lugar kaalaman tungkol sa mundo sa ating paligid (heograpiya, gamot, sining, engineering, agham atbp.)

Sa mga nakalipas na taon, nagdagdag din kami ng maraming makapangyarihang feature ng programming sa wikaβ€”ito ay instant pag-deploy ng ulap, network programming, pakikipag-ugnayan sa web, pagkonekta sa mga database, import/export (higit sa 200 karagdagang mga format ng data), pamamahala ng mga panlabas na proseso, pagsubok ng programa, paggawa ng mga ulat, cryptography, blockchain at iba pa.

Ang layunin ng Wolfram Language ay simple, ngunit medyo mapaghangad din: lahat ng kailangan ay dapat na binuo sa wika at sa parehong oras ay automated hangga't maaari.

Halimbawa: Kailangan pag-aralan ang larawan? Kailangan heograpikal na datos? Pagproseso ng tunog? Lutasin ang problema sa pag-optimize? Impormasyon sa panahon? Lumikha ng 3D Object? Anatomical data? Natural Language Recognition (NLP)? Pagtuklas ng anomalya sa serye ng oras? Magbilin? Kumuha ng digital signature? Ang lahat ng mga gawaing ito (at marami pang iba) ay simpleng mga function na maaari mong tawagan kaagad mula sa anumang program na nakasulat sa Wolfram Language. Hindi na kailangang maghanap ng mga espesyal na library ng software, at lahat ay agad na binuo sa wika.

Ngunit bumalik tayo sa pagsilang ng computer engineering - ang lahat ng umiiral noon ay machine code lamang, pagkatapos ay lumitaw ang mga simpleng programming language. At sa lalong madaling panahon ay maaari pa ngang isipin na ang isang computer ay dapat magkaroon ng isang operating system na paunang naka-install. Nang maglaon, sa pagdating ng mga network, lumitaw ang interface ng gumagamit, pagkatapos ay ang paraan ng pagkonekta sa network.

Nakikita ko ito bilang aking layunin, kasama ang Wolfram Language, na bigyan ang user ng isang antas ng computational intelligence na mahalagang naglalaman ng lahat ng computational na kaalaman ng ating buong sibilisasyon at nagbibigay-daan sa mga tao na isipin na alam ng kanilang computer kung paano makilala ang mga bagay. sa isang imahe, kung paano lutasin ang mga equation o kalkulahin ang populasyon ng anumang lungsod, pati na rin ang hindi mabilang na mga solusyon sa iba pang mga kapaki-pakinabang na problema.

Ngayon, kasama ang libreng Wolfram Engine para sa mga developer, nais naming gawing lahat ng aming produkto at mabilis na magagamit sa mga developer ng software.

Wolfram engine

Ang libreng Wolfram Engine library para sa mga developer ay nagpapatupad ng buong Wolfram Language bilang isang bahagi ng software na maaaring isaksak nang diretso sa anumang standard na stack ng pagbuo ng software. Maaari itong tumakbo sa anumang karaniwang platform ng system (Linux, Mac, Windows, raspberry pi,…; personal na computer, server, virtual, distributed, parallelized, embedded). Maaari mo itong gamitin nang direkta mula sa code ng programa o mula sa linya ng utos. Maaari mo itong tawagan mula sa mga programming language (Sawa, Java, . NET, C / C ++,...) o mula sa iba pang mga programa tulad ng Manguna, jupyter, Pagkakaisa, Rhino atbp. Maaari mo itong tawagan sa pamamagitan ng iba't ibang media - mga saksakan, ZeroMQ, MQTT o sa pamamagitan ng sarili mong built-in WSTP (Wolfram Symbolic Transfer Protocol). Nagbabasa ito ng data at nagsusulat sa daan-daang mga format (CSV, JSON, XML,...etc.), kumokonekta sa mga database (SQL, RDF/SPARQL, Mongo, ...) at maaari ding tumawag sa mga panlabas na programa (mga executable na file, mga aklatan…), mula sa mga browser, mga mail server, Mga API, mga aparato, pati na rin ang mga wika (Sawa, NodeJ, Java, . NET, R, …). Sa malapit na hinaharap ay makakakonekta rin ito nang direkta sa mga web server (J2EE, aiohttp, Django, ...). Maaari mong i-edit at pamahalaan ang iyong Wolfram Language code gamit ang mga karaniwang IDE, editor, at tool (Paglalaho, IntelliJ IDEA, Atomo, kalakasan, Visual Studio Code, pumunta at iba pa).

Ang libreng Wolfram engine para sa mga developer ay may access sa buong database Kaalaman ng Wolfram sa pamamagitan ng libre Wolfram Cloud Basic Subscription Plan. (Kung hindi mo kailangan ng real-time na data, lahat ay maaaring i-cache at maaari mong patakbuhin ang Wolfram Engine offline.) Ang isang pangunahing subscription sa Wolfram Cloud ay nagpapahintulot din sa iyo na iimbak ang iyong mga pamamaraan API sa cloud.

Ang isang pangunahing tampok ng Wikang Wolfram ay magagawa mo magpatakbo ng eksaktong parehong code kahit saan. Maaari mo itong patakbuhin nang interactive Mga dokumento ng Wolfram - sa isang personal na computersa ang ulap o sa cellphone. Maaari mo itong patakbuhin sa cloud API (o bilang nakaiskedyul na gawain, atbp.) sa Wolfram pampublikong ulap o Wolfram Enterprise pribado on-premises cloud. At ngayon, gamit ang Wolfram Engine, madali mo rin itong mapapatakbo sa loob ng anumang standard na software development stack.

(Siyempre, kung gusto mong gamitin ang aming buong "ultra-architecture" na sumasaklaw sa desktop, server, cloud, parallel, embedded, mobile - at interactive, development at production computing - kung gayon ang isang magandang lugar upang magsimula ay Wolfram|Isa, na magagamit bilang isang libre bersyon ng pagsubok).

Commissioning

Kaya paano gumagana ang paglilisensya ng libreng aklatan ng Wolfram Engine para sa mga developer? Sa nakalipas na 30+ taon, ang aming kumpanya ay nagkaroon ng napaka simpleng modelo ng paggamit: Nilisensyahan namin ang aming software para kumita, na siyang nagpapahintulot sa amin na ipagpatuloy ang aming pangmatagalang misyon tuloy-tuloy at masiglang pag-unlad ng siyensya. Gumawa rin kami ng maraming mahahalagang programa na magagamit nang libre - halimbawa, ito ang aming pangunahing Wolfram|Alpha website, Manlalaro ng Wolfram at access sa Wolfram cloud na may baseng subscription.

Ang libreng Wolfram Engine ay idinisenyo para magamit ng mga developer kapag bumubuo ng tapos na software. Magagamit mo ito upang bumuo ng mga produktong software na handa na, para sa iyong sarili at para sa kumpanyang pinagtatrabahuhan mo. Magagamit mo ito upang bumuo ng mga personal na proyekto sa bahay, paaralan o trabaho. Magagamit mo ito upang matutunan ang Wolfram Language para sa hinaharap na mga proyekto ng software. (Kung interesado ka, available ang link na ito wastong lisensya).

Kung mayroon kang isang tapos na produkto ng software (system) na handang tumakbo, maaari mo ring makuha lisensya para sa produksyon gamit ang Wolfram Engine. Ang eksaktong paraan kung paano ito gumagana ay depende sa partikular na produkto ng software na iyong nilikha at iniaalok. Mayroong ilang mga opsyon: para sa on-premise deployment, para sa enterprise deployment, para sa pamamahagi ng Wolfram Engine library na may software o hardware, para sa deployment sa cloud computing platform, at para sa deployment sa Wolfram Cloud o Wolfram Enterprise Private Cloud.

Kung ikaw ay gumagawa ng isang libre, open source system, maaari kang humiling ng isang libreng lisensya upang magamit ang Wolfram Engine. Gayundin, kung mayroon ka nang lisensya ayon sa uri ng lisensya ng Wolfram (sa uri na umiiral, halimbawa, sa karamihan sa mga unibersidad), malaya kang gamitin ang Libreng Wolfram Engine para sa Mga Developer para sa lahat ng bagay na tinukoy sa lisensya.

Hindi pa namin nasasaklaw ang lahat ng posibleng mga nuances ng paggamit ng Wolfram engine, ngunit nakatuon kami sa paggawa ng paglilisensya nang madali para sa pangmatagalang panahon (at nagsusumikap kami upang matiyak na ang Wolfram Language ay palaging magagamit at gumagana, offline). Kasalukuyan kaming may matatag na mga presyo sa lahat ng aming mga produkto ng software na nilikha sa loob ng 30+ taon ng pagsusumikap, at gusto naming manatili hangga't maaari mula sa maraming uri ng mga gimik sa advertising na sa kasamaang-palad ay naging pangkaraniwan na kamakailan. beses. mga lugar ng lisensya ng software.

Gamitin ito para sa iyong kalusugan!

Lubos akong ipinagmamalaki kung ano ang aming nagawa gamit ang Wolfram Language, at ito ay isang kasiyahang makita ang lahat ng mga imbensyon, pagtuklas at pag-unlad sa edukasyon na nakamit gamit ang aming software sa mga dekada na ito. Sa mga nakalipas na taon, isang panimula na bagong antas ang lumitaw sa lalong malawak na paggamit ng Wolfram Language sa mga malalaking proyekto ng software. Minsan ang buong proyekto ay binuo lamang sa Wolfram Language. Minsan ang Wolfram Language ay ipinakilala upang magdala ng ilang karagdagang high-level na computational intelligence sa isang partikular na lokasyon sa isang proyekto.

Ang layunin ng libreng Wolfram Engine para sa mga developer ay gawing mas madali para sa bawat user na gamitin ang Wolfram Language sa anumang proyekto sa pag-develop ng software at kapag bumubuo ng mga system na gumagamit ng malalakas nitong kakayahan sa pag-compute.

Nagsumikap ang aming team na gawing kasingdali ng mga developer na gamitin at i-deploy ang Libreng Wolfram Engine hangga't maaari. Ngunit kung biglang may hindi gumana para sa iyo nang personal o sa iyong proyekto sa trabaho, mangyaring padalhan ako ng sulat! Kung ang lahat ay ok, gamitin ang aming binuo para sa iyo at gumawa ng bago batay sa kung ano ang nagawa na!

Tungkol sa pagsasalinPagsasalin ng post ni Stephen Wolfram "Ilulunsad Ngayon: Libreng Wolfram Engine para sa Mga Developer
".

Ipinapahayag ko ang aking matinding pasasalamat Peter Tenishev ΠΈ Galina Nikitina para sa tulong sa pagsasalin at paghahanda ng publikasyon.

Gusto mong matutunan kung paano mag-program sa Wolfram Language?
Manood ng lingguhan mga webinar.
rehistrasyon para sa mga bagong kurso. handa na online na kurso.
Order solusyon sa Wolfram Language.

Pinagmulan: www.habr.com

Magdagdag ng komento