Comments 26
Дженерики в Аде очень похожи. ML действительно заметно отличается, там генерируется один код, обрабатывающий разные типы.
Я конкретно про реализацию в Аде - там их надо явно инстанциировать для конкретных типов, при этом насколько понимаю генерируется отдельный код.
Называются именно так.
Симула тоже повлиял на С++
Стиль K&R состоит в использовании восьми пробелов в качестве основного отступа (хотя чаще используются четыре пробела). Его также называют "kernel style", поскольку ядро Unix написано именно в таком стиле.
Очень сомнительное утверждение. В то время не редкостью были терминалы не только по 80, но и по 40 символов в строке, на которых делать отступы по 4 и тем более 8 пробелов было бы безумием. Тем более, что это лишние байты на хранение. Там были споры, один или два пробела ставить.
Под "стилем K&R" подразумевается определённое выравнивание скобок и других лексических элементов относительно друг друга, а не конкретное количество пробелов.
Ну и тему Objective C надо было бы раскрыть в таком изложении.
Тогда обычно пробелы не ставились, а ставилась табуляция. Редакторы также не заменяли табуляцию пробелами. Поэтому был только один символ. Ну и привычка. Специально посмотрел свой код 1992 года. Да. Везде табуляция. Правда сейчас она у меня отобразилось в смещение, равное двум пробелам.
В 1990 году появился Turbo C++ 1.0. Если память не изменяет Turbo сменилось на Borland где-то в районе третьей версии.
Первый коммерческий компилятор C++ (если не считать Cfront) создала компания Zortech ( в октябре 1988), которую потом купила Symantec и продавала под своим брендом
Далее
май 1990 - Borland Turbo C++ 1.0
февраль 1991 - Borland C++ 2.0 (версии 1.0 не было, просто выровняли версии)
ноябрь 1991 - Borland C++ 3.0
февраль 1992 - Borland Turbo C++ 3.0 (версии 2.0 не было)
март 1992 - Microsoft C/C++ 7.0 (первый компилятор С++ от M$)
июнь 1992 - Borland Turbo C++ for Windows 3.1
июнь 1992 - Borland C++ 3.1 (появился OWL)
сентябрь 1992 - Borland Turbo C++ for Windows 4.0
декабрь 1993 - Borland C++ 4.0
и т.д. может мне стоит накатать статью-таймлайн сред разработки и компиляторов С++?
На тему истории c++ лучше всего прочитать "дизайн и эволюция языка c++". Те части этой статьи, которые касаются непосредственно компилятора, там есть. И много чего ещё.
А книга хорошо написана и переведена, читается на одном дыхании.
Спасибо за комментарий! В том числе для этого текста некоторые детали были подчёркнуты из этой книги, а во второй части будет целый пункт про неё :)
если историю тогда и это, есть интересное высказывание от Ken Thompson
https://harmful.cat-v.org/software/c++/coders-at-work
Stroustrup campaigned for years and years and years, way beyond any sort of technical contributions he made to the language, to get it adopted and used. And he sort of ran all the standards committees with a whip and a chair. And he said “no” to no one. He put every feature in that language that ever existed. It wasn’t cleanly designed—it was just the union of everything that came along. And I think it suffered drastically from that.
Не согласен с томсоном.
Страуструп говорил, что основной принцип доработок: чем не пользуемся за то не платим. Ну и лишнего старались не брать. При это сказать, что к 2003 году язык был очень сложным-- врядли. Мультипарадигменным это да. Вот современный c++ стал гораздо менее понятным. Вот это все move semantic, lambda не к месту применяемые, duck typing с аuto, очень мешает понимать код. Тк концентрирует внимание на несущественных в большинстве случаев деталях.
Зная с++ 2003 стандарта просто понимать и java и PHP и python, но понимать стандарт 20 это не помогает.
Грозит ли jetbrains участь Borland...
Интересно, кто их может купить? Пока не знаю, кто может стать условным Embarcadero, чтобы поглотить JetBrains.
1) Jetbrains - это IDE, язык Kotlin. Borland - это IDE, компиляторы и всякие инструменты управления.
2) Разные эпохи: 1995-2008 - большая переходная эпоха с появлением новых языков,
2024 - более-менее устоявшаяся конфигурация
В итоге:
Borland - неверные выборы в условиях быстрого развития отрасли, неудачная конкуренция с MS, другие неудачные попытки расширить свою нишу
Jetbrains - более четкая локализация на удачных продуктах, охватывающих основные ЯП, в условиях более стабильного развития; удачная кооперация с Google.
Конечно, неожиданности есть всегда, но пока картина выглядит вот так.
Не уверен, что сейчас JB легче:
- Есть MS VS и VS Code и они делают свое дело в отьедании рынка
- есть MS GitHub
- есть ИИ фичи, которые наверное у MS будут сильнее
- есть состояние в мире, которое нельзя назвать более стабильным мне кажется
- у JB тоже много продуктов, и нам не видно, каковы они по успешности
- на одной из последних конф Оракла они говорили, что сильно обновили Java экстеншины для VS Code и далее будут прокачивать
- в общем мне кажется, что MS хочет сожрать весь дев (source control, IDE, cloud, AI, ...) и активно к этому прет.
А JB берут именно качеством самого продукта как по мне. И пока этот уровень качества важен для их пользователей - они убудт успешны.
В Java JetBrains сильно популярней и важней для юзеров, чем в том же JS, TS, Python.
Я бы поменял модель лицензирования. Вместо продажи ultimate версии, продавал бы плагины. Я уже давно использую комьюнити версию и не парюсь, но когда-то использовал платную и из всех фичей использовал максимум процентов 10, что можно было-бы купить за 200 долларов, вместо 600.
Для РФ правда теперь это не актуально. Так что я считаю продукт стоит не дёшево, дешевле чем в свое время борланд продавал, но все равно, есть альтернативы, так что посмотрим
Согласен.
Я тоже перешел на комьюнити эдишен. Заметил для себя, что самое важное для меня - это возможности рефакторинга ИДЕИ. А они были еще 100500 лет назад и не меняются фактически. А из нового - только поддержка более новых версий Джавы (новый синтаксис и т.д.).
Поэтому перешел на NeoVim для всего кроме Java + IDEA Community Edition для Java + Refactoring. Если бы рефакторинг не был так крут в IDEA, полностью бы ушел в NeoVim.
Но так по ходу и будет, так как пока IDEA перерисовывает иконки, темы, ИИ и делает, что бы человеку, ленящемуся во всем было легче программировать - другие редакторы понемногу реализуют крутые киллер фичи IDEA.
Поэтому не думаю, что у JetBrains все тут схвачено. Идет бой за юзеров явный. И разрыв между продуктами ДжетБрейнс и другими все время сокращается, а в некоторых моментах они мне кажется уже позади.
П.С. Ранее я был именно фанатом их продуктов. Лично на нескольких проектах переводил людей на IDEA с Eclipse и т.д. Но теперь у всего этого есть большое "НО" :)
Интересная статья. У меня кстате есть книга по с 2 издание. Очень хорошая книга, по ней сейчас изучаю язык праграммиравания с
История C и C++. Часть первая: появление и стандартизация C, C with Classes становится C++