Mainstream. Nā limahana hanohano. Moʻolelo moʻokalaleo

Hale Publishing "Library of the Proletarian".

Ma kēia moʻolelo, e haʻi mai ka mea kākau iā mākou e pili ana i ka hopena paʻakikī o ka papa hana o ka ʻoihana hoʻomohala.

Ma luna o nā limahana hanohano a me ka hoʻomohala ʻana i nā pilina pilikino i mua o ka nalowale o ka hoʻomanaʻo.

Paipai au. /*Hoohewa*/

ʻAʻole pōʻino nā mea like ʻole.

He ʻano paʻakikī ko C++ ma muli o kahi kamaliʻi paʻakikī. Ua ulu ʻo ia i ka pōloli 80s, a hoʻomanaʻo i ka manawa ʻaʻole lawa ka nui no nā hōʻailona. Ua hoʻonāukiuki kēia iā ia a hāʻawi i ka ikaika i kāna syntax. Ua ʻona pinepine ʻo ia, makemake ʻo ia e hoʻolei i nā segfouls, wāwahi i nā puka makani, a pana i ka poʻe hele ma nā wāwae. ʻAʻohe mea nāna e noʻonoʻo me ia, no ka mea, ʻo kona kupuna kāne, ʻo ka K&R C i mahalo ʻia, ua hoʻopuʻihaʻi ʻia ma Vietnam a ua komo pinepine i nā leʻaleʻa a kāna moʻopuna.

ʻAʻole hoʻomanaʻo ʻo C++ i kona makuakāne, ʻo kona inoa wale nō ʻo "C with Classes" a ua make ʻo ia i ka overdose. Ua kamaʻilio ʻo ke kupuna kāne no kāna keiki kamakahi. Ua pane ʻo ia i nā nīnau a kāna moʻopuna me ka makemake ʻole: "Ua ʻohi ʻoe, ʻike ʻoe, kekahi mau papa ... A aia ʻoe ma laila ... Ke hoʻomanaʻo nei au i koʻu manawa 615 bytes no ʻekolu ..." E pili ana i ka makuahine , ʻoi aku ka liʻiliʻi i ʻike ʻia, ʻoiai ua ʻōlelo kekahi i ka wā i hāpai ʻia ai ko mākou meʻe ʻaʻole me ka ʻole o kekahi Simula.

ʻOiai ʻo kāna mau ʻōlelo hōʻino i kāna keiki a me kāna moʻopuna no kona makemake i nā papa, ua noho lōʻihi ʻo Kāpena Xi iā ia iho ma luna o nā hōʻailona. Ua kapa ʻia ʻo ia he "pointer arithmetic" a ua ʻōlelo ʻo ia he ʻāpana o kāna ʻatikala, e ʻae iā ia e pili kokoke i ke ʻano o nā mea o ka honua a puni. Kakaʻikahi ʻo ia i ʻike ʻia ma ka lehulehu i kēia mau lā. Ua ʻōlelo kekahi poʻe, ua make ka ʻelemakule i ka wā kahiko, ʻaʻole, ʻaʻole, a ma kekahi mau wahi, ʻike ʻia kona meheu i ka pō. Aia ke kukui naha, aia ka mea maalo i pana ma ka wawae, aia kahi pale e kahe ana...

Akā ua ʻike au i koʻu ʻanakala Classical C, a me koʻu hoahānau C-99..11, C++ pinepine. ʻAʻole makemake ka ʻohana holoʻokoʻa i kekahi i kekahi. Akā ʻo ka hana ʻana a me ka noho pū ʻana i koi iā lākou e noho i loko o ke kahua o ka ʻaelike API. Ua koi ʻo Brother Xi a me kona makuakāne ʻo lāua ka mea wikiwiki loa e pana i nā wāwae o ka poʻe e hele aʻe, ʻaʻole like me nā mea aloha papa like ʻole. ʻAʻole ʻae ʻo C++. Akā ʻoiai ua ʻōlelo ʻo ia ʻaʻole ʻo ia ka mea pana ʻino loa, i loko o kona puʻuwai ua hoʻomaopopo ʻo ia ʻaʻole i makehewa ka hoʻohana ʻana i nā mea e like me OOP. Hoʻopilikia mau ʻia ʻo ia e kahi paʻakikī haʻahaʻa. No ka hoʻopau ʻana iā ia, hoʻomaka ʻo ia e komo i nā benchmarks. I kekahi manawa, ma mua o ka hoʻouka hou ʻana i ka pū pana, e lohi ka C++, a laila nānā ke koena o ka ʻohana i kekahi me ke aloha, a laila ʻakaʻaka ma hope o kona kua.

ʻAʻohe manaʻo o kona mau ʻohana e ʻoi aku ka C++ ma mua o kona makuakāne. Ma waho aʻe o OOP, ua lilo ʻo ia i hoihoi i nā Templates. Ma hope o ka hoʻohana ʻana iā Templates no ka manawa lōʻihi, ua ʻike ʻo ia e hiki ke lanakila i kekahi hoʻokūkū pana ma ke kī ʻana i ka luna kānāwai ma ka wāwae ma mua o ka hoʻomaka ʻana. Ua ʻike ʻia ʻo C++ ma ke ʻano he poʻokela o ka metaprogramming a ʻaʻole ʻae ʻia e hoʻokūkū. Akā, ʻaʻole ia i hoʻōki iā ia. Ua ninini ʻo ia i loko o nā hui kūkākūkā o ka poʻe naʻauao a me ka poʻe akeakamai a koi aku e ʻike iā ia iho he PL hana. Ua haʻalele ʻo Hasclell lāua ʻo Lisp me ka weliweli mai kēia pōā i kāhiko ʻia me nā kuhikuhi a me ka paʻa paʻa paʻa. Akā ʻaʻohe wahi e hele ai, ʻaʻole hiki iā ʻoe ke hoʻopaʻapaʻa maoli me ka mea hoʻohana i ka OOP i hui pū ʻia me nā Templates a makemake e pana i nā wāwae. ʻO kēia ke ʻano o ko mākou meʻe i lilo i multi-paradigm.

Akā ʻaʻole i lōʻihi ka noho ʻana o C ++ ma ke poʻo o ka kaulana o ka mea pana maikaʻi loa ma ke kūlanakauhale. Ma hope o ka manawa, ua pau ka PLO i mea hoʻohenehene, a ʻaʻole i nānā hou ʻia ka ʻōhumu o ka poʻe kahiko. Ua lilo i mea kaulana. Nui ka poʻe i makemake i ka hoʻolāʻau ʻana i nā papa i kēlā me kēia manawa... a ua ulu ʻokoʻa ka hanauna hou...

ʻO Java ka mea mua i hoʻolaha iā ia iho. Ua hōʻole ʻo ia me ka paʻakikī i ka pono e pana koke i nā wāwae a koi ʻo ia ka waiwai nui o ka maopopo ... a me nā mea ... ʻaʻohe mea wale nō. ʻOiaʻiʻo, ʻoiaʻiʻo, ua hui ʻo ia i nā mea me nā papa, e hoʻohui ana i nā primitives i kēia cocktail, ʻaʻole i hoʻōki iā ia mai ka hoʻolauna ʻana iā ia iho ʻo "The first full object-oriented". Ua lohe ʻia ʻo Java ke keiki kāne ʻole a ʻAnakala C mai kahi kaikamahine OOP i ʻike ʻole ʻia. A ua hoʻopaʻapaʻa kekahi e pili ana ʻo C ++ ma aneʻi. ʻAʻole ʻike maopopo ʻia ke ʻano o ka hiki ʻana mai, akā ua ulu ʻo Java i ka malu o ka Oracle Corporation. No ka pale ʻana i ka ʻōlelo hou mai ka hana ʻana i kekahi mea weliweli a me ka hele ʻana i ke ala o ka pana ʻana ma kona mau wāwae, ua hana ʻo Oracle engineers i kahi lobotomy iā ia i ka wā e noho ana ma ka hale hoʻomalu a ʻoki i kona mau manamana lima. I ka wā i ulu liʻiliʻi ai ka pēpē, ʻaʻole i ʻae nā kahu mālama iā ia e hele kokoke i ke ao o ke ola kanaka makua, i nā hōʻailona, ​​​​e hūnā pono iā lākou i loko o ka hohonu o ka mīkini virtual. Eia kekahi, ua aʻo maikaʻi ʻia ʻo Java he mea ʻino ke kī ʻana i kekahi, a pono e pāpā ʻia nā mea kaua ma ka laulā. ʻO kēia kamaʻāina pili loa me ka komunism mai ka wā kamaliʻi i hoʻoikaika maikaʻi iā Java a ua hopu koke ʻo ia i nā kūlana hanohano āpau i ka hoʻomohala ʻoihana. Me he mea lā ua hala nā lā o ka hoʻopaʻapaʻa ʻole, ua hiki mai ka makahiki o ka hoʻomohala ʻana i ka hui i hui maikaʻi ʻia, a ʻo ke kī ʻana i kou hoalauna ma ka wāwae ua lilo ia i ʻano ʻino.

I uhi ʻia, ua hoʻāʻo ʻo C ++ e huki iā ia iho a neʻe me ka manawa, e hoʻopaʻa ana i kahi ʻike laser ma luna o kahi pū pana kīʻaha a hoʻāʻo e hoʻokomo i ka naʻauao i nā kuhikuhi. ʻAʻole ia i kōkua nui, poina ʻia e ka poʻe he nui, ua hoʻomau ʻo ia i ka inu ʻana a me ka hiamoe lōʻihi.

A ma waho o ka pukaaniani, ke kaua nei ʻo Java i ke kaua me kahi ʻenemi ikaika hou. ʻO C# ka hua o kahi hui genetic o C++ a me Java. Aia nō nā lono i loaʻa nā genes Java no kēia hoʻokolohua ma ke ʻano ʻoiaʻiʻo ʻole, a i kēlā manawa ua puka mai kahi hōʻino liʻiliʻi e pili ana i kēia. Akā i hana ʻia e nā ʻenekinia mai kahi ʻoihana ikaika ʻē aʻe, ʻoiaʻiʻo maoli i ka mea i hoʻoili ʻia, hoʻoilina i nā hiʻohiʻona he nui o C ++, ua hānau ʻia ʻo C # e hoʻokūkū iā Java a hoʻokele i kona kuleana e noho i loko o ka honua paʻakikī o ka ʻoihana. I hiki iā ia ke lanakila iā Java, hāʻawi nā mea hana iā ia i nā templates, OOP a me nā kuhikuhi (ʻoiai ua hoʻohana lākou me ka akahele).

Ua komo ka padawan ʻōpio i ke kaua me kahi ʻoʻopa lobotomized a i ka makahiki 2020 ua hoʻihoʻi ʻo ia iā ia i ka hapalua ...

ʻAʻole kū mālie ka manawa a ua pau ka hana hou ʻana. I kēia manawa, ua manaʻo ʻia inā ʻaʻole ʻoe i hana ʻia i loko o ka hale hana o kekahi ʻoihana, a laila ʻaʻole loa ʻoe e loaʻa ka kūleʻa. ʻO kēia ke ʻano o JavaScript, Go, Rust a me nā mea ʻē aʻe he nui. Hilahila au ke haawi aku i ka moolelo o ka mea mua maanei, e kaupalena au ia'u iho i ka ike ana o ka mea heluhelu ua hanauia oia he schizophrenic kuli, aka, no ke aloha o kekahi poe ua hiki iaia ke lanakila maluna o keia mau mea a pau. nā hemahema a lilo i kāne kāne transgender. ʻAʻole ʻo ia i ʻike i ka pana ʻana, akā maikaʻi ʻo ia i ka lawe ʻana i kahi manawa hoʻomaha maikaʻi i kekahi hana ma nā wahi a pau i lawe ʻia ai. I ka ulu ʻana o JS, ua ʻike ʻo ia i kona kāhea ʻana ma ke ʻano he mea hoʻolālā i nā pihi kala a me nā leka. Mai ia manawa, ua lilo ia i mea makaʻu i ka hele ʻana i waho; ua hoʻopiha nā puʻu o nā hae waika a me nā pihi kīkī i nā mea a puni. Inā hoʻopaʻi nā limahana kahiko iā ia e pili ana i kēia, ua hoʻomaka ʻo JS e hoʻōho leo nui e hoʻokaumaha hou ʻia ʻo ia e nā heterosexuals hewa. Akā, he hapa wale nō kēia o nā pilikia a pau. Ua lawe mai ʻo JS i kona mau hoa me ia i loko o ke ao hoʻomohala. ʻO ka ʻumiʻumi ʻōmaʻomaʻo, me ka lauoho ʻulaʻula, ma nā scooter ... Ua lawe mau ʻo ia i nā wahi āpau a me ka hoʻomanaʻo ʻana, a aia kēia i nā kūlana o ke kenekulia XNUMX, i ka wā e manaʻo ʻia ua lawa nā mea āpau i ka wā ma mua. !

Eia naʻe, ʻaʻole i hiki i kekahi ke hōʻino iā ia. ʻO JS, ma ka pane, ua hoʻomaka e ʻōlelo e lilo nā mea a pau i kino maikaʻi a like i ka wā ma mua, a ʻaʻole ia he mea nui i ka nui o ka hoʻomanaʻo āu e ʻai ai a me ka wahi āu e lawe ai. "He waiwai nā limahana a pau, he mea nui nā limahana a pau, ua like nā limahana a pau," wahi a JS. ʻO kahi hoʻomohala kaulana ʻē aʻe me JS ua hoʻohaʻahaʻa i ka paepae komo i ka ʻole. 'Ōlelo lākou ma hope o kēia, no ke kaumaha, ua kāʻei ʻo ke kupuna kāne Xi iā ia iho i loko o kāna keʻena me 5x5 kilobytes. Eia naʻe, aia nō ʻo JS i ka nahele, no laila e makaʻala, e makaʻala!

Ua hoʻoholo nā mea hana o Go e ʻoi aku ma mua o nā mea hana o Java. ʻOiai i loko o ka ʻōpū, ua hoʻololi lākou i kahi ʻāpana o nā kaulahao DNA me nā hamster no kā lākou keiki ... A laila ʻoki lākou ʻaʻole i nā manamana lima wale nō, akā ʻo nā pepeiao pū me ka ihu, ma lalo o ke kumu ʻaʻole pono nā ʻano pilikino. a e like na mea a pau i kekahi i kekahi, i ole e huikau i ko lakou ano . Ua hala ke ʻano no ka OOP, a ʻaʻole i loaʻa iā Go nā papa a i ʻole nā ​​hoʻohālike. Akā, hāʻawi lākou iā ia i nā goroutines. ʻO ia ke ʻano o kona noho ʻana a hiki i kēia lā, e kākoʻo ana i nā pono hana like ʻole.

No ka manawa lōʻihi, ua noʻonoʻo kekahi poʻe hoihoi i ke ʻano o ka bacchanalia e hoʻomau nei, a hiki i ka hoʻoulu ʻana iā lākou. Ma hope o ia mea, ua hoʻomohala lākou i kahi ʻōnaehana hoʻomana a me ka hoʻomanaʻo, kapa ʻia ʻo ia ka manaʻo o ke kuleana, a hānau ʻia ʻo Rust. Ua ʻike ʻia ʻo Rust e kona kūpaʻa a me kona kūpaʻa i nā loina i kau ʻia mai ka wā kamaliʻi. Inā hoʻonoho ʻia ʻo ia e hana i kekahi mea, ʻaʻole ʻo ia i hana a hiki i kona maopopo ʻana ʻaʻole ʻo ia e hana ʻino i kekahi. Akā no ke aʻo ʻana iā Rust, pono ʻo ia e hoʻomaopopo i ka manaʻo o ka loaʻa ʻana a me ka hōʻaiʻē hōʻaiʻē. Wahi a lākou ma hope o kēia, ua piʻi ka paepae komo e 15,37%.

ʻOiai ua hoʻonui ʻia nā ʻōlelo hou e like me nā halo ma hope o ka ua, ua ulu nā ʻōlelo kahiko i ka mana. Ua loaʻa iā Java nā prosthetics ma ke ʻano o nā generics a me nā lambdas i ʻaihue ʻia mai ka Philosophical Club i kapa ʻia ma hope. prof. Haskell. Ua loaʻa iaʻu nā lambdas like noʻu iho ma C #, a ma ka manawa like i loaʻa i kahi haku wahine i kapa ʻia ʻo Linq. ʻAʻole i haʻalele ʻo Java a hoʻolauna iā ia iho i kahi Stream API. Akā, ua hana ʻo C # i kahi neʻe i manaʻo ʻole ʻia, e lawe ana i ka async / kali i ka hoʻolei ʻana i nā pahi a hoʻolei aku i ka poloka null kaumaha. ʻO Java, i ka holo ʻana ma hope o kāna hoʻokūkū ʻōpio, ua like ia me kahi robot hoʻololi i hana ʻia i nā poloka like ʻole o nā mea like ʻole. Ua hāʻule kekahi mau mea. Ma kēia moku'āina i loaʻa ai ka honua i ka C ++ ala koke. Ua hana koke ʻo ia i kāna lambdas ponoʻī a me kāna ʻano ʻano ʻokoʻa. I kēia manawa ua hoʻihoʻi ʻo C # a me Java i ka weliweli mai kahi ʻike. Me ka ʻike laser i hoʻopaʻa ʻia i kāna pū pana me ka lipine uliuli, he pāpale ʻalani me nā aniani ʻeleʻele a me ke koʻi lipi e kau ana ma kona poʻohiwi, ua hoʻoulu maoli ʻo C++ i ka makaʻu i ka poʻe a pau e nānā iā ia. ʻO kekahi, no ka hoʻomanaʻo kahiko, hopu i ko lākou mau kuli ...

He lā maikaʻi, e nā mea a pau. Inā makemake ʻoe, e kākau wau i kahi hopena e pili ana i nā limahana ma ka ʻoihana ʻepekema a me ka ʻepekema.

Source: www.habr.com

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