Блог им. Therollingstones

Из за чего я потерял год.

 Уже год назад я собрался написать финансовый индекс и постоянно выходят посты по философии, либо я выкладываю отдельные куски алгоритмов, а все никак не могу взяться за масштабный проект. Почему? Дело в том, что мои первые учебные материалы были не очень удачны и один очень важный момент я понял неправильно, в результате это стало проблемой для восприятия дальнейшего материала. Ответ я нашел в книге

Programming Principles and Practice Using С++
Second edition
Bjarne Stroustruр

Я копировал совет из книги, и стал его применять.
С моей стороны было бы свинством, не поделиться этим после года писанины.
Из за чего я потерял год.
Надеюсь это будет полезным)
★3
19 комментариев
«Поздравляю Шарик, ты балбес!» ©

Не в плане обидеть, просто год из за вот этой вот хрени? Вы че шутите чтоли? Может неверное целеполагание вообще убьет Вас?
Брахман Пилорама, Ну это я образно, я не мог полноценно переходить к более сложным темам, а так я много нового узнал и практического в том числе.
avatar
Это меняет дело :)
Брахман Пилорама, а для такой простейшей вещи не было четкого решения.
avatar
обломовщина
avatar
Бог, ага(
avatar
Я что-то не понял в чем посыл. Похоже на что-то вроде приглашения на некий курс программирования для дебилов. Или проблема в том, что люди начинают с С++ толком не понимая что такое объекты и не смотря на это продолжают осваивать более сложные вещи толком не понимая их сути? По-хорошему, конечно, надо примеры работы с консолью начинать с функций printf и scanf, тогда не надо будет рисовать какие-то дебильные квадратики, наверное…
avatar
tranquility, )) ага, "@проблема в том, что люди начинают с С++ толком не понимая что такое объекты и не смотря на это продолжают осваивать более сложные вещи толком не понимая их сути"
avatar
Therollingstones, вдруг полезным окажется: я по этой книжке
www.labirint.ru/books/76003/
учил С/С++ когда у меня даже компьютера не было. Там на простых коротких примерах есть все что касается объектов (наследование, полиморфизм, виртуальные функции). Только книжка у меня более старого издания была. Ну и Borland C++ я никогда в жизни себе не ставил, это я к тому, что хоть про борланд написано на самой обложке, по сути это вообще ничего не меняет.
avatar
tranquility, о нееее неее, если только потом, программирование заставляет привыкать к книге)
avatar
Therollingstones, а ты для себя уже открыл STL? Если нет, без этого никак, если надо писать большой проект. Вообще, интересно, а в каком месте тебе понадобился С++ в роботостроении? Если просто данные обрабатывать исторические — тут питона вполне себе хватает. Если робота писать, то как-то все сразу на си шарп подсаживаются, луа та же для простых стратегий подойдет (а может и не для простых и это просто я ее готовить не умею)… Почему С++?
avatar
tranquility, я постоянно забываю ответ на этот вопрос))

дело было так, лазал я на Microsoft Press Store и купил вот такую
книгу ...See the source image


а там что бы программировать нужен C++ говорили, я ее так особо даже еще и не прочитал, так как еще не доучил C++

Наверное персональные приложения пилить и графику, не знаю… сказали надо ))

avatar
Therollingstones, я не знаю как сейчас, но еще лет 12 назад, когда я занимался системным программированием в Винде, там все писалось на простом С (без плюсов). Первые простые (внутри они не такие уж и простые) объекты, которые встречаешь — это cin и cout, и в ряде случаев погружение в С++ на этом может и ограничиться. Следующий этап — это уже написание собственных классов и использование контейнеров STL.

P.S. Все равно не понимаю, на что впустую был потрачен год, как связано системное программирование в Windows и торговля на бирже, и что значит «собрался написать финансовый индекс»?
avatar
tranquility, хаха, ну мы всегда хотим большего, может мне повезло что всего год. Да, есть идея индекса, хочу что бы программа выводила очень много графиков на один монитор, ну например что бы можно было отслеживать динамику всех акций с 8 до 12 долларов и т д, макро взгляд такой )

Кстати в этой книге будет и С еще ...

STL что то знакомое, вроде бы STL будет в более сложной книге Cтрауструпа
avatar
Therollingstones, 
На простецком уровне уже сейчас тобой stl может использоваться так:
вместо
int arrSize = 5;
double* pArr = new double[ arrSize ];

for( int i = 0; i < arrSize; i++ )
    cin >> pArr[i];

//do something

delete pArr

ты можешь делать так:

#include <vector>

std::vector<double> dVec(5);
// or std::vector<double> dVec; dVec.resize(5)
for( int i = 0; i < dVec.size(); i++ )
    cin >> dVec[i];

//do something

а удалять специально объект dVec не нужно, это сделает деструктор, встроенный в него.

А что если ты не знаешь заранее длину своего вектора? Пожалуйста:

std::vector<double> dVec;

while( true )
{
    double t;
    if( !( std::cin >> t ) )
        break;
    dVec.push_back( t );
}

длина вектора будет увеличиваться до тех пор, с консоли будет введено не число…
avatar
а еще, для лучшего понимания компилируемых языков программирования полезно хоть немножечко попрограммировать на ассемблере, тогда, например, станет легко понять откуда берутся соглашения о вызовах и что в этом плане те же printf и scanf не так просты, как это может показаться с первого взгляда.
avatar
tranquility, видимо с stl дело уже имею, как я понимаю — stl это абстрактный механизм, наращивание вектора например выполняю с помощью функции 

cin >> object
vector.push_back(object)
avatar
STL == Standard Templates Library)
у нее три составляющие: контейнеры (vector), итераторы (указатели на элементы контейнеров по сути) и алгоритмы. push_back — этот метод (один из, как и .size() ) контейнера (с точки зрения С++ — шаблона класса) vector. Алгоритмы — это отдельная тема. Например, можно легко отсортировать вектор, просто написав:

#include <algorithm>
std::sort( dVec.begin(), dVec.end() );

тут уже придется книжку почитать, чтобы уяснить что возвращают методы begin и end (что такое итераторы)…

Не знаю как насчет Страуструпа, но вот у Саттера очень полезные книжки по STL, там изнутри объясняется как устроена STL, чтобы можно было самому ее заново воспроизвести!
Ну а тут чисто посмотреть что за тема вообще:
www.solarix.ru/for_developers/cpp/stl/stl.shtml
avatar
tranquility,   это как раз следующий этап, к которому нужно хорошо подготовиться) алгоритм sort применял уже, был пример учебный по поиску медианы, если смотреть по страуструпу, я сейчас прохожу первую часть, а ее основа, это внутреннее устройство алгоритмов, вторая часть будет вод и вывод, ну ввод инормации в файлы и из, взаимодействие через пользовательский интерфейс, а вот третья часть будет STL, в которой как раз будут учить чисто на стандартных алгоритмах (точнее готовых)

Просто автор говорит, что иногда полезно заставить собрать студента колесо.
avatar

теги блога therollingstones

....все тэги



UPDONW
Новый дизайн