Car-tech

Google Executive Frustrated ng Java, C ++ Complexity

Internet Balkanization: Why Are We Raising Borders Online? at DefCamp 2018

Internet Balkanization: Why Are We Raising Borders Online? at DefCamp 2018
Anonim

- Ang C + + at Java, sa partikular - ay sobrang kumplikado at hindi angkop para sa mga computing na kapaligiran sa ngayon, ang nakikilala sa Google na engineer na si Rob Pike ay nag-aral sa isang pahayag sa Huwebes sa O'Reilly Open Source Conference. "pang-industriya programming languages" sa panahon ng kanyang pangunahing tono sa conference sa Portland, Oregon.

"Sa tingin ko ang mga wikang ito ay napakahirap gamitin, masyadong banayad, masyadong masalimuot. upang madagdagan ang paglipas ng panahon, "sabi ni Pike. "Ang mga ito ay oversold, at ginagamit masyadong malawak."

Pike detalyadong mga pagkukulang ng mga wika tulad ng isang paraan ng naglalarawan ng mga layunin na siya at iba pang mga engineer ng Google para sa isang bagong programming language na binuo nila, na tinatawag na Pumunta. > Bilang isang paglalarawan ng pagiging kumplikado ng mga naturang wika, nagpakita si Pike ng ilang halimbawa ng C ++ code. Ang isang halimbawa ay isang variable na deklarasyon na umaabot sa kabuuan ng isang buong linya ng screen.

"Paano tayo may mga bagay tulad nito [maging ang] karaniwang paraan ng computing na itinuro sa mga paaralan at ginagamit sa industriya? " tanong niya, retorika. Ang ganitong uri ng programming "ay napaka-bureaucratic.Ang bawat hakbang ay dapat na makatwiran sa compiler," sabi niya.

Habang pinahihintulutan ni Pike na siya ay medyo napakahihiya, pinatutunayan niya na ang mga tanong na ito ay dapat pa rin tatanungin. Dumating ang C + dahil dahil sa pagkabigo ng mga tao na nagtatrabaho sa mababang antas na wika C, at Java ay dumating bilang isang paraan upang gawing simple ang C + +. Gayunpaman, sa paglipas ng panahon, ang mga bagong tampok ay idinagdag sa parehong mga wika, na nagiging mas kumplikado.

"Ang ingay ay may katalinuhan," sinabi niya.

Idinagdag ni Pike na ang ganitong mga wika ay binuo bago ang pagdating ng multicore processing

Sa USENIX taunang kumperensya noong nakaraang buwan, ang engineer ng Gmail na si Adam de Boor nagulat sa madla sa pamamagitan ng pagpuna na ang Gmail serbisyo ng kumpanya ay ganap na isinulat sa JavaScript, at na ang lahat ng code nito, sa paligid ng 443,000 mga linya nagkakahalaga, ay isinulat sa pamamagitan ng kamay.

Siya nabanggit na habang ang Java ay mas nagpapahayag, ito ay mas masalita. "Sa puntong ito sa akin ito ay isang bagay ng pagpili kung anong wika ang iyong ginagamit," sabi ni de Boor.

Ang JavaScript ay isa sa isang buong batch ng mga wika - ang iba ay kinabibilangan ng Ruby and Python - na binuo sa nakalipas na 10 taon bilang tugon sa lumalaking kumplikado ng C + + at Java. Ngunit habang nagkakaroon ng isang mas simpleng syntax, ang mga naturang wika ay mayroon ding mga kakayahang magdulot ng balanse, siya ay nag-aral.

Ang mga bagong wika ay malamang na maging mas mabagal, hindi masusukat din, at maaaring magmayabang ng higit pang mga pagkakamali, ipinaliwanag ni Pike. malamang na mabigyang-kahulugan kaysa sa naipon, na nangangahulugang ang mga programa na nakasulat sa ganitong mga wika ay hindi naipon bago tumakbo, kaya malamang na tumakbo nang mas mabagal bilang isang resulta. Ang mga ito ay may posibilidad din na mag-type ng dynamically, ibig sabihin ng mga programmer ay hindi kailangang tukuyin kung anong uri ng data ang kanilang mga variable ay hawak.

"Ang dynamic na pag-type ay hindi palaging mabuti.

Sa lahat ng ito sa isip, Pike pagkatapos ay inilarawan Go bilang isang pagtatangka upang pagsamahin ang mga pinakamahusay na mga katangian ng parehong hanay ng mga wika.

"Go ay isang pagtatangka upang pagsamahin ang kaligtasan at pagganap ng mga istatistika na naka-type na wika na may kaginhawaan at kasiya-siya ng mga dynamic na nag-type ng mga interpretasyong wika, "sabi niya, bago idagdag," hanggang sa magtagumpay ito ay kakailanganin mong hatulan para sa iyong sarili. "

Isang miyembro ng madla, si Larry Augustin, ang CEO ng customer relationship management software provider na SugarCRM, ay sumang-ayon sa pagtatasa ni Pike na ang C + + at Java ay nakakuha ng masyadong kumplikado, bagaman napansin niya na karaniwan itong nangyayari sa lahat ng mga wika habang lumalaki sila upang matugunan ang isang mas malawak na hanay ng mga kaso ng paggamit.

"Ang dahilan kung bakit ang mga wikang ito ay lumago sa pagiging kumplikado ay dahil sa higit na ginagamit ang mga ito, mas maraming mga pagkakamali at mga ambiguity na natagpuan namin, at ang mga pagtatangka upang alisin ang mga ambiguities at mga error na lumikha ng isang bagay na mas kumplikado," sabi ni Augustin, na may background sa software engineering at programming language design.

"Pinahahalagahan ko ang kanyang layunin," sabi niya tungkol sa mga pagsisikap ni Pike. "Ang tanong ay maaaring makamit niya ang kanyang target na resulta? O ang Go [maging mas kumplikado] habang mas maraming mga tao ang gumagamit nito," sinabi ni Augustin.

Joab Jackson ay sumasaklaw sa software ng enterprise at pangkalahatang teknolohiya breaking balita para sa

. Sundin si Joab sa Twitter sa @Joab_Jackson. Ang e-mail address ni Joab ay [email protected]