Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.103.202] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Не могу найти рейтинг востребованности ЯП, например, за 2000г., но смею предположить, что СИ просто царствовал во всем мире в этот период)) и еще несколько лет царствовал после этого)) наверное...
да и сейчас он вроде как "жыф" Добавлено Цитата Qraizer @ Visual Studio 2017 Community бесплатен не только для личного использования, но и для некрупных организаций. И даже для крупных, но не более чем на пяти машинах. Это если с последнего раза ничего в лицензии не менялось. Майкрософцы вообще красавцы были всегда) От функционала (даже пиратского)MS Office можно перманенто ловить оргазм) и как же тянет блевать после использования open office какого-нибудь... Добавлено я не готов под микроскопом изучать под 1000 стр. стандарта не знаю, мне лично тоже НИ РАЗУ в жизни не пригодился |
Сообщ.
#17
,
|
|
|
Цитата FasterHarder @ Та не, я о востребованности версий. Рынок – он такой, программеры по факту сами же и голосуют, что им поставлять: какие языки и каких версий стандартов. Если у C высокий рейтинг, это ещё не значит, что всем поголовно нужен последний его Стандарт. я не готов под микроскопом изучать под 1000 стр. стандарта |
Сообщ.
#18
,
|
|
|
В общем, еще ведь в 1-м посте написал, что это поставщикам компилеров НЕЦЕЛЕСООБРАЗНО.
Т е нет задач, требующих жесткой привязки, например к С99. Никто заморачиваться и не хочет. А ВЕДЬ МОГЛИ БЫ (MS), с их то возможностями...Было бы красиво, удобно и ...убыточно (наверное)... |
Сообщ.
#19
,
|
|
|
Когда я спросил "зачем" меня интересовала практическая необходимость. я подозреваю, что все диалекты С после ANSI мало востребованы. Поскольку создан С++, а это бОльшая производительность труда и качество результата. Ниша обычного С (как я уже сказал) - это микроконтроллеры. Но из-за специфики использования диалекы С для микроконтроллеров имеет свои особенности. Чуть-ли ни для каждого микроконтроллера индивидуально. Поэтому отличия от стандартов есть. Скрытый текст Например, у микроконтроллеров 8051 имеют внутреннюю архитектуру с разными объектами памяти. В том числе имеется по-битно доступная память. Минимально доступная единица данных - бит. А раз имеется, она должна описываться на языке прогламмирования и к ней должен быть получен доступ. Если имеется разные объекты памяти, то для работы с каждой из них надо правильно описать переменные. И указатели. Итд итп. --- Но главное - этот вопрос про стандарты просто никого не интересует. |
Сообщ.
#20
,
|
|
|
ЫукпШ, мне чисто любопытно: почему для программинга микроконтроллеров требуются ДИАЛЕКТЫ СИ? Разве там всякие организации НЕ ПРИНУЖДАЮТ законодательно производить микроК, подчиняющихся стандарту??
Пример: есть фирма "Супер МИКРО". Она планирует производить контроллеры. Патентует там изобретение и ей выдают сертификат, мол можете производить, но только при условии, что программировать будете их на стандартном СИ (еще стандарт указывают, подкидывают решку и выпал, например, С89, значит такой, выпал С90, значит такой)! Добавлено кстати, к слову о диалектах! вот тоже, какая-то чешуя... Есть две крутых организации по стандартизации: ANSI, ISO (вроде так называются, но не факт, не помню на 100%, но не суть). Там ученые сидят, годами стандарты продумывают, подключают экспертов из этих областей, в общем трудятся не покладая мозгов) В итоге стандарт утвержден - его публикуют (не всегда бесплатно). ВСЕ! ОРИЕНТИР ЗАДАН! Все желающие, готовые разрабатывать компилеры, должны НЕУКОСНИТЕЛЬНО придерживаться их. НЕУКОСНИТЕЛЬНО! Сделали компилер, есть хоть 0.0001% отхождения от стандарта - ВОН С РЫНКА! ИДИ переделывай под стандарт на 100%. А то ребята из АНСИ потели, старались, ночами не спали и для ради чего спрашивается) ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому) |
Сообщ.
#21
,
|
|
|
Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее.
|
Сообщ.
#22
,
|
|
|
Цитата Qraizer @ Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее. я полностью логически с тобой в этом согласен, НО(!), прежде чем утвердить стандарт он проходит уйму тестов и апробаций. Его продумывают тщательнейшим образом ведь. ну должны, как я понимаю) Приглашают мировых экспертов языка (вроде Страуструп в какой-то организации состоит, а он плохо не посоветует в этой области) )) Т е перед публикацией Стандарт является совершенным продуктом), ни одного изъяна. Ведать, на практике не все удается продумать в этих стандартах. Ну, тогда, да, теперь понятно стало, почему столько модификаций языка потом появляется. Типа в этих языках есть нововведения, которые УЛУЧШАЮТ стандарт ---> разработку...Кстати об этом я раньше не задумывался) |
Сообщ.
#23
,
|
|
|
Цитата ЫукпШ @ Та любая реализация их имеет. Более того, Стандарт не запрещает реализациям их иметь. Но есть одно но, которое любая реализация должна соблюсти: она не должна противоречить чётко определённым в Стандарте чертам поведения. Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют. Захотели битовые переменные, на здоровье, ввели новый синтаксис для размещения объектов по абсолютным адресам в их определениях, та за ради бога. Решили при знаковом целочисленном переполнении trap-ать по вектору #1D, имеют право. Вот trap-ать по беззнаковому переполнению ни-ни, для них в Стандарте чётко оговаривается арифметика остатков по модулю 2N, где N суть количество бит в репрезентации типа. Поэтому отличия от стандартов есть. |
Сообщ.
#24
,
|
|
|
Цитата FasterHarder @ ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому) А в чём заключаются эти проблемы ? Их просто нет. Есть конкретная документация на конкретный прибор. Есть документация на компилятор и ликер. И остальной софт. Не хочешь - не используй, проект-то коммерческий. Но получается, что используют, плскольку хотят и вообще выгодно. Большинство с тобой не согласно. --- я же говорю - абсолютно точное соответствие стандартам никого вообще не интересует. Тем более мёртвых диалектов. Интересует качество и производительность труда. А стандарт, какой-то там - бумажка, которую ещё не известно кто придумал. Может идиот какой-нибудь. |
Сообщ.
#25
,
|
|
|
К слову, Комитет по стандартизации даже предусматривает правила, по которым реализации могут расширять Стандарт так, чтобы не столкнуться с коллизиями в будущих версиях Стандарта. Если реализация их будет соблюдать, то никакие новые версии не вызовут конфликтов имён в старых проектах пользователей.
Добавлено Ну и пользователи тоже должны соблюдать подобные правила, но только стандартизированные специально для них. Так они избегут любых коллизий в своих старых проектах с любыми новыми Стандартами, новыми реализациями и даже при портировании на другие реализации. |
Сообщ.
#26
,
|
|
|
Цитата ЫукпШ @ Большинство с тобой не согласно. так я ни с кем и не спорю я еще не окончательно сошел с ума, чтобы спорить с зубрами С/С++ ) просто мне изначально не понравилось, что: 1. в VS нет создания проекта на Pure C 2. непонятно, какой стандарт использует компиллер Цитата Qraizer @ Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют вот это круто! Qraizer, ЫукпШ, JoeUser, спс. за науку! |
Сообщ.
#27
,
|
|
|
Qraizer, а со стандартами языка С++ все также, как в СИ?
|
Сообщ.
#28
,
|
|
|
Что именно? С реализацией? Та не, нормально. Некоторые быстрее, некоторые медленнее, но-таки реализуют нововведения. Иногда даже быстрее, чем они ратифицируются. Обычно размещают временно в каком-нибудь выделенном namespace. Заодно это помогает обкатать новинку в экспериментальных проектах и вовремя внести правки в драфт новой ревизии Стандарта.
Если про совместимость, то да, так же. С совместимостью с будущими ревизиями, правда, не всё так гладко, Комитету приходится, хоть он и идёт на это крайне неохотно, вводить ключевые слова, потенциально могущие затронуть легаси-код. К сожалению, ключевые слова всё-таки являются слишком важной базой, поэтому в этом случае соблюдение правил совместимости слишком негативно отразится на новом коде, а ведь именно ради него Стандарт-то и пополняется фичами. Однако каждый раз Комитет изучает статистику и выбирает слова, наименее часто использованные в легаси. К примеру, было введёно неуклюжее decltype вместо typeof, по грамматическому смыслу гораздо более подходящего. А с новыми именами в стандартной библиотеке всё путём, там правила совместимости заранее оговорены так, что совместимость соблюсти несложно. |
Сообщ.
#29
,
|
|
|
Qraizer,
Цитата Qraizer @ decltype вместо typeo интересно, впервые слышу об этом... |
Сообщ.
#30
,
|
|
|
Полностью согласен с Qraizer
|