Здравствуйте, sergey2b, Вы писали:
N>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать. S>и почему же он тода еще жив S>pascal вот умер и Си живее всех живых
Потому, что его используют электронщики. У электронщиков одна программа соответствует одной схеме. Изменение схемы == изменение программы. С++ им не нужен.
Здравствуйте, Nikе, Вы писали:
N>Здравствуйте, SomeOne_TT, Вы писали:
SO_>>Не соглашусь. На сях пишут совершенно иначе, нежели на плюсах.
N>Пишут так же, только на порядок более многословно, опаснее и нерасширяемей ):
Как человек, четверть века использующий С (правда, последние лет десять больше С++) соглашусь с тем, что
На сях пишут совершенно иначе, нежели на плюсах
и не соглашусь с этим:
только на порядок более многословно, опаснее и нерасширяемей
ООП (с точки зрения практического программирования) — всего лишь технология и, как любая технология,
она имеет свои плюсы и минусы. Я видел элегантный код на С и ужасный на С++, ровно как и наоборот.
Здравствуйте, Maniacal, Вы писали:
M>>>Нет, куча .obj-файлов, которые потом линкуются в одну программу _>>Для это есть либы
M>Особенность сишных компиляторов: один файл исходников — один объектный файл. А так да, либа = собранный в один файл набор объекнрых файлов. Либа от исполняемого файла логически только наличием функции main отличается, а физически дополнительно наличием заголовка исполняемого файла.
S>мне по Си больше всего вот эта нравиться S>читается за полдня и все что надо с примерами изложено S>Язык программирования Си для персонального компьютера S>Бочков S>Субботин S>https://www.ozon.ru/context/detail/id/138319640/
Хорошая книга — читал в 90-е.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, sergey2b, Вы писали:
N>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.
S>и почему же он тода еще жив S>pascal вот умер и Си живее всех живых
Торвальдс его любит. И еще некоторое количество упоротых. У и всякие ниосиляторы в эмбеде.
Ну и уже столько кала наворочено, типа всяких гобжектов, что никто в здравом уме переписывать не будет, да и развивать, кроме владельцев-основателей и некоторых упоротых последователей, никто не берется
У нас тут дядечка до недавнего прошлого под PIC'и на асме всё писал, только полгода назад пересадили его на STM21 и потихонечку крестам обучаем. Пока в основном сишное подмножество. Думаю, такие мамонты и еще есть.
Здравствуйте, B0FEE664, Вы писали:
N>>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать. S>>и почему же он тода еще жив S>>pascal вот умер и Си живее всех живых
BFE>Потому, что его используют электронщики. У электронщиков одна программа соответствует одной схеме. Изменение схемы == изменение программы. С++ им не нужен.
Электронщики у нас схемы рисуют и разводят. А прогают прогеры-эмбеддеры, и я в том числе. Схема-то в комплексе конечно одна уникальная, но компоненты — датчики всякие — вполне типовые, и набор схемных решений тоже типовые. Всё уже давно упаковано в плюсовые либы, и вся разработка сводится к набивке main'а нужными объектами. Обычно новый девайс за неделю-другую целиком поднимается, и тормозят проблемы в основном с железом — то электронщики накосячат, то монтажники
М>то что на нём почти все mcu программируются?q А так же драйвера, системные утилиты и огромное количество кроссплатформенных opensource либ?
Эмбеддеры давно на плюсы перешли. Пятый Keil (armcc) даже 11 стандарт поддерживает (в нем — в Keil'е есть и clang), а на днях JetBrains выкатили CLion для армовских MCU.
Драйвера под винду давно на плюсах пишут, под линупс — да, на сишечке в основном, из-за упоротости отца-основателя
Здравствуйте, LaptevVV, Вы писали:
N>>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать. S>>и почему же он тода еще жив S>>pascal вот умер и Си живее всех живых LVV>Нифига паскаль не умер. LVV>Как использовался для обучения — так ип используется.
я активно писал на Turbo Pascal c 89 по 93 год (если не ошибась самый большой проект у меня был больше 20 000 строк)
при этом у меня были друзья в компании которых примеррно до 95 года основной язык был pascal и они хорошо зарабатывали и везли много книг и библиотек по Pascal из заграницы
turbo pascal 3 был пожалуй лучшим языком на момент своего выходы (MSDOS, CP/M, Apple II)
и позволял писать большие программы коммерческого качества
не теряя над ними контроль
с 640k RAM и одним дисководом
не случайно первая версия винды писалась на pascal
Аштантейт активно использовало его
TPW for Win был гораздо лучше и удобней С++ и позволял писать на 386 компе под win 3 (что я и мои знакомые делали)
потом что то пошло не так и Си и С++ стали лучше паскаля
потом Borland умер
потом перестали писаться книги уровня Фараонова
Здравствуйте, Михaил, Вы писали:
N>>Основное отличие С от С++, это убогость и крайняя устарелость.
М>минималистичность и полный контроль над железом.
C++ — это минималистичность и полный контроль над железом. А С — отстой.
М>то что на нём почти все mcu программируются?q А так же драйвера, системные утилиты и огромное количество кроссплатформенных opensource либ?
Современные драйвера вполне себе на С++ пишут. На С пишут дрова, если нужно в килобайты вместиться.
М>ты сиплюсплюсер?
Я использую тот язык, который оптимален для конкретной задачи.
Здравствуйте, Vaynamond, Вы писали:
V>ООП (с точки зрения практического программирования) — всего лишь технология и, как любая технология, V>она имеет свои плюсы и минусы. Я видел элегантный код на С и ужасный на С++, ровно как и наоборот.
Как человек программировавший вообще всё что угодно за те же четверть века сообщу, что хорошего кода на С не видел. Хорошего в том плане, что его нельзя было бы в разы улучшить переписав на С++.
LVV>>Нифига паскаль не умер. LVV>>Как использовался для обучения — так ип используется. M>Это и называется — умер, когда только для обучения используется. Непонятно только, зачем над студентами издеваетесь
1. Во-первых, Паскаль для обучения и создавался.
2. Он всегда для обучения использовался. Это фирмы решили, что это промышленный язык и стали выпускать средства разработки
3. Мы-то как раз не издеваемся...
И наша МНОГОЛЕТНЯЯ практика показывает, что С++ для обычных средних программистов — трудноват для освоения.
Поэтому мы сначала учим программированию, а потом уже С++...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
S>и по факту язык умер
Не согласен.
1. Лично мне всегда казалось, что разработка промышленных систем на Паскале — это как из детского конструктора попытаться сделать что-то реальное.
2. По факту разработки велись не на Паскале, а на СИЛЬНО переработанном-доработанном языке.
Который имел офигенную библиотеку поддержки и первую в мире IDE — гениальное изобретение.
Кстати, в Астрахани в начале 90-х видел зарплату, разработанную на Турбо-паскале
3. Повторю: паскаль используется там, для чего и создавался — в обучении.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
S>>и по факту язык умер LVV>Не согласен. LVV>1. Лично мне всегда казалось, что разработка промышленных систем на Паскале — это как из детского конструктора попытаться сделать что-то реальное. LVV>2. По факту разработки велись не на Паскале, а на СИЛЬНО переработанном-доработанном языке. LVV>Который имел офигенную библиотеку поддержки и первую в мире IDE — гениальное изобретение. LVV>Кстати, в Астрахани в начале 90-х видел зарплату, разработанную на Турбо-паскале LVV>3. Повторю: паскаль используется там, для чего и создавался — в обучении.
turbo pascal 3 был прорывов засчет IDE
4 стал поддерживать оверлеи позволяюшие писать например CAD под MSDOS
на 8 мн XT паскаль компилировал примерно 1000 строк в 5 секунд те средяя утилита компилировался за 20 сек в то время как Turbo C или MS C можно было идти на перекур после запуска компляции
в 5.5 язык стал ОО
если в 90 году надо было написать проект под MSDOS скажем в 50 000 строк — Turbo Pascal выглядел бы предпочтительней
более менее строгая типизация появилась в Си примерно в 90 году в Паскале быыла с самого начала
Здравствуйте, Nikе, Вы писали:
N>Здравствуйте, Vaynamond, Вы писали:
V>>ООП (с точки зрения практического программирования) — всего лишь технология и, как любая технология, V>>она имеет свои плюсы и минусы. Я видел элегантный код на С и ужасный на С++, ровно как и наоборот.
N>Как человек программировавший вообще всё что угодно за те же четверть века сообщу, что хорошего кода на С не видел. Хорошего в том плане, что его нельзя было бы в разы улучшить переписав на С++.
Программирование, как и любая деятельность, представляет собой компромисс между желаемым результатом и затратами.
Зачастую приходится жертвовать расширяемостью в пользу сокращения времени разработки. И, кстати,
в контексте моей работы такой подход срабатывает примерно в 3/4 задач.
Насчет
Хорошего в том плане, что его нельзя было бы в разы улучшить переписав на С++
Вот прямо-таки в разы ?
И по каким параметрам улучшить ? Производительность ? Читаемость ? Расширяемость ?
Не пробовали оценить затраты на переписывание ? Я, например, пробовал по некоторым своим задачам —
результаты получались не слишком оптимистичные, потому что почти во всех случаях пришлось бы переписывать "с нуля".
Сразу скажу, что речь шла не о "Hello, world!", а о коде порядка миллиона строк.
Здравствуйте, sergey2b, Вы писали:
S>моя версия, потому что S>хорошо подходит для написания кода для маломощных платформ
+100500
...для любых платформ: от маломощных, до больших серверных...
S>изучаеться за неделю ученным или студентом
+100500
Для этой категории людей — просто неприлично не знать Си
Здравствуйте, Vaynamond, Вы писали:
V>Программирование, как и любая деятельность, представляет собой компромисс между желаемым результатом и затратами.
И при использовании чистого С этот "компромисс" имеет заметный перекос именно в сторону затрат.
V>Вот прямо-таки в разы ?
Обычно в разы.
V>И по каким параметрам улучшить ? Производительность ? Читаемость ? Расширяемость ?
Плотность ошибок на единицу кода, надежность/хрупкость, стоимость сопровождения. Читаемость, кстати, тоже. Ибо в C читать приходится сильно больше.
V>Не пробовали оценить затраты на переписывание ?
Скорее речь идет о том, что если бы изначаль писали не на чистом C, а на чем-то уровнем повыше.
Да, по поводу:
Я видел элегантный код на С
Можно пару-тройку ссылок на примеры элегантного кода на C? Где-то же он должен же быть, раз так уж много про этот мифический "элегантный С" говорят.
Здравствуйте, sergey2b, Вы писали:
S>Здравствуйте, LaptevVV, Вы писали:
N>>>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать. S>>>и почему же он тода еще жив S>>>pascal вот умер и Си живее всех живых LVV>>Нифига паскаль не умер. LVV>>Как использовался для обучения — так ип используется.
S>я активно писал на Turbo Pascal c 89 по 93 год (если не ошибась самый большой проект у меня был больше 20 000 строк) S>при этом у меня были друзья в компании которых примеррно до 95 года основной язык был pascal и они хорошо зарабатывали и везли много книг и библиотек по Pascal из заграницы
Кстати, была такая продвинутая оболочка для MS-DOS под названием DOS-Navigator — исходники на Паскале (причем размер под 3 мегабайта).
Мой преподаватель по термеху писал на Паскале (по-моему, 5.5 или, максимум, 6) пакет для моделирования динамических систем с графической
визуализацией (потом к нему еще сопромат прикрутили). Причем пакет не был простой поделкой — на нем рассчитывали динамику раскрытия
солнечных батарей на космических аппаратах и прочие сурьёзные задачи.