"Ua hala ka noi": Alexey Fedorov e pili ana i kahi hālāwai kūkā hou e pili ana i nā ʻōnaehana hoʻolaha

"Ua hala ka noi": Alexey Fedorov e pili ana i kahi hālāwai kūkā hou e pili ana i nā ʻōnaehana hoʻolaha

I kēia mau lā he hoolahaia ʻelua hanana i ka manawa hoʻokahi ma ka hoʻomohala ʻana i nā ʻōnaehana multi-threaded a puʻunaue ʻia: kahi hālāwai kūkā Hydra (Iulai 11-12) a me ke kula SPTDC (Iulai 8-12). Hoʻomaopopo ka poʻe kokoke i kēia kumuhana e hele mai i Rusia Leslie Laimport, Maurice Herlihy и Michael Scott - ka hanana nui loa. Akā, ua puka mai nā nīnau ʻē aʻe.

  • He aha ka mea e kali ai mai ka ʻaha kūkā: "academic" a i ʻole "production"?
  • Pehea ka pili ana o ke kula a me ka ahaolelo? ʻO wai kēia a me kēlā mea?
  • No ke aha lā lākou e uhi ai i nā lā?
  • E lilo anei lākou i mea pono i ka poʻe i hoʻolaʻa ʻole i ko lākou ola holoʻokoʻa i nā ʻōnaehana hoʻolaha?

Ua ʻike maopopo ʻia kēia mau mea a ka mea nāna i hoʻōla iā Hydra: ko mākou alakaʻi Alexey Fedorov (23derevo). Ua pane ʻo ia i nā nīnau a pau.

Hōʻuluʻulu

— He nīnau hoʻolauna no ka poʻe mamao mai nā ʻōnaehana puʻunaue: he aha nā hanana ʻelua?

— ʻO ka luʻi honua a puni mākou aia nā lawelawe me ka nui o nā hana a me nā hana computing paʻakikī ʻaʻole hiki ke hana ʻia ma kahi kamepiula hoʻokahi. ʻO ia ke ʻano he nui nā kaʻa. A laila e kū mai nā nīnau e pili ana i ka hoʻonohonoho pono ʻana i kā lākou hana a me ka mea e hana ai i nā kūlana o ka hilinaʻi kiʻekiʻe loa (no ka mea, ua haki nā mea hana a hāʻule ka pūnaewele).

ʻOi aku ka nui o nā mīkini, ʻoi aku ka nui o nā wahi hemahema. He aha ka hana inā hoʻopuka nā mīkini ʻokoʻa i nā hopena like ʻole no nā helu like? He aha kāu e hana ai inā nalo ka pūnaewele no kekahi manawa a lilo kahi hapa o ka helu ʻana i kahi kaʻawale, pehea ʻoe e hoʻohui ai i nā mea āpau? Ma keʻano laulā, aia he miliona mau pilikia e pili ana i kēia. Nā hāʻina hou - nā pilikia hou.

Ma kēia wahi, ua hoʻohana pono ʻia nā wahi, a ʻoi aku ka nui o nā ʻepekema - kahi mea i lilo ʻole i mea nui. Makemake wau e kamaʻilio e pili ana i nā mea e hana nei ma ka hoʻomaʻamaʻa a me ka ʻepekema, a ʻo ka mea nui loa, ma kā lākou hui. ʻO kēia ka mea e pili ana i ka hālāwai kūkā Hydra mua.

— Makemake au e hoʻomaopopo i ka ʻoiaʻiʻo aia he ʻaha kūkā, a he kula kau wela. Pehea ko lakou pili ana? Inā hāʻawi ʻia kahi hoʻemi no nā haumāna kula e hele i ka ʻaha kūkā, a laila no ke aha lākou e uhi ai i nā lā, i hiki ʻole ke hele i nā mea āpau i ka manawa hoʻokahi me ka ʻole o ka pohō?

— He hanana lumi ke kula no 100–150 poʻe, kahi e hele mai ai nā loea alakaʻi mai nā wahi a pau o ka honua a hāʻawi i nā haʻiʻōlelo no nā lā ʻelima. A e kū mai ana kahi kūlana i ka wā e ʻākoakoa ai nā kukui papa honua ma St. Petersburg no nā lā ʻelima, mākaukau e haʻi i kekahi mea. A i kēia hihia, ua kū ka hoʻoholo e hoʻonohonoho ʻaʻole i kahi kula keʻena wale nō, akā i kahi hālāwai kūkā nui.

Hiki ke hoʻopaʻa i ia kula wale nō i ke kauwela, i Iulai, no ka mea, i waena o kēia mau loea aia nā kumu kula kulanui, a ʻaʻole mākaukau lākou i kekahi manawa ʻē aʻe: loaʻa iā lākou nā haumāna, nā diploma, nā haʻiʻōlelo, a pēlā aku. ʻElima lā pule ke ʻano kula. Uaʻikeʻia i ke kauwela i nā hopena pule makemake nā kānaka e hele i kahi. ʻO ia hoʻi, ʻaʻole hiki iā mākou ke mālama i ka ʻaha kūkā ma ka hopena pule ma mua o ke kula a i ʻole ma ka hopena pule ma hope o ke kula.

A inā ʻoe e hoʻolōʻihi i ʻelua mau lā ma mua a ma hope paha o ka hopena pule, a laila lilo nā lā ʻelima o ka noho ʻana o nā loea ma St. Petersburg i ʻeiwa. A ʻaʻole mākaukau lākou no kēia.

No laila, ʻo ka hopena wale nō i loaʻa iā mākou ʻo ka mālama ʻana i ka ʻaha kūkā e like me ke kula. ʻAe, hana kēia i kekahi mau pilikia. Aia kekahi poʻe makemake e hele i ke kula a i kahi hālāwai kūkā, a pono lākou e haʻalele i kekahi mau haʻiʻōlelo ma ʻaneʻi a ma laila paha. ʻO ka nūhou maikaʻi e hana ʻia kēia mau mea ma nā keʻena kokoke, hiki iā ʻoe ke holo i hope a i waho. A ʻo kahi mea maikaʻi ʻē aʻe ʻo ka loaʻa ʻana o nā wikiō wikiō, kahi e hiki ai iā ʻoe ke nānā mālie i nā mea āu i poina ai.

— Ke hana like ʻia nā hanana ʻelua, nīnau ka poʻe "ʻo wai kaʻu e pono ai?" He aha kāu e manaʻo ai mai kēlā me kēia, a he aha nā ʻokoʻa?

— He hanana hoʻonaʻauao maʻemaʻe ke kula, he kula ʻepekema kahiko no kekahi mau lā. ʻO kēlā me kēia mea i komo i ka ʻepekema a loaʻa kahi mea e pili ana i ke kula puka kula he manaʻo no ke ʻano o ke kula kula.

"Ua hala ka noi": Alexey Fedorov e pili ana i kahi hālāwai kūkā hou e pili ana i nā ʻōnaehana hoʻolaha

ʻO ka maʻamau, ʻaʻole i hoʻonohonoho maikaʻi ʻia kēlā mau hanana hoʻonaʻauao ma muli o ka nele o ka ʻike hanana i waena o ka poʻe e hana nei. Akā, he poʻe akamai loa mākou, no laila hiki iā mākou ke hana i nā mea āpau me ka mākaukau. Ke manaʻo nei au, mai ka manaʻo hoʻonohonoho, ʻo SPTDC ke poʻo a me nā poʻohiwi ma luna o kekahi kula haʻawina a noiʻi paha āu i ʻike ai.

Kula SPTDC - he ʻano kēia e heluhelu ʻia ai kēlā me kēia haʻiʻōlelo nui i ʻelua mau pālua: "hoʻokahi hola a me ka hapa - hoʻomaha - hoʻokahi hola a me ka hapa." Pono ʻoe e hoʻomaopopo ʻaʻole hiki ke maʻalahi i ka mea komo no ka manawa mua: i ka wā i mālama ʻia ai kēia kula no ka manawa mua i ʻelua makahiki i hala aku nei, ʻaʻole wau i maʻamau, ua hoʻopau wau i nā manawa he nui i waena o kahi haʻiʻōlelo pālua, a a laila paʻakikī ke hoʻomaopopo i ka mea e hana nei. Akā, pili kēia i ke kumu aʻo: kamaʻilio maikaʻi ke kumu aʻo maikaʻi no nā hola ʻekolu.

Ahaolelo Hydra - he hanana kūpono. Aia kekahi mau kukui o ka ʻepekema i hele mai e aʻo ma ke Kula: mai Leslie Laimport, nona ka hana ma lalo o ke kumumanaʻo o nā ʻōnaehana multi-threaded a puʻunaue, i Maurice Herlihy, kekahi o nā mea kākau o ka puke haʻawina kaulana ma concurrency "The Art of Multiprocessor Programming". Akā, ma kaʻaha kūkā e ho'āʻo mākou e kamaʻilio e pili ana i ka hoʻokōʻiaʻana o kekahi mau algorithms i kaʻoiaʻiʻo, he aha nā pilikia e kū nei nā mea enekinia i ka hana, ka mea lanakila a hāʻuleʻole, no ke aha i hoʻohanaʻia ai kekahi mau algorithms i ka hana aʻo nā mea'ē aʻeʻaʻole. A ʻoiaʻiʻo, e kamaʻilio e pili ana i ka wā e hiki mai ana o ka hoʻomohala ʻana i nā ʻōnaehana multi-threaded a puʻunaue. ʻO ia hoʻi, e hāʻawi mākou i kahi ʻokiʻoki: he aha ka ʻepekema honua e kamaʻilio nei e pili ana i kēia manawa, he aha nā manaʻo o nā alakaʻi ʻenekinia e hoʻopuni nei, a pehea e hui pū ai nā mea āpau.

— Ma muli o ka hoʻohana ʻia ʻana o ka ʻaha kūkā, ʻaʻole anei he mau kukui hoʻonaʻauao wale nō, akā nā mea haʻiʻōlelo mai ka "hana"?

- ʻOiaʻiʻo. Ke ho'āʻo nei mākou e nānā i nā "nui" a pau: Google, Netflix, Yandex, Odnoklassniki, Facebook. Aia kekahi mau pilikia ʻakaʻaka. No ka laʻana, ʻōlelo ka poʻe āpau: "ʻO Netflix kahi ʻōnaehana puʻupuʻu, kokoke i ka hapalua o ka huakaʻi US, ʻoluʻolu loa," a i ka wā e hoʻomaka ai ʻoe e nānā i kā lākou hōʻike maoli, ʻatikala a me nā paʻi ʻana, hoʻomaka ka hōʻeha. No ka mea, ʻoiai he ʻoiaʻiʻo kēia o ka papa honua a aia ke ʻoki egde, ʻoi aku ka liʻiliʻi o ia mea ma mua o ka ʻike mua ʻana.

Ke kū mai nei kahi pilikia hoihoi: hiki iā ʻoe ke kāhea i nā ʻelele o nā hui koʻikoʻi nui, a i ʻole hiki iā ʻoe ke kelepona i kahi mea i ʻike mua ʻia e mākou. ʻO ka ʻoiaʻiʻo, aia ka ʻike ma ʻaneʻi a ma laila. A ke hoʻāʻo nei mākou e huki i waho "ka poʻe mai nā hōʻailona nui loa", akā nā loea nui loa, nā kānaka kikoʻī.

No ka laʻana, aia ʻo Martin Kleppmann, nāna i hana i ka splash ma LinkedIn a hoʻokuʻu pū ʻia puke maikaʻi - paha kekahi o nā puke kumu ma ke kahua o nā ʻōnaehana puʻunaue.

- Inā ʻaʻole hana kekahi ma Netflix, akā ma kahi hui maʻalahi, e noʻonoʻo paha ʻo ia: "E hele anei au i kahi hālāwai kūkā, a i ʻole aia nā ʻano Netflix e kamaʻilio pū kekahi i kekahi, akā ʻaʻohe aʻu mea e hana ai?"

— E ʻōlelo wau i kēia: i koʻu hana ʻana ma Oracle no ʻekolu mau makahiki, ua lohe au i nā mea kupanaha loa a me nā mea hoihoi i loko o ka lumi kuke a me nā keʻena puhi, i ka wā i ʻākoakoa ai nā hoa hana ma laila e hana ana i kekahi mau ʻāpana o ka platform Java. Hiki i kēia nā poʻe mai ka mīkini virtual, a mai ka ʻoihana hoʻāʻo, a i ʻole mai ka concurrency hana - no ka laʻana, ʻo Lyosha Shipilev a me Seryozha Kuksenko.

Ke hoʻomaka lākou e kūkākūkā i kekahi mea ma waena o lākou iho, hoʻolohe wale wau me ka hāmama o koʻu waha. Noʻu, he mau mea kupanaha kēia a me ka manaʻo ʻole aʻu i noʻonoʻo ʻole ai. Ma keʻano maʻamau, i ka wā muaʻaʻole wau i maopopo i ka 90% o kā lākou e kamaʻilio nei. A laila ua lilo ʻo 80% i mea hiki ʻole ke hoʻomaopopo. A ma hope o kaʻu hana ʻana i kaʻu haʻawina home a heluhelu i kekahi mau puke, ua hāʻule kēia helu i 70%. ʻAʻole maopopo iaʻu ka nui o kā lākou kamaʻilio ʻana ma waena o lākou iho. Akā, i koʻu noho ʻana ma ke kihi me kahi kīʻaha kofe a hoʻolohe, hoʻomaka wau e hoʻomaopopo iki i ka mea e hana nei.

No laila, ke kamaʻilio nei ʻo Google, Netflix, LinkedIn, Odnoklassniki a me Yandex kekahi i kekahi, ʻaʻole ia he manaʻo he mea hiki ʻole ke hoʻomaopopo a hoihoi ʻole. Akā, pono kākou e hoʻolohe pono, no ka mea, ʻo ko kākou hope kēia.

ʻOiaʻiʻo, aia kekahi poʻe ʻaʻole pono i kēia mau mea āpau. Inā ʻaʻole ʻoe makemake e hoʻomohala i kēia kumuhana, ʻaʻole pono ʻoe e hele i kēia ʻaha kūkā, e hoʻopau wale ʻoe i ka manawa ma laila. Akā, inā he mea hoihoi ke kumuhana, akā ʻaʻole maopopo ʻoe i kekahi mea e pili ana i ia mea a i ʻole ke nānā wale ʻana iā ia, a laila pono ʻoe e hele mai, no ka mea ʻaʻole ʻoe e ʻike i kekahi mea e like me ia ma nā wahi āpau. Eia kekahi, manaʻo wau ʻaʻole ma Rūsia wale nō, akā ma ka honua hoʻi. Ke hoʻāʻo nei mākou e hana i kahi ʻaha kūkā ʻaʻole e alakaʻi wale i kēia kumuhana ma Rūsia, akā ʻo ka helu helu hoʻokahi ma ka honua.

ʻAʻole kēia ka hana maʻalahi, akā inā loaʻa iā mākou kahi manawa kupaianaha e hōʻiliʻili i nā mea haʻiʻōlelo ikaika mai nā wahi a pau o ka honua, ua mākaukau wau e hāʻawi nui i mea e hoʻokō ai. ʻOiaʻiʻo, ʻaʻole hiki i kekahi o ka poʻe a mākou i kono ai i ka Hydra mua. Akā e ʻōlelo wau i kēia: ʻaʻole mākou i hoʻomaka i kahi hālāwai kūkā hou me kahi laina ikaika. Koe wale nō paha, ʻo ka JPoint mua loa i ʻeono makahiki i hala.

- Makemake wau e hoʻonui i nā huaʻōlelo "ʻo kā mākou mua kēia": e pili ana ke kumuhana i ka poʻe i noʻonoʻo ʻole i kēia lā?

- ʻAe, maopopo iaʻu. No laila, he mea pono iaʻu ke hoʻomaka e kūkākūkā me ka hikiwawe loa. No ka laʻana, ua ʻike ʻia ka manaʻo o ka multithreading i kahi manawa lōʻihi loa (i ka makahiki 70, ua paʻi ʻia ka hana i ka holo piha), akā no ka manawa lōʻihi, ʻo lākou ka nui o nā loea haiki, a hiki i ka mea hoʻohana mua i ka kamepiula pālua. i ka hoʻomaka ʻana o nā makahiki 10. A i kēia manawa, loaʻa iā mākou nā kikowaena multi-core, laptops a me nā kelepona, a ʻo kēia ka mea nui. Ma kahi o XNUMX mau makahiki ka laha ʻana o kēia, no ka hoʻomaopopo ʻana o ka poʻe ʻaʻole kēia ʻōlelo he ʻāina o kahi pōʻai haiki o nā loea.

A ke ʻike nei mākou i ka mea like me nā ʻōnaehana puʻupuʻu. No ka mea, ua lōʻihi ka hana ʻana o nā haʻina maʻamau e like me ka hāʻawi ʻana i ka ukana, ka hoʻomanawanui hewa a me nā mea like, akā kakaikahi ka poʻe i ʻike i ka mea, no ka laʻana, ka ʻae ʻae a i ʻole ʻo Paxos.

ʻO kekahi o nā pahuhopu koʻikoʻi aʻu i hoʻonoho ai no kēia hanana, ʻo ia ka hoʻomaʻamaʻa hou ʻana i nā ʻenekinia ma kēia kūkākūkā. Pono ʻoe e hoʻomaopopo ma nā ʻaha kūkā ʻaʻole i kūkākūkā wale ʻia kekahi mau kumuhana a me nā hoʻonā, akā puka pū kekahi thesaurus - kahi mea manaʻo hui.

ʻIke wau ʻo ia kaʻu hana e hana i kahi kahua e hiki ai i nā mea a pau ke kūkākūkā i kēia mau mea āpau, kaʻana like i nā ʻike a me nā manaʻo. I loaʻa iā ʻoe a me aʻu ka ʻike maʻamau i ka hana a kekahi algorithm, he aha ka hana a kekahi, ʻoi aku ka maikaʻi ma lalo o ke ʻano o nā kūlana, pehea lākou e pili ai kekahi i kekahi, a pēlā aku.

ʻO kahi mea hoihoi loa e pili ana i ka multithreading like. I ka wā i hoʻomaka ai ko mākou mau hoaaloha mai Oracle (ʻo Lesha Shipilev a me Sergey Kuksenko) e kamaʻilio ikaika e pili ana i ka hana a, ʻo ia hoʻi, e pili ana i ka multithreading, ʻelua a ʻekolu mau makahiki ma hope mai ua hoʻomaka kēia mau nīnau i nā nīnauele ma nā hui, ua hoʻomaka ka poʻe e kūkākūkā iā ia ma lumi puhi paka. ʻO ia hoʻi, ua lilo koke kahi mea i ʻike ʻia e nā loea haiki.

A pololei loa kēia. Me he mea lā ua kōkua mākou i kēia poʻe e hoʻolaha i kēia pilikia holoʻokoʻa, he mea nui, pono a hoihoi. Inā ma mua, ʻaʻohe mea i noʻonoʻo e pili ana i ke ʻano o ka hoʻokō ʻana o ka server Java i nā noi like ʻole, i kēia manawa ua loaʻa i nā poʻe ma ka liʻiliʻi loa ka ʻike i ke ʻano o ka hana ʻana. A nui kēlā.

ʻO ka hana aʻu e ʻike nei i kēia manawa, ʻo ia ka hana like me nā ʻōnaehana puʻupuʻu. No laila e hoʻomaopopo pono nā kānaka a pau i ke ʻano o ia mea, no hea mai ia, he aha nā hana a me nā pilikia i loaʻa, i lilo ai kēia i mea nui.

He koi nui nā ʻoihana i ka poʻe i hoʻomaopopo i kekahi mea e pili ana i kēia, a he kakaikahi ka poʻe e like me ia. ʻO ka nui o kā mākou hana ʻana a puni kēia ʻike a me ka manawa kūpono e aʻo mai ia mea, ʻoi aku ka nui o kā mākou hāʻawi ʻana i nā poʻe i nā manawa e nīnau i nā nīnau i ka lewa, ʻoi aku ka nui o ka neʻe ʻana i kēia ala.

prehistory

— Akahi no a malamaia ka ahaolelo, aka, aole keia ka manawa mua no ke kula. Pehea i ulu aʻe ai kēia mau mea a pau?

- He moʻolelo hoihoi kēia. ʻElua makahiki i hala aku nei, i Mei 2017, noho mākou ma Kyiv me Nikita Koval (ndkoval), he loea i ka hana multithreading. A haʻi mai ʻo ia iaʻu e mālama ʻia ana ma St "Ke kula kauwela ma ka hoʻomaʻamaʻa a me ke kumumanaʻo o ka helu helu like".

He mea hoihoi loa ke kumuhana o ka papahana multithreaded i nā makahiki ʻekolu i hala o kaʻu ʻoihana ʻenekinia. A laila ua ʻike ʻia i ke kauwela e hele mai nā poʻe kaulana loa i St. Petersburg, ʻo Maurice Herlihy a me Nir Shavit, e like me ka puke aʻo a'u i ao ai. A he nui kaʻu mau hoaaloha i pili i kēia - no ka laʻana, ʻo Roma Elizarov (elizarov). Ua ʻike au ʻaʻole hiki iaʻu ke hala i kēlā hanana.

I ka maopopo ʻana he maikaʻi ka papahana o ke kula 2017, ua ala ka manaʻo e hoʻopaʻa ʻia nā haʻiʻōlelo ma ke wikiō. Loaʻa iā mākou ma JUG.ru Group kahi ʻike piha i ke ʻano o ka hoʻopaʻa ʻana o ia mau haʻiʻōlelo. A kūpono mākou i ka SPTCC ma ke ʻano he poʻe i hana wikiō no ke kula. ʻO ka hopena, nā haʻiʻōlelo kula āpau wahahee ma kā mākou pūnaewele YouTube.

Ua hoʻomaka wau e kamaʻilio me Pyotr Kuznetsov, ʻo ia ka manaʻo nui a me ka mea hoʻonohonoho o kēia kula, a me Vitaly Aksenov, nāna i kōkua i ka hoʻonohonoho ʻana i kēia mau mea āpau ma St. Ua ʻike au he mea ʻoluʻolu a hoihoi kēia, a he mea maikaʻi ʻole paha ʻo 100 wale nō nā mea komo ke hoʻopā i ka nani.

I ka manawa i manaʻo ai ʻo Peter e pono ʻo ia e hoʻomaka hou i ke kula (ma 2018 ʻaʻohe ikaika a me ka manawa, no laila ua hoʻoholo ʻo ia e hana ma 2019), ua maopopo ka hiki iā mākou ke kōkua iā ia ma ka wehe wale ʻana i nā mea hoʻonohonoho āpau mai ia. ʻO kēia ka mea e hana nei i kēia manawa, pili ʻo Peter i ka ʻike, a hana mākou i nā mea āpau. A ua like kēia me ka hoʻolālā kūpono: ʻoi aku ka makemake o Peter i ka papahana ma mua o "kahi a i hea e ʻai ai nā mea āpau." A maikaʻi mākou i ka hana ʻana me nā keʻena, nā wahi, a pēlā aku.

I kēia manawa, ma kahi o SPTCC, ua kapa ʻia ke kula ʻo SPTDC, ʻaʻole "concurrent computing", akā "distributed computing". No laila, ʻo kēia ka ʻokoʻa: ʻo ka manawa hope ma ke kula ʻaʻole lākou i kamaʻilio e pili ana i nā ʻōnaehana puʻupuʻu, akā i kēia manawa e kamaʻilio ikaika mākou e pili ana iā lākou.

— No ka mea ʻaʻole mālama ʻia ke kula no ka manawa mua, hiki iā mākou ke huki i kekahi mau manaʻo mai ka wā i hala. He aha ka manawa hope?

— I ka wā i hoʻokumu ʻia ai ke kula mua i ʻelua makahiki i hala aku nei, ua manaʻo ʻia e loaʻa kahi hanana hoʻonaʻauao, ka mea nui i hoihoi i nā haumāna. Eia kekahi, nā haumāna mai nā wahi a pau o ka honua, no ka mea, aia wale nō ke kula ma ka ʻōlelo Pelekania, a ua manaʻo ʻia he helu nui nā haumāna haole e hele mai.

ʻO kaʻoiaʻiʻo, uaʻikeʻia he nui nā mea'enekini mai nā hui Lūkini nui e like me Yandex. Aia ʻo Andrey Pangin (apanin) mai Odnoklassniki, aia nā kāne mai JetBrains e hana ikaika nei i kēia kumuhana. Ma keʻano laulā, nui nā helehelena kamaʻāina mai kā mākou hui hoa ma laila. ʻAʻole wau i kahaha, maopopo iaʻu ke kumu i hele mai ai lākou i laila.

ʻOiaʻiʻo, ua manaʻo ka poʻe hoʻonohonoho e loaʻa ana nā poʻe hoʻonaʻauao ma ke Kula, akā hikiwawe mai ka poʻe o ka ʻoihana, a laila maopopo iaʻu he koi i ka ʻoihana.

Inā ʻo kahi hanana i hoʻolaha ʻole ʻia ma nā wahi ʻē aʻe, ma ke kaomi mua ʻana o ka manamana lima, e hōʻuluʻulu i kahi anaina o nā pākeke, ʻo ia hoʻi he hoihoi maoli. Me he mea lā ua hala ka noi no kēia kumuhana.

"Ua hala ka noi": Alexey Fedorov e pili ana i kahi hālāwai kūkā hou e pili ana i nā ʻōnaehana hoʻolaha
Maurice Herlihy ma ka hui JUG.ru

- Ma kahi o ke kula, ua ʻōlelo ʻo Maurice Herlihy ma St. Petersburg ma ka hui JUG.ru ma 2017, i hai aku e pili ana i ka hoʻomanaʻo transactional, a ua kokoke loa kēia i ke ʻano o ka hālāwai kūkā. ʻO wai ka mea i hele mai - ʻo ia ka poʻe i hele pinepine mai i nā hui JUG.ru, a i ʻole he lehulehu ʻē aʻe?

— He mea hoihoi ia no ka mea, ua hoomaopopo makou e loaa ana ia Maurice i ka hoike nui, aole i ka Java-specific, a ua hana makou i ka hoolaha iki ae ma mua o ka makou e hana mau nei no ko makou poe kakau nupepa JUG.

Nui nā poʻe aʻu i ʻike i hele mai mai nā kaiāulu ʻaʻole pili iā Java: mai ka lehulehu .NET, mai ka lehulehu JavaScript. No ka mea, ʻaʻole pili ke kumuhana o ka hoʻomanaʻo transactional i kahi ʻenehana hoʻomohala kūikawā. Ke hele mai kahi loea o ka honua e kamaʻilio e pili ana i ka hoʻomanaʻo transactional, ʻo ka nele i ka manawa e hoʻolohe ai i kēlā kanaka a nīnau iā ia i nā nīnau he hewa wale nō. He manaʻo ikaika wale ia ke hele mai ka mea nāna ʻoe e aʻo nei i kahi puke a haʻi iā ʻoe i kekahi mea. Maikaʻi wale.

— A he aha ka manaʻo o ka hopena? ʻAʻole hiki ke hoʻomaopopo ʻia ke ʻano hana no ka poʻe o ka ʻoihana?

— Ua maikaʻi nā loiloi o ka hōʻike a Herlihy. Ua kākau ka poʻe ua haʻi maʻalahi ʻo ia i ka mea i manaʻo ʻole ʻia mai kahi kumu kula. Akā, pono mākou e hoʻomaopopo ua kono mākou iā ia no ke kumu, he loea kaulana ʻo ia i ka honua me ka ʻike nui i ka ʻōlelo a me ke ʻano o nā puke a me nā ʻatikala. A, malia paha, ua kaulana ʻo ia ma nā ʻano he nui no kona hiki ke haʻi aku i nā mea i nā kānaka. No laila, ʻaʻole kēia he mea kupanaha.

'Ōlelo Hawaiʻi maʻamau, hiki ke hoʻomaopopo ʻia, a ʻoiaʻiʻo hoʻi, loaʻa iā ia ka ʻike nui i kāna mea e kamaʻilio nei. ʻO ia hoʻi, hiki iā ʻoe ke nīnau iā ia i nā nīnau āpau. ʻO ke kumu, hoʻopiʻi ka poʻe no ka hāʻawi ʻana iā Maurice i ka manawa liʻiliʻi no kāna hōʻike: ʻaʻole lawa nā hola ʻelua no ia mea, ʻelua paha mau mea e pono ai. ʻAe, ua hiki iā mākou ke hana i nā mea a mākou i mālama ai i loko o ʻelua hola.

Hoʻokumu

- ʻO ka maʻamau ʻo JUG.ru Group e pili ana i nā hanana nui, akā ʻoi aku ka loea o kēia kumuhana. No ke aha ʻoe i hoʻoholo ai e lawe iā ia? Aia ka makemake e hoʻopaʻa i kahi hanana liʻiliʻi, a i ʻole hiki i ka nui o nā mea nānā ke ʻākoakoa ma ia kumuhana?

— ʻOiaʻiʻo, ke hoʻopaʻa ʻoe i kahi hanana a hoʻonohonoho i kahi pae kūkākūkā, e kū mau ana ka nīnau no ka laha ʻana o kēia kūkākūkā. ʻEhia ka poʻe - ʻumi, hoʻokahi haneli a i ʻole hoʻokahi tausani - makemake i kēia? Aia kahi hoʻololi ma waena o ka nuipa a me ka hohonu. He nīnau maʻamau kēia, a ʻokoʻa ka hoʻoponopono ʻana o kēlā me kēia.

I kēia hihia, makemake wau e hana i ka hanana "noʻu iho." Ke hoʻomaopopo nei au i kekahi mea e pili ana i ka multithreading (Ua hāʻawi au i nā haʻi'ōlelo e pili ana i kēia kumuhana ma nāʻaha kūkā, a ua haʻi i nā haumāna i kekahi mea i nā manawa he nui), akā, he novice wau i ka wā e pili ana i nā pūnaewele hoʻolaha: Ua heluhelu au i kekahi mauʻatikala aʻike i nā haʻi'ōlelo, akā,ʻaʻole. ʻoiai hoʻokahi puke piha i heluhelu ʻia.

Loaʻa iā mākou he kōmike papahana i hana ʻia e nā poʻe akamai ma ke kahua e hiki ke loiloi i ka pololei o nā hōʻike. A no koʻu ʻaoʻao, ke hoʻāʻo nei au e hana i kēia hanana aʻu, me koʻu ʻike ʻole, makemake wau e hele. Inā paha e hiki ke hoihoi i ka lehulehu, ʻaʻole wau ʻike. ʻAʻole paha kēia ka hana koʻikoʻi o kēia hanana ma kēia pae. I kēia manawa ʻoi aku ka nui o ka hana ʻana i ka papahana ikaika loa i ka manawa pōkole.

Malia paha, i kēia manawa ua hoʻonohonoho au i ka hui ʻaʻole ka hana o ka "hōʻuluʻulu ʻana i hoʻokahi tausani kānaka i ka manawa mua," akā "e hōʻike i ka ʻaha kūkā." ʻAʻole like paha kēia me ka ʻoihana a me ke ʻano naʻaupō, ʻoiai ʻaʻole wau he altruist. Akā hiki iaʻu ke ʻae iaʻu iho i kekahi manawa.

Aia nā mea nui ma mua o ke kālā a ma waho o ke kālā. Ua hana mua mākou i nā hanana nui ʻoluʻolu no hoʻokahi tausani kānaka a ʻoi aku paha. Ua ʻoi aku ka lōʻihi o kā mākou mau hālāwai Java ma mua o hoʻokahi tausani kānaka, a i kēia manawa ke lele nei nā hanana ʻē aʻe ma luna o kēia pā. ʻO ia hoʻi, ʻaʻole pono ka nīnau a mākou i lilo ai i mea hoʻonohonoho kaulana. A, ʻo ka mea paha a mākou e loaʻa ai mai kēia mau hanana e hāʻawi iā mākou i ka manawa e hoʻihoʻi hou i nā mea hoihoi iā mākou, a ma kēia hihia, iaʻu iho.

Ma ka hana ʻana i kēia hanana, ke kūʻē nei au i kekahi o nā loina o kā mākou hui. No ka laʻana, hoʻāʻo maʻamau mākou e hoʻomākaukau i nā hālāwai kūkā ma mua, akā i kēia manawa ua paʻa loa mākou i nā palena manawa, a hoʻopau mākou i ka papahana i hoʻokahi mahina ma mua o ka hanana ponoʻī.

A ʻo kēia hanana he 70-80% ka ʻōlelo Pelekane. Eia nō hoʻi, ke ala mau nei kahi kūkākūkā e pili ana inā pono mākou e pili kokoke i ka poʻe (ʻoi aku ka maopopo o ka nui o nā hōʻike ma ka ʻōlelo Lūkini) a i ʻole ke ao holoʻokoʻa (no ka mea, ʻo ka honua ʻenehana ka ʻōlelo Pelekane). Ho'āʻo pinepine mākou e hana i nā hōʻike he nui ma ka ʻōlelo Lūkini. ʻAʻole naʻe i kēia manawa.

Eia kekahi, e noi mākou i kekahi o kā mākou mau ʻōlelo Lūkini e ʻōlelo ma ka ʻōlelo Pelekania. ʻO kēia, ma ke ʻano, he ʻano kūʻē i ka mea hoʻohana a me ke ʻano kanaka. Akā, pono mākou e hoʻomaopopo i kēia manawa ʻaʻohe palapala ʻōlelo Lūkini e pili ana i kēia kumuhana, a ʻo kēlā me kēia mea makemake nui i kēia e koi ʻia e heluhelu ma ka ʻōlelo Pelekania. ʻO ia hoʻi, hiki iā ia ke hoʻomaopopo i ka ʻōlelo Pelekane. Inā ma ka hihia o JavaScript, Java a i ʻole .NET he nui ka poʻe i ʻike ʻole i ka ʻōlelo Pelekania, akā i ka manawa like hiki ke hoʻolālā maikaʻi, a laila, malia paha, ʻo nā ʻōnaehana puʻupuʻu kahi wahi i ʻole ʻē aʻe. ala e aʻo ai i kēia manawa.

Makemake au e hana i kēia hoʻokolohua: pehea e ʻike ʻia ai kahi hanana 70-80% ʻōlelo Pelekania e ka lehulehu ma Rusia. E komo mai a ʻaʻole paha? ʻAʻole mākou ʻike mua i kēia no ka mea ʻaʻole mākou i hana i kēia. Akā no ke aha e hana ʻole ai? E ʻōlelo kākou he hoʻokolohua nui kēia ʻaʻole hiki iaʻu ke hoʻāʻo.

Aia ka papahana kula SPTDC hoʻopuka ʻia holoʻokoʻa, a ma ka hihia o Hydra i hala ʻike ʻia kahi ʻāpana i ʻike ʻia, a ʻaʻole koke mākou e hoʻolaha i kahi loiloi o ka papahana ʻaha kūkā holoʻokoʻa.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka