С днём рождения, BASIC! Языку программирования исполнилось 60 лет

С днём рождения, BASIC! Языку программирования исполнилось 60 лет

С днём рождения, BASIC! Языку программирования исполнилось 60 лет

Простой язык программирования, разработанный ещё в 1964 году, стал основой персональных компьютеров Apple, TRS-80, IBM и Commodore. На этой неделе ему исполнилось 60 лет.

1 мая 1964 года профессора Дартмутского колледжа Томас Курц и Джон Кемени успешно запустили первую программу, написанную на только что разработанном языке программирования BASIC (Beginner's All-Purpose Symbolic Instruction Code) на мэйнфрейме General Electric GE-225.

BASIC был создан как простейший язык для непосредственного общения человека с вычислительной машиной и впоследствии вдохновил целые поколения программистов.

Именно понятный синтаксис BASIC с его простыми английскими ключевыми словами стал залогом популярности среди начинающих программистов.

Мы все привыкли к маленьким, недорогим компьютерам, простым в использовании. Но так было не всегда. Изначально программирование заключалось в физическом соединении проводов и переключении рычагов. Спустя время инженеры смогли избежать низкоуровневые операции. В бой пошли языки программирования.   

До появления BASIC уже существовали некоторые языки программирования, такие как Fortran, Algol и COBOL. Проблема заключалась в том, что они были сложными и использовались только профессионалами. BASIC создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения своих задач. Простота и мощь этого языка программирования быстро сделали его любимым как среди обучающихся, так и среди преподавателей.

Кемени, Курц и группа студентов создали для General Electric операционную систему с разделением времени. BASIC, запущенный на этой операционной системе, позволил колледжам, средним школам и частным лицам по всей стране подключаться к мейнфреймам и писать программы. Влияние BASIC стало распространяться далеко за пределы кампуса Дартмута.

В 1970-е годы началось активное развитие персональных компьютеров, BASIC тоже не стоял на месте. Пол Аллен и Билл Гейтс адаптировали язык для ПК типа Altair 8800, основав в то время компанию Microsoft. В 1976 году Стив Возняк разработал интерпретатор BASIC с нуля для Apple I, который впоследствии стал ключевой частью Apple II.

BASIC пользуется популярностью среди любителей ретрокомпьютеров, но мало кто использует его в качестве практического языка.

Потомки BASIC, такие как Visual Basic, Visual Basic for Applications (VBA) и Microsoft Small Basic, продолжают жить. Представленный в 1991 году Visual Basic применяется для разработки Windows-приложений, а для создания сценариев и автоматизации в приложениях Microsoft Office служит VBA. Для обучения начинающих программистов используется Microsoft Small Basic.

За простоту и легкость в использовании теперь отвечают другие современные языки программирования, такие как Python и JavaScript. Они взяли на себя роль, которую когда-то выполнял BASIC.

BASIC послужил толчком в обеспечении доступности вычислительной техники для широкой аудитории.

30-летняя уязвимость в libpng поставила под удар миллионы приложений

Анонсирован выпуск libpng 1.6.55 с патчем для опасной уязвимости, которая была привнесена в код еще на стадии реализации проекта, то есть более 28 лет назад. Пользователям и разработчикам советуют как можно скорее произвести обновление.

Уязвимость-долгожитель в библиотеке для работы с растровой графикой в формате PNG классифицируется как переполнение буфера в куче, зарегистрирована под идентификатором CVE-2026-25646 и получила 8,3 балла по шкале CVSS.

Причиной появления проблемы является некорректная реализация API-функции png_set_dither(), имя которой было со временем изменено на png_set_quantize(). Этот механизм используется при чтении PNG-изображений для уменьшения количества цветов в соответствии с возможностями дисплея.

Переполнение буфера возникает при вызове png_set_quantize() без гистограммы и с палитрой, в два раза превышающей максимум для дисплея пользователя. Функция в результате уходит в бесконечный цикл, и происходит чтение за границей буфера.

Эту ошибку можно использовать с целью вызова состояния отказа в обслуживании (DoS). Теоретически CVE-2026-25646 также позволяет получить закрытую информацию или выполнить вредоносный код, если злоумышленнику удастся внести изменения в структуру памяти до вызова png_set_quantize().

Уязвимости подвержены все версии libpng, с 0.90 beta (а возможно, и с 0.88) до 1.6.54. Ввиду широкого использования библиотеки пользователям настоятельно рекомендуется перейти на сборку 1.6.55 от 10 февраля 2026 года.

RSS: Новости на портале Anti-Malware.ru