Из љубави према СКЛ-у: зашто бисте га требали научити и како ће вам то помоћи

Недавно сам прочитао сјајан чланак цењеног @цраигкерстиенс који описује зашто осећа да је СКЛ толико вредна вештина за програмере. Ова тема ме је заиста одјекнула. Добро се поређао са белешкама које сам већ почео да скицирам за сличан чланак о развијању љубави према подацима.

Што сам више разрађивао своју тему, то сам више схваћао да се чини да се многе моје тачке и примери концентришу на СКЛ. Читајући Цраигов чланак убедио ме је да преусмерим свој фокус и разговарам више о томе зашто лично имам такав афинитет према СКЛ-у.

Укратко, Цраиг износи следеће тврдње о СКЛ-у (и цитирам):

1. Вредан је у различитим улогама и дисциплинама2. Ако га једном научите, заправо није потребно поновно учење3. Делујеш као суперхерој. Изгледате изузетно моћно кад то знате због количине људи који не говоре течно

Открио сам да су све ове тачке тачне у мом сопственом искуству и желео бих да преправим и проширим сваку од њих.

Ефекат свестраности

СКЛ вештина се показала као изузетно драгоцено средство у мојој каријери. У ствари, верујем да је СКЛ једини најмоћнији и најсвестранији језик за „програмирање“ који знам.

Успео сам да користим СКЛ за решавање многих проблема, и то је мој алат за коришћење кад год се суочим са новим изазовом. У ствари, држим на свом лаптопу покренут постгреСКЛ, тако да могу брзо да ускочим у свој омиљени СКЛ ГУИ кад год треба да нешто тестирам.

Ево само неких супер ствари које сам успео да урадим са СКЛ-ом:

Да ли вам је тешко да поверујете у горе наведени списак? Обећавам вам да у томе нема ни трунке претеривања. Да ли постоје неки предмети који су зависили од других могућности РДБМС-а који сам тада користио? Наравно. Без обзира на то, свако од тих решења је имплементирано у СКЛ.

Ефекат бицикла

Иако је језик структурираних упита сигурно претрпео промене и током година је проширен, слажем се са Цраиг-ом да се основе нису промениле. Укупни ниво волатилности у поређењу са другим језицима био је релативно низак.

Тврдио бих да ова чињеница само појачава аргумент да треба уложити време за учење СКЛ-а. Можете бити сигурни да ћете таквом инвестицијом постићи велику километражу, а да не морате да тражите најновије конвенције када следећи пут будете требали да је користите.

Дакле, научите СКЛ! Ево неколико одличних места за почетак:

Водич за СКЛ - основни СКЛ за почетнике

Овај СКЛ водич вам помаже да брзо и ефикасно започнете са СКЛ-ом кроз многе практичне примере. Након… ввв.склтуториал.орг

Постоје чак и интерактивни водичи:

СКЛБолт - Научите СКЛ - Увод у СКЛ

СКЛБолт пружа скуп интерактивних лекција и вежби које ће вам помоћи да научите СКЛ склболт.цом

Постоје и свестрани сандбок-ови који вам омогућавају покретање СКЛ-а на различитим дијалектима без потребе за било каквим инсталирањем. На пример, СКЛ Фиддле:

Или, ДБ Фиддле:

Ефекат суперхероја

Сећам се да је колега једном рекао да га је обузео хладан зној сваки пут када је морао да напише СКЛ. ?

Звучи претерано, али СКЛ може застрашивати свакога ко базу података правилно сматра осетљивом имовином која није и није упознат са начином безбедне интеракције с њом. СКЛ, као један од одраслих у соби, такође не добија толико пажње као други сјајни нови програмски језици. То значи да је и даље мање уобичајен скуп вештина међу савременим и новим програмерима.

Као такво, солидно разумевање СКЛ-а и увид у сагледавање постављених аспеката датог проблема или изазова пружа прилику да будете херој.

Једно од мојих омиљених личних искустава било је помагање купцу у отклањању грешака у спором и сложеном САС програму. Циљ овог програма био је да из табеле ревизије издвоји листу прелаза стања како би се измерило средње време трајања виџета у свакој фази датог пословног тока. Имплементација ових прорачуна била је сложена и захтевала је изградњу више локалних скупова података.

Сећам се обрнутог инжењеринга овог програма и схватања да бих могао много лакше решити проблем користећи један СКЛ упит и магичну функцију прозора ЛАГ.

Купац је једноставно одушевљен.

Не само зато што је научио о функцији ЛАГ, већ зато што је видео колико моћан СКЛ може бити.

Још драматичнији пример био је током велике миграције складишта података, где сам цео Јава програм (за који је требало више од 20 минута да се заврши!) Заменио једним СКЛ упитом који се покренуо у секунди. Оригинални аутор програма био је шокиран! То је био заиста добар дан. ?

Дакле, подстичем вас да данас зароните у СКЛ и проширите свој скуп вештина једним од најсвестранијих алата са којима сам имао задовољство да радим. Ако већ знате СКЛ и слажете се или ако сам вас убедио да покушате, размислите о томе да ми оставите коментар.