-
Поговорка: "Программист на фортране модет писать на фортране на любом языке" - на самом деле весьма актуальна.
Банально сейчас веду проект на С++, и ловлю себя на том, что пытаюсь построить архитектуру так, как строил бы на Дельфе.
Но это же в корне не правильно!
Как переучится? вернее не переучится, а научится эффективно писать на С++.
-
> @!!ex © (16.05.08 22:06)
> пытаюсь построить архитектуру так, как строил бы на Дельфе
и правильно делаешь
-
> Банально сейчас веду проект на С++, и ловлю себя на том,
> что пытаюсь построить архитектуру так, как строил бы на
> Дельфе.
> Но это же в корне не правильно!
Что за брутальные мысли? Если ты практику "аккуратного" Delphi-кода перенесешь на С++, тебе будет только плюс. Или даже два :)
-
Такой подход приводит к тому, что на С++ переносятся недостатки Дельфи, и не используются преимущества С++.
В итоге получаем код, который содержит недостатки С++, содержит недостатки Дельфи, и содержит только те достоинства, которые есть и в Дельфи и в С++.
-
> @!!ex © (16.05.08 22:19) [3]
>
> Такой подход приводит к тому, что на С++ переносятся недостатки
> Дельфи, и не используются преимущества С++.
>
> В итоге получаем код, который содержит недостатки С++, содержит
> недостатки Дельфи, и содержит только те достоинства, которые
> есть и в Дельфи и в С++.
это только в том случае, если ты решил переносить все недостатки
-
> Как переучится? вернее не переучится, а научится эффективно
> писать на С++.
Читать хорошие исходники и медитировать над ними.
Кстати, на самом деле, программист на Фортране будет писать на Фортране на любом языке - я много раз видел написанный "на Фортране" код на Delphi и на C (и на C++)
На С# после Delphi писать несколько проще, чем на С++
-
> @!!ex © (16.05.08 22:19) [3]
> Такой подход приводит к тому, что на С++ переносятся недостатки
> Дельфи, и не используются преимущества С++.
А можно обойтись без литературных метафор, и сказать конкретно, что именно тебя не устраивает? Какие именно недостатки ты переносишь, и какие преимущества теряешь?
-
Советую почитать последнее издание Страуструпа. Учиться по этой книге невозможно, но некую философию программирования на си++ из нее можно извлечь. Я, к стати, так ее и не одолел. Есть еще философский двухтомник Брюса Эккеля. Вернее, слово "философия" присутствует в названии второго тома. Я ее тоже читал местами.
-
для начала - ознакомиться с тем, что уже есть
STL - контейнеры данных, алгоритмы, как оно всё работает в связке
потом - с вещами, которые тебе будут облегчать жизнь - например, смарт поинтеры, паттерны (можно и не все, всё равно опыт приходит с практикой)
ознакомиться с тем, что такое парадигма RAII, нужна ли она тебе и как её использовать
и практика - писать и еще раз писать
-
> Как переучится? вернее не переучится, а научится эффективно
> писать на С++.
>
Это придёт со временем. Точнее с опытом многолетней работы. И это относится к любому языку, а не только к С++. Бо ни у какого языка нет простой "Инструкции по применению"! :)
-
перенёс в си свои паскалевские привычки по наименованию идентификаторов. когда это видят заядлые сишники, у них начинаются припадки с пеной изо рта.
---
Understanding is not required. Only obedience.
-
> ketmar © (17.05.08 07:49) [10]
Дык... функции WinAPI, надо полагать, писали экстрасуперсишники, а имена им дали вполне даже паскалевские.
-
> Offtop
Может подскажите с какой книжки лучше начинать изучать С++ ?
Или надо обратить свои взоры на С# ?
Лазила по форумам сишников, в поисках совета по стартовой литературе,
но вот беда: одни хвалят некую книгу, другие ее тут же разносят "в пух и прах" да еще и ногами топчут :)
Так как я там никого не знаю, то не могу и решить к чьему мнению надо прислушаться :(
Поэтому и решила спросить у нашего "сообщества" :)
-
Сколько книжек я не пробовал читать по С++, единственно полезной для меня, видимо, оказался «Полный справочник» Шилдта. На втором месте, однако, стоит упомянуть «Философию» Эккеля (см. [7]), которая тоже довольно интересна и познавательна.
-
> Может подскажите с какой книжки лучше начинать изучать С++
> ?
C++ лучше изучать со Страуструпа.
С просто (и это более достойно) лучше изучать с Кернигана и Ричи "Язык программирования С" - она не толстая. Параллельно с ней желаетльно читать книжку Кернигана и Пайка "Практика программирования".
Почему более достойно - потому что и Unix и Windows написаны на С, а не на С++ :)
-
> LightRipple (17.05.2008 11:36:12) [12]
На C++ Microsoft наложила болт, так что не трать на него время.
Все новые примеры в MSDN идут на C# и VB.Net
-
> Anatoly Podgoretsky © (17.05.08 12:09) [15]
Это не совсем так. :)
Сейчас у них в планах этот болт переложить.
-
>[11] Юрий Зотов © (2008-05-17 11:20:00)
а это наследие тяжёлых времён первой винды, которая на паскале была.
---
Understanding is not required. Only obedience.
-
Керниган и Риччи излагают старую версию языка си. Например функция там может быть определена так.
int fun(s, n)
char *s;
int n;
Теперь любой сишник опишет параметры в первой же строчке, а выражение после return не будет заключать в скобки. Хотя старый стиль и воспринимается современными компиляторами, я бы не советовал к нему привыкать.
Сама книга очень хороший учебник. Достаточно сказать, что я изучил первое издание этой книги (перевод у нас вышел где-то на стыке 70-х и 80-х) когда у меня даже не было компилятора - всё было четко изложено в самой книге и прилагавшихся примерах и упражнениях.
-
> на стыке 70-х и 80-х
на стыке 80-х и 90-х
-
Все-таки засомневался и стал уточнять. Перевод первого издания книги вышел в 1985 году. Вот его читать не надо. Сейчас в ходу 3-е издание. Там на обложке такое красное изображение штампика "ANSI C" - вот там изложен нормальный современный си.
-
Ух ты сколько у нас сишников :) Спасибо.
> [14] Игорь Шевченко © (17.05.08 12:03)
> С просто (и это более достойно) лучше изучать с Кернигана и Ричи
> "Язык программирования С" - она не толстая.
Ну раз "она не толстая", то придется прочитать.
Это конечно не самый, но довольно весомый агрумент :)
К сожалению, не помню кто именно (с нашего форума), рекомендуя мне книгу
по программированию приводил более весомый аргумент: "она с картинками" :)
-
LightRipple © (17.05.08 23:57) [21]
> Ну раз "она не толстая", то придется прочитать.
Страуструп, например, толстый. Впрочем и С++ толстый сам по себе
-
Prolog изучи. Для расширения кругозора... :>
-
Покажите пример кода на Дельфи на фортране =)
-
>[22] Игорь Шевченко © (2008-05-18 00:00:00)
>Страуструп, например, толстый.
и глупый.
---
Understanding is not required. Only obedience.
-
> Страуструп, например, толстый.
Хорошего человека должно быть много.
-
>[26] Anatoly Podgoretsky © (2008-05-18 17:40:00)
так то хорошего. а то труп страуса.
---
Understanding is not required. Only obedience.