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

Поиск:

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


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


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

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



Цитата

в чистых сях , также все переменые надо сначало определить а потом юзать 

чистые С тоже есть разные
c89 (c90, ansi), modifed c90, c99
это справедливо для ansi C
причем gcc выдает Warning
только при включении опции -pedantic


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

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


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

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



Они все несовершенны.

Цитата(MAKCim @  3.12.2006,  14:52 Найти цитируемый пост)

чистые С тоже есть разные
c89 (c90, ansi), modifed c90, c99

Насчет чистых си и дельфи. В дельфи есть действительно удобная вещь типа "procedure foo(a,b,c,d,e:integer)".
В си ещё можно делать типа "int foo(a,b,c,d,e) int a,b,c,d,e; {hoora();}) но это а) не так удобно, так как надо писать имена переменных дважды.
б) в с++ отсутствует напрочь

Прадва это не спасает дельфи с его размашистыми "procedure"'ами, "begin"'ами. "end"'ами, "then"ами которые долго вводить и удалять.
Хотя даже procedure не так велико, как stuct Functor{Functor(Arg arg_) : arg(arg_){};  bool operator()(A a, B b)const{return arg(a,b)} (брр).

Кстати, в яве, например, с функторами несколько легче, так как можно сырцы прогнать через M4 и писать что-нибудь типа 
"JButton button = M4_BUTTON("OK", okClicked() )" который преобразуется в неудобночитаемое, но синтаксически верное
JButton button = new JButtonDerived("OK", new ActionListener(){ public void actionPerformed(ActionEvent event){ okClicked();};})
Эдакое мелкое подобие человеческой лямбды.

Бустовская λ кстати "for_each(v.begin(),v.end(),  _1 = rand()) на нормальную лямбду не тянет (угадайдте, сколько разных 
значений будет в v, при условии что он не пуст и суть контейнер int'ов).

Вообщем всё это мрачно.  smile 

ps. вроде не сильно повторяю предыдущие реплики




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 4.12.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

Насчет чистых си и дельфи. В дельфи есть действительно удобная вещь типа "procedure foo(a,b,c,d,e:integer)".
В си ещё можно делать типа "int foo(a,b,c,d,e) int a,b,c,d,e; {hoora();}) но это а) не так удобно, так как надо писать имена переменных дважды.
б) в с++ отсутствует напрочь

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

Прадва это не спасает дельфи с его размашистыми "procedure"'ами, "begin"'ами. "end"'ами, "then"ами которые долго вводить и удалять.

то же самое, мне и тебе не удобно
Romikgy-ю, skyboy-ю - удобно


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

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


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


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

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



Цитата(MAKCim @  4.12.2006,  11:38 Найти цитируемый пост)
то же самое, мне и тебе не удобно
Romikgy-ю, skyboy-ю - удобно

 вкусах не спрят (с)

имхo для для этого есть автозаполнение  smile  и все заводится автоматом

PS кса а автозаполнения в сишных средах разработки, кроме визуала и билдера, вроде нет , да и в тем что кроме , не считая билдера, ибо в нем слизано с дельфей, оно карявое имхо

Это сообщение отредактировал(а) Romikgy - 4.12.2006, 13:52


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

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


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


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

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



О, вспомнил, в Delphi нет такой полезной для системного программирования вещи как битовая структура
Код

struct selector {
    union {
        __u16 d_byte01;
       struct {
           /* доступ к отдельным битам `d_byte01' */
           __u32   d_bit01:   2;
           __u32   d_bit2:     1;
           __u32   d_bit315: 13;
       };
    };
};

 smile 

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


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

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


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


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

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



Цитата(MAKCim @  4.12.2006,  16:11 Найти цитируемый пост)
О, вспомнил, в Delphi нет такой полезной для системного программирования вещи как битовая структура

нет


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

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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



MAKCim, так мы говорим про удобство или не говорим?  smile 
Есть же битовые операции: сдвиг и OR/AND, при помощи которых можно осуществлять доступ к любому биту. Уверен, что при байте, как минимальной цели для адресации, работа с теми же битовыми структурами приводится к битовым операциям. Только неявно. Так тогда мы говорим только об удовтсве пользования. Даже если бы биты можно было бы передавать параметрами в функцию, чего нет, все равно работа шла бы с байтом.
Цитата(MAKCim @  4.12.2006,  11:38 Найти цитируемый пост)
я думаю вопросы удобства здесь не рассматриваются (рассматривается функционал)

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


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


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

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



skyboy
понимаешь в чем дело
битовая структура - это часть языка, аналога которой в Delphi нет. Т. е рассматривается именно функционал
а не всякие begin, end и пр., аналог которым в С - {}

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

Уверен, что при байте, как минимальной цели для адресации, работа с теми же битовыми структурами приводится к битовым операциям. Только неявно

правильно уверен


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

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


Antihero
*


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

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



Вложу свою маленькую лепту.

Дельфийский компилятор работает на порядок быстрее большинства популярных C++ компиляторов, хотя это отчасти сглаживается, если используются прекомпилированные заголовки  smile 

Это сообщение отредактировал(а) VectorMan - 4.12.2006, 17:57
PM   Вверх
MAKCim
Дата 4.12.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

Дельфийский компилятор работает на порядок быстрее большинства популярных C++ компиляторов

тесты проводили?


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

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


Амеба
Group Icon


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

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



Цитата(MAKCim @  4.12.2006,  17:11 Найти цитируемый пост)
О, вспомнил, в Delphi нет такой полезной для системного программирования вещи как битовая структура

Ну это не совсем так. Непосредственно к битам нет, но к байтам можно.
Код

type 
  Record
    a : integer;
    case byte of
      0 : mas1      : array[3..15] of byte;
      1 : min, max : Cardinal;
      2 : s             : String[8];
      3 : mas2      : array['k'..'o'] of Word;
    end;
    data : Variant;
  end;

Все что внутри case - расположено в одом блоке памяти и может интерпретироваться как любой из перечисленых типов. Т.е. записать как строку а прочитать как славо типа DWORD или WORD.
На сенгдняшний момент работа с битами является слишком медленной, а потому все оптимизируется под двойные слова. Но доступ к битам легко можно осуществить и в делфи используя битовые логические операции сдвига умножения сложения и т.д. Если вы думете что процессор способен работать с битами, то глубоко ошибаетесь, в С++ это просто более удобная запись битовых операций и не более. Ничего принципиального оно не вносит. 


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

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

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


Antihero
*


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

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



Цитата(MAKCim @ 4.12.2006,  18:02)
тесты проводили?

Не знаю, может и проводили, просто в Delphi нет препроцессора,

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

#include <windows.h>

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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(MAKCim @  4.12.2006,  16:49 Найти цитируемый пост)
Т. е рассматривается именно функционал
а не всякие begin, end и пр., аналог которым в С - {}

неужели (не)использование структур с битовыми полями(так же, как и переопределяемых операторов) как-либо изменяет функциональность программы?
PM MAIL   Вверх
Alexeis
Дата 4.12.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(MAKCim @  4.12.2006,  18:02 Найти цитируемый пост)
тесты проводили? 

Гыыыы. даже спорить не хочу, быстрее и намного. Язык просто строже и ему не приходится много думать и искать по закоулкам все объявления функций и проч. Быстрее однозначно это призаный факт, с которым не поспоришь.

Добавлено @ 18:25 
Но мы опять откланились. Скорость компиляции это не принципиально, важно другое, то что програмированние на делфи отличается от С++ и я бы сказал, что при этом писать на нем довольно удобно. Синтаксис языка более дружественный, но подразумевает немного другую логику. Короче лучше всего не переходить с Делфи на С++, а писать только на делфи  smile . Можно, конечно, сразу на С++, но это не так интересно smile 


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

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

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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(VectorMan @  4.12.2006,  16:56 Найти цитируемый пост)
Дельфийский компилятор работает на порядок быстрее большинства популярных C++ компиляторов

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

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

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


 




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


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

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