Хочу сразу поблагодарить всех, кто комментировал
предыдущий пост. Вы знаете, тут на смартлабе люди жалуются, что срач и качество комментариев низкое. Но как я понял, срач всегда притягивается на соответствующие темы постов. Если ты пишешь о высокоинтеллектуальных вещах, то нежелательный контингент отваливается сам собой, поэтому в
комментах сложилась очень теплая и конструктивная атмосфера. Ещё раз спасибо!
Итак, с момента публикации моего
предыдущего поста про моё изучение C# прошло еще [42->57] 15 часов чистого
времени. Я по-прежнему иду по книге Стиллмена Изучаем C#
Первые 250 страниц (которые уже прочел три года назад) прошли относительно легко. Но теперь, такое ощущение, что с каждой страницей я начинаю увязать в содержании всё сильнее и сильнее. Вещи становятся всё более абстрактными, они уходят всё дальше от жизни и пока не ясно, как это всё использовать.
Сейчас я на 304 стр. В частности я добрался до иерархии классов. Ладно бог с ним, когда один класс наследует какие-то свойства другого. Но когда вместо классов возникают ещё и интерфейсы, плюс параллельные классы начинают «тырить» друг у друга методы и свойства, становится совсем тяжко. Ощущение что с каждой страницей этой книги я увязаю в болоте всё сильнее и сильнее. Но я не отчаиваюсь, и все равно собираюсь прочесть её целиком, не пропустив ни одной странички, не упустив ни одного задания. Хотя честно говоря, я уже несколько не смог сам решить, потому что уже не совсем вдупляю).
Как бы вам это объяснить? Ну вот есть синтаксис у языка. Ты начинаешь его учить. Вместо того, чтобы начинать говорить помаленьку, на тебя сгружают все самые сложные языковые конструкции, которые перегревают твой
мозг — ты просто не в состоянии удерживать всё усложняющуюся конструкцию синтаксиса у себя в голове… И в отсутствие обширной практики просто вызывают блокирование мозга). Вот так я себя чувствую углублясь в детали иерархии классов...
Понаблюдать за моим мучениями можно например тут (Я открыл видосики, которые записываю сам для себя, чтобы во время проговаривания, лучше усваивался материал):
Полный
плейлист моих мучений тут.
Как бы мучительно процесс не шёл, я испытываю натуральное удовлетворение от того, что мой мозг пытается думать и от того, что я делаю нечто, что мне всю жизнь казалось недоступным мне.
p.s. всё ещё не курю ни одной.
А после некоторых лет программирвоания почитать уже Рихтера.
Серию этих книг знаю, они всегда казались какими-то странными и не оч содержательными.
#Тиманездавайся
Просто это элементов ООП функционала
Просто для тебя интерфейс — это якобы визуальное взаимодействие человек — компьютер.
А на самом деле это средство взаимодействия классов (объектов — экземпляров классов) друг с другом.
Поэтому у тебя может быть консольное приложение, которое ни строчки на экран не выводит, но твои классы вовсю используют интерфейсы.
Ограничение дневных убытков — Лимитер — мое детище. Написано на C# с использованием API брокера.
Успешно используется нашими клиентами.
а в планах когда начать?(шорт филлипа давит))
До этого правда был Basic и Паскаль (в школе было), а за ним Дельфи — ОО Паскать т.с. и немного Асма :)
Но вот C и C# до сих пор для меня загадки :)
Иногда правда на нем ковыряю, что надо по мелочи, но в 80% случаем лезу на форумы, т.ч. я хз как Тимофею это удается…
Действительно, классы, наследование, инкапсуляция и т.п. на первых порах могут показаться слишком абстрактными и сложными понятиями. Можно, для начала, изучить процедурный «чистый» C.
Как говорят про трейдинг — это не спринт, это марафон. К программированию это относится в той же степени.
PS. Молодец!
1) Вполне можно использовать API с классами не особенно разбираясь в их устройстве, а синтаксис для их использования подсмотреть в примерах из документации. Для такого применения вполне хватит понимания, что просто есть такая «штука» как «классы».
2) Для начала, неплохо бы, изучить основные приемы программирования: операторы, типы данных, циклы, условия, функции и т.п. И попрактиковаться в них. Эти знания в любом случае пригодятся как в чистом C, так и в C++/C#/Objective-C. Да и в любых языках вообще.
3) Ну и, разумеется, я не утверждаю, что изучать классы не нужно совсем. Просто их легче воспринимать, когда уже знаком с базовыми приемами в программировании. Впрочем это только из моего личного опыта, я учился довольно давно, когда ООП было в диковинку. Вполне допускаю, что для некоторых такой способ — избыточная трата времени.
До тех пор пока тебе не нужны сложные взаимодействия классов даже не забивай этим голову. Появится задача — будешь искать путь решения и голова заработает от правильных вещей.
Вот тебе пример задачи, когда нельзя просто наследовать классы.
Есть два ключевых объекта: «лимитный ордер» и «позиция».
Позиция порождается ордером, значит подчинение «по простому» должно быть такое: объект «ордер» управляет объектом «позиция». На практике надо придумывать сложное двухстороннее взаимодействие. Возникают сложные ситуации (частичное исполнение ордера, позиция без ордера и т.п.) и появляется конкретный запрос в голове «как решить?». Вот тогда и надо читать учебник.
Нужно параллельно браться и программировать, реашая конкретную задачу. Тогда изучение тех моментов, которые нужны при написании программы, будет активным и будет усваиваться. Изучать весь язык и все его возможности на авось пригодится может и хорошо, но…
наследование, инкапсуляция, полиформизм
Это ты пока еще только книжку читаешь. Начнешь программировать там отдельные засады.
Тут главное верить в себя. Считать себя крутым и могучим.
Пять лет....
Оббоже
на стадии общения с программистами)
вообще не понятно зачем ты этим занимаешься, Тимофей, то что ты делаешь сейчас хорошо делать лет в 18-20, а лучше в 10 :) начинать учить программирование сейчас в твоём возрасте, ну только как хобби или для общего развития. проффесионалом ты не скоро станешь. конечно если очень захотеть можно через 10 лет вырасти в суперпрограммера и следующие 50 лет ещё фигачить )
в общем мне кажется это не твоя компетенция и ты мог бы своё время потратить куда более эффективно, но чёрт его знает.
без практики сложно если честно. всё равно будет шняга получаться. опыта набираешься быстрее всего от более опытных коллег когда работаешь над одним проектом.
я вот тем чем ты занимаешься занимался в возрасте 18 лет, и потом ещё лет 8 писал говнокод, пока хоть чему-то научился.
Читай книжки и зубри понятия для начала.
Удивляешься, что у тебя не выводится значение свойства ScaryThingIHave, но при этом ты ни разу это свойство не вызваешь.
Свойства сами по себе обычно ничего не выводят. Чтобы вывести значение свойства, его значение надо сначала получить, а потом передать в метод, который выводит на экран или показывает MessageBox.
Наследование тоже сделано не пойми как. Наследование — это выделение частного из общего. Т.е. если класс Б отнаследован от А, то можно сказать «Б» это «А», например ScaryClown это Clown и FunnyClown это Clown или «автомобиль» это «средство передвижения», а у тебя ScaryClown отнаследован от FunnyClown, т.е. у тебя ScaryClown это FunnyClown. Что не есть правильно.
И книжка твоя — говно.
Читай лучше C# in a nutshell (на англ vk.com/doc24300989_341954531?hash=58b24356316717c32d&dl=4dfb2713d0d3cd452d) на русском не знаю есть ли электронный вариант, бумажный вот www.ozon.ru/context/detail/id/19146325/
Просто по логике примера из книги к нему должно быть какое-то обращение и я этого обращения не нашел
Книжка вероятно в натуре говно
Но дочитать её я должен
Плюс справочника (не любого, а именно этого) в том, что он излагает информацию последовательно, не кидаясь сразу в ООП, как это делает стиллмен.
Минус справочника в том, что он может не объяснять разные базовые моменты программирования. Но эти моменты не привязаны к языку, их можно изучать отдельно. Вот например плейлист с объяснением основ ООП (примеры там приводятся на жаве, но это не важно; да и жава похожа на C#)
www.youtube.com/playlist?list=PL6LDsbZOeyrx462VmH18qS0a9Dw9LwpSu
adm-lib.ru/programmirovanie/h.-deytel-c-v-podlinnike.-naibolee-polnoe-rukovodstvo.html
Кстати, быть программистом это обалдеть какая скукота.
«что истина в простом.»
забьете себе мозг ерундой, а там и до палаты №6 не далеко
1. http://eknigi.org/programmirovanie/69771-samouchitel-c.html
2. http://forcoder.ru/c-sharp/samouchitel-c-nachala-programmirovaniya-1257
Отчаиваться не стоит, ибо вспомните школу как шло обучение тому или иному предмету у того или иного ученика.
Кто-то вначале был в отчаянии, но продолжал грызть гранит науки(чаще всего под давлением родителей), кто-то не так сильно был «обременен» родительским вниманием. Результаты к окончанию обучения всегда были разными у этих двух групп.
У вас похожий случай. Поэтому не сдавайтесь, но может нужно переключаться с обучения чаще и попробуйте два самоучителя, приведенных выше. Думаю с ними обучение пойдет веселее.
Удачи!
начинающему это вообще не нужны, если грубо то всё эти «надстройки» нужны только в больших проектах и используют для экономии времени.
я бы легко и быстро обьяснил тебе всю эту хрень
где твой расчет гэпов по утрам?:)
)))
youtu.be/x0udrpe_gZE?list=PLvItDmb0sZw-kmcZAZJ29eTtAV56D5dgW
Все понятно и легко, мозги не закипают, вопросы исчезают.
а я вот не понял про эти курсы — они же вроде платные? Надо платить за месяц, 3, 6, год — по желанию. А на ютубе там что — обрезанные версии? А если не обрезанные, то чего они на ютубе, а не в торрентах? Куда авторы смотрят? Не могла бы Вы пояснить?
Вот я стал по субботам стрелять по тарелочкам- и публика вся интеллектуальная и очень богатая… Один я на электричке приезжаю из Москвы)((((
Каждый выстрел- батон нарезного+ каллорийка!
совершенно не понимаю
но я читаю книгу и там я ввяз в этот материал)
Ну а для трейдинга я уже обвешался программами по уши. Большинство из них героически борются со мной лично, когда я пытаюсь отключить ограничение по дневному лимиту. Борются с переменным успехом, но сейчас уже побеждают в большинстве случаев. Ну и конечно автостопы и другие помогалки, это, в основном на QPILE.
Кстати когда я начинал программировать, одна из первых программок, которую я сделал, это программный вариант твоей, Тимофей идеи с фишками, — в каком то интервью слышал: кладешь на стол фишку в случае отрицательной сделки (я предпочитаю это делать в случае любой неправильной сделки), три фишки — закрывай терминал. Вместо фишек кнопки и индикатор на видном месте, третья фишка блокирует лимит. Кому то может покажется глупым, а мне реально помогло. И сейчас такие «фишки» входят в мой комплекс.
Думаю программирование все таки познается через последовательное изучение материала. По кирпичикам.
А если не ограничиваться одним Рунетом, то вообще нет пределов совершенству.
Зато был бейсик и паскаль =))
На таких задачках программисткая логика развивается.
Потом могу еще подкинуть.
прикольно
сам себе противен
настоящая жопа начнется, когда попытаешься сделать что-нибудь надежно работающее… )
но не все сразу
Интерфейс — это как вывеска банк. Типа в законе написано, что банки — это финансово кредитные учреждения, делают примерно то-то и то-то.
А вот конкретный банк — он типа наследует уже интерфейс, у него своя реализация его, иногда приводящая к краху системы и утечке памяти (бабок). Но по сути, он реализовывает интерфейс
блин прикол
я реально первый раз три года назад забросил её на 250-й стр.
ахаха
с новой книгой у тебя тоже отчаяение?
Рекомендацию кстати в твоей же ветке взял. Пол и Харви Дейтел «Как программировать на Visual C# 2012. „
Очень доступно обьясняетя.Правда на c++, но я думаю, что ты разберёшься.
Изучение же C#--я бы сказал так: должно быть умение управляться с заявками и сделками. Кидать заявки, следить за ними, то, се. И простейшая задача, на примере которой все нужное и выучится--это кинуть заявку на биржу и понять, что она исполнилась. Тут сразу выучатся и интерфейсы и обобщенные классы и еще много чего. Причем выучатся сами собой, в нужное время нужные вещи. А все подряд учить--непродуктивно. Базовые вещи, которые надо сразу отя бы немного понимать: переменные (public и private надо понимать), классы, методы. Еще бы желательно делегаты и события, но это и позже можно. И хватит, в дженерики сразу лезть не надо.
Вот моя практика всего этого:
anatoly-utkin.livejournal.com/27105.html
anatoly-utkin.livejournal.com/27206.html
Тимофей, пройди курсы АПИ русалго в исполнении Родиона (ra81) и будет тебе счастье — этого будет СВЕРХдостаточно для того, чтобы сделать хорошего робота почти по любой идее.
За то время, что ты принимаешь вселенские мучения, уже склепал бы 5-10 роботов прямо в процессе учёбы.
А потом, при желании, дорабатывал бы уже и до профессорского звания. )))
и гарантий что оно само влёт наклепается, и при этом будет еще и работать — тоже никаких. в прямом смысле слова — нельзя заранее проверить, как на реалье будет работь то что ты наклепал на API и отладил в тестере TSlab
На то человеку и дана способность выбора — одни пробуют, ошибаются и снова пробуют, другие ждут когда им на голову упадет совершенство. Я желаю им (и вам) удачи.
отрицание
гнев
торги
депрессия
принятие
)
Как бы действовал я?
Надо попросить у кого-либо самого простого работающего робота с исходным кодом. Например, у anatolyutkin. Открыть его в среде разработки и разобрать каждый оператор. Что делает, у кого берёт данные, кому передаёт. Можно схему взаимодействия блоков нарисовать.
Или скачать из бесплатных у kb.robot. Если там код виден в нём.
Потом можно модернизировать, добавлять в код своё. Каждый раз проверяя, что работает после изменений.