Много е лесно да различиш човек, който някога е програмирал от останалите – „докосвал“ ли си код, просто няма как да не си виждал Stack Overflow. Само за 15 години сайтът с въпроси и отговори промени из основи начина, по който работят програмистите. Превърна се в Мека за софтуерните инженери, в спасителен пристан за почти всеки ежедневен техен проблем.
Днес обаче легендата върви към своя залез. При това, по ирония на съдбата, заради напредъка в технологиите, който сама направи възможен…
Нещо повече – заради упадъка на проекта мнозина вещаят сериозни проблеми, с които ще се сблъскват следващите програмисти.
Историята на Stack Overflow е показателна за това къде сме днес в света на технологиите. За стремителната скорост, с която се променяме. За семенцата, за добрите идеи, които могат да покълнат само ако попаднат в подходящата среда и в точния момент. И за бързината, с която до вчера непоклатимият гигант се превръща в сянка на себе си.
Така преминава световната слава
„E, добре, технологиите доста напреднаха от времето на форумите. Мисля, че обществото на програмистите може да се справи доста по-добре, ако има комбинацията от сайт с въпроси и отговори, в който се гласува за най-точния и може да се редактира.“ Това пише на 15 септември 2008 г. Джоел Сполски в блогпоста си, с който обявява създаването на знаменития сайт.
По още една ирония на съдбата, преди да се превърне в най-добър помощник на програмистите, самото словосъчетание Stack Overflow определено не носи положителни емоции. Така се нарича грешка, при която е претоварена част от паметта и програмата спира да се изпълнява. Именно затова е избрано името, след гласуване измежду хората, видели смисъл в начинанието.
Това е толкова често срещан сценарий в бранша. Изскача грешка, по някаква причина компютърът не прави това, което се очаква от него… и, разбира се, първата ти работа е, ако не знаеш какво се случва, да провериш онлайн.
Не питай!
Именно това се оказва почти невъзможно, преди да се поява знаменитият сайт.
„Знаете ли кое е способно да ме извади от равновесие? Сайтовете за програмиране с въпроси и отговори“, пише Сполски в знаменитата си публикация. „Знаете за какво говоря. Въвеждате много специфичен въпрос за програмиране в Google и получавате отговор:
- куп линкове към форуми, където невежи хора се борят със същия проблем и не стигат доникъде;
- връзка към друг сайт за въпроси и отговори, който твърди, че има отговор, но когато стигнете до него, се иска да се регистрирате за платен абонаментен план;
- стара публикация с точния отговор за Windows 3.1, но той просто вече не работи;
- нещо на японски.
Ако сте големи късметлии, на четвъртата страница ще намерите дискусия със стотици отговори, от които 25% са спам реклами, публикувани от ботове; някои от отговорите са действително полезни, а някой, чието име е “Anon Y. Moose“, е публикувал приличен отговор, макар и граматически неправилен, който обаче съдържа опустошителен бъг в сигурността. И това малко бижу е заровено сред камион от боклук.”
Сам срещу всички
Е, срещу всичко това на точното място се появява Stack Overflow. Няма как да се опише по-точно. Изведнъж онлайн се появи място, където човек може лесно и бързо да намери решението на всеки проблем, свързан със създаването на софтуер.
На пръв поглед семпъл сайт, ретро дори и за времето си с външния си вид. Уж просто форум, където всеки може да задава въпроси и да отговаря, а всъщност много повече.
Идеята е гениално проста. Не само всеки е добре дошъл да пита и отговаря, но и това се превръща в своеобразна игра – авторите на най-добрите отговори трупат точки. Всеки въпрос, който повтаря вече зададен такъв, бива затворен и пренасочен към оригиналния. Всеки от отговорите се оценява, а ако човекът, задал въпроса, се убеди, че е получил правилно, работещо и точно решение, отбелязва отговора, който се е оказал най-полезен и той се откроява видимо сред останалите.
Най-отгоре сред отговорите пък се появява Негово величество – именно отговорът, който е събрал най-много гласове от регистрираните потребители.
Коментарите могат да се редактират, така че да се доразвиват и обогатяват. „Има много добри начини за редактиране“, пише Сполски. „Можете да подобрите правописа, граматиката и смисъла. Всичко, което можете да направите, за да разясните, обясните или подобрите въпроса или отговора, ще бъде в услуга на обществото. Ако има код, можете да го пуснете сами, да го рефакторирате или да го подобрите. В края на краищата, през следващите 20 години този въпрос ще бъде каноничното място в мрежата, където програмистите ще идват, за да научат точното нещо“.
Последното изречение се превръща в пророчество, именно това се случва с някои от най-честите търсения.
В начинанието бързо се включат няколкостотин програмисти на доброволни начала. Всички те споделят нуждата от нов сайт, моментът съвпада и с това, че основният форум за онова време – ExpertExchange, става платен. Заедно със Сполски другият основен инициатор е Джеф Атууд, създател на блога “Coding Horror”.
Искайте и ще ви се даде
Системата много бързо набира скорост заради начина, по който работи по онова време Google. Най-подходящите отговори бързо се озовават на челните позиции, защото хората, които намират в тях решение, се задържат дълго, остават удовлетворени.
С поста на Сполски започна цяла ера в разработването на софтуер. През 2017-а, по времето, когато аз навлизах в тази професия, сайтът беше задължителният помощник за всеки проблем. Дотолкова, че в софтуерната академия, където учех, претоварихме трафика към него, временно ни ограничиха достъпа и се наложи… изпитът да се удължи.
Сайтът се превърна в своеобразна енциклопедия за общността, където може да се намери отговор на всеки въпрос, а такива изникват ежедневно в работата на програмистите.
Не всеки има време да чете огромни документации, често те са неясни, пропускат реалните приложения… така спасението се оказа споделянето на опит. Възможността, веднъж спънал се в дадено препятствия и успял да го преодолееш, да помогнеш на следващия, който е на път да политне към падане.
На дъската!
Въпросите се подреждат според технологиите, за които се отнасят, базата данни расте с главоломна скорост. Започват ежегодни проучвания, според които почти 100% от програмистите използват възможностите на форума. После това се превръща във възможност да се изследват тенденциите, да се следи кои технологии ползват хората от Stack Overflow, кое ги затруднява. Кои са най-търсените и добре платени технологии, какви са тенденциите, що се отнася до информатиката в световен мащаб.
Още няколко думи за Сполски. Той остава известен също и с „алгоритъма на художника Шлемиел“, тръгнал от стар еврейски виц и описващ как програмистите създават неефективен код, защото не познават основните, базисни нива на работата си. Но за да има баланс между доброто и лошото, в Силициевата долина го смятат и за създател на съвременния начин, по който се наемат хора за индустрията.
Джоел работи в Microsoft във времената, когато възпитаниците на най-реномираните университети по подразбиране попадат в големите софтуерни фирми. Обратното – той налага строга цедка с решаване на алгоритмични задачи, въпроси от обща компютърна култура, интервюта на няколко нива. Нещо, което той самият днес смята за сериозна грешка, тъй като разработването на софтуер е твърде комплексен, отборен спорт, който изисква много по-широк кръг, понякога неочаквани умения.
Помощ от приятел
Любопитно е проучване на Университета в Мериленд, според което разработчиците, използващи Stack Overflow като съветник, пишат по-малко сигурен код, но пък той е значително по-функционален. Според мен обаче просто границите се размиват, интелигентните софтуерни инженери го използват и интелигентно като източник на информация – с критично отношение и търсейки логиката. Впрочем, точно както е важно да се случва и в ерата на изкуствения интелект.
Постепенно са създадени и цяла група от подобни сайтове под „шапката“ Stack Exchange. Подходът се оказва толкова успешен, че се появяват страници с въпроси и отговори в много различни области, дори извън компютърния свят.
Неусетно се ражда цялата култура, съпътстваща всяко подобно мащабно явление. Хората с висок рейтинг, давали точни отговори на въпросите и оценени от общността, се превръщат в знаменитости за света на програмирането, звездите се оказват гаранция за качество. Дотолкова, че когато България се оказа първата страна, в която министър стана човек в топ 40 на Stack Overflow, това се превърна в новина, отразена широко из софтуерния свят.
Появиха се, разбира се, и мемета. За това как програмистите няма нужда да учат, да работят, Stack Overflow едва ли не пише компютърния код вместо тях, те само търсят и копират…
А после шегите спряха. Дойдоха големите езикови модели, които се оказаха неочаквано добри в решаването на голяма част от проблемите. И се появиха още по-големите въпроси.
Програмисти от всички страни
Междувременно сайтът Stack Overflow се беше превърнал от общност и начинание, задвижвано напред с доброволен труд, в комерсиален продукт. Въпреки упоритите слухове той не беше купен от Microsoft, а през юни 2021 г. стана част от Prosus, холандска компания, подразделение на южноафриканския медиен конгломерат Naspers, в сделка за $1,8 милиарда.
След доста години начело споменатият Джоел Сполски напусна компанията, постът на главен изпълнителен директор беше зает от Прашант Чандрасекар.
2022 г., Stack Overflow има около 20 милиона регистрирани потребители и над 50 милиона посетители месечно, на практика всеки действащ програмист на планетата. В него са зададени 24 милиона въпроса, получили 35 милиона отговора. И тогава… се появи ChatGPT.
Залезът и зората
За последните 2 години посещаемостта на легендарния сайт е намаляла с около 50%. Значително по-малко са въпросите и отговори, всичко това, разбира се е лесно обяснимо – днес повечето програмисти използват различни системи с изкуствен интелект и едва когато те не им вършат работа, се връщат към добрата стара „Мека“.
Това постепенно променя и позициите в Google – днес резултатите от Stack Overflow, някога безспорни фаворити на търсачката, се губят сред останалите. Личи си и промяната в дискусиите на отговорите, все повече потребители пишат, че най-накрая и тук са се появили, както в социалните мрежи, хейтът, ненужната грубост, улисването в странични теми, невъзможността за модериране.
В края на миналата година бяха съкратени 10% от 700-те служители, грижещи се за сайта. Разбира се, всичко това идва на фона на съкращенията и в много други компании от бранша.
Нищо непознато от човешката история, нали? Едно начинание улавя духа на времето, превръща се в мода на деня, в стандарт, а после стига до естествения си залез. Обаче тук природният ход на развитие може да си има и неочаквана цена.
Змията си яде опашката
Stack Overflow винаги е бил отворен сайт със свободен достъп, макар и постепенно развил комерсиалната си страна. Но тогава е логично да се замислим… как изведнъж големите езикови модели се оказаха толкова способни в писането на компютърен код, в подобряването, в намирането на грешки… в отговорите на комплексни или пък твърде конкретни въпроси, свързани със създаването на софтуер?
„Някои от големите компании изрично посочват Stack Overflow като основен източник на данни за обучение“, казва днешният шеф на проекта Прашант Чандрасекар. Той си спомня времената, когато е бил млад програмист, писал и дебъгвал код до късно вечер. Защото попадал в задънена улица и нямало кой да му помогне. „Това е причината, поради която Stack Overflow стана толкова популярен. Не е нужно да прекарвате дълги часове нощем, за да разберете нещо. Разполагате с този феноменален ресурс на общността, а това може да бъде оценено само от хора, които са се сблъсквали с проблема.“
Сега обаче, казва Прашант, навлизаме в нова ера, защото имаме следващото поколение алгоритми. Stack Overflow също залага на навлизането на ИИ в платформата, както и повечето днешни софтуерни гиганти.
Истината или се осмеляваш?
И ето че стигаме до големия въпрос. Какво ще правим нататък, когато се появяват следващите нови технологии? Тогава няма кой да седи и да пише отговорите, а на какво ще се обучава изкуственият интелект?
Да, компаниите, разработващи големи езикови модели, са готови да си плащат, при това все по-сериозни суми за достъпа до обучителни данни, но ако… няма кой и как да им ги осигури? Или пък алгоритмите ще минат на следващото ниво и вече няма да имат нужда от това, след като ще развият нещо, все по-близко до човешкото мислене?
„Всички модели на ИИ се нуждаят от постоянен поток от качествени човешки данни, върху които да се обучават. Без това те са обречени на по-лоши резултати“, казва Чандрасекар. „Това е съвсем реален проблем, винаги ще се нуждаем от солидни, висококачествени източници на истина като Stack Overflow“.
Тоест… в програмирането ИИ неусетно заменя човешката колаборация. И дори тук се появява проблемът с дефинирането, търсенето, валидирането на истината.
Както неотдавна каза Борис Симандов, създаваме все по-сложни софтуерни решения, но целият процес, по който го правим, е погрешен. Трупаме ли, трупаме технологичен дълг… а какво ще се случи нататък може само да гадаем.
Най-важното според мен е да си задаваме въпросите. По възможност, преди отговорите да ги изпреварят…
- В края на 2023 г. най-много потребители на Stack Overflow са на възраст 25-34 (37,28%), следват 35-44 г. (23,02%). Последни са 65+ (1,32%).
- Най-използваният език днес е JavaScript (63,61%), следват HTML/CSS (52,97%) и Python (49,28%).
- Според последното проучване на сайта за първи път най-добре платени са програмистите, които използват новия език Zig (изкарват средно $103 611 годишно). Няколко години подред начело беше Clojure.
- Най-много са потребителите от САЩ (21,21%), Германия (8,34%) и Индия (6,4%).
- Средното време, което прекарват на сайта е доста високо като за времената онлайн – 7:21 минути.
Материалът е подготвен със специалното съдействие на Ирина Марудина.