Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

హలో, హబ్ర్! నేను మీ దృష్టికి స్టీఫెన్ వోల్ఫ్రామ్ పోస్ట్ యొక్క అనువాదాన్ని అందిస్తున్నాను "ది వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీ: వోల్‌ఫ్రామ్ లాంగ్వేజ్‌ని విస్తరించడానికి ఓపెన్ ప్లాట్‌ఫారమ్‌ను ప్రారంభించడం".

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

వోల్ఫ్రామ్ భాష యొక్క స్థిరత్వం కోసం ముందస్తు అవసరాలు

Сегодня мы стоим на пороге великих свершений вместе с языком программирования వోల్ఫ్రామ్ భాష. మూడు వారాల క్రితమే ప్రారంభించాం డెవలపర్‌ల కోసం ఉచిత వోల్‌ఫ్రామ్ ఇంజిన్మా వినియోగదారులు వారి పెద్ద-స్థాయి సాఫ్ట్‌వేర్ ప్రాజెక్ట్‌లలో వోల్‌ఫ్రామ్ లాంగ్వేజ్‌ని ఏకీకృతం చేయడంలో సహాయపడటానికి. ఈరోజు మేము ప్రారంభిస్తున్నాము репозиторий функций Wolfram, Wolfram లాంగ్వేజ్‌ని విస్తరించడానికి సృష్టించబడిన ఫంక్షన్‌ల కోసం సమన్వయ ప్లాట్‌ఫారమ్‌ను అందించడానికి మరియు మా సాఫ్ట్‌వేర్ ఉత్పత్తి అభివృద్ధికి సహకరించగల ఎవరికైనా మేము ఫంక్షన్‌ల రిపోజిటరీని కూడా తెరుస్తాము.

వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీ అనేది వోల్‌ఫ్రామ్ లాంగ్వేజ్ యొక్క ప్రత్యేక స్వభావం ద్వారా ప్రోగ్రామింగ్ లాంగ్వేజ్‌గా మాత్రమే కాకుండా, ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్‌గా కూడా సాధ్యమైంది. полномасштабного вычислительного языка. సాంప్రదాయ ప్రోగ్రామింగ్ భాషలలో, ముఖ్యమైన కొత్త కార్యాచరణను జోడించడం సాధారణంగా మొత్తం అదనపు లైబ్రరీలను సృష్టించడం లేదా కలిసి ఉపయోగించినప్పుడు పని చేయకపోవచ్చు. అయితే, వోల్ఫ్రామ్ భాషలో చాలా ఇప్పటికే భాషలోనే నిర్మించబడింది, మొత్తం భాష యొక్క సమగ్ర నిర్మాణంలో తక్షణమే విలీనం చేయబడిన కొత్త ఫంక్షన్లను జోడించడం ద్వారా దాని కార్యాచరణను గణనీయంగా విస్తరించడం సాధ్యమవుతుంది.

ఉదాహరణకు, Wolfram ఫంక్షన్ రిపోజిటరీ ఇప్పటికే కలిగి ఉంది 532 కొత్త ఫీచర్లు 26 నేపథ్య వర్గాలుగా నిర్మించబడింది:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Аналогично более чем 6000 ప్రామాణిక విధులు, встроенным в язык Wolfram, каждая функция из репозитория имеет страницу документации с подробным их описанием и примерами работы:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Для перехода на страницу скопируйте приведенный выше объект (функциональный BLOB), вставьте его в строку ввода и затем запустите функцию – она уже встроена в язык Wolfram и поддерживается по умолчанию, начиная с వెర్షన్ 12.0:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

ప్రాసెస్ చేస్తున్నప్పుడు ఇక్కడ గమనించాలి LogoQRCode ఉదాహరణకు, మీరు “ఇమేజ్ ప్రాసెసింగ్ లైబ్రరీ”ని సెటప్ చేయనవసరం లేదు - మేము ఇప్పటికే వోల్‌ఫ్రామ్ లాంగ్వేజ్‌లో స్థిరమైన మరియు జాగ్రత్తగా అల్గారిథమిక్ విధానాన్ని అమలు చేసాము కాబట్టి బొమ్మ లేదా చిత్రం సరి చేయడం, ఇది వివిధ గ్రాఫికల్ లాంగ్వేజ్ ఫంక్షన్ల ద్వారా వెంటనే ప్రాసెస్ చేయబడుతుంది:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

నేను మద్దతుతో ఆశిస్తున్నాను అద్భుతమైన మరియు ప్రతిభావంతులైన సంఘం, ఇది గత కొన్ని దశాబ్దాలుగా పెరుగుతూ మరియు విస్తరిస్తోంది (వోల్ఫ్రామ్ భాష ఆధారంగా). వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీ భాషలో అందుబాటులో ఉన్న ఫంక్షన్‌ల పరిధిని (బహుశా ముఖ్యమైనది, సైన్స్ మరియు టెక్నాలజీలోని వివిధ రంగాలలో ప్రత్యేకం) గణనీయంగా విస్తరించడానికి భవిష్యత్తులోకి అనుమతిస్తుంది. అందువలన, భాష యొక్క కంటెంట్ (దాని అంతర్నిర్మిత విధులు) మరియు రెండింటినీ ఉపయోగించడం సాధ్యమవుతుంది принципы развития, которые реализуются на базе языка. (Здесь следует отметить, что Wolfram Language имеет уже более чем 30 సంవత్సరాల అభివృద్ధి మరియు స్థిరమైన వృద్ధి చరిత్ర).
Внутри функций из репозитория могут быть небольшие или достаточно объемные фрагменты кода, написанного на языке Wolfram Language. Например, это могут быть вызовы బాహ్య APIలు మరియు సేవలు లేదా ఇతర భాషలలో బాహ్య లైబ్రరీలు. ఈ విధానం యొక్క ప్రత్యేక లక్షణం ఏమిటంటే, మీరు వినియోగదారు-స్థాయి కార్యాచరణకు డ్రిల్ చేసినప్పుడు, సంభావ్య అసమానతలు ఉండవు ఎందుకంటే ఈ విధానం వోల్‌ఫ్రామ్ భాష యొక్క స్థిరమైన నిర్మాణంపై నిర్మించబడింది - మరియు ప్రతి ఫంక్షన్ స్వయంచాలకంగా సరిగ్గా పని చేస్తుంది. ఉద్దేశించబడింది.
వోల్ఫ్రామ్ ఫీచర్ రిపోజిటరీ యొక్క షెల్ మరియు ప్రోగ్రామింగ్ నిర్మాణం రూపొందించబడింది, తద్వారా ప్రతి ఒక్కరూ వారికి అత్యంత సులభమైన మరియు అనుకూలమైన మార్గంలో సాధారణ కారణానికి సహకరించగలరు - వాస్తవానికి, కేవలం నోట్‌ప్యాడ్ టెక్స్ట్ ఫైల్‌ను పూరించడం ద్వారా (nb పొడిగింపుతో) WL. అంతర్నిర్మిత ఆటోమేటిక్ ఫంక్షన్‌లు రిపోజిటరీకి జోడించిన కొత్త ఫంక్షన్‌లను భాషలో వాటి ఏకీకరణను నిర్ధారించడానికి తనిఖీ చేయడానికి మిమ్మల్ని అనుమతిస్తాయి. మా కంపెనీ కొత్త ఫంక్షన్‌ల యొక్క గొప్ప సంక్లిష్టతపై కాకుండా, భాషలో వారి ఫంక్షన్‌లను ఏకీకృతం చేయగల విస్తృత శ్రేణి వినియోగదారులపై బెట్టింగ్ చేస్తోంది - మరియు సమీక్ష ప్రక్రియ ఉన్నప్పటికీ, మేము అలాంటిదేమీ కోరము. శ్రమతో కూడిన డిజైన్ విశ్లేషణ లేదా కొత్త యూజర్ ఫీచర్‌ల యొక్క సంపూర్ణత మరియు విశ్వసనీయత కోసం కఠినమైన ప్రమాణాలు, మేము ఉపయోగించే ప్రధాన భాషలో రూపొందించబడిన లక్షణాల యొక్క మరింత కఠినమైన పరీక్షలకు విరుద్ధంగా.

ఈ విధానంలో అనేక ట్రేడ్-ఆఫ్‌లు మరియు వివరాలు ఉన్నాయి, అయితే వినియోగదారు అనుభవం కోసం వోల్‌ఫ్రామ్ ఫీచర్ రిపోజిటరీని ఆప్టిమైజ్ చేయడం మరియు కొత్త యూజర్ ఫీచర్‌లు భాష అభివృద్ధికి అర్థవంతంగా దోహదపడేలా చేయడం మా లక్ష్యం. మేము పెరిగేకొద్దీ, రిపోజిటరీలో నిర్మించిన ఫంక్షన్‌లను ప్రాసెస్ చేయడానికి మరియు ధృవీకరించడానికి మేము కొత్త పద్ధతులను కనుగొనవలసి ఉంటుందని నాకు ఎటువంటి సందేహం లేదు, పెద్ద సంఖ్యలో ఫంక్షన్‌లను నిర్వహించడానికి మరియు వినియోగదారులకు అవసరమైన వాటిని కనుగొనడానికి. అయితే, మేము ఎంచుకున్న మార్గం మంచి ప్రారంభం కావడం ప్రోత్సాహకరం. నేను వ్యక్తిగతంగా అనేక లక్షణాలను జోడించారు అసలు డేటాబేస్కు. వాటిలో చాలా వరకు నేను వ్యక్తిగతంగా కొంతకాలంగా అభివృద్ధి చేసిన కోడ్‌పై ఆధారపడి ఉన్నాయి. మరియు వాటిని రిపోజిటరీకి నెట్టడానికి నాకు కొన్ని నిమిషాలు మాత్రమే పట్టింది. ఇప్పుడు అవి రిపోజిటరీలో ఉన్నాయి, ఫైళ్ల కోసం శోధించడం, ప్యాకేజీలను డౌన్‌లోడ్ చేయడం మొదలైన వాటి గురించి చింతించాల్సిన అవసరం లేకుండా నేను చివరకు - వెంటనే మరియు ఎప్పుడైనా - ఈ ఫంక్షన్‌లను అవసరమైన విధంగా ఉపయోగించగలను.

ఖర్చులను తగ్గించడంతోపాటు సామర్థ్యాన్ని పెంచడం

ఇంటర్నెట్‌కు ముందే, వోల్‌ఫ్రామ్ లాంగ్వేజ్ కోడ్‌ను పంచుకోవడానికి మార్గాలు ఉన్నాయి (మా మొదటి ప్రధాన కేంద్రీకృత ప్రాజెక్ట్ గణిత మూలం, CD-ROM మొదలైన వాటి ఆధారంగా 1991లో మ్యాథమెటికా కోసం సృష్టించబడింది). వాస్తవానికి, Wolfram ఫంక్షన్ రిపోజిటరీ ఆధారంగా అమలు కోసం ప్రతిపాదించబడిన విధానం పైన పేర్కొన్న పనులను అమలు చేయడానికి మరింత శక్తివంతమైన మరియు నమ్మదగిన సాధనం.

30 సంవత్సరాలుగా, మా కంపెనీ వోల్‌ఫ్రామ్ భాషా నిర్మాణం యొక్క సమగ్రతను కాపాడుకోవడానికి శ్రద్ధగా పనిచేసింది మరియు వోల్‌ఫ్రామ్ భాష కేవలం ప్రోగ్రామింగ్ భాషగా కాకుండా, పూర్తి స్థాయి కంప్యూటింగ్ భాష. అందువల్ల, వోల్ఫ్రామ్ ఫంక్షన్ రిపోజిటరీని అమలు చేసే విధానం యొక్క సారాంశం ఏమిటంటే, ప్రోగ్రామింగ్ మరియు కొత్త ఫంక్షన్‌లను అభివృద్ధి చేయడానికి ఏకీకృత విధానాన్ని ఉపయోగించడం, అవి వరుసగా జోడించబడతాయి మరియు భాష యొక్క ఫ్రేమ్‌వర్క్‌కి సరిపోతాయి, తద్వారా అది అభివృద్ధి చెందుతుంది మరియు సహ-పరిణామం చెందుతుంది.

ప్రతి ఫంక్షన్ యొక్క అమలు నిర్మాణంలో వివిధ గణన ప్రక్రియలు జరుగుతాయి. ఫంక్షన్ స్పష్టమైన మరియు ఏకరీతి రూపాన్ని కలిగి ఉండటం మరియు వినియోగదారు కోసం దృశ్యమాన రీడబిలిటీని కలిగి ఉండటం అవసరమని ఇక్కడ గమనించాలి. ఈ సందర్భంలో, వోల్ఫ్రామ్ లాంగ్వేజ్ యొక్క అంతర్నిర్మిత ఫంక్షన్‌లు ఫంక్షన్‌లను ఎలా సరిగ్గా ప్రోగ్రామ్ చేయాలనే దాని గురించి 6000 కంటే ఎక్కువ సీక్వెన్షియల్ ఉదాహరణలు అందించబడ్డాయి (ఇవి మా ప్రత్యక్ష ప్రోగ్రామింగ్ వీడియోలు, которые включают ప్రామాణిక ప్రోగ్రామ్‌లను సృష్టించే ప్రక్రియ వందల గంటలు). Этот подход в конечном итоге позволяет делать репозиторий функций Wolfram способным к хорошей работе, именно структурный характер языка Wolfram Language с его большим количеством дополнительных и разнообразных библиотек, которые уже встроены в язык. Например, если у Вас есть функция, обрабатывающая изображения, или చిన్న శ్రేణులులేదా молекулярные структурыమరియు భౌగోళిక డేటా లేదా మరికొన్ని - వారి స్థిరమైన సింబాలిక్ ప్రాతినిధ్యం ఇప్పటికే భాషలో ఉంది మరియు దీనికి ధన్యవాదాలు, మీ ఫంక్షన్ వెంటనే భాషలోని ఇతర ఫంక్షన్‌లకు అనుకూలంగా మారుతుంది.

వాస్తవానికి బాగా పనిచేసే రిపోజిటరీని సృష్టించడం అనేది ఒక ఆసక్తికరమైన మెటా-ప్రోగ్రామింగ్ పని. ఉదాహరణకు, ప్రోగ్రామ్‌లోని అధిక పరిమితులు అల్గోరిథం యొక్క అవసరమైన ఏకీకరణ మరియు సార్వత్రికతను పొందడాన్ని అనుమతించవు. తగినంత సంఖ్యలో ఫంక్షనల్ పరిమితులు లేనట్లే, మీరు అల్గారిథమ్ ఎగ్జిక్యూషన్ యొక్క తగినంత సరైన క్రమాన్ని అమలు చేయలేరు. మా కంపెనీ ద్వారా అమలు చేయబడిన ఈ విధానాల యొక్క రాజీని అమలు చేయడానికి అనేక మునుపటి ఉదాహరణలు చాలా స్థిరంగా పనిచేశాయి - ఇవి: ప్రాజెక్ట్ టంగ్స్టన్ ప్రదర్శనలు, 2007లో ప్రారంభించబడింది మరియు ఇప్పుడు ఆన్‌లైన్‌లో 12000 కంటే ఎక్కువ యూజర్-ఇంటరాక్టివ్ డెమోలతో ఆన్‌లైన్‌లో నడుస్తుంది. IN базе данных Wolfram వోల్ఫ్రామ్ లాంగ్వేజ్‌లో 600 కంటే ఎక్కువ రెడీమేడ్ డేటాబేస్‌లను ఉపయోగించవచ్చు మరియు хранилище нейронных сетей Wolfram దాదాపు ప్రతి వారం కొత్త న్యూరల్ నెట్‌వర్క్‌లతో భర్తీ చేయబడుతుంది (ఇప్పటికే వాటిలో 118 ఉన్నాయి) మరియు అవి వెంటనే ఫంక్షన్ ద్వారా కనెక్ట్ చేయబడతాయి NetModel వోల్ఫ్రామ్ భాషలో.

పైన పేర్కొన్న అన్ని ఉదాహరణలు ప్రాథమిక లక్షణాన్ని కలిగి ఉన్నాయి - ప్రాజెక్ట్‌లో సేకరించిన వస్తువులు మరియు విధులు ప్రక్రియల నిర్మాణం మరియు పంపిణీ యొక్క అధిక స్థాయిని కలిగి ఉంటాయి. వాస్తవానికి, డెమో లేదా న్యూరల్ నెట్‌వర్క్ లేదా మరేదైనా నిర్మాణం యొక్క వివరాలు చాలా మారవచ్చు, అయితే ఏదైనా ప్రస్తుత రిపోజిటరీకి సంబంధించిన ప్రాథమిక నిర్మాణం ఎల్లప్పుడూ ఒకే విధంగా ఉంటుంది. కాబట్టి ప్రియమైన వినియోగదారు, Wolfram భాషకు పొడిగింపులను జోడించే అటువంటి రిపోజిటరీని సృష్టించడం గురించి మీ అభిప్రాయం ఏమిటి? వోల్ఫ్రామ్ లాంగ్వేజ్ చాలా సరళంగా ఉండేలా రూపొందించబడింది, కాబట్టి దీనిని ఏ విధంగానైనా పొడిగించవచ్చు మరియు సవరించవచ్చు. వోల్ఫ్రామ్ లాంగ్వేజ్‌లో వివిధ భారీ-స్థాయి సాఫ్ట్‌వేర్ ప్రాజెక్ట్‌లను త్వరగా సృష్టించగల సామర్థ్యం కోసం ఈ పరిస్థితి చాలా ముఖ్యమైనది. భాష యొక్క సౌలభ్యం పెరిగేకొద్దీ, అటువంటి భాషలో అమలు చేయబడిన ప్రాజెక్టుల వ్యయం అనివార్యంగా పెరుగుతుందని ఇక్కడ గమనించాలి. వినియోగదారు అటువంటి భాషను ఎంత ఎక్కువగా ఉపయోగిస్తారో, అంత అంకితమైన కార్యాచరణను అతను అందుకుంటాడు, అయితే ప్రోగ్రామ్ మాడ్యూల్స్ యొక్క స్థిరమైన స్థిరత్వాన్ని నిర్ధారించడంలో అసమర్థత పరంగా ఈ విధానం ప్రతికూల వైపులా ఉండవచ్చని మనం మర్చిపోకూడదు.

సాంప్రదాయ ప్రోగ్రామింగ్ భాషలలో లైబ్రరీలతో ఒక సాధారణ సమస్య ఉంది - మీరు ఒక లైబ్రరీని ఉపయోగిస్తే, ఉదాహరణకు, కోడ్ సరిగ్గా పని చేస్తుంది, కానీ మీరు బహుళ లైబ్రరీలను ఉపయోగించడానికి ప్రయత్నిస్తే, అవి ఒకదానితో ఒకటి సరిగ్గా సంకర్షణ చెందుతాయని హామీ లేదు. . అలాగే, సాంప్రదాయ ప్రోగ్రామింగ్ భాషలలో - పూర్తి స్థాయి కంప్యూటింగ్ భాష వలె కాకుండా - ఏదైనా ఫంక్షన్‌లు లేదా వాటి ప్రాథమిక నిర్మాణాలు కాకుండా ఇతర డేటా రకాల కోసం స్థిరమైన అంతర్నిర్మిత ప్రాతినిధ్యాల ఉనికికి హామీ ఇవ్వడానికి మార్గం లేదు. కానీ, వాస్తవానికి, సమస్య మొదటి చూపులో కనిపించే దానికంటే పెద్దది: ఒకరు పెద్ద ఎత్తున నిలువు కార్యాచరణను రూపొందిస్తున్నట్లయితే, మేము వోల్ఫ్రామ్ భాషలో ఉంచిన కేంద్రీకృత ప్రాజెక్ట్ ప్రోగ్రామింగ్ యొక్క భారీ ఖర్చులు లేకుండా, అది అసాధ్యం స్థిరత్వం సాధించండి. అందువల్ల అన్ని సాఫ్ట్‌వేర్ మాడ్యూల్స్ ఎల్లప్పుడూ సరిగ్గా కలిసి పనిచేయడం చాలా ముఖ్యం.

కాబట్టి వోల్‌ఫ్రామ్ ఫీచర్ రిపోజిటరీ వెనుక ఉన్న ఆలోచన ఏమిటంటే, పొందికైన మాడ్యూల్స్‌గా అభివృద్ధి చేయడానికి సులభమైన వ్యక్తిగత లక్షణాల ద్వారా సాపేక్షంగా చిన్న కోడ్ ముక్కలలో భాషకు పొడిగింపులను జోడించడం ద్వారా పైన వివరించిన సమస్యను నివారించడం. ఇలా చెప్పుకుంటూ పోతే, వ్యక్తిగత ఫంక్షన్‌లను ఉపయోగించి సౌకర్యవంతంగా చేయలేని ప్రోగ్రామింగ్ ఫీచర్‌లు ఉన్నాయి (మరియు మా కంపెనీ పెద్ద ఎత్తున సాఫ్ట్‌వేర్ ప్యాకేజీలను అమలు చేయడంలో సహాయపడటానికి సమీప భవిష్యత్తులో ఆప్టిమైజ్ చేసిన ప్రోగ్రామింగ్ అల్గారిథమ్‌ను విడుదల చేయాలని యోచిస్తోంది). అయినప్పటికీ, వోల్ఫ్రామ్ లాంగ్వేజ్‌లో ఇప్పటికే నిర్మించిన ఫంక్షన్‌ల ఆధారంగా, వ్యక్తిగత ఫంక్షన్‌ల ఆధారంగా అమలు చేయబడిన అనేక ప్రోగ్రామింగ్ అవకాశాలు ఉన్నాయి. ఇక్కడ ఆలోచన ఏమిటంటే, సాపేక్షంగా తక్కువ ప్రోగ్రామింగ్ ప్రయత్నంతో డిజైన్‌కు తగినంత పొందికను అందించే అనేక కొత్త మరియు చాలా ఉపయోగకరమైన ఫంక్షన్‌లను సృష్టించడం సాధ్యమవుతుంది, అవి ఒకదానితో ఒకటి బాగా సమన్వయం చేయబడతాయి మరియు దీనికి అదనంగా, అవి భవిష్యత్తులో భాషలో సులభంగా మరియు విస్తృతంగా ఉపయోగించగలుగుతారు.

Данный подход, безусловно, является компромиссом. При условии реализации более масштабного пакета можно вообразить себе совершенно новый мир функциональности, который станет чрезвычайно мощным и полезным. В случае если существует необходимость получать новые функциональные возможности, которые будут вписываться во все остальное, но при этом Вы не готовы тратить огромные усилия на разработку проекта, это, к сожалению, может привести к снижению масштаба Вашего проекта. Идея репозитория функций Wolfram заключается в том, чтобы обеспечить функциональностью определяющую часть проекта, данный подход позволит добавить мощный функционал, вместе с тем, упрощая поддержание хорошей согласованности проекта программирования.

ఫంక్షన్ రిపోజిటరీకి అనుకూల ఫంక్షన్‌లను జోడించడంలో సహాయం చేయండి

Wolfram రిపోజిటరీ ఫీచర్‌లకు వినియోగదారులు సహకరించడాన్ని సులభతరం చేయడానికి మా బృందం కృషి చేసింది. డెస్క్‌టాప్‌లో (ఇప్పటికే వెర్షన్ 12.0), మీరు ప్రధాన మెనూ ట్యాబ్‌ల ద్వారా క్రమంగా వెళ్లవచ్చు: ఫైల్ > కొత్తది > రిపోజిటరీ ఐటెమ్ > ఫంక్షన్ రిపోజిటరీ ఐటెమ్ మరియు మీరు పొందుతారు "Definition Notebook» (программно внутри рабочей среды. Вы можете также использовать функцию аналог — CreateNotebook["ఫంక్షన్ రిసోర్స్"]):

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Существуют два основных действия, которые Вы должны будете выполнить: во-первых, фактически записать код Вашей функции и, во-вторых, записать документацию, иллюстрирующую, как должна работать Ваша функция.
మీరు ఏమి చేయాలో ఉదాహరణను చూడటానికి ఎగువన ఉన్న "ఓపెన్ శాంపిల్" బటన్‌ను క్లిక్ చేయండి:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

ముఖ్యంగా, మీరు వోల్‌ఫ్రామ్ లాంగ్వేజ్‌లో అంతర్నిర్మిత ఫంక్షన్‌కు సమానమైనదాన్ని సృష్టించడానికి ప్రయత్నిస్తున్నారు. ఇది అంతర్నిర్మిత ఫంక్షన్ కంటే చాలా నిర్దిష్టంగా ఏదైనా చేయగలదు తప్ప. అదే సమయంలో, దాని పరిపూర్ణత మరియు విశ్వసనీయతకు సంబంధించిన అంచనాలు చాలా తక్కువగా ఉంటాయి.
మీరు మీ ఫంక్షన్‌కి వోల్‌ఫ్రామ్ లాంగ్వేజ్ ఫంక్షన్ నేమింగ్ మార్గదర్శకాలను అనుసరించే పేరును ఇవ్వాలి. అదనంగా, మీరు భాష యొక్క అంతర్నిర్మిత ఫంక్షన్‌ల మాదిరిగానే మీ ఫంక్షన్ కోసం డాక్యుమెంటేషన్‌ను అభివృద్ధి చేయాలి. నేను దీని గురించి మరింత వివరంగా తరువాత మాట్లాడుతాను. ప్రస్తుతానికి, డెఫినిషన్ నోట్‌బుక్ ఫైల్ ఎగువన ఉన్న బటన్‌ల వరుసలో ఒక బటన్ ఉందని గమనించండి «Рекомендации по стилю», ఏమి చేయాలో వివరిస్తుంది మరియు మీ ఫంక్షన్ డాక్యుమెంటేషన్‌ను ఫార్మాట్ చేయడానికి సాధనాలను అందించే టూల్స్ బటన్.
Когда Вы убедитесь, что все заполнено должным образом и Вы готовы, нажмите кнопку «Check» («Проверить»). Совершенно нормальным является то, что Вы еще не разобрались во всех деталях. Поэтому функция «Check» будет автоматически выполняться и делать много проверок стиля и согласованности. Часто она сразу же предложит Вам подтвердить и принять исправления (Например: «Эта строка должна заканчиваться двоеточием», и она предложит ввести двоеточие). Иногда она попросит Вас добавить или изменить что-то самостоятельно. Мы будем постоянно добавлять новые возможности к автоматической функциональности кнопки «Check», но в основном его цель состоит в том, чтобы гарантировать — все, что вы отправляете в репозиторий функций, уже точно соответствует как можно большему количеству рекомендаций по стилю

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Итак, после запуска «Check» вы можете использовать «Preview» («Предпросмотр»). «Preview» создает предварительный просмотр страницы документации, которую Вы определили для своей функции. Вы также можете создать предварительный просмотр для файла, созданного на Вашем компьютере или для файла, находящегося в облачном хранилище. Если Вас, по каким-то причинам, не устраивает то, что Вы увидите в предварительном просмотре, просто вернитесь назад и выполните необходимые исправления, а затем снова нажмите кнопку Preview.
ఇప్పుడు మీరు మీ ఫంక్షన్‌ను రిపోజిటరీలోకి నెట్టడానికి సిద్ధంగా ఉన్నారు. డిప్లాయ్ బటన్ మీకు నాలుగు ఎంపికలను అందిస్తుంది:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

ఈ దశలో ముఖ్యమైన విషయం ఏమిటంటే, మీరు మీ ఫంక్షన్‌ను వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీకి సమర్పించవచ్చు, తద్వారా ఇది ఎవరికైనా అందుబాటులో ఉంటుంది. అదే సమయంలో, మీరు మీ ఫంక్షన్‌ను పరిమిత సంఖ్యలో వినియోగదారుల కోసం కూడా ఉంచవచ్చు. ఉదాహరణకు, మీరు మీ కంప్యూటర్‌లో స్థానికంగా హోస్ట్ చేయబడిన ఫంక్షన్‌ను సృష్టించవచ్చు, తద్వారా మీరు నిర్దిష్ట కంప్యూటర్‌ని ఉపయోగించినప్పుడు అందుబాటులో ఉంటుంది. లేదా మీరు దానిని మీలో పోస్ట్ చేయవచ్చు క్లౌడ్ ఖాతా, чтобы она была доступна Вам, когда Вы подключены к облаку. Вы также можете публично разместить (развернуть) функцию через свою облачную учетную запись. При этом ее не будет в центральном репозитории функций Wolfram, но вы сможете дать кому-нибудь URL-адрес, который позволит им получить Вашу функцию из Вашей учетной записи. (В будущем мы также будем поддерживать центральные репозитории в масштабах всей нашей компании).

కాబట్టి మీరు నిజంగా మీ ఫంక్షన్‌ను వోల్‌ఫ్రామ్ ఫంక్షన్ నాలెడ్జ్ బేస్‌కు సమర్పించాలనుకుంటున్నారని అనుకుందాం. దీన్ని చేయడానికి, మీరు రిపోజిటరీకి "సమర్పించు" బటన్‌ను క్లిక్ చేయండి. కాబట్టి ఈ సమయంలో ఏమి జరుగుతోంది? మా ప్రత్యేక క్యూరేటర్‌ల బృందం సమీక్ష మరియు ఆమోదం కోసం మీ అప్లికేషన్ వెంటనే క్యూలో ఉంచబడింది.

మీ అప్లికేషన్ ఆమోదం ప్రక్రియ (సాధారణంగా చాలా రోజులు పడుతుంది) ద్వారా అభివృద్ధి చెందుతున్నప్పుడు, మీరు దాని స్థితికి సంబంధించిన కమ్యూనికేషన్‌లను అందుకుంటారు మరియు భవిష్యత్ ఉపయోగం కోసం సూచనలను అందుకుంటారు. కానీ మీ ఫీచర్ ఆమోదించబడిన తర్వాత, అది వెంటనే Wolfram ఫీచర్ రిపోజిటరీకి ప్రచురించబడుతుంది మరియు ఎవరైనా ఉపయోగించడానికి అందుబాటులో ఉంటుంది. (మరియు ఇది కనిపిస్తుంది వార్తలు కొత్త ఫీచర్లను జీర్ణించుకుంటాయి మొదలైనవి)

నిల్వలో ఏమి ఉండాలి?

Следует отметить, что в нашей компании очень высокие стандарты полноты, надежности и общего качества, из 6000+ функций, которые мы уже встроили в язык Wolfram за последние 30 с лишним лет все соответствуют вышеперечисленным требованиям. Цель репозитория функций Wolfram заключается в том, чтобы использовать всю структуру и функциональные возможности, которые уже существуют в языке Wolfram Language, для того чтобы добавить как можно больше гораздо более легких функций (то есть функций с более высокой производительностью).

వాస్తవానికి, వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీలోని ఫంక్షన్‌లు తప్పనిసరిగా వోల్‌ఫ్రామ్ లాంగ్వేజ్ డిజైన్ సూత్రాలకు అనుగుణంగా ఉండాలి - తద్వారా అవి ఇతర ఫంక్షన్‌లు మరియు ఫంక్షన్ ఎలా సరిగ్గా పని చేయాలనే దాని గురించి వినియోగదారుల అంచనాలతో పూర్తిగా పరస్పర చర్య చేయవచ్చు. అయితే, విధులు సమానమైన పరిపూర్ణత లేదా విశ్వసనీయతను కలిగి ఉండవలసిన అవసరం లేదు.

Wolfram భాష యొక్క అంతర్నిర్మిత ఫంక్షన్‌లలో, ప్రోగ్రామింగ్ ఫంక్షన్‌లను వీలైనంత సాధారణం చేయడానికి మేము కృషి చేస్తాము. చెప్పబడుతున్నది, వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీలో కొన్ని నిర్దిష్టమైన కానీ ఉపయోగకరమైన కేసులను నిర్వహించే ఫంక్షన్‌ను కలిగి ఉండటంలో తప్పు ఏమీ లేదు. ఉదాహరణకు, ఫంక్షన్ నోట్బుక్ నుండి మెయిల్ పంపండి может получать файлы в одном определенном формате и создавать почту одним определенным способом. బహుభుజి రేఖాచిత్రం నిర్దిష్ట రంగులు మరియు లేబులింగ్ మొదలైన వాటితో చార్ట్‌లను సృష్టిస్తుంది.

Еще одним моментом, связанным со встроенными функциями, является то, что наша компания прилагает все усилия для обработки всех нетиповых случаев, для правильной обработки некорректного ввода и так далее. В репозитории функций совершенно нормальным является случай, когда в нем существует специальная функция, которая обрабатывает основные случаи решения задачи и игнорирует все остальные.

స్పష్టమైన విషయం ఏమిటంటే, ఎక్కువ చేసే మరియు మెరుగ్గా చేసే ఫంక్షన్‌లను కలిగి ఉండటం ఉత్తమం, కానీ ఫంక్షన్ రిపోజిటరీ కోసం ఆప్టిమైజేషన్ - వోల్‌ఫ్రామ్ భాష యొక్క అంతర్నిర్మిత ఫంక్షన్‌లకు విరుద్ధంగా - లోతుగా పరిశోధించకుండా మరిన్ని ఫంక్షన్‌లతో కూడిన మరిన్ని ఫంక్షన్‌లను కలిగి ఉండాలి. ప్రతి నిర్దిష్ట ఫంక్షన్ యొక్క అమలు ప్రక్రియలు.

Теперь давайте рассмотрим пример тестирования функций в репозитории. Ожидания согласованности для таких функций естественно гораздо ниже, чем для встроенных функций языка. Это тем более актуально в случаях, когда функции зависят от внешних ресурсов, таких как API, важно постоянно проводить последовательные тесты, что автоматически происходит внутри алгоритмов проверки. В файле nb вы можете явно указать определения (в разделе «Дополнительная информация») и задать столько тестов, определяемых либо строками ввода и вывода, либо полными символьными объектами типа ధృవీకరణ పరీక్ష, మీకు సరిపోయేంత వరకు. అదనంగా, సిస్టమ్ మీరు అందించే డాక్యుమెంటేషన్ ఉదాహరణలను ధృవీకరణ ప్రక్రియగా మార్చడానికి నిరంతరం ప్రయత్నిస్తుంది (మరియు కొన్నిసార్లు ఇది చాలా వనరు-ఇంటెన్సివ్ కావచ్చు, ఉదాహరణకు, యాదృచ్ఛిక సంఖ్యలు లేదా రోజు సమయంపై ఆధారపడి ఉండే ఫంక్షన్ కోసం).

В итоге в репозитории функций будет целый ряд сложностей реализации. Некоторые будут просто одной строкой кода, другие могут включать тысячи или десятки тысяч строк, вероятно с использованием множества вспомогательных функций. В каких случаях стоит добавить функцию, для определения которой требуется очень мало кода? В принципе, если для функции есть మంచి స్మృతి పేరు, వినియోగదారులు దీన్ని కోడ్ ముక్కలో చూస్తే వెంటనే అర్థం చేసుకుంటారు, అప్పుడు ఇది ఇప్పటికే జోడించబడవచ్చు. లేకపోతే, మీరు దాన్ని ఉపయోగించాల్సిన ప్రతిసారీ మీ ప్రోగ్రామ్‌కు కోడ్‌ను మళ్లీ జోడించడం మంచిది.

ఫంక్షన్ రిపోజిటరీ యొక్క ముఖ్య ఉద్దేశ్యం (దాని పేరు సూచించినట్లు) భాషలో కొత్త లక్షణాలను పరిచయం చేయడం. మీరు కొత్త డేటాను జోడించాలనుకుంటే లేదా новые сущности, వా డు వోల్ఫ్రామ్ డేటా రిపోజిటరీ. కానీ మీరు మీ లెక్కల కోసం కొత్త రకాల వస్తువులను పరిచయం చేయాలనుకుంటే?

నిజానికి రెండు మార్గాలు ఉన్నాయి. మీరు ఫంక్షన్ రిపోజిటరీలో కొత్త ఫంక్షన్లలో ఉపయోగించబడే కొత్త ఆబ్జెక్ట్ రకాన్ని పరిచయం చేయాలనుకోవచ్చు. మరియు ఈ సందర్భంలో, మీరు ఎల్లప్పుడూ దాని సింబాలిక్ ప్రాతినిధ్యాన్ని వ్రాసి, ఫంక్షన్ రిపోజిటరీలో ఫంక్షన్‌లను ఇన్‌పుట్ చేసేటప్పుడు లేదా అవుట్‌పుట్ చేసేటప్పుడు దాన్ని ఉపయోగించవచ్చు.

Но что делать, если Вы хотите представить объект, а затем определить, через существующие функции в языке Wolfram Language, которые должны работать вместе с ним? Для этого у Wolfram Language всегда был легкий механизм, который называется అధిక విలువలు. С некоторыми ограничениями (особенно для функций, которые не могут оценивать свои аргументы), ఒక ఫంక్షన్ రిపోజిటరీ మిమ్మల్ని కేవలం ఒక ఫంక్షన్‌ను సూచించడానికి మరియు దాని కోసం విలువలను నిర్వచించడానికి అనుమతిస్తుంది. (Wolfram లాంగ్వేజ్ అంతటా పూర్తిగా ఏకీకృతం చేయబడిన కొత్త ప్రధాన డిజైన్‌ను రూపొందించేటప్పుడు స్థిరత్వం యొక్క నిరీక్షణను పెంచడం అనేది సాధారణంగా ప్రాజెక్ట్ యొక్క వ్యయాన్ని పెంచడం ద్వారా సాధించలేని చాలా ముఖ్యమైన ప్రక్రియ మరియు ప్రాజెక్ట్‌లలో భాగంగా మా కంపెనీ చేసే పని. భాష యొక్క దీర్ఘకాలిక అభివృద్ధికి, ఈ పని రిపోజిటరీ అభివృద్ధిలో భాగంగా సెట్ చేయబడిన లక్ష్యం కాదు).

కాబట్టి, ఫంక్షన్ రిపోజిటరీలోని ఫంక్షన్ కోడ్‌లో ఏమి ఉండవచ్చు? Все, что встроено в язык Wolfram Language, అయితే (కనీసం అది ప్రాతినిధ్యం వహించకపోతే బెదిరింపులు కోసం భద్రతా и работоспособности самой программы, как вычислительной среды) также как и любая функция из репозитория функций. При этом существуют и другие возможности функционирования: функция в репозитории функций может вызывать API, либо в వోల్ఫ్రామ్ క్లౌడ్, లేదా మరొక మూలం నుండి. Конечно, существуют некоторые риски, связанные с этим. По причине того, что отсутствуют гарантии, что API не изменится, а функция в хранилище функций при этом перестанет работать. Для выявления подобных проблем существует примечание на странице документации (в разделе «Требования») для любой функции, которая опирается не только на встроенную функциональность Wolfram Language. (Конечно, когда речь идет о реальных данных, могут быть проблемы даже с такой функциональностью — потому что реальные данные о мире постоянно меняются, а иногда даже меняют их определения и структура.)

Wolfram ఫీచర్ రిపోజిటరీకి సంబంధించిన అన్ని కోడ్‌లు Wolframలో వ్రాయబడాలా? ఖచ్చితంగా, బాహ్య API లోపల కోడ్ వోల్ఫ్రామ్ భాషలో వ్రాయబడకూడదు, అది భాషా కోడ్‌ను కూడా తయారు చేయదు. వాస్తవానికి, మీరు దాదాపు ఏదైనా బాహ్య భాష లేదా లైబ్రరీలో ఫంక్షన్‌ను కనుగొంటే, మీరు Wolfram ఫంక్షన్ రిపోజిటరీలో దాన్ని ఉపయోగించడానికి మిమ్మల్ని అనుమతించే ఒక రేపర్‌ని సృష్టించవచ్చు. (సాధారణంగా మీరు దీని కోసం అంతర్నిర్మిత ఫంక్షన్‌లను ఉపయోగించాలి బాహ్య మూల్యాంకనం లేదా బాహ్య ఫంక్షన్ వోల్ఫ్రామ్ లాంగ్వేజ్ కోడ్‌లో.)

కాబట్టి ఇలా చేయడం వల్ల ప్రయోజనం ఏమిటి? ముఖ్యంగా, ఇది మొత్తం ఇంటిగ్రేటెడ్ వోల్‌ఫ్రామ్ లాంగ్వేజ్ సిస్టమ్‌ను మరియు దాని మొత్తం ఏకీకృత సాఫ్ట్‌వేర్ సామర్థ్యాలను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు బాహ్య లైబ్రరీ లేదా భాష నుండి బేస్ ఇంప్లిమెంటేషన్‌ను పొందినట్లయితే, మీరు వోల్‌ఫ్రామ్ లాంగ్వేజ్ యొక్క రిచ్ సింబాలిక్ స్ట్రక్చర్‌ను ఉపయోగించి అనుకూలమైన టాప్-లెవల్ ఫంక్షన్‌ని సృష్టించవచ్చు, ఇది ఇప్పటికే అమలు చేయబడిన ఏదైనా కార్యాచరణను సులభంగా ఉపయోగించడానికి వినియోగదారులను అనుమతిస్తుంది. కనీసం, లోడింగ్ లైబ్రరీలు మొదలైన వాటికి సంబంధించిన అన్ని బిల్డింగ్ బ్లాక్‌లు ఉన్న ఆదర్శవంతమైన ప్రపంచంలో ఇది సాధ్యమవుతుంది, ఈ సందర్భంలో అవి వోల్ఫ్రామ్ లాంగ్వేజ్ ద్వారా స్వయంచాలకంగా నిర్వహించబడతాయి. (ఆచరణలో సమస్యలు ఉండవచ్చని గమనించాలి బాహ్య భాషలను ఏర్పాటు చేయడం в конкретной компьютерной системе, а в облачном хранилище могут возникнуть дополнительные проблемы с безопасностью).

మార్గం ద్వారా, మీరు మొదట సాధారణ బాహ్య లైబ్రరీలను చూసినప్పుడు, అవి కేవలం కొన్ని ఫంక్షన్‌లలో కవర్ చేయడానికి చాలా క్లిష్టంగా కనిపిస్తాయి, అయితే చాలా సందర్భాలలో, చాలా సంక్లిష్టత లైబ్రరీకి మరియు అన్ని ఫంక్షన్‌లకు అవసరమైన మౌలిక సదుపాయాలను సృష్టించడం ద్వారా వస్తుంది. దానికి మద్దతు ఇవ్వండి . అయినప్పటికీ, Wolfram లాంగ్వేజ్‌ని ఉపయోగిస్తున్నప్పుడు, మౌలిక సదుపాయాలు సాధారణంగా ఇప్పటికే ప్యాకేజీలలో నిర్మించబడ్డాయి, కాబట్టి ఈ సపోర్ట్ ఫంక్షన్‌లన్నింటినీ వివరంగా బహిర్గతం చేయాల్సిన అవసరం లేదు, కానీ లైబ్రరీలోని "అత్యున్నత" అప్లికేషన్-నిర్దిష్ట ఫంక్షన్‌ల కోసం మాత్రమే ఫంక్షన్‌లను సృష్టించండి. .

«Экосистема» базы знаний

Если Вы написали функции, которые используете постоянно, то отправьте их в репозиторий функций Wolfram! Если из этого в итоге не получится что-то большее (развитие языка), то и тогда Вам будет гораздо удобнее использовать функции для личного пользования. Однако логично предположить, что, если Вы используете функции постоянно, возможно и другие пользователи также найдут их полезными.

Естественно, что Вы можете оказаться в ситуации, когда вы не имеете возможности — или не хотите — делиться своими функциями или в случае получения доступа к частным информационным ресурсам. Даже в таких случаях Вы можете просто развернуть функции в своей собственной учетной записи в облаке, హక్కులను పేర్కొనడం వాటిని యాక్సెస్. (మీ సంస్థ కలిగి ఉంటే Wolfram Enterprise ప్రైవేట్ క్లౌడ్, то вскоре оно сможет разместить собственный частный репозиторий функций, который можно администрировать из Вашей организации и устанавливать принудительный просмотр представлений или нет для сторонних пользователей.)

మీరు Wolfram ఫంక్షన్ రిపోజిటరీకి సమర్పించే విధులు ఖచ్చితంగా ఉండవలసిన అవసరం లేదు; అవి ఉపయోగకరంగా ఉండాలి. ఇది క్లాసిక్ Unix డాక్యుమెంటేషన్‌లోని "ఎర్రర్స్" విభాగం లాంటిది - "నిర్వచనాల విభాగం"లో "రచయిత గమనికలు" విభాగం ఉంది, ఇక్కడ మీరు మీ ఫంక్షన్ గురించి ఇప్పటికే తెలిసిన పరిమితులు, సమస్యలు మొదలైనవాటిని వివరించవచ్చు. అదనంగా, మీరు మీ లక్షణాన్ని రిపోజిటరీకి సమర్పించినప్పుడు, మీరు సమర్పణ గమనికలను జోడించవచ్చు, అవి ప్రత్యేక క్యూరేటర్ల బృందంచే చదవబడతాయి.

После публикации функции ее страница всегда имеет две ссылки внизу: «ఈ ఫీచర్ గురించి సందేశం పంపండి"మరియు"వోల్ఫ్రామ్ సంఘంలో చర్చించండి" మీరు గమనికను జోడించినట్లయితే (ఉదా, బగ్‌ల గురించి చెప్పండి), మీరు మీ సందేశం మరియు సంప్రదింపు సమాచారాన్ని ఫీచర్ రచయితతో భాగస్వామ్యం చేయాలనుకుంటున్నారని తెలిపే పెట్టెను ఎంచుకోవచ్చు.

కొన్నిసార్లు మీరు వాటి కోడ్‌ని చూడకుండానే అంతర్నిర్మిత ఫంక్షన్‌ల వంటి Wolfram ఫంక్షన్ రిపోజిటరీ నుండి ఫంక్షన్‌లను ఉపయోగించాలనుకుంటున్నారు. అయితే, మీరు లోపల చూడాలనుకుంటే, ఎగువన నోట్‌ప్యాడ్ బటన్ ఎల్లప్పుడూ ఉంటుంది. దానిపై క్లిక్ చేయండి మరియు ఫీచర్ రిపోజిటరీకి సమర్పించబడిన ఒరిజినల్ డెఫినిషన్ నోట్‌బుక్ యొక్క మీ స్వంత కాపీని మీరు పొందుతారు. కొన్నిసార్లు మీరు దీన్ని మీ అవసరాలకు ఉదాహరణగా ఉపయోగించవచ్చు. అదే సమయంలో, మీరు ఈ ఫంక్షన్ యొక్క మీ స్వంత సవరణను కూడా అభివృద్ధి చేయవచ్చు. మీరు మీ కంప్యూటర్‌లోని రిపోజిటరీ నుండి లేదా మీ అఫిడ్ క్లౌడ్ స్టోరేజ్ ఖాతాలో కనుగొన్న ఈ ఫంక్షన్‌లను పోస్ట్ చేయాలనుకోవచ్చు, బహుశా మీరు వాటిని ఫంక్షన్ నాలెడ్జ్ బేస్‌కు సమర్పించాలనుకోవచ్చు, బహుశా ఒరిజినల్ ఫంక్షన్‌కి మెరుగైన, విస్తరించిన వెర్షన్‌గా.

భవిష్యత్తులో, మేము ఫీచర్ రిపోజిటరీల కోసం Git-శైలి ఫోర్కింగ్‌కు మద్దతు ఇవ్వాలని ప్లాన్ చేస్తున్నాము, కానీ ప్రస్తుతానికి మేము దానిని సరళంగా ఉంచడానికి ప్రయత్నిస్తున్నాము మరియు మేము ఎల్లప్పుడూ భాషలో రూపొందించబడిన ప్రతి ఫీచర్ యొక్క ఒక ఆమోదించబడిన సంస్కరణను మాత్రమే కలిగి ఉన్నాము. చాలా తరచుగా (డెవలపర్‌లు తాము అభివృద్ధి చేసిన ఫీచర్‌లను నిర్వహించడం మానేసి, వినియోగదారు సమర్పణలకు ప్రతిస్పందించకపోతే), ఫీచర్ యొక్క అసలు రచయిత దానికి సంబంధించిన నవీకరణలను నియంత్రించి, కొత్త వెర్షన్‌లను సమర్పిస్తారు, అవి సమీక్షించబడతాయి మరియు వారు సమీక్ష ప్రక్రియలో పాస్ అయితే , భాషలో ప్రచురించబడింది.

Рассмотрим вопрос, как работает «версионность» разработанных функций. Прямо сейчас, когда Вы используете функцию из репозитория функций, ее определение будет постоянно храниться на вашем компьютере (или в вашей облачной учетной записи, если вы используете облако). Если появилась новая версия функции, то при следующем ее использовании вы получите сообщение, извещающее Вас об этом. И если Вы хотите обновить функцию до новой версии, Вы можете сделать это с помощью команды రిసోర్స్ అప్‌డేట్. ("ఫంక్షన్ బొట్టు" వాస్తవానికి మరింత సంస్కరణ సమాచారాన్ని నిల్వ చేస్తుంది మరియు భవిష్యత్తులో దీన్ని మా వినియోగదారులకు మరింత అందుబాటులోకి తీసుకురావాలని మేము ప్లాన్ చేస్తున్నాము.)

Wolfram ఫంక్షన్ రిపోజిటరీ గురించిన ఒక అందమైన విషయం ఏమిటంటే, ఏదైనా Wolfram లాంగ్వేజ్ ప్రోగ్రామ్, ఎక్కడైనా దాని నుండి ఫంక్షన్‌లను ఉపయోగించవచ్చు. ఒక ప్రోగ్రామ్ నోట్‌ప్యాడ్‌లో కనిపిస్తే, రిపోజిటరీ ఫంక్షన్‌లను సులభంగా చదవగలిగే "ఫంక్షన్ బైనరీ ఆబ్జెక్ట్" ఫంక్షన్‌లుగా ఫార్మాట్ చేయడం చాలా సౌకర్యవంతంగా ఉంటుంది (బహుశా తగిన వెర్షన్ సెట్‌తో).

మీరు ఎప్పుడైనా టెక్స్ట్ ఉపయోగించి ఫంక్షన్ రిపోజిటరీలో ఏదైనా ఫంక్షన్‌ని యాక్సెస్ చేయవచ్చు రిసోర్స్ ఫంక్షన్[...]. И это очень удобно, если Вы пишете код или сценарии непосредственно для Wolfram Engine, например, с IDE లేదా టెక్స్ట్ కోడ్ ఎడిటర్‌ని ఉపయోగించడం (ఫంక్షన్ రిపోజిటరీ పూర్తిగా అనుకూలంగా ఉందని ప్రత్యేకంగా గమనించాలి Free Wolfram Engine для разработчиков).

అది ఎలా పనిచేస్తుంది?

వోల్‌ఫ్రామ్ రిపోజిటరీలోని ఫంక్షన్‌లలో సరిగ్గా అదే ఉపయోగించి ఇది సాధ్యమవుతుంది వనరుల వ్యవస్థలు స్థావరాలు, లో వలె మా ఇప్పటికే ఉన్న అన్ని రిపోజిటరీలు (хранилище данных, న్యూరల్ నెట్ రిపోజిటరీ, డెమో ప్రాజెక్ట్‌ల సేకరణ మొదలైనవి), అన్ని ఇతర Wolfram సిస్టమ్ వనరుల వలె, రిసోర్స్ ఫంక్షన్ చివరికి ఫంక్షన్ ఆధారంగా రిసోర్స్ ఆబ్జెక్ట్.

పరిగణించండి రిసోర్స్ ఫంక్షన్:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Внутри Вы можете увидеть некоторую информацию, используя функция సమాచారం:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

Как работает настройка функции ресурса? Самый простой — это чисто локальный случай. Вот пример, который берет функцию (в данном случае просто чистую функцию) и определяет ее как функцию ресурса для данного сеанса работы в программе:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

మీరు నిర్వచనాన్ని రూపొందించిన తర్వాత, మీరు రిసోర్స్ ఫంక్షన్‌ను ఉపయోగించవచ్చు:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

ఈ ఫంక్షన్ బొట్టులో నలుపు రంగు చిహ్నం ఉందని గమనించండి Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్. BLOB ఫంక్షన్ ప్రస్తుత సెషన్ కోసం నిర్వచించబడిన ఇన్-మెమరీ రిసోర్స్ ఫంక్షన్‌ని సూచిస్తుంది. మీ కంప్యూటర్ లేదా క్లౌడ్ ఖాతాలో శాశ్వతంగా నిల్వ చేయబడిన రిసోర్స్ ఫీచర్ బూడిద రంగు చిహ్నాన్ని కలిగి ఉంటుంది Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్. А для официальной функции ресурса в репозитории функций Wolfram есть оранжевый значок Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్.

మీరు డెఫినిషన్ నోట్‌బుక్‌లో విస్తరించు మెనుని ఉపయోగించినప్పుడు ఏమి జరుగుతుంది? మొదట, ఇది నోట్‌ప్యాడ్‌లోని అన్ని నిర్వచనాలను తీసుకుంటుంది మరియు వాటి నుండి సింబాలిక్‌ను సృష్టిస్తుంది రిసోర్స్ ఆబ్జెక్ట్) (మరియు మీరు టెక్స్ట్-ఆధారిత IDE లేదా ప్రోగ్రామ్‌ని ఉపయోగిస్తుంటే, మీరు స్పష్టంగా కూడా సృష్టించవచ్చు రిసోర్స్ ఆబ్జెక్ట్)

మీ కంప్యూటర్‌లోని రిపోజిటరీ నుండి ఫంక్షన్ యొక్క స్థానిక విస్తరణ ఆదేశాన్ని ఉపయోగించి నిర్వహించబడుతుంది స్థానిక కాష్ రిసోర్స్ ఆబ్జెక్ట్‌ని ఇలా సేవ్ చేయడానికి లోకల్ ఆబ్జెక్ట్ మీ ఫైల్ సిస్టమ్‌లో. క్లౌడ్ ఖాతాకు విస్తరణ ఆదేశాన్ని ఉపయోగించి చేయబడుతుంది CloudDeploy వనరుల వస్తువు కోసం మరియు పబ్లిక్ క్లౌడ్ విస్తరణ CloudPublish. అన్ని సందర్భాలలో రిసోర్స్ రిజిస్టర్ రిసోర్స్ ఫంక్షన్ పేరును నమోదు చేయడానికి కూడా ఉపయోగించబడుతుంది, కాబట్టి రిసోర్స్ ఫంక్షన్["పేరు"] పని చేస్తుంది.

మీరు ఫంక్షన్ రిపోజిటరీ కోసం సమర్పించు బటన్‌ను క్లిక్ చేస్తే, దాని కింద ఏమి జరుగుతుంది వనరులను సమర్పించండి రిసోర్స్ ఆబ్జెక్ట్‌పై పిలిచారు. (మరియు మీరు టెక్స్ట్ ఇన్‌పుట్ ఇంటర్‌ఫేస్‌ని ఉపయోగిస్తుంటే, మీరు కూడా కాల్ చేయవచ్చు వనరులను సమర్పించండి напрямую.)

По умолчанию отправка выполняется под именем, связанным с вашим идентификатором Wolfram ID. Но если вы отправляете заявку от имени группы разработчиков или организации, Вы можете ప్రత్యేక ప్రచురణకర్త IDని సెట్ చేయండి మరియు బదులుగా మీ వీక్షణలతో పరస్పర చర్య చేయడానికి దానిని పేరుగా ఉపయోగించండి.

మీరు మీ ఫంక్షన్లలో దేనినైనా ఫంక్షన్ నాలెడ్జ్ బేస్‌కు సమర్పించిన తర్వాత, అది సమీక్ష కోసం క్యూలో ఉంచబడుతుంది. మీరు ప్రతిస్పందనగా వ్యాఖ్యలను స్వీకరిస్తే, అవి సాధారణంగా అదనపు “వ్యాఖ్య సెల్‌లు” జోడించబడిన టెక్స్ట్ ఫైల్ రూపంలో ఉంటాయి. మీరు సందర్శించడం ద్వారా మీ అప్లికేషన్ యొక్క స్థితిని ఎల్లప్పుడూ తనిఖీ చేయవచ్చు портал участника системы ресурсов. Но как только Ваша функция будет одобрена, Вы будете уведомлены (по электронной почте), и Ваша функция будет размещена в репозитории функций Wolfram.

Некоторые тонкости в работе

మొదటి చూపులో, మీరు డెఫినిషన్ నోట్‌బుక్‌ని తీసుకొని దానిని ఒక ఫంక్షన్ రిపోజిటరీలో పదజాలంగా ఉంచవచ్చు, అయినప్పటికీ, వాస్తవానికి చాలా సూక్ష్మ నైపుణ్యాలు ఉన్నాయి - మరియు వాటిని నిర్వహించడానికి చాలా క్లిష్టమైన మెటా-ప్రోగ్రామింగ్, సింబాలిక్ ప్రాసెసింగ్‌ను నిర్వహించడం అవసరం. ఫంక్షన్‌ని నిర్వచించే కోడ్‌గా మరియు నోట్‌ప్యాడ్ కూడా నిర్వచించబడింది. వీటిలో చాలా వరకు అంతర్గతంగా, తెరవెనుక జరుగుతాయి, కానీ మీరు ఫీచర్ నాలెడ్జ్ బేస్‌కు సహకరించబోతున్నట్లయితే, ఇది అర్థం చేసుకోవలసిన కొన్ని చిక్కులను కలిగి ఉంటుంది.

Первая непосредственная тонкость: Когда Вы заполняете «Блокнот определений», Вы можете просто ссылаться на свою функцию везде, используя имя, подобное MyFunction, которое выглядит как обычное имя для функции в языке Wolfram Language, но для документации репозитория функций это заменяется రిసోర్స్ ఫంక్షన్["మైఫంక్షన్"] – это именно то, что пользователи фактически будут использовать при работе с функцией.

రెండవ సూక్ష్మత: మీరు డెఫినిషన్ నోట్‌బుక్ నుండి రిసోర్స్ ఫంక్షన్‌ను సృష్టించినప్పుడు, ఫంక్షన్ డెఫినిషన్‌లో ఉన్న అన్ని డిపెండెన్సీలు తప్పనిసరిగా సంగ్రహించబడాలి మరియు స్పష్టంగా చేర్చబడతాయి. అయితే, నిర్వచనాలు మాడ్యులర్‌గా ఉండేలా చూసుకోవడానికి, మీరు అన్నింటినీ ప్రత్యేకంగా ఉంచాలి నేమ్‌స్పేస్. (వాస్తవానికి, అన్నింటినీ చేసే విధులు, ఫంక్షన్ రిపోజిటరీలో ఉన్నాయి.)

సాధారణంగా మీరు ఈ నేమ్‌స్పేస్‌ని కాన్ఫిగర్ చేయడానికి ఉపయోగించిన కోడ్ యొక్క ట్రేస్‌ను ఎప్పటికీ చూడలేరు. కానీ కొన్ని కారణాల వల్ల మీరు మీ ఫంక్షన్‌లో అండర్-ఎగ్జిక్యూటెడ్ సింబల్‌ని కాల్ చేస్తే, ఈ గుర్తు ఫంక్షన్ యొక్క అంతర్గత సందర్భంలో ఉన్నట్లు మీరు చూస్తారు. అయినప్పటికీ, డెఫినిషన్ నోట్‌ప్యాడ్‌ను ప్రాసెస్ చేస్తున్నప్పుడు, కనీసం ఫంక్షన్‌కు సంబంధించిన చిహ్నం అయినా ఉంటుంది ఉత్తమ ప్రదర్శన కోసం సర్దుబాటు в виде функционального BLOB, а не необработанного символа во внутреннем контексте.

ఫంక్షన్ రిపోజిటరీ కొత్త ఫంక్షన్లను నిర్వచించడం కోసం. మరియు ఈ ఫంక్షన్లకు ఎంపికలు ఉండవచ్చు. తరచుగా ఈ పారామితులు (ఉదాహరణకు, విధానం లేదా చిత్ర పరిమాణం) అంతర్నిర్మిత ఫంక్షన్‌ల కోసం, అలాగే అంతర్నిర్మిత చిహ్నాలు ఇప్పటికే ఉన్న వాటి కోసం ఉపయోగించవచ్చు. కానీ కొన్నిసార్లు కొత్త ఫీచర్‌కు కొత్త ఎంపికలు అవసరం కావచ్చు. మాడ్యులారిటీని కొనసాగించడానికి, ఈ పారామితులు ప్రత్యేకమైన అంతర్గత సందర్భంలో నిర్వచించబడిన చిహ్నాలుగా ఉండాలి (లేదా మొత్తం రిసోర్స్ ఫంక్షన్‌ల వంటివి, అవి వాటికవే). సరళత కోసం, స్ట్రింగ్ డెఫినిషన్లలో కొత్త ఎంపికలను నిర్వచించడానికి ఫంక్షన్ రిపోజిటరీ మిమ్మల్ని అనుమతిస్తుంది. మరియు వినియోగదారు సౌలభ్యం కోసం, ఈ నిర్వచనాలు (వారు ఉపయోగించారని ఊహిస్తారు OptionValue и OptionsPattern) కూడా ప్రాసెస్ చేయబడతాయి, తద్వారా ఫంక్షన్‌లను ఉపయోగిస్తున్నప్పుడు, పారామితులను స్ట్రింగ్‌లుగా మాత్రమే కాకుండా, అదే పేర్లతో ప్రపంచ చిహ్నాలుగా కూడా పేర్కొనవచ్చు.

చాలా ఫంక్షన్‌లు అవి పిలిచిన ప్రతిసారీ ఏమి చేయాలో అవి చేస్తాయి, కానీ కొన్ని ఫంక్షన్‌లు నిర్దిష్ట సెషన్‌లో అమలు చేయడానికి ముందు ప్రారంభించాలి - మరియు ఈ సమస్యను పరిష్కరించడానికి, డెఫినిషన్ విభాగంలో "ప్రారంభం" విభాగం ఉంది.

రిపోజిటరీ నుండి విధులు ఇప్పటికే రిపోజిటరీలో ఉన్న ఇతర ఫంక్షన్‌లను ఉపయోగించవచ్చు; ఒకదానికొకటి సూచించే రెండు (లేదా అంతకంటే ఎక్కువ) ఫంక్షన్‌లను కలిగి ఉన్న ఫంక్షన్ రిపోజిటరీ కోసం నిర్వచనాలను సెటప్ చేయడానికి, మీరు వాటిని మీ ప్రోగ్రామ్ సెషన్‌లో తప్పనిసరిగా అమలు చేయాలి, తద్వారా మీరు చేయవచ్చు వాటిపై వంటి సూచన రిసోర్స్ ఫంక్షన్["పేరు"], затем Вы можете создать нужные Вам комбинации этих функций примеры (не поняла) и добавить в репозиторий новую функцию на базе уже размещенных ранее. (или уже или ранее – оба слова коряво)

అభివృద్ధి అవకాశాలు. రిపోజిటరీ నిజంగా పెద్దది అయినప్పుడు ఏమి జరగాలి?

ఈ రోజు మనం Wolfram ఫీచర్ రిపోజిటరీని ప్రారంభిస్తున్నాము, కానీ కాలక్రమేణా దాని పరిమాణం మరియు కార్యాచరణ నాటకీయంగా పెరుగుతుందని మేము భావిస్తున్నాము మరియు ఇది అభివృద్ధి చెందుతున్నప్పుడు మేము ఇప్పటికే ఊహించిన వివిధ సమస్యలు తలెత్తవచ్చు.

మొదటి సమస్య ఫంక్షన్ పేర్లు మరియు వాటి ప్రత్యేకతకు సంబంధించినది. ఫంక్షన్ రిపోజిటరీ వోల్ఫ్రామ్ లాంగ్వేజ్‌లోని అంతర్నిర్మిత ఫంక్షన్‌ల వలె, మీరు దాని పేరును పేర్కొనడం ద్వారా ఏదైనా ఫంక్షన్‌ను సూచించే విధంగా రూపొందించబడింది. కానీ దీని అర్థం రిపోజిటరీ అంతటా ఫంక్షన్ పేర్లు ప్రపంచవ్యాప్తంగా ప్రత్యేకంగా ఉండాలి కాబట్టి, ఉదాహరణకు, ఒకటి మాత్రమే ఉంటుంది రిసోర్స్ ఫంక్షన్[«MyFavoriteFunction»].

На первый взгляд это может показаться большой проблемой, но стоит понимать, что это в основном та же проблема, что и для таких вещей, как интернет-домены или маркеры социальных сетей. И дело в том, что в системе просто необходимо иметь регистратора — и это одна из ролей, которую наша компания будет выполнять для базы знаний функций Wolfram. (Для частных версий репозитория их регистраторами могут быть администраторы.) Конечно, интернет-домен может быть зарегистрирован, не имея ничего на нем, но в репозитории функций имя функции может быть зарегистрировано только при наличии фактического определения функции.

వోల్‌ఫ్రామ్ ఫంక్షన్ నాలెడ్జ్ బేస్‌ను నిర్వహించడంలో మా పాత్రలో భాగం ఏమిటంటే, ఫంక్షన్ యొక్క నిర్వచనం ప్రకారం ఫంక్షన్ కోసం ఎంచుకున్న పేరు లాజికల్‌గా ఉందని మరియు అది వోల్‌ఫ్రామ్ లాంగ్వేజ్ నేమింగ్ కన్వెన్షన్‌లను అనుసరిస్తుందని నిర్ధారించడం. వోల్‌ఫ్రామ్ లాంగ్వేజ్‌లో అంతర్నిర్మిత ఫంక్షన్‌లకు పేరు పెట్టడంలో మాకు 30 సంవత్సరాల అనుభవం ఉంది మరియు మా క్యూరేటర్‌ల బృందం ఆ అనుభవాన్ని ఫంక్షన్ రిపోజిటరీకి కూడా అందిస్తుంది. వాస్తవానికి, ఎల్లప్పుడూ మినహాయింపులు ఉన్నాయి. ఉదాహరణకు, ఏదైనా ఫంక్షన్‌కి చిన్న పేరు పెట్టడం ఉత్తమం అనిపించవచ్చు, కానీ మీరు భవిష్యత్తులో ఇలాంటి ఫంక్షన్ పేరుని సృష్టించాలనుకునే వారితో పరుగెత్తే అవకాశం తక్కువగా ఉన్నందున పొడవైన, మరింత నిర్దిష్టమైన పేరుతో "డిఫెండ్" చేయడం మంచిది. .

(Здесь следует отметить, что простое добавление какого-либо тега участника для устранения неоднозначности функций не принесет ожидаемого эффекта. Потому что, если не настаивать на том, чтобы всегда присваивался тег, нужно будет определять тег по умолчанию для любой заданной функции, а также выделять теги автора, что снова потребует глобальной координации.)

వోల్‌ఫ్రామ్ ఫంక్షన్‌ల నాలెడ్జ్ బేస్ పెరిగేకొద్దీ, సిస్టమ్ అందించే ఫంక్షన్‌లను కనుగొనడం అనేది తలెత్తే సమస్యల్లో ఒకటి. శోధన ఫంక్షన్ (మరియు డెఫినిషన్ ఫైల్‌లలో కీలకపదాలు మొదలైనవి ఉండవచ్చు). వోల్ఫ్రామ్ లాంగ్వేజ్‌లోని అంతర్నిర్మిత ఫంక్షన్‌ల కోసం, ఫంక్షన్‌లను "ప్రకటన" చేయడంలో సహాయపడటానికి డాక్యుమెంటేషన్‌లో అన్ని రకాల క్రాస్-రిఫరెన్స్‌లు ఉన్నాయి. ఫంక్షన్ రిపోజిటరీలోని విధులు అంతర్నిర్మిత ఫంక్షన్‌లను సూచించగలవు. కానీ ఇతర మార్గం గురించి ఏమిటి? దీన్ని చేయడానికి, అంతర్నిర్మిత ఫంక్షన్‌ల కోసం డాక్యుమెంటేషన్ పేజీలలో రిపోజిటరీ ఫంక్షన్‌లను బహిర్గతం చేయడానికి మేము విభిన్న డిజైన్‌లతో ప్రయోగాలు చేయబోతున్నాము.

Для встроенных функций в языке Wolfram Language существует так называемый уровень обнаружения, обеспечиваемый "సహాయ పేజీల" నెట్‌వర్క్, ఇది నిర్దిష్ట ప్రాంతాలకు సంబంధించిన లక్షణాల యొక్క వ్యవస్థీకృత జాబితాలను అందిస్తుంది. మ్యాన్ పేజీలను సరిగ్గా బ్యాలెన్స్ చేయడం ఎల్లప్పుడూ కష్టం, మరియు వోల్ఫ్రామ్ భాష పెరుగుతున్న కొద్దీ, మ్యాన్ పేజీలు తరచుగా పూర్తిగా పునర్వ్యవస్థీకరించబడాలి. రిపోజిటరీ నుండి ఫంక్షన్‌లను విస్తృత వర్గాలుగా ఉంచడం మరియు ఆ వర్గాలను స్థిరంగా విచ్ఛిన్నం చేయడం కూడా చాలా సులభం, కానీ సరిగ్గా వ్యవస్థీకృత భాషా సూచన పేజీలను కలిగి ఉండటం చాలా విలువైనది. మొత్తం ఫంక్షన్ నాలెడ్జ్ బేస్ కోసం వాటిని ఎలా ఉత్తమంగా సృష్టించాలో ఇంకా స్పష్టంగా తెలియలేదు. ఉదాహరణకి, CreateResourceObjectGallery ఫీచర్ రిపోజిటరీలో, ఎవరైనా రిపోజిటరీ నుండి వారి "పిక్స్" ఉన్న వెబ్ పేజీని పోస్ట్ చేయవచ్చు:

Wolfram ఫంక్షన్ రిపోజిటరీ: Wolfram భాష పొడిగింపుల కోసం ఓపెన్ యాక్సెస్ ప్లాట్‌ఫారమ్

వోల్‌ఫ్రామ్ ఫంక్షన్ రిపోజిటరీ నిరంతర ఫంక్షన్ రిపోజిటరీగా కాన్ఫిగర్ చేయబడింది, దీనిలో ఏదైనా ఫంక్షన్ ఎల్లప్పుడూ పని చేస్తుంది. వాస్తవానికి, ఫీచర్‌ల యొక్క కొత్త వెర్షన్‌లు అందుబాటులోకి రావచ్చు మరియు కొన్ని ఫీచర్‌లు కాలక్రమేణా వాడుకలో లేనివి అవుతాయని మేము ఆశిస్తున్నాము. ప్రోగ్రామ్‌లలో ఉపయోగించినట్లయితే ఫంక్షన్‌లు పని చేస్తాయి, కానీ వాటి డాక్యుమెంటేషన్ పేజీలు కొత్త, మరింత అధునాతన ఫంక్షన్‌లకు లింక్ చేయబడతాయి.

Wolfram ఫీచర్ రిపోజిటరీ కొత్త ఫీచర్‌లను త్వరగా కనుగొనడంలో మరియు Wolfram భాషను ఉపయోగించడానికి కొత్త మార్గాలను నేర్చుకోవడంలో మీకు సహాయపడటానికి రూపొందించబడింది. ఫీచర్ రిపోజిటరీలో అన్వేషించబడిన వాటిలో కొన్ని చివరికి కోర్ వోల్‌ఫ్రామ్ లాంగ్వేజ్‌లో అంతర్నిర్మిత భాగాలుగా మారడం అర్థవంతంగా ఉంటుందని మేము చాలా ఆశాజనకంగా ఉన్నాము. గత దశాబ్దంలో మేము ఇదే విధమైన సెట్‌ను కలిగి ఉన్నాము функций, которые были изначально представлены в Wolfram | Alpha. И один из уроков, полученных на основании этого опыта, заключается в том, что для достижения стандартов качества и согласованности, на которых мы делаем упор во всем, что встроено в язык Wolfram, требуется много работы, которая чаще всего сложнее, чем первоначальные усилия по внедрению идеи. Но даже в этом случае функция в базе знаний функций может служить очень полезным доказательством концепции будущей функции, которая в итоге может быть встроена в язык Wolfram.

Здесь самое главное то, что функция в репозитории функций — это то, что доступно каждому пользователю для использования прямо сейчас. Возможно, встроенная функция языка может быть намного лучше и производительнее, но репозиторий функций позволит пользователям сразу получить доступ ко всем новым функциям. И, что особенно важно, эта концепция позволяет каждому добавлять любые свои новые функции.

Раньше в истории языка Wolfram эта идея не заработала бы так хорошо как сейчас, но на данном этапе в язык уже заложено столько усилий, а также настолько глубокое понимание принципов проектирования языка, что теперь видится весьма возможным, чтобы большое сообщество пользователей добавляло функции, которые будут поддерживать согласованность проекта, чтобы сделать их полезными для широкого круга пользователей.

В сообществе пользователей Wolfram Language есть невероятный дух таланта(?). (Разумеется, в это сообщество входят многие ведущие специалисты в области исследований и разработок в самых разных областях.) Надеюсь, что репозиторий функций Wolfram предоставит эффективную платформу для раскрытия и распространения этого духа таланта. Только вместе мы сможем создать нечто, что значительно расширит область, к которой может быть применена вычислительная парадигма языка Wolfram.

За 30 с лишним лет мы прошли долгий путь по языку Wolfram. Теперь вместе, давайте же пойдем еще дальше. Настоятельно призываю всех уважаемых пользователей языка Wolfram во всем мире, использовать в качестве платформы для этого функциональный репозиторий, а также такой новый программный проект, как Free Wolfram Engine для разработчиков.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి