На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> Поясните за стандарты языка "чистого" СИ: ANSI, C89, C90, C99, C11, C17/18...
    Не могу найти рейтинг востребованности ЯП, например, за 2000г., но смею предположить, что СИ просто царствовал во всем мире в этот период)) и еще несколько лет царствовал после этого)) наверное...

    да и сейчас он вроде как "жыф"

    Добавлено
    Цитата Qraizer @
    Visual Studio 2017 Community бесплатен не только для личного использования, но и для некрупных организаций. И даже для крупных, но не более чем на пяти машинах. Это если с последнего раза ничего в лицензии не менялось.

    Майкрософцы вообще красавцы были всегда)
    От функционала (даже пиратского)MS Office можно перманенто ловить оргазм) и как же тянет блевать после использования open office какого-нибудь...

    Добавлено
    Цитата Qraizer @
    FasterHarder, ты смотри не в языки, а в версии их стандартов.

    я не готов под микроскопом изучать под 1000 стр. стандарта 8-)

    Цитата Qraizer @
    на кой крен им C99?

    не знаю, мне лично тоже НИ РАЗУ в жизни не пригодился ;)
      Цитата FasterHarder @
      я не готов под микроскопом изучать под 1000 стр. стандарта
      Та не, я о востребованности версий. Рынок – он такой, программеры по факту сами же и голосуют, что им поставлять: какие языки и каких версий стандартов. Если у C высокий рейтинг, это ещё не значит, что всем поголовно нужен последний его Стандарт.
        В общем, еще ведь в 1-м посте написал, что это поставщикам компилеров НЕЦЕЛЕСООБРАЗНО.
        Т е нет задач, требующих жесткой привязки, например к С99. Никто заморачиваться и не хочет. А ВЕДЬ МОГЛИ БЫ (MS), с их то возможностями...Было бы красиво, удобно и ...убыточно (наверное)...
          Цитата FasterHarder @
          Цитата ЫукпШ @
          Но если не секрет - а зачем ?

          хочется, чтобы программа соот-ла стандарту ОТ и ДО

          Когда я спросил "зачем" меня интересовала практическая необходимость.
          я подозреваю, что все диалекты С после ANSI мало востребованы.
          Поскольку создан С++, а это бОльшая производительность труда
          и качество результата. Ниша обычного С (как я уже сказал) - это микроконтроллеры.
          Но из-за специфики использования диалекы С для микроконтроллеров имеет свои особенности.
          Чуть-ли ни для каждого микроконтроллера индивидуально.
          Поэтому отличия от стандартов есть.
          Скрытый текст

          Например, у микроконтроллеров 8051 имеют внутреннюю архитектуру с разными
          объектами памяти. В том числе имеется по-битно доступная память.
          Минимально доступная единица данных - бит.
          А раз имеется, она должна описываться на языке прогламмирования
          и к ней должен быть получен доступ.
          Если имеется разные объекты памяти, то для работы с каждой
          из них надо правильно описать переменные. И указатели. Итд итп.

          ---
          Но главное - этот вопрос про стандарты просто никого не интересует.
          Сообщение отредактировано: ЫукпШ -
            ЫукпШ, мне чисто любопытно: почему для программинга микроконтроллеров требуются ДИАЛЕКТЫ СИ? Разве там всякие организации НЕ ПРИНУЖДАЮТ законодательно производить микроК, подчиняющихся стандарту??

            Пример: есть фирма "Супер МИКРО". Она планирует производить контроллеры. Патентует там изобретение и ей выдают сертификат, мол можете производить, но только при условии, что программировать будете их на стандартном СИ (еще стандарт указывают, подкидывают решку и выпал, например, С89, значит такой, выпал С90, значит такой)!

            Добавлено
            кстати, к слову о диалектах!
            вот тоже, какая-то чешуя...

            Есть две крутых организации по стандартизации: ANSI, ISO (вроде так называются, но не факт, не помню на 100%, но не суть). Там ученые сидят, годами стандарты продумывают, подключают экспертов из этих областей, в общем трудятся не покладая мозгов)
            В итоге стандарт утвержден - его публикуют (не всегда бесплатно). ВСЕ! ОРИЕНТИР ЗАДАН!
            Все желающие, готовые разрабатывать компилеры, должны НЕУКОСНИТЕЛЬНО придерживаться их. НЕУКОСНИТЕЛЬНО!
            Сделали компилер, есть хоть 0.0001% отхождения от стандарта - ВОН С РЫНКА! ИДИ переделывай под стандарт на 100%. А то ребята из АНСИ потели, старались, ночами не спали и для ради чего спрашивается)

            ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому)
              Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее.
                Цитата Qraizer @
                Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее.

                я полностью логически с тобой в этом согласен, НО(!), прежде чем утвердить стандарт он проходит уйму тестов и апробаций. Его продумывают тщательнейшим образом ведь. ну должны, как я понимаю) Приглашают мировых экспертов языка (вроде Страуструп в какой-то организации состоит, а он плохо не посоветует в этой области) ))
                Т е перед публикацией Стандарт является совершенным продуктом), ни одного изъяна.

                Ведать, на практике не все удается продумать в этих стандартах.
                Ну, тогда, да, теперь понятно стало, почему столько модификаций языка потом появляется. Типа в этих языках есть нововведения, которые УЛУЧШАЮТ стандарт ---> разработку...Кстати об этом я раньше не задумывался)
                  Цитата ЫукпШ @
                  Поэтому отличия от стандартов есть.
                  Та любая реализация их имеет. Более того, Стандарт не запрещает реализациям их иметь. Но есть одно но, которое любая реализация должна соблюсти: она не должна противоречить чётко определённым в Стандарте чертам поведения. Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют. Захотели битовые переменные, на здоровье, ввели новый синтаксис для размещения объектов по абсолютным адресам в их определениях, та за ради бога. Решили при знаковом целочисленном переполнении trap-ать по вектору #1D, имеют право. Вот trap-ать по беззнаковому переполнению ни-ни, для них в Стандарте чётко оговаривается арифметика остатков по модулю 2N, где N суть количество бит в репрезентации типа.
                    Цитата FasterHarder @
                    ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому)

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

                      Добавлено
                      Ну и пользователи тоже должны соблюдать подобные правила, но только стандартизированные специально для них. Так они избегут любых коллизий в своих старых проектах с любыми новыми Стандартами, новыми реализациями и даже при портировании на другие реализации.
                        Цитата ЫукпШ @
                        Большинство с тобой не согласно.

                        так я ни с кем и не спорю ;) я еще не окончательно сошел с ума, чтобы спорить с зубрами С/С++ )
                        просто мне изначально не понравилось, что:
                        1. в VS нет создания проекта на Pure C
                        2. непонятно, какой стандарт использует компиллер

                        Цитата Qraizer @
                        Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют

                        вот это круто!

                        Qraizer, ЫукпШ, JoeUser, спс. за науку!
                          Qraizer, а со стандартами языка С++ все также, как в СИ?
                            Что именно? С реализацией? Та не, нормально. Некоторые быстрее, некоторые медленнее, но-таки реализуют нововведения. Иногда даже быстрее, чем они ратифицируются. Обычно размещают временно в каком-нибудь выделенном namespace. Заодно это помогает обкатать новинку в экспериментальных проектах и вовремя внести правки в драфт новой ревизии Стандарта.
                            Если про совместимость, то да, так же. С совместимостью с будущими ревизиями, правда, не всё так гладко, Комитету приходится, хоть он и идёт на это крайне неохотно, вводить ключевые слова, потенциально могущие затронуть легаси-код. К сожалению, ключевые слова всё-таки являются слишком важной базой, поэтому в этом случае соблюдение правил совместимости слишком негативно отразится на новом коде, а ведь именно ради него Стандарт-то и пополняется фичами. Однако каждый раз Комитет изучает статистику и выбирает слова, наименее часто использованные в легаси. К примеру, было введёно неуклюжее decltype вместо typeof, по грамматическому смыслу гораздо более подходящего. А с новыми именами в стандартной библиотеке всё путём, там правила совместимости заранее оговорены так, что совместимость соблюсти несложно.
                            Сообщение отредактировано: Qraizer -
                              Qraizer, ;)

                              Цитата Qraizer @
                              decltype вместо typeo

                              интересно, впервые слышу об этом...
                                Полностью согласен с Qraizer
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0448 ]   [ 17 queries used ]   [ Generated: 28.03.24, 13:36 GMT ]