С какво програмирането днес се различава от програмирането преди 20 години

Оригиналът е на Sedat Kapanoglu

18
3926

Видях, че този въпрос е зададен в Quora и започнаха да пиша отговор. Но той се получи толкова голям, че го превърнах в ето тази статия.

Част от промените в програмирането, които забелязах през последните 20 години:

  • Много концепции, които бяха чиста теория преди 20 години сега се широко се използват в практиката. Това са функционални парадигми като неизменните обекти, рекурсия на опашката, лениви свойства, функции от първи клас гледане отвисоко на всичко, които не използват всичко това
  • „Десктоп приложение“ без никаква ирония мнозина наричат компресирания и пакетиран браузър, който зарежда само една страница по подразбиране и няма адресен ред
  • Обектно ориентираното програмиране (ООП) изгуби позиции, въпреки че все още е много по-популярно от всяка друга алтернатива. Младите езици за програмиране като Go, Rust и Swift все по-активно използват типажи (traits). Композицията масово се предпочита пред наследяването
  • Поради широкото разпространение на многоядрените процесори поддръжката на паралелно програмиране в програмните езици се среща по-често, отколкото поддръжката на примитивните директни обръщения към функциите на операционната система отпреди 20 години. По този начин започна масовото използване на примитиви от типа sync/await, паралелни копрограми (coroutines) като горутините в Go или каналите в D
  • Пикселът вече не е единица за измерване на каквото и да било
  • Събирането на боклука стана съвсем обичаен начин за безопасно програмиране, но по петите ѝ са по-младите алтернативи като семантиката за задаване на времето на живот на обектите в Rust и язвителните шегички при демонстрирането на кода
  • 3 милиарда най-различни устройства използват Java. Този брой не се е променил през последните 10 години
  • Системата за управление на зависимостите стана жизнено важна част от всеки език за програмиране. Вече никой не иска ръчно да изтегля и да инсталира каквото и да било. Преди 20 години, когато изтеглехме някой zip архив, разархивирахме го в папката на проекта, след това обновявахме конфигурационния файл и се молехме нищо да не се развали
  • Да бъдеш част от екип на разработчици означава, че е необходимо да извършваш тайнствен ритуал: сутринта всички за около 15 минути чертаят окултни символи върху самозалепящи се листчета

  • Комплектът софтуер за работа с езика за програмиране сега е много по-голям. Преди имаше Goсамо компилатор и ако ти провърви и дебъгер. Днес в комплекта вече има линтер, автоматично форматиране на сорс кода, шаблонизатор, възможност за самообновяване и солиден списък с доводи за използване в онлайн споровете срещу конкурентните програмни езици
  • Даже езиците за програмиране взеха участие в дебатите „табове вместо спейсове“
  • Adobe Flash, който бе единственият работещ начин за реализирането на нормален интерфейс в уеб пространството, за щастие вече го няма. Само че на смяна на единния стандарт се появиха три различни фреймуърка със съвсем различни модели
  • IDE и езиците за програмиране се отдалечиха един от друг. Преди 20 години имаше отделно програмен език и IDE, специално написана за него – Eclipse за Java, Visual Basic, Delphi и т.н. Сега вече има универсални редактори от типа на VS Code, които поддържат огромен брой езици за програмиране и имат най-различни много богати възможности
  • Прието е кодът да се изпълнява зад три слоя на виртуализация. Като минимум. Код, който да се изпълнява директно на голия хардуер? Не, това би било излишно производително
  • Кросплатформеното разработване е стандарт за редица архитектури, мобилни устройства, облачни сървъри, вградени IoT и други подобни. Преди 20 години се пишеше код предимно за персонални компютри
  • Много по-рядко се стартира локален код
  • Документацията вече е само онлайн и се нарича Google. Офлайн документация почти няма. А ако я има, никой не знае къде се намира
  • Ръководствата и помагалата от мнозина вече не се считат за полезни, стига това да не е видеоклип. Дори и ако неговото гледане отнема повече време от прочитането на текста
  • Казват че преди появата на StackOverflow се е налагало да се задават въпроси на живи хора
  • Обикновените хора се занимават с разработка за Mac OS
  • Връзката с интернет е правило, а офлайн работата – изключение. Преди беше точно обратното.
  • При писането на нова програма задължително трябва да се мисли защита от хакване
  • Мобилните устройства вече могат да показват обикновените уеб страници, така че отпадна нуждата от поддръжка на WAP страници за мобилните версии на сайтовете в поддомейните
  • Ние с радост качваме нашия код в Open Source. Разбира се, само кода, който не ни е срам да покажем
  • В тази индустрия вече има много повече талантливи жени, хора с неевропейска външност и представители на ЛГБТ общността – благодарим на всички, които се бориха против дискриминацията. Не мисля, че пълното равноправие е постигнато, но ситуацията е много по-добра в сравнение с това, което бе преди 20 години
  • Изтичането на потребителски данни е нещо типово и обикновено. В подобни случаи в корпоративния блог се появява пост с препоръка за спешно обновяване на паролата. Почти никой не се извинява
  • Да си програмист на дистанционна работа вече е по-лесно от когато и да било. За това трябва да благодарим на технологиите за видео конференции, всеобщия достъп до интернет и на домашните машини за кафе
  • Вече не използваме IRC връзка. Избрахме много по-раздутата алтернатива с име Slack, само и само да не въвеждаме ръчно адреса на сървъра
  • Вече и на видеокартите се стартират пълноценни програми
  • Вашият труд не струва и една стотинка, ако не се базира на блокчейн и изкуствен интелект. Дори и ако централизираната версия е по-опростена, по-ефективна и по-бърза
  • 1 GB вече не е никакъв капацитет
  • Поради атаките от типа „страничен канал“ вече не вярваме и на процесорите
  • Значителна част от програмирането се осъществява по време на игра с джаги
  • Тъй като вече имаме много по-бързи процесори, сложните изчисления започнахме да извършване с помощта на на Python, а не на Fortran. По този начин тези изчисления заемат същото време, колкото заемаха преди 20 години
  • Създаването на нови езици за програмиране е едно обикновено и нормално хоби
  • Колегите се мръщят, когато разберат, че съхранявате паролите на потребителите в отворен вид. Но нищо не казват, понеже и те самите правят същото

Ако се сещате за други подобни примери, споделете, за да направим по-правилен и по интересен паралел по отношение на програмирането преди години.

0 0 глас
Оценете статията
Абонирай се
Извести ме за
guest
18 Коментара
стари
нови оценка
Отзиви
Всички коментари