Конференция "Прочее" » Как писать на С++, а не на Дельфи?
 
  • @!!ex © (16.05.08 22:06) [0]
    Поговорка: "Программист на фортране модет писать на фортране на любом языке" -  на самом деле весьма актуальна.
    Банально сейчас веду проект на С++, и ловлю себя на том, что пытаюсь построить архитектуру так, как строил бы на Дельфе.
    Но это же в корне не правильно!
    Как переучится? вернее не переучится, а научится эффективно писать на С++.
  • boa_kaa © (16.05.08 22:13) [1]

    > @!!ex ©   (16.05.08 22:06)
    > пытаюсь построить архитектуру так, как строил бы на Дельфе

    и правильно делаешь
  • DrPass © (16.05.08 22:14) [2]

    > Банально сейчас веду проект на С++, и ловлю себя на том,
    >  что пытаюсь построить архитектуру так, как строил бы на
    > Дельфе.
    > Но это же в корне не правильно!

    Что за брутальные мысли? Если ты практику "аккуратного" Delphi-кода перенесешь на С++, тебе будет только плюс. Или даже два :)
  • @!!ex © (16.05.08 22:19) [3]
    Такой подход приводит к тому, что на С++ переносятся недостатки Дельфи, и не используются преимущества С++.

    В итоге получаем код, который содержит недостатки С++, содержит недостатки Дельфи, и содержит только те достоинства, которые есть и в Дельфи и в С++.
  • boa_kaa © (16.05.08 22:29) [4]

    > @!!ex ©   (16.05.08 22:19) [3]
    >
    > Такой подход приводит к тому, что на С++ переносятся недостатки
    > Дельфи, и не используются преимущества С++.
    >
    > В итоге получаем код, который содержит недостатки С++, содержит
    > недостатки Дельфи, и содержит только те достоинства, которые
    > есть и в Дельфи и в С++.

    это только в том случае, если ты решил переносить все недостатки
  • Игорь Шевченко © (16.05.08 22:51) [5]

    > Как переучится? вернее не переучится, а научится эффективно
    > писать на С++.


    Читать хорошие исходники и медитировать над ними.

    Кстати, на самом деле, программист на Фортране будет писать на Фортране на любом языке - я много раз видел написанный "на Фортране" код на Delphi и на C (и на C++)

    На С# после Delphi писать несколько проще, чем на С++
  • DrPass © (16.05.08 22:51) [6]

    > @!!ex ©   (16.05.08 22:19) [3]


    > Такой подход приводит к тому, что на С++ переносятся недостатки
    > Дельфи, и не используются преимущества С++.

    А можно обойтись без литературных метафор, и сказать конкретно, что именно тебя не устраивает? Какие именно недостатки ты переносишь, и какие преимущества теряешь?
  • palva © (16.05.08 23:20) [7]
    Советую почитать последнее издание Страуструпа. Учиться по этой книге невозможно, но некую философию программирования на си++ из нее можно извлечь. Я, к стати, так ее и не одолел. Есть еще философский двухтомник Брюса Эккеля. Вернее, слово "философия" присутствует в названии второго тома. Я ее тоже читал местами.
  • wicked © (17.05.08 01:01) [8]
    для начала - ознакомиться с тем, что уже есть
    STL - контейнеры данных, алгоритмы, как оно всё работает в связке

    потом - с вещами, которые тебе будут облегчать жизнь - например, смарт поинтеры, паттерны (можно и не все, всё равно опыт приходит с практикой)

    ознакомиться с тем, что такое парадигма RAII, нужна ли она тебе и как её использовать

    и практика - писать и еще раз писать
  • Германн © (17.05.08 01:09) [9]

    > Как переучится? вернее не переучится, а научится эффективно
    > писать на С++.
    >

    Это придёт со временем. Точнее с опытом многолетней работы. И это относится к любому языку, а не только к С++. Бо ни у какого языка нет простой "Инструкции по применению"! :)
  • ketmar © (17.05.08 07:49) [10]
    перенёс в си свои паскалевские привычки по наименованию идентификаторов. когда это видят заядлые сишники, у них начинаются припадки с пеной изо рта.

    ---
    Understanding is not required. Only obedience.
  • Юрий Зотов © (17.05.08 11:20) [11]
    > ketmar ©   (17.05.08 07:49) [10]

    Дык... функции WinAPI, надо полагать, писали экстрасуперсишники, а имена им дали вполне даже паскалевские.
  • LightRipple © (17.05.08 11:36) [12]
    > Offtop

    Может подскажите с какой книжки лучше начинать изучать С++ ?
    Или надо обратить свои взоры на С# ?

    Лазила по форумам сишников, в поисках совета по стартовой литературе,
    но вот беда: одни хвалят некую книгу, другие ее тут же разносят "в пух и прах" да еще и ногами топчут :)
    Так как я там никого не знаю, то не могу и решить к чьему мнению надо прислушаться :(
    Поэтому и решила спросить у нашего "сообщества" :)
  • Zeqfreed © (17.05.08 11:53) [13]
    Сколько книжек я не пробовал читать по С++, единственно полезной для меня, видимо, оказался «Полный справочник» Шилдта. На втором месте, однако, стоит упомянуть «Философию» Эккеля (см. [7]), которая тоже довольно интересна и познавательна.
  • Игорь Шевченко © (17.05.08 12:03) [14]

    > Может подскажите с какой книжки лучше начинать изучать С++
    > ?


    C++ лучше изучать со Страуструпа.

    С просто (и это более достойно) лучше изучать с Кернигана и Ричи "Язык программирования С" - она не толстая. Параллельно с ней желаетльно читать книжку Кернигана и Пайка "Практика программирования".

    Почему более достойно - потому что и Unix и Windows написаны на С, а не на С++ :)
  • Anatoly Podgoretsky © (17.05.08 12:09) [15]
    > LightRipple  (17.05.2008 11:36:12)  [12]

    На C++ Microsoft наложила болт, так что не трать на него время.
    Все новые примеры в MSDN идут на C# и VB.Net
  • oxffff © (17.05.08 12:14) [16]

    > Anatoly Podgoretsky ©   (17.05.08 12:09) [15]


    Это не совсем так. :)
    Сейчас у них в планах этот болт переложить.
  • ketmar © (17.05.08 12:21) [17]
    >[11] Юрий Зотов © (2008-05-17 11:20:00)
    а это наследие тяжёлых времён первой винды, которая на паскале была.

    ---
    Understanding is not required. Only obedience.
  • palva © (17.05.08 12:59) [18]
    Керниган и Риччи излагают старую версию языка си. Например функция там может быть определена так.

    int fun(s, n)
    char *s;
    int n;
    {
     return (*(s + n));
    }



    Теперь любой сишник опишет параметры в первой же строчке, а выражение после return не будет заключать в скобки. Хотя старый стиль и воспринимается современными компиляторами, я бы не советовал к нему привыкать.

    Сама книга очень хороший учебник. Достаточно сказать, что я изучил первое издание этой книги (перевод у нас вышел где-то на стыке 70-х и 80-х) когда у меня даже не было компилятора - всё было четко изложено в самой книге и прилагавшихся примерах и упражнениях.
  • palva © (17.05.08 13:15) [19]

    > на стыке 70-х и 80-х

    на стыке 80-х и 90-х
  • palva © (17.05.08 14:35) [20]
    Все-таки засомневался и стал уточнять. Перевод первого издания книги вышел в 1985 году. Вот его читать не надо. Сейчас в ходу 3-е издание. Там на обложке такое красное изображение штампика "ANSI C" - вот там изложен нормальный современный си.
  • LightRipple © (17.05.08 23:57) [21]
    Ух ты сколько у нас сишников :) Спасибо.

    > [14] Игорь Шевченко ©   (17.05.08 12:03)
    > С просто (и это более достойно) лучше изучать с Кернигана и Ричи
    > "Язык программирования С" - она не толстая.

    Ну раз "она не толстая", то придется прочитать.
    Это конечно не самый, но довольно весомый агрумент :)

    К сожалению, не помню кто именно (с нашего форума), рекомендуя мне книгу
    по программированию приводил более весомый аргумент: "она с картинками" :)
  • Игорь Шевченко © (18.05.08 00:00) [22]
    LightRipple ©   (17.05.08 23:57) [21]


    > Ну раз "она не толстая", то придется прочитать.


    Страуструп, например, толстый. Впрочем и С++ толстый сам по себе
  • Pilum © (18.05.08 14:36) [23]
    Prolog изучи. Для расширения кругозора... :>
  • Дмитрий С (18.05.08 14:42) [24]
    Покажите пример кода на Дельфи на фортране =)
  • _mirage (18.05.08 17:26) [25]
    >[22] Игорь Шевченко © (2008-05-18 00:00:00)
    >Страуструп, например, толстый.
    и глупый.

    ---
    Understanding is not required. Only obedience.
  • Anatoly Podgoretsky © (18.05.08 17:40) [26]

    > Страуструп, например, толстый.

    Хорошего человека должно быть много.
  • _mirage (18.05.08 17:45) [27]
    >[26] Anatoly Podgoretsky © (2008-05-18 17:40:00)
    так то хорошего. а то труп страуса.

    ---
    Understanding is not required. Only obedience.
 
Конференция "Прочее" » Как писать на С++, а не на Дельфи?
Есть новые Нет новых   [134436   +26][b:0][p:0.001]