Это позволил сделать ещё фортран, созданный раньше. Вообще фортран - исторически второй язык программирования после языка ассемблера.iprog писал(а):Его появление было настоящей революцией, потому что он позволил отвязать программы от конкретной процессорной архитектуры,
Почему Си - хорошо, а Си++ - плохо
Модератор: Duncon
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Опять ложь.iprog писал(а):Нет смысла придумывать что-то ещё.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Трансляторы бывают двух видов: компиляторы и интерпретаторы. Интерпретировать можно только в натив. Ни как не на c. Просто потому, что интерпретация - это трансляция в процессе исполнения, в куски исполняемого кода самого же транслятора.iprog писал(а):Изначально создатели языка Си и системы Unix предполагали, что возникнут другие языки, более удобные для программистов (каждый язык со своей специализацией). Для каждого такого языка, на Си будет написан транслятор (не компилятор), который транслирует исходник с этого языка опять же на Си, а не в исполняемый код.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
А получить текст на промежуточном языке можно только компиляцией.iprog писал(а): И уже этот промежуточный Си-текст транслируется Си-компилятором в бинарный исполняемый файл.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Ни одной идиотской фичи он не добавил. Наоборот, убрал идиотские фичи, например, монструозный ввод-вывод со строками форматирования. Сохранив переносимость и не навязав ни одной лишней операции. Даже конструктор может быть пустым, тогда при оптимизации кода он просто выбрасывается за ненадобностью. В результате процессор по-прежнему не делает ничего, что не было предусмотрено программой, просто часть исходного текста может быть инкапсулирована в членах. Ну а если тебе вдруг надо выполнить кучу дополнительных действий, то они прописываются один раз и потом многократно применяются. Про декомпозицию слышал?iprog писал(а): он прилепил дополнительные фичи (большей частью совершенно идиотские - вроде перегрузки стандартных операторов)
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
. Наоборот, добавлена возможность исключения единственного неявного механизма, который был в голом c - соглашения о вызовах. На c++ соглашение о вызовах было ровно одно и потому оно было невявным. На c++ можно явно указать соглашение о вызовах для каждой функции.iprog писал(а):в язык введены неявные скрытые механизмы, которые не работают одинаково на разных платформах
так вот почему они на нём пишутся. Это оказывается невозможно. Почему только они тогда на языке ассемблера не пишутся? Это ведь тоже не возможно.iprog писал(а):портируемые программы писать невозможно
Как раз очень удобен.iprog писал(а): и в то же время язык неудобен для высокоуровневого программирования, как и Си.
Попробуйте найти компилятор голого c для спектрума, или для телефона. А c++ есть везде, где он нужен.iprog писал(а):Компиляторы Си++ намного сложнее, чем компилятор Си, и есть не везде.
Опять ложь. Во-первых библиотеку классов c++ не возможно привязать к платформе. А во-вторых есть много софта на c++ на голом API.iprog писал(а):В основном Си++ используют, потому что под него написаны библиотеки классов (как правило привязанные к определённой платформе и операционной системе).
Ну как теряешься, когда тебе и понадобилось?iprog писал(а):Теряюсь в догадках, кому понадобилось раскручивать такое скотоложество (другого слова не подберу). Деньги в это вбуханы чудовищные - помню по той рекламной кампании, которая сопровождала продвижение Си++.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Если 0,08% кода сводится к вызову API, то без программы легко можно обойтись.somewhere писал(а):Тем более, в прилжениях Windows, где 80% кода сводится к общению с функциями WinAPI
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.