Перейти к содержимому

Создателем какого языка программирования является бьерн страуструп

  • автор:

Интервью с создателем С++ Бьёрном Страуструпом (Bjarne Stroustrup)

Предлагаем вашему вниманию запись беседы с Бьёрном Страуструпом (Bjarne Stroustrup), который спроектировал и разработал C++. Он также написал ряд книг: «Язык программирования С++» (книга выдержала 4 издания), «Язык программирования С++. Краткий курс» (2 издания), «Программирование: Принципы и практика использования C++» (2 издания) и др. Кроме того, Бьёрн опубликовал больше ста научных статей.

Интервью

Evrone: Ты создал один из самых эффективных и быстрых языков программирования. Без сомнения, это изменило наш мир. Изменился ли ты сам, как личность, работая над ним?

Бьёрн: Интересный вопрос. Многие задают его себе. Полагаю, надо отделить качества, которые остались неизменными, от тех, которые существенно изменились.
Меня с раннего возраста интересовали общие вопросы, которые решают, например, история и философия. Думаю, что это сыграло важную роль в развитии С++. Я так и сказал в 1994 г. в «Дизайне и эволюции языка С++». В то же время я всегда хотел что-нибудь создавать, а не просто углубляться в теоретические научные исследования. Я скорее инженер, чем теоретик. Я ценю высокую производительность, надежность и экономичность. Всё это, с упором на обратную связь, эволюционный прогресс и понимание проблем реального мира сформировало C++.

Один из аспектов моей работы, которому я с годами уделяю всё больше внимания — это образование. Когда я пытался объяснить свои идеи, я понял, что недостаточно создать что-то, нужно научить людей хорошо использовать то, что создал. Это стало проблемой для C++. Часто мое послание заглушали люди с упрощенным видением и склонностью к громким заявлениям. Я постоянно слышал в 1980–90 годах жалобы вроде «Мы не можем достаточно быстро подготовить преподавателей», и язык C++ часто преподавали ужасно. Неудивительно, что у некоторых сложилось очень негативное представление о C++.

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

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

Evrone: Бизнес-среда требует соблюдения жестких сроков при внедрении новых фич. Как разработчикам сохранить баланс между качеством кода и скоростью разработки?

Бьёрн: Это зависит от управленческой структуры и технической культуры. Моё личное мнение, которое сложилось в основном в Bell Labs — идеальное решение заключается в том, чтобы нанять лучших людей. При этом их должно быть достаточно не только для текущих срочных задач, но и для планирования задач будущих, для ведения экспериментов и создания первой версии следующей важной системы, а может быть, и той, которая последует за ней. Хорошая организация создаёт постоянный поток продуктов, большинство из которых представляют собой эволюционное развитие уже существующих продуктов, требующих обслуживания и обновления. Очевидно, что это не соответствует распространенным представлениям о сокращении расходов и/или создании революционной системы в будущем году.

Evrone: Сейчас распространилось мнение, что использование современных фреймворков важнее, чем применение математических знаний. Что ты по этому поводу можешь посоветовать начинающим программистам?

Бьёрн: Время, затраченное на математику, почти никогда не пропадает даром. Математика — один из лучших способов тренировки мозга, особенно в сочетании с компьютерными вычислениями, поскольку с их помощью ошибки быстро становятся очевидными.

Математика учит быть точным и не верить в чрезмерно упрощенные или ложные идеи.
Есть области, где математика необходима, например, для научных расчётов, некоторых видов графики и большей части финансового программного обеспечения, но для большинства людей нужны такие разделы математики, как теория вероятности и статистика. Достаточно ли быстро работает ваш код? Будет ли он масштабироваться? Каковы вероятные события и их последствия?

Конечно, многие приложения не требуют математики. Однако, если вы создаете инфраструктуру или развёртываете масштабное приложение, вам требуется учесть затраты вычислительных ресурсов и энергии, в этом случае недостаток математических знаний очень вредит.

Evrone: Разработчики иногда злоупотребляют мощной системой метапрограммирования C++, пытаясь вычислить всё возможное на этапе компиляции, чтобы разгрузить ран-тайм. Как ты считаешь, является ли такой подход приемлемым?

Бьёрн: Каждую новую мощную фичу или технику обязательно будут использовать к месту и не к месту, часто неправильно. Я не вижу никакого способа избежать этого. Наш энтузиазм нас подстёгивает, но со временем мы должны научиться лучше использовать инструменты и немного сбавить обороты. Впрочем, есть и плюс: чрезмерное использование выявляет недостатки, и мы можем их устранить. Например, метапрограммирование с помощью шаблонов было настолько полезным, что многие разумные люди были готовы игнорировать его уродство и ужасные сообщения об ошибках. Затем мы узнали достаточно, чтобы компенсировать эти недостатки с помощью функций constexpr и consteval, которые вычисляются во время компиляции, и концептов. Они значительно упростили многое при написании кода.

Evrone: С появлением нейронной сети AlphaCode от DeepMind в прессе появляется всё больше заявлений о том, что такие нейронные сети скоро заменят программистов. Как думаешь, есть ли для этого реальные предпосылки?

Бьёрн: Точно не знаю, но сомневаюсь, что ИИ заменит программистов в том виде программирования, который меня больше всего волнует. Высокая степень надежности и близкая к оптимальной производительность не очень-то поддаются стандартизации и усреднению. Когда я слышу об ИИ (в котором не очень силён), я напоминаю себе, что TensorFlow и подобные библиотеки — это C++, а значит, я внес свою лепту, как хорошую, так и плохую.

Evrone: Иногда мы, разработчики, не можем найти правильное решение для поставленной задачи. Оказывался ли ты в такой ситуации? Можешь ли что-нибудь порекомендовать, чтобы справиться с этим?

Бьёрн: Конечно, оказывался! Те, кто пытается сделать что-то новое и значительное, рано или поздно сталкиваются с проблемой, с которой можно биться часами, днями, неделями с ощущением, что зашёл в тупик и всё пропало. Но не следует впадать в отчаяние.
Чтобы понять проблему, нужно постараться рассмотреть её логически. Измеряйте, если есть что измерить, чтобы получить обратную связь. Хорошо обдумайте то, что вы пытаетесь сделать: может быть, вы делаете не то, что нужно, или неверно сформулировали требования. Время от времени устраивайте перерыв и думайте о чём-то другом. Если есть возможность, я выхожу на пробежку. Часто полезные идеи приходят мне в голову именно тогда, когда я расслабляюсь.

Evrone: Существует (печально) известная шутка, что любую архитектурную проблему можно решить введением дополнительного уровня абстракции. кроме проблемы слишком большого количества уровней абстракции. Многие программы на C++, которые мы видели, содержали чрезмерное их количество. Есть ли какие-нибудь советы от автора языка о том, как не плодить лишних абстракций?

Бьёрн: Это «Первый закон вычислений» Дэвида Уилера. Для меня ценно, что ты помнишь вторую половину — многие забывают о ней, а между тем в этом суть. Когда я писал диссертацию, Дэвид Уилер был моим научным руководителем. Он был замечательным человеком, и я многому у него научился.

Эта «шутка», возможно, сегодня более актуальна, чем тогда, когда Дэвид её придумал. Люди продолжают прятать реальную логику за несколькими слоями абстракции, включающих косвенные обращения. Это может повлечь увеличение размера и/или времени выполнения на один-два порядка. Многое в современном C++ существует для того, чтобы позволить людям иметь приличные интерфейсы, которые компилятор может свернуть в простой машинный код без лишних промежуточных операций.

Evrone: За последние десять лет в основных языках появилось много «синтаксического сахара». Что ты думаешь об этой тенденции раздувания синтаксиса ради того, чтобы несколько улучшить инструментарий для опытных разработчиков?

Бьёрн: До тех пор, пока «раздувание» синтаксиса упрощает жизнь программистов, его надо приветствовать. Я называю это «упрощением простых задач». По-моему, основная идея заключается в том, чтобы дать программисту возможность выражать фундаментальные идеи непосредственно в коде. Например, нет никакой пользы или выгоды в том, чтобы выразить простой цикл над контейнером как цикл в стиле С. Лучше использовать range-for или алгоритм из стандартной библиотеки шаблонов. В большинстве случаев они напрямую соответствуют замыслу. Кропотливую работу с переменными цикла оставьте для необычных случаев, например, для перебора каждого второго элемента контейнера. Более чёткое выражение идей легче написать, легче прочитать, легче поддерживать, и оно часто лучше поддается оптимизации в целях ускорения выполнения.

Я не считаю, что нужно стремиться к единственному способу сказать о чём-то. Если идти таким путем, то некоторые вещи становится очень трудно выразить, а чтобы выразить другие, придётся говорить слишком много. Кроме того, с прошествием времени накапливаются изменения, что приводит и к изменению языка. В этом отношении языки программирования не так уж сильно отличаются от естественных языков.

Evrone: Многие люди считают тебя своим наставником. Как ты думаешь, какими качествами должен обладать хороший наставник, например, внутри компании или команды?

Бьёрн: Готовность слушать и серьёзно подходить к пониманию проблемы. Затем, требуется определенная степень смирения, когда собираешься дать совет, ведь часто наше понимание не является полным. При этом хороший наставник должен давать конкретные советы, а не выдавать общие расплывчатые фразы. Если кто-то обращается к вам с серьёзным вопросом, он заслуживает серьезного ответа, который поможет двигаться дальше. Давать советы трудно.

Хорошие вопросы многому учат. Они являются основным двигателем прогресса. Хороший наставник сам многому учится у студентов.

Evrone: Не мог бы ты рассказать о предстоящих изменениях в языке, которые, по твоему мнению, стоит добавить в будущие версии C++?

Бьёрн: Для начала, сообщество должно привыкнуть к новым, мощным и более простыми в использовании возможностям C++20. По числу улучшений стандарт C++20 сравним с C++11. Здесь я упомяну только две особенности языка (на самом деле их больше) и, конечно же, компоненты стандартной библиотеки.

  • Модули. Наконец, мы можем написать import Mod, чтобы получить доступ к интерфейсам, экспортируемым с помощью module Mod, больше ничего не требуется. Это обеспечивает гораздо лучшую гигиену кода, чем подключение хедеров с помощью #include, которые раскрывают детали реализации и макросы. Модули к тому же значительно быстрее компилируются. Например, я скомпилировал простое использование import std в десять раз быстрее, чем #import, хотя std содержит всю стандартную библиотеку, а — менее 10% из неё. Модуль std пока является экспериментальным, но за его включение в C++23 уже проголосовали.
  • Концепты. До появления C++20 все шаблоны были неограниченными; то есть они не указывали интерфейс, на который могли бы смотреть люди и инструменты, чтобы определить требования шаблона к его аргументам. Например, template для шаблона, которому нужен тип «итератор». Теперь мы можем определять такие требования, называемые concepts, и использовать их: template . Такие ограниченные аргументы шаблонов всегда были идеалом, к которому надо стремиться. Я просто не знал, как реализовать эту идею, не ограничивая гибкость и не повышая потребления ресурсов во время выполнения. Теперь мы можем немедленно проверять использование шаблонов, получать гораздо более качественные сообщения об ошибках, перегружать шаблоны функций, а местами даже повысить производительность.

В Интернете вы можете найти гораздо более подробную информацию; например, поищите сопрограммы (coroutines), ranges, calendars, time zones, formatting, тип span, а также compiler-time vector и string. Фичи C++20 поставляются в основных компиляторах.

Теперь я могу вернуться к твоему вопросу насчет будущих версий. Многое было отложено из-за пандемии. Мы хотели бы, чтобы некоторые важные проекты вошли в C++23, но мои любимые фичи закончить не получится. Здесь я упомяну только три из них:

  • Статическая рефлексия: нам нужен механизм для генерации кода во время компиляции на основе типов в программе. Это даст нам почти всю гибкость рефлексии во время выполнения, без затрат времени и пространства. Например, должно быть очень просто сгенерировать оптимизированный JSON-ридер для фиксированного набора типов. Над этим была проделана значительная работа.
  • Сопоставление с образцом: возможность выбора действия на основе соответствия выражения какому-либо образцу (например, тип или значение) является одним из самых удобных способов выражения альтернативных действий во многих функциональных языках программирования. Мы можем сделать то же самое для C++, и в процессе архаичный оператор switch станет излишним. У нас почти закончен проект с экспериментальной реализацией, поэтому я надеюсь, что в C++26 эта фича появится.
  • Модель параллелизма: Мы уже много лет работаем над общей моделью параллелизма, но постоянно находим сценарии использования, для которых она не работает, поэтому приходится откладывать решение этого вопроса до стандарта C++26.

Пожалуйста, помните, что не отдельные функции делают программирование удобным, безопасным и эффективным. Нам нужна плотная сеть фич, которые работают в общей системе типов. Также мы не можем ломать миллиарды существующих строк C++: совместимость и стабильность на протяжении десятилетий — очень важные характеристики.

Заключение

Нам было очень интересно поговорить с Бьёрном и кое-что узнать о его огромном опыте.

В Evrone мы разрабатываем индивидуальные программные решения с учётом специфических потребностей наших клиентов. Если вам нужна помощь с реализацией проекта или идеи, или вы просто хотите узнать больше о наших услугах, отправьте нам сообщение через форму ниже, и мы с вами всё обсудим.

Язык программирования С++ и
Справочное руководство по языку программирования С++ с комментариями.

На данной странице предоставлена возможность, загрузить на Ваш компьютер выше указанную книгу. Слева в подменю нажмите кнопку «Скачать» для начала загрузки архива RAR.
Также Вы можете скачать с Немецкого сервера по ссылки ниже. Там жмите на кнопку «FREE», потом в другом окне введите знаки с рисунка в форму и нажмите на кнопку «Start Download».

Размер файла — 1,6 МБайт.
Время загрузки на скорости 28,8 кбит/сек — 00>07>30 час>мин>сек.

Требование

Интернет проводник (броузер).

Количество скачиваний с разных ресурсов.

  • kak-tot.narod.ru — 262.
  • rapidshare.de — 182.

Назначение

После изучения этого языка программирования Вы сможете заставить, практически любую вычислительную машину, делать то что Вам надо.

  • законченный учебник и руководство по языку.
  • полное освещение средств языка, нацеленных на абстрактные типы данных и объектно-ориентированное программирование.
  • обсуждение программистских и технических вопросов, возникающих в процессе проектирования и создания больших программных систем.
  • описание способов построения библиотек высокого класса.
  • примеры реализации ключевых типов данных, определяемых пользователем, таких как графические объекты, ассоциативные массивы и потоки ввода- вывода.

  1. Ведены новые ключевые слова-синонимы для операций (and, and_eq, bitand, bitor, compl, not, or, or_eq, xor, xor-equ).
  2. В языке появился булевский тип данных bool и литералы этого типа true и false.
  3. Появился механизм пространств имен (namespace), облегчающий совместную реализацию проектов группами программистов и позволяющий избегать проблем при использовании нескольких библиотек (ключевые слова namespace и using).
  4. Новое ключевое слово explicit позволяет запретить нежелательное использование конструкторов как функций преобразования типов.
  5. Изменены синтаксис и семантика для изменения прав доступа к членам классов. Новый механизм позволяет использовать единый синтаксис для использования членов пространств имен и членов классов. При этом несколько изменились правила выбора наиболее подходящей из набора совместно используемых функций (на основе использования ключевого слова using).
  6. Добавлен механизм явного использования rtti (включающий операцию с ключевым словом typeid и класс type_info стандартной библиотеки).
  7. Добавлены новые и скорректированы старые способы явного преобразования типов (static_cast, dynamic_cast, const_cast и reinterpret_cast).
  8. Добавлена новая операция new[], парная к операции delete[]; для операций new и delete изменена семантика выражения размещения с целью более безопасной обработки исключительных ситуаций в конструкторах. Стандартная операция new теперь не может вернуть значение 0 в случае нехватки памяти или ошибки, а генерирует исключительную ситуацию. Старый вариант, возвращающий 0, доступен программисту только c явным указанием.
  9. Объявления переменных теперь возможны не только в заголовке for-цикла, но и в операторах if, while, do-while, switch.
  10. Более точно определено время жизни временных объектов в выражении. Теперь время их жизни ограниченно полным выражением, а не концом текущего блока, как сказано в ARM.
  11. Полностью переработано определение шаблонов в Си++. Теперь уже нельзя сказать, что шаблоны Си++ являются лишь слегка замаскированными синтаксическими подстановками. Для них обязателен синтаксический разбор и контроль семантики (в максимально возможной степени). Неоднозначности внутри тел шаблонов, вызываемые неизвестной природой типовых параметров, явно разрешаются посредством ключевого словом typename.
  12. Допускаются шаблонные функции-члены нешаблонных классов, вложенные шаблонные классы и шаблоны — параметры шаблонов.
  13. Виртуальные функции могут возвращать тип, отличный от типа подменяемой функции базового класса, если эти типы являются указателями или ссылками на производный и базовый класс.
  14. Перечислимый тип (enum) окончательно утвердился как самостоятельный тип, не являющийся ни одним из целочисленных типов. Теперь разрешено совместное использование функций, основанное на этом различии; константа 0 перечислимого типа более не считается целочисленным 0, запрещено ее неявное преобразование к указательному типу.
  15. Ослаблено ограничение на тип, возвращаемый операцией ->. Теперь это может быть практически произвольный тип.
  16. Добавлено (на редкость бессмысленное) ключевое слово mutable, позволяющее допускать изменение членов объекта константного класса.

После распаковки в папке «смотрите» читайте файл «смотрите.txt» для установки нужного Вам размера шрифтов и откройте в браузере файл «index.htm».

Информация о авторе | Контакты | Условия использования | Copyright 2004-2006 OtDiatlovaOU. RU-KZ.

Opengl, скачаю opengl, opengl c, программирование opengl, download opengl, примеры opengl, opengl 3d, opengl камера, opengl 1.2, 3ds opengl, программа opengl, opengl исходники, opengl builder, вращение камеры opengl, opengl движок, где скачать opengl, бесплатно opengl, использование opengl, библиотека opengl, opengl текст, расширения opengl, opengl subsystem, opengl call, c opengl 3ds, opengl скачать, скачать opengl, open gl, open gl скачать, скачать open gl, download opengl, opengl dll, opengl download, glsetup, glsetup скачать, библиотека opengl скачать, glscene, opengl exe, установка opengl, open gl download, программирование c, программирование, download, freesoft, soft, c, с, c opengl 3ds, инициализация opengl, opengl 1.2 скачать, opengl glut, opengl скачать бесплатно, установка opengl, opengl exe, opengl 2d, настройка opengl, opengl intel, opengl dll, тени opengl, opengl sample, буферы opengl, кватернион вращение opengl, обновление opengl, уроки opengl, кватернион вращение opengl пример, load opengl subsystem, opengl скачать download, программу opengl скачать, проблемы opengl, opengl windows xp, ландшафтов opengl, opengl hack, поддержки opengl, поворот opengl, скачать библиотеку opengl, вывод текста opengl, c builder opengl, столкновение opengl, инициализация opengl без glut, opengl освещение, кватернион вращение opengl пример камера, программировании, язык программирования, программирование c, программирование скачать, задачи программировании, основы программирования, программирование window, линейное программирование, программирование под, программирование примеры, объектно ориентированное программирование, программирование си, программы программирования, обучение программирование, методы программирования, системное программирование, технологии программирования, язык программирования c, математическое программирование, сайт программирование, программирование графики, программирование графики, среда программирования, системы программирования, программирование ассемблер, программирование инструкция, алгоритмы программирование, задачи линейного программирования, программирование начинающего , самоучитель программирования, искусство программирования, уроки программирования, программирование язык си, программирование builder, программирование описание, программирование под windows, программирование бесплатно, экстремальное программирование, бесплатное программирование, 3d программирование, программирование c скачать, коды программирование, функциональное программирование, информатика программирование, программирование приложений, программирование opengl, визуальное программирование, программирование dos, программирование звука, развитие программирование, программирование удаленно, api программирование, программирование Microsoft, решение задач программирование, языки программирования высокого уровня, нелинейное программирование, программирование скачать бесплатно, программирование процессоров, программирование c builder, программирование интерфейса, дистанционное программирование, целочисленное программирование, школа программирования, структурное программирование, программирование Borland, практика программирования, программирование исходники, принцип программирования, метод линейного программирования, логическое программирование, программирование микропроцессоров, программирование borland c, профессиональное программирование, современное программирование, дистанционное обучение программированию, низкоуровневое программирование, последовательное программирование, графическое программирование, примеры задач программирование, высокоуровневые методы программирования, тесты программирование, основы программирования скачать , программирование класс, программирование справочник, эффективное программирование, программирование winapi, высокоуровневые методы информатики программирования, прикладное программирование, компьютерное программирование, программирование win32, скачать программирование windows, страуструп язык программирования, стили программирования, assembler программирование, модульное программирование, язык программирования c скачать, виды программирования, программирование звуковой карты, секрет программирования, программирование русский , параметрическое программирование, приемы программирования, программирование памяти, программирование дизайн, задачи математического программирования, решение задач линейное программирование, помощь программирование, программирование детям, азы программирования, программирование времени, математика программирование, win программирование, программирование c windows, жемчужины программирования, скачать системное программирование, стандарты программирования, программирование кнопки, реальное программирование, дискретное программирование, исследовательское программирование, обучу программированию, программирование списков, пример линейного программирования, язык программирования ассемблер, высшая школа программирования, программирование вопросы, программирование c, исходники, исходники программ , програмирование на си, программирование на си, програмирование на c, программирование на c, объектно ориентированное программирование, программирование windows, разработка по на заказ, скачать c, програмы для компьютера, програмное обеспечение, c , с, программист, программисты работа, приложения, скачать приложения, бесплатные приложения, разработка приложений, запуск приложения, создание приложений, приложения windows, приложения программы, консольное приложение, запущенные приложения, установка приложений, dos приложения, пример приложения, архитектура приложений, программирование приложений, закрыть приложение, скачать бесплатно приложения, приложения win32, загрузка приложений, программные приложения, иконка приложения, является приложением win32, тестирование приложений, проектирование приложений, стандартные приложения, написание приложений, открыть приложение, политика приложений, список приложений, проблема приложений, приложения windows xp, техническое приложение, типы приложений, api приложения, приложение dos xp, проектирование архитектуры приложения, перенос приложения , графические приложения, отладка приложений, запуск приложения windows, полезные приложения, внутреннее приложение, загружаемые приложения, аренда приложений, горячие клавиши приложения, многопоточные приложения, оптимизация приложений, практические приложения, программа, программы скачать, программа создания, бесплатные программы, программа бесплатно, файлы программ, сайты программ, скачать программу бесплатно, компьютерные программы, компьютеры программы, программы windows, рабочая программа, программа работы, программа развития , учебные программы, лучшие программы, скачивание программ, дизайн программы, программа управления, язык программа, обучающие программы, тексты программ, полезные программы, составление программ, информатика программа, программы тестирования, программы xp, программа данных, настройка программ, описание программы, установка программ, программы диагностики, образовательная программа, программы образования, удаление программ, разработка программ, новые программы, примеры программы, запуск программы, программы c, анализ программ, электронные программы, программы 3d, программ тесты, программа изображения, программа моделирования, программа определения, прикольные программы, социальные программы, программы локальная, каталоги программ, программа построения, скачать бесплатные программы, память программы, dos программа, программы процессоров, написание программы , программа форматирования, e программа, софт программы, программа windows xp, схема программа, база программ, программа автоматического, русские программы, программа окна, программы анимация, дополнительные программы, загрузка программ, программа технология, программа информация, исходники программ, программы стола, какой программой, примерная программа, установить программу, открытие программ , download программа, комп программы, программы exe, программа виртуальная, программа просмотра скачать, программа рабочий стол, продажа программ, запустить программу, графические программы, программы приколы, новейшие программы, программы дополнительного образования, программы решения, программы начального, программа монитор, скачать программы компьютера, программа подсчета, простые программы, скачать полезные программы, прикладные программы, интересные программы, проект программы, информационные программы, сайт скачать программы, детские программы, оптимизация программ, программа качества, автоматизация программ, страница программы, создать программу, программа статистика, программа самые, международные программы , обзор программ, взломанные программы, программы soft, найти программу, напишу программу, профессиональные программы, менеджер программа, программа сравнения, программа win, программы заставки, download, freesoft, soft , скачать программы бесплатно, скачать программы, бесплатный софт, софт, бесплатное по, бесплатные программы, бесплатные компьютерные программы, компьютерные программы, полезные програмки, полезные программы, программное обеспечение, программные продукты, бесплатно скачать, скачать бесплатно, халява, проги, програмки, прикольные программы, программы прикольные, обучение, soft, soft скачать, free soft, soft ru, soft download, www soft, программы soft, soft pc, бесплатный soft, www soft ru, soft бесплатно, soft windows, best soft, скачать бесплатно soft, soft софт, soft best ru, soft free download, new soft, soft сайты, soft xp, soft win, system soft, лучший soft, программное обеспечение, разработка программного обеспечения , скачать программное обеспечение, программное обеспечение договор, тестирование программного обеспечения, системное программное обеспечение, продажа программного обеспечения, прикладное программное обеспечение, бесплатное программное обеспечение, технология программного обеспечения, системы программного обеспечения, программное обеспечение эвм, лицензионное программное обеспечение, программное обеспечение управления, компьютерное программное обеспечение, технология разработки программного обеспечения, программное обеспечение компьютера, рынок программного обеспечения, программное обеспечение заказ, установка программного обеспечения, проектирование программного обеспечения , поставка программного обеспечения, разработчики программного обеспечения , программное обеспечение структура, программное обеспечение оценки , качество программного обеспечения, бизнес программного обеспечения, стоимость программного обеспечения, процесс разработки программного обеспечения, создание программного обеспечения, лицензии программного обеспечения, описание программное обеспечение, схема разработки программного обеспечения, схема процесса разработки программного обеспечения, информационное программное обеспечение, разработка программного обеспечения заказ, договор поставки программное обеспечение, банк программное обеспечение, виды программного обеспечения, программное обеспечение купить, надежность программного обеспечения, организация программного обеспечения, программное обеспечение программа, программное обеспечение пк, новое программное обеспечение, программное обеспечение бесплатно, аренда программного обеспечения, экспорт программного обеспечения, download, freesoft, soft, software, скачать software, software download, free software, software development, windows softwares, software management, pc software, software update services, golden software, software suite, software ru, software сайт, www software, windows software update service, программы software, pocket pc software, processing software, software engineering, software studio, бесплатно software, www software ru, бесплатный софт, софт бесплатно, скачать софт бесплатно, скачать бесплатный софт, бесплатные софт программы, программы софт бесплатно, бесплатный халявный софт, скачать бесплатно софт программ, полезный софт бесплатно , бесплатный русский софт, лучший бесплатный софт, скачать бесплатно полезный софт, бесплатный софт xp, новый бесплатный софт, сайт бесплатный софт, полезный бесплатный софт, новый софт бесплатно, халява бесплатно софт, новый софт скачать бесплатно, проги, проги скачать, создание проги, прог, бесплатные проги, проги файлы, сайт проги, прикольные проги, полезные проги, прога бесплатно, лучшие проги, скачать проги бесплатно, проги windows, новые проги, какой прогой, проги программы, проги локальные, прикольные проги скачать, халявные проги, скачать полезные проги, рабочую прогу, проги халява, русские проги, интересные проги, рабочий стол проги, нужные проги, c прога , прога процессор, проги приколы, где скачать проги, софт проги, скачать програмки, скачать программки, програмки, полезные програмки, полезные программы, прикольные програмки, прикольные штучки, бесплатный софт, софт, нужные программки, программки, скачать проги, полезные проги, прикольные проги, для компа, софты, программы, програ, програмы, прги, проги для windows, программы для компа, новые проги, новые программы, скачать полезные проги, бесплатные проги, программы для windows xp, программы для xp, интересные проги, интересные программы, лучшие программы, лучший софт, интересный софт, полезный софт, скачать программы бесплатно, скачать программы, программы бесплатно, exe, скачать exe, exe файл, download exe, rus exe, программы exe, window exe, оригинальный exe, запуск exe, создание exe, программа exe файлы, dll, скачать dll, dll download, библиотеки dll, dll windows, dll функции, создание dll, скачать файл dll, dll программы, найти dll , регистрация dll, использование dll, подключение dll, engine dll, просмотр dll, где скачать dll , библиотеки dll скачать, пример dll, зарегистрировать dll , загрузка dll, написание dll, редактор dll, установка dll, библиотека dll, библиотеки dll, библиотеки dll скачать, динамические библиотеки dll, dll библиотеки windows, алгоритмы, описание алгоритма, алгоритм работы, программа алгоритм, методы алгоритмов, алгоритм данные, алгоритм решения, алгоритм изображения, алгоритмы программирование, алгоритм обработки, алгоритм расчетов, построение алгоритмов, анализ алгоритмов, схемы алгоритмов, алгоритмы задачи, алгоритмы c, алгоритмы скачать, алгоритм управления, алгоритм реализации, алгоритм вычисления, структура алгоритмов, алгоритм системы, примеры алгоритмов, определение алгоритма, алгоритмы структура данных, алгоритмы блоки, алгоритмы графики, блок схема алгоритма, составление алгоритмов, алгоритмы генерации, оптимизация алгоритмы, алгоритм решения задач, алгоритмы графов, исходники алгоритм, сравнение алгоритмов, создание алгоритмов, алгоритмы строки, алгоритм евклида, линейный алгоритм, алгоритмы деревья, математические алгоритмов, алгоритмы матрицы, алгоритм язык, разработка алгоритма, алгоритмы фильтров, сложность алгоритма, алгоритм планирования, алгоритмы сборки, алгоритм проверки, информатика алгоритмы, фундаментальный алгоритм, алгоритм массив, алгоритмы фильтраций, слово алгоритм, алгоритм кодирования, виды алгоритмов, рисование алгоритмов, растровые алгоритмы, алгоритм обработки информации, алгоритмы деления, параллельные алгоритмы, применение алгоритма, библиотека алгоритмов, сайт алгоритмов, алгоритм умножения, триангуляция алгоритм, масштабирование алгоритм, алгоритмизация, алгоритмы графика, информатика, примеры алгоритм, алгоритм программирование, что такое байт, что такое бит, алгоритм евклида, двоичная система счисления, десятичная система счисления, системы счисления, шестнадцатиричная система счисления, программирование c, программирование, cpp, cpp builder, скачать cpp, cpp файл, cpp c, borland cpp, строки cpp, примеры cpp, работа со строками cpp, трассировка cpp, связанный список cpp, cpp file, asm, c asm, исходники asm, скачать asm, asm строки, команды asm, asm программы, примеры asm, программирование asm, asm низкоуровневые, asm низкоуровневые функции, assembler, assembler скачать, assembler windows, assembler программирование, microsoft assembler, c assembler, inline assembler, язык assembler, assembler download, assembler программа, flat assembler, assembler source, inline assembler c, алгоритмы assembler, assembler практикум, ассемблер, скачать ассемблер, программирование ассемблер, команды ассемблера, программа ассемблер, язык ассемблер, ассемблер windows, исходник ассемблер, язык программирования ассемблер, ассемблер примеры программ, коды команды ассемблера, файлы ассемблера, скачать ассемблер бесплатно, алгоритмы ассемблера, dos ассемблер, скачать программу ассемблер, ассемблер функции, ассемблер win, ассемблер под windows, ассемблер исходники программ , ассемблер win32, обучение ассемблеру, класс c, класс с, c класс, классы в c, библиотека классов c, скачать класс полиномов c, абстрактный класс c, новый c класс, класс c builder, язык c классы, анализ c классов, классы c для чайников, библиотеки классов на c, c, c скачать, c builder, на c, borland c, в c, программирование c, программы c, язык c, программирование на c, download c, скачать borland c, c ru, работа c, исходники c, borland c builder, c примеры, файлы c, c builder 6, c windows, с, программирование c, программирование, часы, borland c, c скачать, програмирование на c, скачать c, язык программирования с, язык программирования си, язык c, язык с, c программирование, программа с, программирование с, borland, builder, c builder, трехмерная, трехмерная графика, трехмерное моделирование, трехмерные изображения, трехмерные картинки, трехмерные программы, трехмерные объекты, трехмерный рабочий стол, трехмерные построения, трехмерная 3d , трехмерная фотография, трехмерный мир, трехмерный рисунок, трехмерный массив, трехмерное пространство, трехмерный дизайн, текстурирование трехмерных объектов, трехмерное проектирование, программа трехмерной графики, трехмерные обои, трехмерный windows, трехмерная анимация, трехмерные скринсейверы, трехмерное моделирование 3d, трехмерная графика скачать, трехмерное преобразование, скачать трехмерный рабочий стол, трехмерная графика программирование, ускоритель трехмерной графики, создание трехмерных моделей, графика, компьютерная графика, 3d графика, векторная графика, графика скачать, графика дизайн, программирование графики, растровая графика, сайт графики, трехмерная графика , машинная графика, алгоритмы графики , векторная растровая графика, графика бесплатно, программы 3d графики, ускоритель графики, программы компьютерной графики, пиксельная графика, 3d, 3d скачать, 3d модели, прохождение 3d, 3d screensaver, 3d графика, 3d обои, программы 3d, 3d бесплатно, download 3d, бесплатные 3d, 3d моделирование, скачать 3d бесплатно, создание 3d, 3d заставки, учебники 3d, 3d рабочий стол, 3d анимации, free 3d, 3d дизайн, 3d объекты, 3d библиотеки, 3d текстуры, скачать программы 3d, 3d движок, 3d ускоритель, материалы 3d, обои стол 3d, коды, скачать коды, коды программ, примеры, примеры программы, примеры задач, примеры использования, примеры написания, c примеры, примеры решения задач, программирование примеры, пример создания, пример автобиографии, технические примеры, примеры скриптов, примеры тестов, примеры процессы, пример структуры, html примеры, примеры моделей, примеры текстов, пример документа, пример описания, пример применения, пример построения, пример графика , примеры функции, примеры сценариев, примеры кода, моделирование, программа моделирования, моделирование процесса, моделирование систем, 3d моделирование, компьютерное моделирование, моделирование скачать, методы моделирования, экономическое моделирование, бизнес моделирование, моделирование бизнес процессов , экономико математическое моделирование, моделирование экономики, моделирование модели, трехмерное моделирование, моделирование технологических процессов, электронное моделирование, информатика моделирование, моделирование экономических процессов, социальное моделирование, численное моделирование, системы математического моделирования, моделирование потока, моделирование деятельности, язык моделирования, программа 3d моделирования, геометрическое моделирование, моделирование данных, моделирование физических процессов, моделирование динамики, компьютерное моделирование процессов, api, функции api, windows api, win api, win32 api, api программирование, использование api, вызов api, программа api , api приложения, win32, win32 api, приложения win32, является приложением win32, программирование win32, windows 3d, windows xp 3d, 3d интерфейс windows, тестер, программы тестеры, работа тестером, часы, скачать часы, заставка часы, сайт часы, 3d часы, скачать часы 3d, 3d модель часов, 3d скринсэйверы скачать бесплатно часы, хранитель экрана 3d часы, логотипы, логотипы скачать, разработка логотипа, бесплатные логотипы, логотипы фирм, создание логотипа, векторные логотипы, логотип компании, логотипы оператора , дизайн логотипа, логотипы бесплатно, изготовление логотипов, программа логотип, образец логотипа, цветные логотипы, примеры логотипов, лучшие логотипы, логотип скачать векторный, производство логотипов, компьютерные логотипы, анимированные логотипы, нанесение логотипа часы, программа логотип скачать, 3d логотипы, скачать 3d логотип, создание 3d логотипа, изготовление 3d логотипов, хранители, хранители экрана, хранитель скачать, хранители экрана бесплатно, заставки хранители, скачать бесплатно хранитель экрана, бесплатные хранители, хранители экранов заставки, бесплатные хранители экранов, лучшие хранители экрана, хранители экрана часы, программа хранитель, хранители рабочего стола, скачать программу хранитель, хранители сайт, скачать лучшие хранители экрана, 3d хранители экрана, скринсейвер, скачать скринсейверы, скринсейвер бесплатно, 3d скринсейверы, бесплатные скринсейверы, бесплатно скачать скринсейверы, часы скринсейвер, скринсейверы рабочий стол, лучшие скринсейверы, создание скринсейверов, скринсейверы заставки, программа скринсейвер, красивые скринсейверы, скринсейвер компьютер, скачать 3d скринсейвер, скринсейверы windows, xp скринсейвер, прикольные скринсейверы, код скринсейвера, cкринсейверы, новые скринсейверы, screensavers скринсейверы, создать скринсейвер, скачать бесплатные скринсейверы, скринсейверы download, лучшие заставки скринсейверы, скринсейвер исходники, screensaver, 3d screensaver, скачать screensaver, screensavers free, clock screensaver, 3d screensaver crack, screensaver бесплатно, screensavers download, скачать бесплатно screensavers, screensaver 3d serials, скачать 3d screensaver, 3d clock screensaver, screensaver ru, screensavers заставки, mechanical clock 3d screensaver, screensaver space, хранители экрана , заставки для рабочего стола, заставки на рабочий стол, скринсейверы, screen saver, скрин сейвер, screen mates, screenmates, screenserver, screensever, screensaver для рабочего стола, обои заставки, заставки для экрана, заставки на экран, wallpapers , walpapers, скринсерверы скачать, скринсерверы, заставки для компьютера, бесплатные хранители экрана, хранители экрана бесплатно, скринсэйверы скачать, скринсэйвер, лучшие хранители экрана, хранители рабочего стола, скачать screensavers , скачать скринсейвер, хранители экрана скачать, desctop, desktop, лучшие screensavers, бесплатные screensavers, active screensaver, screensavers часы, windows screensavers, screensaver красивый, создание screensaver, программа screensaver , screensaver studio, скачать бесплатно 3d screensaver, drunken clock screensaver, super screensaver, free download screensavers, скачать заставку screensaver, хранители экрана, скачать хранитель экрана, хранители экрана бесплатно, скачать бесплатно хранитель экрана, хранители экранов заставки, бесплатные хранители экранов, лучшие хранители экрана, хранители экрана часы, скачать лучшие хранители экрана, 3d хранители экрана, рабочий стол хранители экрана, скачать, скачать бесплатно, программы скачать, скачать бесплатна, windows скачать, 3d скачать, скачать картинки, скачать русский, русская скачать, скачать приколы, скачать сайт, архивы скачать, c скачать, кодеки скачать , скачать программу бесплатно, скачать софт, скачать exe, скачать последний, можно скачать, скачать download, скачать новое, компьютерные скачать, скачать коды, скачать pc, скачать скрипт, любовь скачать, скачать полный, скачать заставку, internet скачать, скачать аниме, где можно скачать, скачать dll, прикольные скачать, скачать интернет, скачать русскую версию, скачать руководство, скачать лучшие, скачать библиотеку, скачать давай, скачать full, скачать россии, улетаю скачать, создания скачать, скачать дома, бесплатно скачать, скачать бесплатно, скачать программы бесплатно, скачать программы, программы, загрузить, скачать загрузить, загрузить файл, загрузить бесплатно, загрузить программу, загружайся, сайт загрузить, страница загружена, загрузить download, загрузить процессор, загрузить скачать download, download, free download, скачать download, full downloads, internet download, download xp, download exe, download 3d, download c, soft download, download программа, pc download, codec download, dll download, x download, download бесплатно, software download, files download, russian download, казахстана, республика казахстан, сайты казахстана, казахстан россия, предприятия казахстана, рынок казахстана, бизнес казахстана, алматы казахстан, интернет казахстан, программы казахстана, казахстана скачать, алматы, алмата, г алматы, город алматы, алматы сайт, алматы Казахстан, скачать kz, program, download programs, programs free, programming windows, programs скачать, program files, c program, program exe, programs ru, development program, free program downloads, www programs, program soft, windows ce programming, application, intel application, скачать applications, application compatibility, service application, windows application , application download, windows application compatibility, exe application, application builder, application programming, example, c example, dll examples, win32 service example , советы профессионалов, программисты, работа программистом, вакансии программиста, требуется программист, удаленный программист, резюме программист, записки программиста, удаленная работа программист, библиотеки программиста, сайт программистов , инженер программист, инструкции программиста, должностная инструкция программиста, начинающему программисту, про программистов, ищу программиста, c программисту, поздравления программисту, нужен программист, программист зарплата, профессия программист, программисты дома, системный программист, программист удал?нно, обучение программисту, удал?нная работа программиста , ищу работу программист, руководство программиста, программист обязанности, стать программистом, задание программисту, математик программист, требуется программист удаленно, специальность программист, приколы программистов, ведущий программист, разовая работа программиста, требуется программист москва , программист вакансия петербург , библиотека системного программиста, канада программист, практика программиста, работа программиста Интернет, программист микроконтроллеров, поиск программистов, дневник программиста, карьера программиста, программист 2005, найти программиста, работа начинающему программисту, помощь программисту, программист разработчик, вакансия программист москва , профессиональных программистов, проекты программистов, техническое задание программисту, задачи программиста, программа программист, требуется программист удал?нная работа, программист windows, работа программист c, аналитик программист, путь программиста, требуется программист удаленная работа, должность программист, ищем программиста c, программисты работа, программист, программирование c, программирование, профессий программист, работа программист, работа для программистов

Страуструп Бьёрн (Bjarne Stroustrup)

Страуструп Бьёрн (Bjarne Stroustrup)

Страуструп Бьёрн (дат. Bjarne Stroustrup) — компьютерный инженер, программист. Известен как автор языка программирования C++ который он сам называл «Cи с классами».

Биография, карьера

Страуструп родился и вырос в городе Орхус втором по величине городе в Дании. Окончил Орхусский университет (Дания, 1975) по математике и информатике, защитил диссертацию (Ph. D.) по информатике в Кембридже (1979).

Бьёрн Страуструп получил степень доктора философии, когда работал над конструированием распределённой системы в компьютерной лаборатории Кэмбриджского университета (Англия). Член колледжа имени Черчилля.

В 1979 году Страуструп, вместе со своей женой и дочерью, переехал в Нью-Джерси, чтобы пойти работать в компьютерный научно-исследовательский центр Bell Telephone Laboratories. В этом же году у него родился сын Николас.

До 2002 года возглавлял отдел исследований в области крупномасштабного программирования в компании AT&T (Computer Science Research Center of Bell Telephone Laboratories). Ныне профессор Техасского университета А&М.

Бьёрн Страуструп разработал язык C++.

В последнее время С++ становится самым широко используемым языком программирования, который поддерживает объектно-ориентированное программирование. Страуструп стал первопроходцем в области использования объектно-ориентированной и общей техник в области создания программных приложений, где эффективность является приоритетным свойством, таких как симуляторы, графика, пользовательские интерфейсы, прикладные системы, системы для научных вычислений.

Научные и общественные заслуги

Книга Страуструпа «Язык программирования C++» — одна из самых широко читаемых книг из своей области, которая была переведена на 19 языков. Следующая книга, «Дизайн и эволюция C++», открыла много нового в описании языков программирования: новые идеи, идеалы, проблемы. В дополнение к своим пяти книгам, Страуструп опубликовал более сотни академических и других популярных статей.

Бьёрн принимал активное участие в создании стандарта ANSI/ISO для C++ и продолжает работу по поддержанию и пересмотру стандарта.

В 1990 году «Справочное руководство по языку программирования С++ с комментариями» («The Annotated C++ Reference Manual») получило награду за непревзойдённое мастерство в области технической документации по мнению журнала «Dr. Dobb’s Journal». По мнению этого же журнала, в 1994 году книга «Дизайн и эволюция С++» получила награду «Productivity Award» за помощь программистам в совершенствовании их исходных кодов.

В 1993 году он был награждён премией имени Грейс Мюррей Хоппер «за его ранние работы в области языка С++, базирующиеся на его разработках и внёсшие наибольшее влияние в языки программирования за всю историю вычислительной техники». Кроме того, Страуструп является членом Техасской академии медицины, инженерии и науки (англ. Texas Academy of Medicine, Engineering, and Science). Бьёрн Страуструп был назван журналом «Fortune magazine» одним из «двенадцати лучших молодых американских учёных».

Бьёрн Страуструп был избран членом Национальной Академии Инженерии в США («National Academy of Engineering») в 2004 году за «создание языка С++». Как первый компьютерный учёный, он был награждён («William Procter Prize for Scientific Achievement from Sigma Xi») американским научно-исследовательским сообществом в 2005 году. Он также получил награду компьютерного сообщества IEEE «за начало разработки и коммерциализации объектно-ориентированной технологии создания программ и за большие изменения, внесённые в бизнес и индустрию».

Награды

  • 1993 — Премия Хоппер Грейс Мюррей
  • 2004 — Премия компьютерного сообщества IEEE
  • 2005 — Премия Уильяма Проктера за научные достижения
  • 2008 — Премия доктора Доббса в области программирования

Эксклюзивное интервью с создателем языка программирования C++

Сегодня имя Бьерна Страуструпа проходят в университетах. Это живая легенда, человек, создавший язык C++. В интервью CNews он поделился своим видением современной России и перспектив, открывающихся перед ИТ в нашей стране, а также рассказал о новом стандарте языка — C++0x, о возможностях и принципах разработки которого пойдет речь на на конференции CEE-SECR.

CNews: В ближайшее время будет презентован новый стандарт C++. Что изменится в этом языке программирования? Какие новые возможности появятся?

Бьерн Страуструп: У нас уже есть окончательный «черновик» проекта для версии C++0x. Я ожидаю, что он будет скорректирован в соответствии с официальными комментариями и утвержден окончательным голосованием 12 мая 2011 года. После этой процедуры, через несколько месяцев, необходимых на соответствующие бюрократические формальности, он станет официальным стандартом ISO. Никаких существенных изменений в подготовленном проекте не ожидается.

Бьерн Страуструп: Не нужно препятствовать студентам, профессорам, исследователям заниматься предпринимательской деятельностью или сотрудничать с бизнесом

Первое: изменения будут практически полностью совместимы с существующим стандартом. Комитет постарался cделать все возможное, чтобы правильно обработать существующие исходники ISO C++. Нарушения компиляции будут происходить в случае, если в старом коде использованы идентификаторы, которые в новом стандарте являются ключевыми словами. Так что если в вашем коде использованы идентификаторы static_assert, constexpr, или nullptr — мы приносим свои извинения, но существующий код придется изменить. Хорошей идеей было бы начать миграцию с широкоизвестных библиотек, интегрированных в новый стандарт. Это, в частности, thread, unordered_map, и regex.

C++0x был разработан для улучшения языка C++ в области системного программирования и построения библиотек. Также мы хотели сделать C++ более простым для изучения. Думаю, высокоэффективным решением было произвести сотни небольших изменений вместо того, чтобы выпустить одно или два глобальных расширения. Одним из показателей проведенной работы является то, что объем языковых разделов стандартных выражений вырос на 27%, а библиотеки — на 100%, но, вероятно, эти цифры преувеличивают степень внесенных изменений: около половины добавленных текстов являются разъяснениями для разработчиков.

Если говорить о возможностях, то их список вряд ли поможет по-настоящему оценить C++0x. Посмотреть их описание можно в моем my C++0x FAQ . Первое, что приходит на ум – безопасная поддержка традиционного параллельного программирования с использованием threads, locks, и так далее. Привлекательными для многих разработчиков окажутся регулярные выражения, хэш-таблицы, генераторы случайных чисел. В практическом использовании языка появилась возможность объявлять функции с указанием возвращаемого типа в конце (ключевое слово auto), разрешение лямбда-выражений, шаблоны с переменным количеством аргументов. Добавлен конструктор посредством списков инициализации, улучшен конструктор констант, упрощена работа for-loop. Иными словами, стандарту C++0x есть, что предложить, но программистам потребуется время для сочетания новых возможностей с эффективным стилем программирования.

CNews: Как создаются новые версии стандарта языка программирования? Какой вклад в этот процесс могут внести русские программисты?

Бьерн Страуструп: Различные языки имеют различные процессы стандартизации, и значение слова «стандарт» понимается тоже по-разному. C++ использует формальный, медленный и демократический процесс ISO, который считается эталоном для систем стандартизации. ISO категорически отличается от стандартизации языков, принадлежащих корпорациям : там «стандарт» подразумевает последнюю версию продукта.

Комитет по стандарту ISO C++ проводит свои заседания в течение недели трижды в год. Национальные комитеты по стандартизации также принимают участие во встречах и присылают своих представителей. Основная часть работы над стандартом заключается в постоянном общении по электронной почте, обсуждении вопросов и предложений, и работы над рядом документов, представленных в комитет. Их можно найти по запросу в поисковике «WG21» — они находятся в свободном доступе. На моей странице публикаций есть ссылки на те из них, в создании которых я принимал участие.

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

Импортозамещение в отрасли видеонаблюдения: подводим итоги, изучаем тенденции
Цифровизация

В принципе, принять участие в этом процессе можно через государственный орган по стандартизации. Россия уже направляла своих представителей ранее, но я не знаю, насколько они активны в настоящее время. Думаю, что неплохой идеей было бы собраться русским программистам вместе, возродить русский комитет C++, принимать участие во встречах (лично, по телефону или через электронную почту), чтобы их голос был услышан. Наиболее эффективное влияние оказывают представители, участвующие в заседаниях (и голосованиях).

Уже слишком поздно вносить существенные изменения в стандарт C++0x («существенные» в том значении, как его понимает большинство), но целью для русских специалистов может стать участие в разработке C++1x.

CNews: Как вы считаете, что произойдет с С++ через 10 лет? 20 лет?

Бьерн Страуструп: При нынешних темпах развития за это время произойдет два или три изменения стандарта. Я ожидаю таких изменений, которые в значительной мере будут отражать потребности большинства групп пользователей, новые лучшие методы программирования. 10 и 20 лет – это весьма длительные периоды в среде ИТ. Язык C++ отметит свой 25-летний юбилей в качестве коммерческого продукта, пока я нахожусь в Москве. Первый релиз (от AT&T) и публикация моей книги «Язык программирования C++» состоялся 14 октября 1985 года.

Какие новые разработки хотелось бы увидеть? У меня нет реальных идей. Надеюсь, что будут поддерживаться модели с более высоким уровнем параллелизма, и что различные стили программирования, которые мы знаем как «мультипарадигмы», будут правильно интегрированы в четко сформулированные системы проектирования и программирования (и получат хорошее описывающее наименование). Я надеюсь на значительное увеличение безопасности в современном коде. В идеале, на появление безопасного типа программирования.

CNews: Существует ли идеальный программист? Если да, то как он выглядит?

Бьерн Страуструп: В действительности, программирование – это кластер из соответствующих навыков и действий. Никто не может быть лучшим во всех аспектах программирования. Я хочу, чтобы мои программисты имели твердые фундаментальные знания (алгоритмы, структуры данных, архитектура, и т.д.) и специализацию (например, графика или приложения для исторических исследований). Хороший программист также должен уметь общаться (устно и письменно) и быть эффективным членом команды. Я думаю, что степень магистра является нужным уровнем образования для разработчика нетривиальных систем. Я написал короткую заметку по этому поводу: «Чему мы должны обучить разработчиков ПО? Почему?»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *