У меня есть опыт работы на Delphi более 5 лет и я столкнулся с потребностью
знать (владеть) ещё одним языком программирования C++.
Ознакомился с синтаксисом, выучил ООП(C++), STL, работу с файлами и т.д.
т.е. отработал (на примерах небольших программ) базовые принципы.
С++ мне необходим для реализации проектов по компьютерной графике (OpenGL).
Всё вроде в порядке... Но, иногда сталкиваюсь с неизвестным, как, например, утечки памяти,
особенности компиляции.
Подскажите пожалуйста, на что мне ещё необходимо обращать внимание.
т.е. в чём ещё заключается специфика программирования на C++ для того, что-бы стать
квалифицированным программистом C++?
Здравствуйте, rwkostya, Вы писали:
R>Привет RSDN и все все все,
R>У меня есть опыт работы на Delphi более 5 лет и я столкнулся с потребностью R>знать (владеть) ещё одним языком программирования C++. R>Ознакомился с синтаксисом, выучил ООП(C++), STL, работу с файлами и т.д. R>т.е. отработал (на примерах небольших программ) базовые принципы. R>С++ мне необходим для реализации проектов по компьютерной графике (OpenGL). R>Всё вроде в порядке... Но, иногда сталкиваюсь с неизвестным, как, например, утечки памяти, R>особенности компиляции.
R>Подскажите пожалуйста, на что мне ещё необходимо обращать внимание. R>т.е. в чём ещё заключается специфика программирования на C++ для того, что-бы стать R>квалифицированным программистом C++?
[RSDN@Home 1.1.4 stable SR1 rev. 568 on Windows XP 5.1.2600.0]
"В любое мгновение принятия решения, лучшее, что вы можете сделать, это принять правильное решение; следующим лучшим вариантом будет принять неправильное решение, худший вариант – не принимать решения совсем" (c) Теодор Рузвельт.
Здравствуйте, rwkostya, Вы писали:
R>Подскажите пожалуйста, на что мне ещё необходимо обращать внимание. R>т.е. в чём ещё заключается специфика программирования на C++ для того, что-бы стать R>квалифицированным программистом C++?
Здравствуйте, rwkostya, Вы писали:
R>С++ мне необходим для реализации проектов по компьютерной графике (OpenGL).
кроме самого OpenGL стоит изучить железо под которое пишется ПО, без этого не получиться достичь высокой производительности, если есть такая необходимость, конечно.
R>т.е. в чём ещё заключается специфика программирования на C++ для того, что-бы стать R>квалифицированным программистом C++?
иметь опыт работы с разными библиотеками, компиляторами под разные ОС и аппаратуру. Знать как это всё внутри работает, а не уровне С кода.
Опыт, опыт, опыт. Года через 3-4 ИМХО можно называть себя программистом освоившим с++
Спасибо, только что приобрёл 2 книги Скотта Майерса, читаю взахлёст.
Встречаются интересные приёмы.
1. "35 новых способов улучшить стиль программирования"
2. "50 рекомендаций по улучшению ваших программ и проектов"
Саттера и Гамма не нашёл. Думаю, чуть позже доберусь и до них.
Здравствуйте, rwkostya, Вы писали:
R>Здравствуйте, AKh, Вы писали:
AKh>>Специфика — Майерс (Саттер — краткость изложения). AKh>>На учиться программировать (проэктировать) — Гамма.
R>Спасибо, только что приобрёл 2 книги Скотта Майерса, читаю взахлёст. R>Встречаются интересные приёмы. R> 1. "35 новых способов улучшить стиль программирования" R> 2. "50 рекомендаций по улучшению ваших программ и проектов"
R>Саттера и Гамма не нашёл. Думаю, чуть позже доберусь и до них.
Саттер, после Майерса, практически ничего нового не скажет.
Гамма:
Приемы объектно-ориентированного проектирования. Паттерны проектирования.
Авторы: Эрих Гамма
Ричард Хелм
Ральф Джонсон
Джон Влиссидес
Издательство: "Питер", 2006
368 страниц
Также известны как банда четырех GoF.
На сайте аннотация книги приведена, можно также поискать в интернет-магазинах.
В инете где-то есть и электронный вариант.
.
Спасибо, очень интересные вопросы. Экзамен по C++.
Здравствуйте, dotidot, Вы писали:
D>кроме самого OpenGL стоит изучить железо под которое пишется ПО, без этого не получиться достичь высокой производительности, если есть такая необходимость, конечно.
C OpenGL немного знаком. А по поводу железа, у меня за плечами ФЭЛ НТУУ "КПИ".
По железу прошли хорошую подготовку (микроконтроллеры, архитектура i386 и т.д.).
D>иметь опыт работы с разными библиотеками, компиляторами под разные ОС и аппаратуру. Знать как это всё внутри работает, а не на уровне С кода.
Asm понимаю. Уже правда не всегда. Когда-то начинал с, кто меня поймёт, ".model tiny". Поэтому, о том как оно всё внутри работает, имею представление.
Я решил базовые вопросы с популярными бесплатными библиотеками для загрузки изображений, проигрывания звука, видео.
т.е. специфика графических приложений.
D>Опыт, опыт, опыт. Года через 3-4 ИМХО можно называть себя программистом освоившим с++
Буду стараться раньше. Как никак за плечами Delphi. Спасибо.
Здравствуйте, AKh, Вы писали:
AKh>Саттер, после Майерса, практически ничего нового не скажет. AKh>Гамма: AKh>Приемы объектно-ориентированного проектирования. Паттерны проектирования. AKh>Авторы: Эрих Гамма AKh>Ричард Хелм AKh>Ральф Джонсон AKh>Джон Влиссидес AKh>Издательство: "Питер", 2006 AKh>368 страниц AKh>Также известны как банда четырех GoF. AKh>На сайте аннотация книги приведена, можно также поискать в интернет-магазинах. AKh>В инете где-то есть и электронный вариант.
Подскажите пожалуйста, стоит ли сейчас уделить время для ознакомления с различными компиляторами.
Стоит ли ознакомиться сейчас с принципами кросплатформенного программирования или это можно будет освоить позже, когда возникнет потребность? (имеется в виду совместимость кода для разных платформ)
Синтаксис "C" от "С++" отличается. Его ("C") знать сейчас, в наше время , необходимо?
Здравствуйте, rwkostya, Вы писали:
R>Подскажите пожалуйста, стоит ли сейчас уделить время для ознакомления с различными компиляторами. R>Стоит ли ознакомиться сейчас с принципами кросплатформенного программирования или это можно будет освоить позже, когда возникнет потребность? (имеется в виду совместимость кода для разных платформ) R>Синтаксис "C" от "С++" отличается. Его ("C") знать сейчас, в наше время , необходимо?
Зависит от целевой платформы и компилятора. И фактора удерживания заданного стандарта компилятором.
Ведь не факт, что компиляторы с практически идентичными настройками будут воспринимать один и тот же код без проблем.
Другими словами, компилятор сам скажет, что ему нужно! )
R>Подскажите пожалуйста, стоит ли сейчас уделить время для ознакомления с различными компиляторами. R>Стоит ли ознакомиться сейчас с принципами кросплатформенного программирования или это можно будет освоить позже, когда возникнет
стоит. чтоб уметь обходить ситуации "в VC++ все работает, а в gcc даже не компилится", и учиться писать код который "работает всегда".
даже если ты пишешь под одну платформу , знание непереносимых особенностей языка/библиотеки лишним не будет.
это неплохо описывается в книге Мейерса Эффективное использование STL.