paint-brush
Mga ginoo, Piliin ang Iyong Mga Armas! Mga Wika sa Programming Dapat Mo (Hindi?) Matutosa pamamagitan ng@shcherbanich
219 mga pagbabasa

Mga ginoo, Piliin ang Iyong Mga Armas! Mga Wika sa Programming Dapat Mo (Hindi?) Matuto

sa pamamagitan ng Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

Masyadong mahaba; Upang basahin

Sa mabilis na umuusbong na mundo ng programming, dapat magpasya ang mga developer kung magpapatibay ng mga bagong wika o manatili sa mga napatunayan na. Tinatalakay ng artikulo ang mga kalamangan at kahinaan ng parehong mga diskarte, na nagbibigay-diin sa kahalagahan ng praktikal na aplikasyon at mga layunin sa karera sa paggawa ng pagpipiliang ito.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Mga ginoo, Piliin ang Iyong Mga Armas! Mga Wika sa Programming Dapat Mo (Hindi?) Matuto
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

Tulad ng sinasabi ng matandang kasabihan, ilang bagay sa buhay ang mas masahol pa kaysa sa pagdadala ng kutsilyo sa isang labanan. Bilang isang makaranasang developer, masasabi ko sa iyo na ito ay 100% totoo din para sa mundo ng programming. Kailangan mong manatiling may kaugnayan sa isang industriya na mas mabilis na nagbabago kaysa sa sinusulat ko ang artikulong ito. Gayundin, mayroon kang napakaraming iba't ibang mga gawain na dapat gawin. Kaya, pagkatapos ng mga taon ng pag-survive sa kapaligiran na ito, palagi kong itinatago ang aking mga paboritong laruan na malapit at puno. Para sa isang tahimik at tumpak na trabaho, nandiyan ang aking mapagkakatiwalaang C++ . Kung gusto kong gumawa ng isang malaking data bang, pipiliin ko ang R, medyo maluho, ngunit nakakumbinsi na malakas. Ngunit kung talagang magulo ang mga bagay, inaalis ko ang aking JavaScript sa dingding: pinananatiling buhay ako nito sa nakaraan at maaari pa rin itong tumagal ng higit pang pang-aabuso. Walang wikang mabuti o masama para sa lahat. Depende sa iyo at sa trabahong kailangan mong gawin. Kaya't pag-usapan natin kung dapat mong laging sumunod sa uso o manatili sa magagandang lumang bagay. Ang tanong na ito ay medyo mas nakakalito kaysa sa tila…

Ang bawat araw ba ay isang bagong simula?..

Dahil sa makabagong katangian ng tech, ang pagtalakay kung mag-aral ng ibang wika ay maaaring mukhang hangal. Sa katunayan, kung tumigil ang mundo, gagamit pa rin tayo ng mga clay tablet at abacus. Sa kabutihang palad, ang pagnanais na magpabago ay humahantong sa patuloy na pag-unlad, na nangangailangan ng patuloy na pag-upgrade ng kasanayan. Halimbawa, noong 1960s, ang pakikipag-usap sa mga computer ay nagsasangkot ng pagbubutas sa papel at pagpapakain nito sa isang makina. Ngayon, ang mga computer ay kasya sa aming mga bulsa, at ang tanging mga butas na aming nararanasan ay nasa aming mga badyet pagkatapos na bilhin ang mga ito. Isipin ang pinaka-advanced na developer mula sa '60s na sinusubukang manatiling may kaugnayan nang hindi nagbabago ang kanilang mga kasanayan.


Ang mga programming language ay mas mabilis na umuunlad kaysa sa kanilang mga tagalikha. Ang mga bagong kinakailangan, ideya, at tool na radikal na nagbabago sa mga tradisyonal na diskarte at kasanayan ay lumilitaw sa isang kapansin-pansing bilis. Ang mga espesyalista na hindi binabalewala ang katotohanang ito ay nagiging kasing lipas na ng mga wikang kanilang kinakapitan. Ang isang pangunahing halimbawa ay ang COBOL, na, sa kabila ng pagiging sikat noong '60s para sa mga aplikasyon sa negosyo, ay naging halos hindi na ginagamit sa mga pagsulong sa teknolohiya.


Ang isa pang dahilan para matuto ng bagong programming language ay ang mga prospect sa karera. Ang pag-unawa na ang higit na kaalaman sa mga pinakabagong teknolohiya ay nagdaragdag sa kanilang mga pagkakataong makakuha ng mga trabahong may mataas na suweldo, ang ilang mga espesyalista ay masigasig na nag-aaral ng mga bagong wika. Ang pagsisikap na ito ay makatwiran: ang pag-alam sa mga bagong teknolohiya ay walang alinlangan na nagpapalawak ng mga pagkakataon sa trabaho. Minsan, kailangan ang mga bagong teknolohiya kahit na ang wika mismo ay nananatiling may kaugnayan ngunit binago ng kumpanya ang tech stack nito. Sa ganitong mga kaso, ang mga empleyado ay dapat umangkop o maghanap ng mga bagong trabaho. Kadalasan, pinipili nilang matutunan ang bagong teknolohiya.


Ang pag-aaral ng mga bagong wika ay kapaki-pakinabang hindi lamang para sa mga praktikal na dahilan kundi pati na rin para sa pagkamalikhain. Maaari itong mag-alok ng mga bagong diskarte sa mga pamilyar na gawain, pagpapalawak ng mga pananaw at potensyal. Halimbawa, ang Symfony, isang tanyag na balangkas ng PHP, ay binigyang inspirasyon ng balangkas ng Spring na nakabase sa Java. Maraming open-source na developer ng library ang kumuha ng mga ideya mula sa mga library na ipinatupad sa ibang mga wika, at maaari kang maging susunod na innovator.

…O ang lumang tunay na ginto?

Ngunit alang-alang sa katotohanan ay tumingin tayo sa kabilang banda sa lahat ng mga bagay na ating tinalakay sa nakaraang kabanata. Alam mo ba kung kailan huling ginamit ang mga punch card? Hula lang... At maliban kung dinaya mo sa pamamagitan ng pag-googling ng sagot ngayon, malamang na mali ang iyong hula. Ang tamang sagot ay 2014. Sa taong iyon, ang huling punch card ay ginamit sa pamamagitan ng mga makina ng pagboto sa estado ng Idaho sa panahon ng pangkalahatang halalan sa US. O kunin ang COBOL, ang wikang binasag natin bilang lipas na ilang talata lang ang nakalipas. Buweno, noong 2017, ayon sa Reuters , 43% ng lahat ng sistema ng pagbabangko ay batay sa COBOL; 80% ng mga personal na transaksyon ang gumamit ng COBOL at mayroong 220 bilyong linya ng code na nakasulat sa COBOL na ginagamit pa rin. Kaya mayroong isang (hindi masyadong pinong) linya sa pagitan ng kawalan ng kaugnayan ng isang wika para sa mga modernong sistema at ang pagkaluma nito sa pangkalahatan.


Ano ang posibilidad ng isang programming language na alam mo o matututunan mo, magiging lipas na at walang silbi anumang oras sa lalong madaling panahon? Walang totoong sagot diyan, hula lang. Tinatantya ng ilang mga may-akda ang average na lifecycle ng isang programming language na nagsisinungaling kahit saan sa pagitan ng 14 at 18.5 taon . Ang iba sabihin ito ay mas malapit sa 25 taon para sa mga nangingibabaw na wika at 5-6 para sa higit pang angkop na lugar at kakaibang mga tool. Pero meron din isa pang punto de bista worth mentioning dahil medyo napatunayan na ito ng history. Ito ay batay sa Lindy effect, pinakamahusay na inilarawan ni Nassim Nicholas Taleb sa kanyang aklat 'Antifragile: Mga Bagay na Nakukuha mula sa Disorder' : “Kung apatnapung taon nang nai-print ang isang libro, maaari kong asahan na mai-print ito para sa isa pang apatnapung taon. Ngunit, at iyon ang pangunahing pagkakaiba, kung ito ay mabubuhay ng isa pang dekada, pagkatapos ay inaasahan itong mai-print sa isa pang limampung taon. Ito, sa simpleng paraan, ay nagsasabi sa iyo kung bakit ang mga bagay na matagal nang umiiral ay hindi "pagtanda" tulad ng mga tao, ngunit "pagtanda" sa kabaligtaran. Bawat taon na lumilipas nang walang pagkalipol ay doble ang karagdagang pag-asa sa buhay. Ito ay isang tagapagpahiwatig ng ilang katatagan. Ang tibay ng isang bagay ay proporsyonal sa buhay nito!"


Sa madaling salita, ang mga wikang matagal nang nakalabas doon ay malamang na mananatili sa amin sa loob ng ilan pang mga dekada. Sa kabaligtaran, may posibilidad na ang mga magarbong bagong bagay ay maaaring maging lipas na sa lalong madaling panahon - ngunit iyon ay nananatiling makikita. Bawat taon ng isang wika na nasa aktibong serbisyo ay nagdaragdag sa mga pagkakataon nitong mabuhay nang mas matagal.

Mag-isip ng mga karera sa halip na mga wika

Kaya ano ang dapat nating gawin? Matuto ng wika? Isang bago o isang luma? Well, ang pag-aaral mismo ay palaging mabuti. Ipinapakita ng pananaliksik na halos kalahati ng lahat ng mga developer ang nag-iisip ng pag-aaral ng bagong wika. Ayon sa JetBrains' " Ang Estado ng Developer Ecosystem 2023 " survey, mahigit 40% ng mga respondent ang nagpahayag ng pagnanais na ito. Ang mga developer na nagtatrabaho sa JavaScript (49%), PHP at Python (45%), at C++ (44%) developer ay nagpapakita ng pinakainteres na matuto ng bago. Ang pagpili ng wikang gusto mo upang matuto ay talagang depende sa iyong karera Kung iniisip mo ang isang matatag na trabaho na maaaring tumagal nang medyo matagal (ngunit hindi magpakailanman), maaari kang pumili ng isang bagay na luma at napatunayan na ang mga ganitong pagkakataon ay maaaring lumitaw sa agham, pagmamanupaktura at tradisyonal na mga bangko, ibig sabihin mga institusyong may pangmatagalang mamahaling makinarya at/o imprastraktura na lubos na umaasa sa legacy code.


Halimbawa, ang karamihan sa mga programmer ng COBOL ay sa pagitan ng 45 at 55 taong gulang sa 2017. Idagdag ang pitong taon na lumipas mula noong nai-publish ang pananaliksik at makikita mo na maraming mga developer ng COBOL ang pumapasok sa kanilang edad ng pagreretiro. Kung magtatagal ang COBOL hangga't inaasahan, maaaring ito na ang iyong pagkakataon na maging isang bihirang espesyalista na may mataas na halaga. Ngunit tandaan na ang gayong pagpili ay mangangailangan ng napakalalim na kaalaman at malinis na kasanayan. Gayundin, kung may magkamali, ang iyong karagdagang pagpipilian sa trabaho ay maaaring limitado maliban kung magpasya kang baguhin ang iyong profile.


Kung mas gusto mo ang buhay na buhay ng mga startup o ang kapangyarihan ng mga tech giant, dapat kang pumili ng mas moderno at may pag-asa. Ang pagkakita kung ano ang ginagawa ng iba ay maaaring magbigay sa iyo ng clue: halimbawa, suriin ang mga napapanahong ranggo ng mga programming language sa pamamagitan ng RedMonk o TIOBE . Huwag masyadong seryosohin ang mga ito, dahil ang anumang maiisip na ranggo ay nakabatay sa ilang antas ng pagpapasimple, ngunit maaari pa rin silang magbigay sa iyo ng malaking larawan ng kung ano ang nangyayari. Gayundin, ang nabanggit na survey ng JetBrains ay nagpapakita aling mga wika ay madalas na natututunan. Sa ganitong paraan, sigurado kang matututo ng wikang may hinaharap.

Laging maging praktikal

Ang kaalamang natamo nang walang praktikal na aplikasyon ay mabilis na nagiging lipas na sa panahon. Samakatuwid, ang pag-aaral ng bagong wika para lamang sa pag-tick sa isang kahon ay walang kabuluhan. Sa halip, isaalang-alang kung paano mo ito magagamit sa iyong kasalukuyang trabaho. Kung ginagamit na ng iyong kumpanya ang teknolohiya, maaari itong maging isang mahusay na insentibo upang matuto. Tanungin lang ang iyong manager o team lead na magtalaga sa iyo ng mga gawaing nauugnay dito, na nagbibigay-daan sa iyong patatagin ang iyong kaalaman sa pamamagitan ng pagsasanay. Kung ang iyong trabaho ay gumagamit ng nakapirming tech stack at walang pagkakataon na matuto ng bago, maaari kang lumikha ng sarili mong side project anumang oras upang galugarin ang mga bagong hangganan nang nakapag-iisa. Siguraduhin lamang na hindi lalabag sa iyong kontrata sa pagtatrabaho habang ginagawa ito.


Kahit na nagsisimula ka pa lang sa pag-unlad, ang diskarte ay nananatiling pareho: pumili ng teknolohiyang magagamit mo sa totoong buhay (sa trabaho o sa isang side project). Pumili ng wikang may magandang kinabukasan, hindi isang wikang iniiwasan ng developer community. Dahil nagsisimula ka pa lang sa iyong paglalakbay at hindi nabibigatan ng mataas na suweldo at inaasahan bilang isang espesyalista, madali at mabilis mong mababago ang iyong tech stack kung ang pangalawang wikang natutunan mo ay mas nakakaakit sa iyo kaysa sa una. Mayroon kang higit na kakayahang umangkop sa iyong pinili, at sulit na samantalahin ang benepisyong ito. Huwag lang labis: ang masyadong madalas na pagbabago sa iyong tech stack at ang napakaraming daloy ng kaalaman ay maaaring makasama. Maghanap ng balanse sa pagitan ng kung ano ang gusto mo at kung ano ang maaari mong pamahalaan, at tiyak na makakamit mo ang tagumpay.


Para sa ilang mga developer, lalo na sa mga may maraming taon ng karanasan, ang aking payo ay maaaring mukhang halata. Ngunit gaya ng kasabihan, "Ang pag-uulit ay ang ina ng pag-aaral," at walang sinuman ang nagpasinungaling sa katotohanan ng matatalinong salita na ito. Sana ay mahikayat ng aking artikulo ang mga matagal nang gustong ngunit tamad na kumilos at mag-udyok sa mga sabik na baguhan. Umaasa ako na ang aking payo ay nagpapatunay na kapaki-pakinabang at marahil ay nagbibigay inspirasyon sa karagdagang propesyonal na paglago.