Великий и ужасный С++

Для любителей обсудить что круче Linux или Win32, Java или C#.

Модератор: Duncon

Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

17 авг 2004, 17:13

Знаешь, Absurd, разработать язык, который нашел такую область применения не каждому дано! Уверен ты на это не способен!
Более чем уверен что создать массовый язык я бы не смог. Но почему-то я больше уважаю авторов непопулярных языков - за интересные идеи и конструкции, и за новые средства структурирования программ.

Языки побеждают и проигрывают в основном не из-за талантливого дизайна или возможностей. Язык побеждает, если он дает возможность превратить программу в выгребную яму.

Поэтому, например так процветает PHP - там не нужно придумывать структуру проекта, или иначе тратить свое время. Там все заточено для быстрого лабания. Взял один кособокий скрипт, подрихтовал, присоединил сбоку другой скрипт, не срастается. Тогда запихал вывод первого скрипта в буффер, запихал содержимое буффера в шаблон страницы, и скормил этот шаблон другому скрипту. Ура! Работает!
Лично я предпочитаю Страуструпа, чем какого-либо посредника, который выступает в роли испорченного телефона!
Вообще Строуструпа читать легко. Только почему-то к мозгам ничего не прилипает. Это как Горбачев выступал: говорит, говорит, умно говорит. Потом пытаешься вспомнить: что говорил? А вот хз.

Элджер или Мейерс как - то интереснее.
Депрессивная информация как-то лучше усваивается. Я заметил, что депрессивные книжки буржуи называют с приставки "Effective". Изучаю тут Java по "Effective Java" - тоже намного лучше, чем thinking in Java или Сановские книжки.
Сорри, AiK. Обидно ведь: обзывают тут шизом и фанатиком того, благодаря которому мы здесь собираемся!
Обычно, чем больше на чем-то пишут, тем меньше это любят. Довольно печально видеть С++ - ный список ошибок, если там чего - то наглючено с STL. Были бы в С++ встроенные хотя бы динамические массивы и строки было бы намного легче.
2B OR NOT(2B) = FF
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

26 авг 2004, 15:04

А в STL строк разве нет ???
Строки должны быть атомарным типом. Чего-то напрягает читать вот такие ошибки
error C2440: 'initializing' : cannot convert from 'class _STL::map<class _bstr_t,class _variant_t,struct _STL::less<class _bstr_t>,class _STL::allocator<struct _STL: :p air<class _bstr_t const ,class _variant_t> > > *' to 'class _STL::map<class _bstr_t,class _variant_t,struct _STL::less<class _bstr_t>,class _STL::allocator<struct _STL: :p air<class _bstr_t const ,class _variant_t> > > &' A reference that is not to 'const' cannot be bound to a non-lvalue
2B OR NOT(2B) = FF
DeeJayC
Сообщения: 492
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

26 авг 2004, 19:14

Anonymous писал(а): Хотя если бы были встроенным типом - было бы немного приятнее. :)
Вот уж.. (кхе) нет. Сколько байт строка занимает в памяти?
Скажите, пожалуйста?

строка = массив. И это правильно, товарищи. Кому не
нравится stl класс - пишите свой. Или пишите на паскале.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

26 авг 2004, 19:50

Строка - количество байт +1 если речь идет о байтовом массиве использующим набор из 255 символов (типа аски)
а объект строки стл - точно не помню вроде 16 байт + количество символов.
По поводу свлего класса - согласен писать стоит.
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

27 авг 2004, 10:40

Вот уж.. (кхе) нет. Сколько байт строка занимает в памяти?
Скажите, пожалуйста?
Как любит выражаться Страуструп, это error prone на небрежно написанный код.
Программиста такие вещи как количество символов и количество байт на символ не должны волновать.
2B OR NOT(2B) = FF
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

27 авг 2004, 12:10

а объект строки стл - точно не помню вроде 16 байт + количество символов.
Сам экземпляр объекта не требует больше, чем 4 байт, т.к. там достаточно всего одного члена - указателя на буффер.
В буффере может храниться помимо сиимволов еще какая-нибудь лабуда для подсчета ссылок и/или синхронизации
многопотокового доступа.
2B OR NOT(2B) = FF
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

27 авг 2004, 12:51

Это понятно (про указатель (но скоро будет 8 байт :) ))я имел ввиду не указатель а сам обэект, созданный статически.
В SAD - все в SAD.
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

27 авг 2004, 13:33

я имел ввиду не указатель а сам обэект, созданный статически
Выражение sizeof(std::string) внолне может быть равно и четырем.
2B OR NOT(2B) = FF
Ответить