Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi >> C++, Переход 
:(
    Опции темы
MAKCim
Дата 4.12.2006, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

в С++ это просто более удобная запись битовых операций и не более. Ничего принципиального оно не вносит.  

Однако факт остается фактом. Аналога в Delphi нет (битовые операции не в счет, потому как они есть и в С/С++)
Цитата

Если вы думете что процессор способен работать с битами, то глубоко ошибаетесь

btr, bts, btc
вопрос о том, как они реализованы остается открытым
Цитата

угадай сколько мегабайт препроцессор подсовывает компилятору при обработке строчки

 smile 
Цитата

неужели (не)использование структур с битовыми полями(так же, как и переопределяемых операторов) как-либо изменяет функциональность программы?

Мы рассматриваем С++ и Delphi, т. е языки и их возможности
Под функциональностью языка я понимаю тот набор механизмов, которые в нем присутствуют. В Delphi нет битовых структур и все, хотя их можно сэмулировать, но это уже другой вопрос

Это сообщение отредактировал(а) MAKCim - 4.12.2006, 19:17


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
VectorMan
Дата 4.12.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antihero
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 9.4.2006

Репутация: нет
Всего: 4



Цитата(MAKCim @ 4.12.2006,  19:13)
smile

Я имел ввиду размер файла windows.h и всех заголовочных файлов, которые он включает.
Всё это приходиться анализировать компилятору для каждого файла исходного текста программы.
PM   Вверх
Alexeis
Дата 4.12.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(MAKCim @  4.12.2006,  19:13 Найти цитируемый пост)
btr, bts, btc
вопрос о том, как они реализованы остается открытым

Да, конечно,  smile неверно сформулировал. Скорее с данными размерности меньше байта.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MAKCim
Дата 4.12.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Да, конечно,  smile неверно сформулировал. Скорее с данными размерности меньше байта.

С этим согласен


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
S.A.G.
Дата 5.12.2006, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Насчет Си и Делфи: уважаемые товарищи программисты неужели кто-то заставляет писать закрученные и непонятные программы на Си? Конечно в Си для этого масса возможностей - [], (), * позволяют творить чудеса в написании выражений при работе с указателями, функциями. Написание прозрачных программ на Дельфи скорее неизбежность чем достоинство в следствие бедности языка. Программист же пишущий на Си может выработать собственный стиль выбирая среди массы возможностей. И не обязательно этому стилю быть сложным и плохочитаемым (какой язык может похвастаться ежегодным конкурсом на самую запутанную программу? smile) Дельфи просто более удобочитаем чем Си и Си++ в следствие привязанности к Pascal который проектировался с целью создания прочной основы для преподавания программирования студентам (отсюда строгость что ИМХО плюс по сравнению с Си и его спецификой работы с типами данных).

P.S. Вышесказанное лишь мое мнение не более, основанное на небольшом опыте программирования на обеих языках

Это сообщение отредактировал(а) main - 5.12.2006, 03:26


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Romikgy
Дата 5.12.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Кса недавно перелистовал книгу по дельфи , и нашел несколько вещей:
1. в дельфи есть inline такой же как в С++
2. есть передача параметров неограниченых , 
типа сишного кода
Код

void F(....) {....}

через вариантный массив 
3. есть одна прикольная вещь которой нет в С++ 
inherited с помощью которого можно вызывать конструктор родителя или нет 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Alexeis
Дата 5.12.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(main @  5.12.2006,  03:20 Найти цитируемый пост)
Написание прозрачных программ на Дельфи скорее неизбежность чем достоинство в следствие бедности языка.

  С одной стороны это так, но взглянем на проблему с другого ракурса. Запрет он не всегда является ограничителем свободы. Вспоминается старый анекдот: грузин едет на своей машине по дороге, подъезжает к перекрестку, и тут загорается красный свет. Ну он вместо того, чтобы нажать на тормоз жмет по газам. Пассажир сидящий с зади кричит ты что это же был красный цвет! на что грузин  отвечает "Что для джигита красный цвет!" едут они дальше, следующий перекресток, уже зеленый свет, тут грузин неожиданно по тормозам. Пассажир с зади : "так это же зеленый! нужно ехать." на что водитель отвечает - "Смотри там другой джигит едет!".

  Так вот запрет он как светофор, конечно он мешает ехать, но служит он не для того, чтобы мешать, но чтобы регулировать движение. С++ по сравнению с С создавался уже более строгим, т.е. в него уже закладывались идеи как максимально разгрузить мозг человека от необходимости держать в нем слишком много информации. Человек не робот, а при проектировании программы нужно расчитывать не на отсутствие ошибок, а на постороение программы так чтоб их было легче обнаружить. По идее можно ехать по дороге и без светофоров, но это потребует слишком большого внимания от воителя, а при большом потоке просто приведет к катастрофе. Прозрачность кода это не роскошь, от которой можно избавится, а необходимость! Развитие языков программирования идет в сторону роста абстракции, где человек должен манипулировать уже не битами и регистрами, а абстрактными объектами и программами. Время программиста стоит намного дороже машинного времени. Не скажу, что делфи в этом лидер. В настоящее время есть такой язык как АДА, который намного более специализированный чем С++ и даже делфи, но там где его применяют все жутко им довольны и смотреть не хотят в сторону С++ и никогда и не вздумают переходить на него, потому что надежность программирования при быстрой разработке это важнейший экономический фактор и иногда от него зависит не только безопасность человека, но и целого государства. Время универсальных языков уже проходит. На их изучение уходит слишком много времени, а программирование не всегда удовлетвояет потребностям. Этот процесс не такой заметный и быстрый, но он идет. Вот вам пример движения, сегодня уже JAVA и С# заполняют рынок. Возможности этих языков мягко говоря не блещут (по сранению с С++), но они востребованы! И теснят все остальное. За ними пойдет VB.NET. 
  В таких условиях переход от Delphi к С++ похож на переход от C к Assembler при написании драйверов. В определенных ситуациях он нужен, но учитывая многообразие железа появляющегося с каждым днем, такой переход мягко говоря нерационален. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
S.A.G.
Дата 5.12.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Цитата(alexeis1 @ 5.12.2006,  11:51)
Цитата(main @  5.12.2006,  03:20 Найти цитируемый пост)
Написание прозрачных программ на Дельфи скорее неизбежность чем достоинство в следствие бедности языка.

  С одной стороны это так, но взглянем на проблему с другого ракурса. Запрет он не всегда является ограничителем свободы. Вспоминается старый анекдот: грузин едет на своей машине по дороге, подъезжает к перекрестку, и тут загорается красный свет. Ну он вместо того, чтобы нажать на тормоз жмет по газам. Пассажир сидящий с зади кричит ты что это же был красный цвет! на что грузин  отвечает "Что для джигита красный цвет!" едут они дальше, следующий перекресток, уже зеленый свет, тут грузин неожиданно по тормозам. Пассажир с зади : "так это же зеленый! нужно ехать." на что водитель отвечает - "Смотри там другой джигит едет!".

  Так вот запрет он как светофор, конечно он мешает ехать, но служит он не для того, чтобы мешать, но чтобы регулировать движение. С++ по сравнению с С создавался уже более строгим, т.е. в него уже закладывались идеи как максимально разгрузить мозг человека от необходимости держать в нем слишком много информации. Человек не робот, а при проектировании программы нужно расчитывать не на отсутствие ошибок, а на постороение программы так чтоб их было легче обнаружить. По идее можно ехать по дороге и без светофоров, но это потребует слишком большого внимания от воителя, а при большом потоке просто приведет к катастрофе. Прозрачность кода это не роскошь, от которой можно избавится, а необходимость! Развитие языков программирования идет в сторону роста абстракции, где человек должен манипулировать уже не битами и регистрами, а абстрактными объектами и программами. Время программиста стоит намного дороже машинного времени. Не скажу, что делфи в этом лидер. В настоящее время есть такой язык как АДА, который намного более специализированный чем С++ и даже делфи, но там где его применяют все жутко им довольны и смотреть не хотят в сторону С++ и никогда и не вздумают переходить на него, потому что надежность программирования при быстрой разработке это важнейший экономический фактор и иногда от него зависит не только безопасность человека, но и целого государства. Время универсальных языков уже проходит. На их изучение уходит слишком много времени, а программирование не всегда удовлетвояет потребностям. Этот процесс не такой заметный и быстрый, но он идет. Вот вам пример движения, сегодня уже JAVA и С# заполняют рынок. Возможности этих языков мягко говоря не блещут (по сранению с С++), но они востребованы! И теснят все остальное. За ними пойдет VB.NET. 
  В таких условиях переход от Delphi к С++ похож на переход от C к Assembler при написании драйверов. В определенных ситуациях он нужен, но учитывая многообразие железа появляющегося с каждым днем, такой переход мягко говоря нерационален.

А разве Си++ меньшего уровня абстракции чем Дельфи?


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Alexeis
Дата 5.12.2006, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(main @  5.12.2006,  16:18 Найти цитируемый пост)
А разве Си++ меньшего уровня абстракции чем Дельфи? 

Ну и язык сам и особенно VCL. Новички прекрасно пишут программы с использованием компонент даже не имея серьезного представления, как это работает, что такое компонент. Почему оно срабатывает. Т.е. для них это нечто, что работет. У него есть некоторые свойсва которые можно менять. Как реализуются свойства он не понимает. Но знает если, например поменять у кнопки занчение свойсва Left то она сама сдвинется и перерисуется. Не нужно знать что такое API. Объект можно себе представить как набор свойств в Object Inspector. Очень многое можно сделать интуитивно. Т.е. есть возможность самообучаться.
Строки и массивы по умалчанию длинные и сами следять за своей памятью! Нужно увеличить длинну указали больший размер и в конец "добавились" пустые элементы. Указатели часто неявные, хочешь используешь переменную как адресс хочешь как значение, при этом компилятор сам догадывается что вы имели ввиду. Многое из этого делается и в С++, но до этих механизмов нужно "дорости" т.е. многое изучить. Язык одновременно и простотой и мощный. 
  Именно абстракция (не только в смысле абстрактных классов но вообще), источник той самой простоты. Что ни говори С++ простым языком не назавешь. Конечно это все лишь шаг вперед по сравнению с С++, но все же у меня совершенно нет никакого желания делать шаг назад и долго задерживаться в программировании на С++.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Romikgy
Дата 5.12.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(alexeis1 @  5.12.2006,  17:51 Найти цитируемый пост)
Указатели часто неявные, хочешь используешь переменную как адресс хочешь как значение, при этом компилятор сам догадывается что вы имели ввиду

это хорошо , а с другой стороны ужастно неудобно , имхо


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nickless
Дата 5.12.2006, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 2
Всего: 181



Цитата(Romikgy @ 5.12.2006,  10:13)
3. есть одна прикольная вещь которой нет в С++ 
inherited с помощью которого можно вызывать конструктор родителя или нет

В C++ это тоже есть, там он явно вызывается: BaseClass::BaseClass()

Цитата(alexeis1 @ 5.12.2006, 17:51)
Конечно это все лишь шаг вперед по сравнению с С++, но все же у меня совершенно нет никакого желания делать шаг назад и долго задерживаться в программировании на С++.

Не согласен, имхо C++ и delphi - языки одного класса. C++ имеет более широкий диапазон применения и позволяет много вольностей, и это делает его сложнее и гибче, но никак не хуже.


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Alexeis
Дата 5.12.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(nickless @  5.12.2006,  20:11 Найти цитируемый пост)
Не согласен, имхо C++ и delphi - языки одного класса. C++ имеет более широкий диапазон применения и позволяет много вольностей, и это делает его сложнее и гибче, но никак не хуже. 

  Все зависит от того как классифицировать, можно так отклассифицировать, что SQL и C++ попадет в один класс smile Слово "не хуже" мало информативно и ничего не говорит по сути. Мне удобно использовать делфи во многих задачах да я думаю я не один такой, если в чем то он удобнее, то значит в этом он и лучше, а на счет универсальности практика показывает, что специализированной отверткой гораздо удобнее ковырять в своей области чем универсальной со сменными наконечниками. Или вы еще скажете что для Microsof Word удобнее писать на С++ нежели на Visual Basic?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MAKCim
Дата 5.12.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

В C++ это тоже есть, там он явно вызывается: BaseClass::BaseClass()

неа  smile 
этим ты создашь временный объект класса BaseClass
(а при хорошей оптимизации в конечном коде его даже не будет)
в С++ конструктор родителя в любом случае вызовется неявно

Добавлено @ 21:17 
Цитата

Конечно это все лишь шаг вперед по сравнению с С++, но все же у меня совершенно нет никакого желания делать шаг назад и долго задерживаться в программировании на С++.

 smile 
Т. е если 
Цитата

это все лишь шаг вперед по сравнению с С++

то как можно
Цитата

у меня совершенно нет никакого желания делать шаг назад и долго задерживаться в программировании на С++



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nickless
Дата 5.12.2006, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 2
Всего: 181



Цитата(alexeis1 @ 5.12.2006,  19:51)
Слово "не хуже" мало информативно и ничего не говорит по сути. Мне удобно использовать делфи во многих задачах да я думаю я не один такой, если в чем то он удобнее, то значит в этом он и лучше, а на счет универсальности практика показывает, что специализированной отверткой гораздо удобнее ковырять в своей области чем универсальной со сменными наконечниками.

Выражение "шаг вперёд" не многим лучше  smile 
Специализированный инструмент для того и создан, чтобы быть удобнее в своей области, но называть такую специализацию прогрессом имхо не правильно.

edit
Цитата(MAKCim @ 5.12.2006, 20:11)
неа  smile 
этим ты создашь временный объект класса BaseClass

Но с тем же результатом  smile  
Цитата(MAKCim @ 5.12.2006, 20:11)
в С++ конструктор родителя в любом случае вызовется неявно

Стандартный конструктор, а если я какой-то из 4 вызвать хочу?

Это сообщение отредактировал(а) nickless - 5.12.2006, 21:29


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
MAKCim
Дата 5.12.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Стандартный конструктор, а если я какой-то из 4 вызвать хочу?

не вызовешь
точнее вызовешь, но в списке инициализации
Код

...
    A(): B(0) {...}
...



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1301 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.