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…
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.
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
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 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.
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' "
Halimbawa, ang karamihan sa mga programmer ng COBOL ay
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
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.