dr-mart

Я и программирование

Не умея программировать, я ощущаю себя неполноценным человеком. Это всё равно что не знать английского языка в современном мире. Вообще, я закончил политех, факультет тех. кибернетики, поэтому программировать обязан был по определению. Но не пошло. Как я программировал в универе? 

1. был у нас предмет ТПП. Теория технология программирования. Вёл его замдекана Евдокимов Виктор Евгеньевич. Так вёл, как будто всё уже давно умеют программировать и иногда шутил. Но проблема была в том, что все кто сидел на лекции на первом курсе, действительно похоже умели программировать, а я один сидел и ни черта не мог понять.
Я и программирование 
Я даж тогда карикатуру нарисовал про лекции по ТПП:
Я и программирование

2. был у нас предмет компьютерная графика. Вёл Сальников Вячеслав Юрьевич. Там были жесткие лабы и это был единственный раз, когда я реально был вынужден чего-то программировать на C++. Сальников был норм препод, я ничерта не понимал, как всегда, но можно было растопить лёд кое-как.

3. был у нас предмет по микропроцессоррам. Лобан Валерий Иванович. Я едва успевал чото делать. Помню свой шок, когда для какой-то лабы он сказал невзначай — ну а тут вам надо налабать драйвер на ассемблере, чтобы подключить микропроц к компу. Тут я ваще в осадок выпал. Как я это в состоянии сделать? Меня этому никто не учил! Нет же никаких книг и инструкций на эту тему!!! Где узнать как это сделать? Купил даже какую-то толстую книгу по ассемблеру, прочел страниц 30, и забросил....

хз как я проскальзнул через все эти предметы, но кое-как сдал. Последняя подстава была на дипломе, на котором требовалось не только аналоговую часть сделать, но и программный интерфейс для прибора закодить, чего я ваще не умел. Но слава богу не спросили...
Я и программирование
Сейчас я понимаю в чём была моя проблема — в том, что сложные предметы сыпались на снег на голову, и не было времени, чтобы сделать акцент, например, на программировании. Одаренные ребята, увлеченные с детства программированием, просто продолжали развивать свои навыки, а я так и не смог «поджечь нефть». Всё что требовалось, — это просто увлекаться программированием и последовательно отдавать ему время. А я тогда наивно полагал, что хочу заниматься биржей и экономикой и думал что именно знания по экономике и рынкам принесут мне несметные богатства)) Соответственно отдавал время им.

(еще один мой рисунок, в паинте)
Я и программирование


3 года назад я попытался изучить C#. Вот чем это закончилось. Хватило меня недели на две. В какой-то момент просто понял, что мою бошку рвёт от непонимания даже в самом начальном уровне, а что уж там дальше будет… Решил не развивать и бросил. Но всё это время продолжал чувствовать себя неполноценным человеком.

Сейчас вот решил, а попробую ка я снова посмотреть чего как. Потратил 15 часов. Просмотрел обучающие видео по C# на ютубе. Пописал примеры программок параллельно с автором вебинаров… Далее, решил ковырнуть код программы-примера TestConnect для интерфейса smartCOM 3.0 компании ItInvest. И что я вижу?

Я и программирование

Блин, это китайский язык. Иероглифы. Вроде казалось бы, всё строго по алгоритму, вот точка входа Main(), дальше обращаемся к форме. Вот форма. Вот кнопка Connect, вот обработчик этой кнопки. Бл… Ладно, разбираемся. Первая же строчка...
Writers.WriteLine(«Enegy», «log», "{0} Click: {1}", DateTime.Now, «Create»);
Минут 20 только ушло на то, чтобы понять, что есть log.cs где описан класс DAFWriter, в котором описан объект(?) Writers. Ну и всё это для ведения лога действий программы.

Окей, следующая строчка.
ReDrawStatus(«Create»);
Фак! Это ещё что за функция? Где она описана? Поискал в MSDN — нету, в кодах TestConnect — тоже не нашёл. Может в библиотеке smartCom описано? и там нет. И вот тут думаешь — Я дибил? Ну ладно, потом найду. Интутивно то понятно, что эта функция просто выводить строку текста в статус формы. И вот, только что, решив ещё разок на удачу поискать, нашел все таки в середине кода формы определение функции
private void ReDrawStatus(string reason)
{
....
}
Блин, но сколько времени я украл у семьи, пока пытался найти эту тварь в коде. Реально минут 30 на это потратил. И это были не самые приятные 30 минут моей жизни, как вы догадываетесь. Это всё равно что операционную систему на компьютер ставить и не понимать, почему она не работает. Особый вид извращенного удовольствия.
Но мы не сдаёмся, ведь так? 
Итаааак, ТРЕТЬЯ строчка обработчика кнопки Connect.

Дальше идёт понятный любому школьнику синтаксис ЕСЛИ, казалось бы, можно перевести дух…
if (!IsReady) // если SmartCOM не создан
Если бы не маленькое но… Переменная IsReady. Что она значит? Идём вверх кода.
 private bool IsReady { get { return (SmartServer != null); } }         // Установлено ли соединение
А чёрт… Бинарная перменная. Так. Фак. «get» я забыл что значит этот оператор, а в вебинаре этого ещё не было.
ползём в MSDN восполнять пробел. Что мы там видим?
Ключевое слово get определяет метод доступа в свойстве или индексаторе, который извлекает значение свойства или элемент индексатора. ну и дальше там почитайте тут кучу справки на эту тему...
Тут я почуствовал стук в внутренней стороны моей черепной коробки, как будто кто-то просит, чтобы его выпустили наружу.
Да, кстати, а что вообще за синтаксис такой
private bool IsReady {это еще что значит?}
Вот как дальше двигаться? Ну ладно, допустим счас непонятно, потом еще вебинары посмотрю, станет понятно потом. что там внутри этих скобок, ага, какая-то перменная SmartServer. Давай ка её найдем? Сверху находим такое определение:
private StServerClass SmartServer
Господи… Вы знаете что я попытался сделать следующим шагом? Открыл новый проект с нуля, включил туда либу смарткома и въе*енил туда такую же строчку. И знаете что получил?
 Я и программирование
***
Я и программирование 
А почему я решил поступить так замысловато? Да потому что я нигде не нашёл класс StServerClass. Очевидно что он описан в либе СмартКома, поэтому я решил, что раз так, сделаем прогу с нуля, включим либу и тоже попытаемся просто вот объявиьть этот класс. 

Ну результат вы видели. Это пи***ц. Как дальше быть? Как это решать?
НО!
ГЛАВНОЕ НЕ СДАВАТЬСЯ!
Ползём в мануал айти Инвеста. Единственное упоминание слова StServerClass только тут:
Я и программирование 
И всё. Тупик.

Не, можем двинуться дальше по коду в обработчике кнопки Connect, но там дальше так:

try
{
SmartServer = new StServerClass(); // Создать и назначить обработчики событий
....

Блдь. Опять 25. что это таааакое?


А знаете что дальше происходит?
Голова начинает к этому моменту пухнуть так сильно, что у тебя просто нет сил дальше двигаться по коду, бесконечно пропуская непонятные моменты....))))

И какие тут перспективы?:) После пары часиков таких упражнений начинаешь тихо ненавидеть все эти коды и всех программистов кто их пишет. 

но главное...
не отступать и не сдаваться.
теперь то я это точно знаю, — чего не знал тогда, учась в университете.
★29
264 комментария
Копаться в чужом коде всегда гемор.Пиши свое, пусть бессистемно но свое.
avatar
если бы ты потратил время не на это пост, а на изучение основ ООП, то не пух бы как винни-пух

ты делаешь ту же ошибку, что и в институте

кодить с АПИ надо уже имея нормальный опытв языке, тк АПИ как правило глючные, не говоря уже, что сам шарп не без греха

а главное — зачем? если есть торговый алгоритм — пиши на скрипте потом уже узкие места выясняй  не спеша и переписывай частями и без гуя

avatar
crazyFakir, спасибо. понял
я на всякий случай со всех сторон одновременно захожу
Тим - 
1 — Самозабанься за такое количество мата
2 — начни с «ЗДРАВСТВУЙ МИР»
3 - 
Блин, но сколько времени я украл у семьи, пока пытался найти эту тварь в коде
не надоело в мозгах копаться?
4 — не пробовал художником стать?
avatar
Тимофей Мартынов, 
«я на всякий случай со всех сторон одновременно захожу»
— шедеврально!
Представил мысленно некий объем — и в него лезет со всех сторон много маленьких Тим...)))
avatar
Тимофей Мартынов, 
Amibroker вам в руки. там все как на бейскике ))) нам в школе его преподавали.
начните с сайта www.amisite.ru
его автор Олег (на форуме 000) вам обязательно поможет.
ЗЫ: не надо никаких С++и С#, только время потеряете в «разборках» с кодом
all_trade(Светлана_Е.), это точно. ami там тот же си только по сокращенной программе. Родной коннектор с Квиком. Только вот неродная связь что бы заявки в Квик пускать 

avatar
usertrader, связка то рабочая
А может проще кубиками в TSlab? как ves2010. за 5 лет 14 млн.руб. на кубиках поднял и не парится с программированием. 
avatar
vito2000, да посто тупо попрограммировать захотелось)))
Тимофей Мартынов, y так цель то выполнена! Тупо  попрограммировал, можно и успокоиться ))
avatar
Тимофей Мартынов, Я еще школьником был, когда услышал от своей училки по информатике (она былла программером еще в советские времена): «самое сложное всегда, это разобраться в чужой программе». Она нас просто пиз...била по рукам, чтобы мы очень четко писали код, и всегда если есть возможность ставили комментарии.
В целом проблема неединообразности кода и «накопительных ошибок» — это очень большая проблема.
avatar
eagledwarf, правильно написанный код, он самокомментирующий.
И если его нормальный чел писал, а не долбодятел, разобрать без проблем с ним
avatar
Тимофей Мартынов, сначала нужно почитать анекдоты про программистов — программирование это не тупое знание языка, причем Си весьма специфичное гумно ( есть шутка что Си сделали для того, что бы код занимал как можно меньше символов ), а все таки некий стиль сознания. TS lab кстати имеет более продвинутую уже архитектуру -> насрать на чем писать — пользователь не видит кода он как работает  прога.
avatar
vito2000, вот вот главное идея… а закодить ее проще простого... 
avatar
ves2010, пробовал перейти на api и си-шарп в тслабе, даже купил курсы, но хватило меня на пару недель, пока. Вкалывать там нужно, просто-так не научишься ничему. А мотивации краткосрочной нет, все прекрасно и быстро решается на уровне кубиков… Я понимаю что в долгосроке должно пригодиться, но тратить на то время сейчас совсем не хочется. Сейчас я лучше это время потрачу на проверку очередной гипотезы.
avatar
Chepell, да это я сразу понял
значит не твоё, я вот разбираясь не вижу как сутки пролетают, можно сказать растворяюсь.
avatar
Mr. Bean, точно
Интересно, в Дании тоже получают диплом, не понимая ничего в собственной специальности?
avatar
Das Tier, да, везде предметы в массе по выбору, кем ты вйдешь оттуда никого не волнует
avatar
crazyFakir, в каком городе Дании вы получили образование?
avatar

Das Tier, 

причем тут Дания?
ну кстати это меня не касается, закончить ФТК не понимая ничего в специальности было почти невозможно

Тимофей Мартынов, диплом — это присвоение квалификации, выпуск нового специалиста, проучившегося пять лет, прошедшего практику и разработавшего проект. Вот мне и стало интересно: присваивают ли квалификацию в Дании выпускникам, не соответствующим ей по своим знаниям? Может быть кто-то знает. Кто-нибудь же наверняка посещал ту дивную страну и мог по достоинству оценить уровень жизни местного населения, его образованность и практицизм. 
А осуждать я не осуждаю. Не люди такие, такая система построена и функционирует. 
avatar
Возьми учителя, время сэкономишь раз в 100, чем сам будешь со всей библиотекой разбираться.


ЗЫ Стратегия хоть есть, которую кодить собрался?

ЗЫЗЫ Приходи учить Lua, через 20 часов гарантирую будешь в КВИКЕ роботов писать.
avatar
Egorax, это просто интеллектуальный вызов

безотносительно стратегий хочу инструментарий освоить
Тимофей Мартынов, это хорошо ты про инструментарий, но лучше с простого языка начать, сегодня это LUA.
avatar
Вы меня, Тимофей, извините, однако, не могу не заметить, что одна из причин нахождения страны в заднице — это подобные Вам специалисты. Мало того, что такие товарищи занимают чужое место, так и занимаются растлением окружающих: когда люди видят, что Тот Парень ничерта не учил и закрыл дисциплину, у остальных резко падает мотивация, и далее распиз… разгильдяйство как вирус распространяется от индивидуума к индивидууму
avatar
Том Сойер, согласен
Тимофей Мартынов, Тимофей Мартынов, а я не согласен. Вот представь себе у тебя есть машина надо поменя колесо. Че там, открутил прикрутил — это ты пользователь. А вот починить двигатель или коробку передач -это программист. Так вот ты с этим смарткомом пробуешь починить двигатель да ещё заведённый. Конечно ничего не выйдет. Если есть желание настоящее начни с самых азов постепенно. Найди уроки курьера какая-нибудь. 

если будешь 8 часов в день этим заниматься то через 3 месяца будешь довольно бело ориентироваться. А ещё изучи программу в которой программируешь контрол-клик — и увидишь то место где объявлена функция или переменная. 

пы сы программирую 19 лет
avatar
Stepan Romankov, ))) починить коробку — это программист… спасибо поржал… программист — это тот кто вообще придумает идею «О! а что если придумать колесо! О! а что если колеса сцепить! О! А что если дождь? тогда давай еще укрытие-коробку… хм… а как теперь колеса доставатЬ? о! а давай палки и колесо но внутри — рулевое… хм… а теперь ноги не достают! О! А давай кто-то будет крутить — Федя! лезь под капот и крути колеса!.. хм… Феде неудобно… о! горит и крутит! А что если туда вращающийся движок… и пошло поехало» )))) млять… но «прогер — кто починит все это!» — размышление домохозяйки о программистах )) хотя пардон… если вы про говнокодеров 100-ой степени тогда вы бесспорно правы ))

Тимофей! Я тебе открою секрет — программисты это «жрецы современности», они просто еще не осознали этого, скоро они будут править миром :) который четко выстраивается под их «образ мышления и способности» ;) так что ты правильно нащупал потребность… умение мыслить — это власть! Так было и будет. Приезжай в Новомосковск пока я здесь… натаскаю тебя основами ) у меня тут пачка книг от «светил» ))… покажу тебе сакральный образ мышление прожженного программиста-трейдера )
palka, то что написали, это и не программист, это архитектор ПО,
программист решает узкую локальную задачу — чинит двигатель, коробку и т.д.
avatar

AlexeyT, ))))) «разделяй и властвуй»… сразу видно жертву этого концепта от жидомасонов… покажи мне в ВУЗе специальностЬ «архитектор ПО»… умник! ) Архитектор — это просто род задач для программиста, просто ему контора говорит «парень у нас дохера бабла и мы хотим каждый шаг проекта распределить между кучей людей… мы набираем программистов которые в прошлом уже корячились над узким спектром задач  и даем им карточки с заданиями… вот этот будет архитектором, вот этот протоколы писать, вот этот базы данных, а этот будет сжатием данных заниматься, а вот этот будет интерфейсы набивать, а вот этот ко всем остальным частям системы как проводку в доме прикручивать»… но я тебе открою секрет — программиста изначально учат так чтобы он был ЧЕЛОВЕКОМ ОРКЕСТРОМ.и все что делит на рызных людей «конторки» мог делать ВСЕ САМ… от осознания потребности, до формулирования идеи, до создания архитектур, способов воплащения архитектуры разными интерфейсами, протоколоами и т.д. и даже банерок как прикрутить на сайт — подсказывают методологичеки где информацию об этом искать. А то что ты расписываешь — это «программист в идиократическом государстве»…

жертва «знаю все об ушке иголки, но ничего о ее кончике»… ))

palka, да-да, программист-оркестр
avatar
AlexeyT, профик — тот кто знает все о чем-то и что-то обо всем… если ты ставишь цель перфекционизм, это одно, а если «способность создать полный цикл» — это другое. Жиды и уводят управления на себя потому как создают людей «полуобразовашек» которые имеют очень локальные знания более того прививают убеждение «а другие мне и не нужны! вот мой станок, здесь написано Вася Пупкин — это моя территория, это — мой мир!» ))) Тупо — фрактально дробят мир, пуская к каждой локальной области фрактала «нерв управления». Они видят ВЕСЬ ФРАКТАЛ как «ковер с кучей орнаментов, оно же — принципиальную схему бытия»… Вася же Пупкин знает ТОЛЬКО О СВОЕМ СТАНКЕ  и комнатушке в которой он стоит — это тупо «клетка» — полная аналогия с живым организмом. Человек крутится в локальной клетке (как пространства так и сознания не желая выходить или напуганный или как Мартынов — сдерживаемый СЛОЖНОСТЬЮ ВНЕШНЕЙ СРЕДЫ и нового места, новой клетки)…
palka, нет, это понятно,
но знать можно много чего, но ситуация такая,
что на 10 программистов, 1 архитектор,
и в это в том числе, зависит и от личных характеристик,
универсалы все равно не смогут, в моменте хорошо делать все,
даже если и знают теорию
avatar
AlexeyT, я говорю про СТАРТ — ВУЗ готовит «универсалов» в плане образования, методологии, начальных принципов, классических утверждений-логик и прочее… «специфику» создает уже «среда» оно же «спрос» оно же «конкретная контора». Думаю очевидно что один и тот же проект скажем «социальная сеть» или же «новостной портал» разные коллективы под разным управлением будут решать АБСОЛЮТНО РАЗНЫМИ СПОСОБАМИ… в том числе «командным составом разработчиков, сроками, технологиями, бюджетами, стратегией формирования клиенсткой базы  и т.д.… и т.д. и т.д.»… вы просто рассуждаете неким СВЕРХ СТЕРЕОТИПНЫМ ШАБЛОНОМ… проще говоря вы мне про «две породы котиков и их особенностях» а я вам о «всем биологическом многообразии»…
palka, да не нужны эти универсалы в отрасли,
нужны единицы, а остальные будут делать свои локальные задачи, и не нужна им это теория которые учили все эти годы, им для этого достаточно курсов на пару лет и практики (ну и личных способностей и желаний)
avatar
AlexeyT, локальную задачу делает кодер,  а программист в т.ч. и идею придумывает…
avatar
Василий, сам придумывает?
приходит на работу и думает, так я придумаю идею и начинает ее реализовывать?
avatar
polka, Че предлагаешь письками померяться, срач тут развести? Что тако программист что такое хороший программист, что есть говонокод и что пока не изобретут квантовый компы и квантовый язык можно вообще туда не лезть, потому что потом все с ног наголову....

А ха ха. Да смартлаб это просто срачилка жесть во что ресурс превратился
avatar
Stepan Romankov, я знаю одно — человек в труде реализует себя, если человек ставит жесткие рамки, то понятно кто он и «программист» к этой ограниченности не имеет никакого отношения. Каждый в слова помещает те смыслы которые способен «нащупать своим сознанием»… если дано конкретному человеку нащупать в слове «программист» лишь «дали задачу — сижу калякаю 100 строчек весь день, накалякал — сижу по интернету лажу»… что ж… как работодатель я бы его или не брал или брал когда кучу «хлама» скопится и то на время — потенцеал у таких минимальный
polka, Ладно дав сраться! А не дано сидит на 2 кнопки в терминале жмет Buy Sell :) И говорит что трейдингом занимается 
avatar
palka, 
Я тебе открою секрет — программисты это «жрецы современности», они просто еще не осознали этого, скоро они будут править миром 
угу, придут, как только рак н горе свистнет:) Подавляющее большинство программистов — это синие воротнички, винтики в системе разработки. Вызубрил инструментарий, накидал либ, которыми все пользуются, и вперед. Есть конечно гениальные программисты, но таких единицы. А квалификация большинства не намного отличается от квалификации сантехника, стандартные задачи, сандартне подходы, стандартные решения.

По большому счету, настоящий инженер должен не просто решать типовые задачи, а решать сложные задачи, не изучать алгоритмы и структуры данных, а  создавать их, не использовать стандартные инструменты разработки, а разрабатвать свои, заточенные под задачу(eg DSL).

А  с Вашими рассуждениями мы дойдем до того, что секретарши — будующие властительницы Вселенной, просто еще этого не осознали.
avatar
sortarray sortarray, завидуй тихо «хранитель смартфона» и «повелитель смсок». Если «реальный сектор» дает возможность выжить такому «одноклеточному мыслителю — штамповщику чужого кода» то это проблема системы. Если образование не задает планку для «гения» — то это социальный заказ государства, но! Сколько помню — ребята на лекциях всегда таскали книги которые ходили по рукам все семестры и летние «каникулы» — все сами себе ставили планку гораздо выше той что давало образование… почти все сходу работали на серьезные проекты. Похоже все тут понятия не имеют чего может достичь человек обладающий инициативой и стартовой методологией собственного развития… что в потребительской системе не удивительно… всем показывают в зомбоящике критинов… поэтому обыватель воспитанный такими «критинофильмами» только подобный тип людей в других и видит-ожидает.
palka, Я ни фига не понял, о каких ты там планках, и о чем вообще. Я тебе говорю о ситуации в проф разработке, такой, какая она есть. Возможно, ситуация в эмбедед чуть отличается, но в общем случае 99, 99% того, кого ты называешь повелителями там какими-то, тупое офисное быдло, в терминологии программирования — мартышки. Сейчас ситуация резко отличается даже от периода 80-90гг, когда в отрасли было действительно много спецов. А что там твои студенты зубрили, меня вообще не интересует.
avatar
palka, чо ты молчал, я две недели под Новомосковском жил, только сегодня вернулся))
Тимофей Мартынов, занят был :) жена в положении… по больничкам ходили да и на смарт как-то не захаживал давно с того и не в курсе был… да и ты тему забросил поздно ))
Том Сойер, тут скорее вина не Тимофея, а ВУЗа или даже нынешней системы образования. 5 лет (!) учат, а выходе — зеро. Человек за неделю из роликов на ютюбе узнает больше, чем за весь срок обучения в вузе. И я был таким «специалистом» после вуза, хотя и с отличием (!) закончил. И ко мне потом такие же «специалисты» на работу приходили устраиваться. Реально после бухгалтерских курсов люди могут сразу приступать к работе, а после института — их ещё надо учить!
avatar
monte_carlo, во во
очень много разнообразной теории, а прикладных вещей мало
Тимофей Мартынов, да. Но помимо этого и сама методика обучения нуждается в модернизации. Вот взять к примеру иностранный язык. Детей начинают учить с младших классов, потом в институте, а в результате они кроме «лондон из зе кэпитал оф грейт британ» ничего сказать не могут. Зато после 3 мес. курсов запросто шпрехают. Я учил немецкий. Так вот реально его освоил только когда учился в аспирантуре. Там мы изучали философию, экономику (моя специальность) и немецкий. Близкие сказали, что это просто произошел прорыв благодаря аккумулированным ранее знаниям. Но я считаю, что мне с учителями повезло. Старой закалки. Мудрые и профессиональные. И учебники по немецкому у нас в аспирантуре были советские (!), которые если не обращать внимания на идеологическую окраску, были написаны основательно. Не в пример теперешним.
avatar
monte_carlo, в целом согласен, однако, тут речь идёт о личности Тимофея, посему как единственный упомянутый, он единственный и виноват:)
avatar
Том Сойер, Собственная история мучает?
avatar
а почему решил кодить? чтобы убрать человеческий фактор из своего трейдинга?
avatar
onlyfly, потому что хочу уметь)))
хобби)
Вы мой кумир — я не покину Вас...

avatar
ООП это финал программирования, а не начало. По сути дела ты работаешь с абстракциями как с какими то предметами (объектами). Если не придти к этому с алгоритмов без понимания как оно эволюционировало, ты либо свихнешься, либо будешь воспринимать это как волшебство пытаясь угадать нужное заклинание из символов, вместо того чтоб делать то что требуется.
avatar
Cristopher Robin, да
Cristopher Robin, вот вот

Cristopher Robin, причем весьма хреновенький финал.
avatar
Cristopher Robin, 
Если не придти к этому с алгоритмов без понимания как оно эволюционировало
Да ладно. Это Вы, типа намекаете, что в ООП нет алгоритмов? Или что алгоритмы невыразимы в терминах ООП? Наоборот, с ООП нормально начинать, естественное выражение и построение абстракций, безо всякой шелухи. Только с тем что называть ООП, надо поаккуратней. Алан Кей не имел в виду плюсы. Подозреваю, что решетку он тоже не имел в виду.
avatar

Зачем? 

Люди, кот. умеют программировать и зарабатывают этим на жизнь, как правило мечтают о моменте, когда можно будет не программировать, а стать ПМ/скрам мастером/ и т.д. и удалить вижл студию с компа.

Реально, скилл программирования просто оценен чуть выше, чем многие другие скиллы из за возможности его продать на запад. Короче, географический арбитраж, не более того. Но, Тимофей, зачем тебе в это лезть? Не понимаю. Найми людей, и пусть пишут код, в чем проблема?

К примеру, те фрагменты кода, что на странице, очень простые, и любой джун с рейтом в $700 в месяц (<$4 в час) расковыряет в момент. А о возможностях человека уровня Tech Lead/System Architect с рейтом в ~ $40 в час я вообще умолчу.

Подумай, если твоя деятельность дает тебе рейт в некие $х в час. То писать код на уровне недоджуна — это тупо терять $(x-4) в час. Каждый час просто терять бабло. Недозарабатывать на чем-то другом.  

Реально, тебе сейчас начать учить C#, это примерно, как мне, скажем, снова пойти в 1-й класс школы с шестилетними ребятами. Может, что новое и узнаю, но прибыль от затраченного времени будет никакущая.

PS: пишу это, как человек, программирующий на C# с 2010 года.

avatar
Lafert, на самом деле, очень токсичная работа, хоть и менее токсичная чем трейдинг или работа на урановом руднике. Поэтому, я когда слышу про учителей и врачей и бюджетников, которые недополучают денег, хочется плюнуть в лицо этому человеку. Учителя и врачи просто в райских условиях находятся на своем рабочем месте, социальная реализация не сопоставима.
avatar
Cristopher Robin, соглашусь, пришлось отпахать 4 года программистом, с великим ужасом вспоминаю это время, песец. все на время, голова трещит и тд.
avatar
Oleg Only Algo, программирование как и трейдинг, наверное должно быть любимым делом и получать кайф от этого. Иначе да, наверное головная боль.
avatar
Андрей К, любое любимое дело не будет оставаться любимым вечно. Что угодно надоест.
avatar
Dina Ulyanova, не могу согласиться. Программирую около 15 лет, каждый день, как в первый раз. =)
В торговле лет конечно поменьше, но все тоже самое.
avatar
Андрей К, неужели и такое бывает в этой жизни?
avatar
Dina Ulyanova, получается да. =)
avatar
Андрей К, тогда я должна вам плюс в профиль поставить.
avatar
Cristopher Robin, ХЕХ, а как вам социальна перереализация, с поеданием мозга ложками? :)
я бы посмотрел на Вас после первого дня работы с коллективом в 25 плохоуправляемых индивидуумов 8 лет отроду :)

о да, и на вас бы после целого дня общения с индивидуальностями в возрасте 70+, которых нужно не только выслушать не послав, но еще и вылечить.

Есть у мя знакомые программеры и учителя и врачи. Так вот программеры скорее сами токсичные. они социально недореализуются потому что сами очень замкнуты, а не наоборот.
avatar
eagledwarf, у меня есть пара знакомых программистов. Вообще не сказать что они прямо замкнутые. Один из них скорее наоборот просто п****й ящик))
avatar
TradeHunter, смотря с кем сравнивать. как ни крути, а средний программист больше общается с компьютером чем с живыми людьми, по сравнению скажем со средним менеджером по продажам. Тут, понятное дело, возникает вопрос — «яйцо или курица». Программисты такие, потому что работа такая, или уживаются на такой работе только люди с такими чертами характера.

и из любой общности есть исключения, это я тоже допускаю.
avatar
eagledwarf, в учителя и врачи идут те, кто любят чтоб им лизали жопу и жить без этого не могут. Это их потребность за которую они готовы жить в нищете. Так пусть живут.
avatar
Cristopher Robin, ну да, а в менеджеры идут мальчики с гипертрофированным ЭГО. А программисты  — инфантильные асоциальные алкаши.

Живи с этим, и пусть ты и твои дети, если таковые есть (или будут) будут жить в стране где все именно так как ты сказал. А мне ты больше не интересен…
avatar
eagledwarf, у вас явно эго гипертрофировано)
avatar
Lafert, логически вы всё безупречно описали
Тимофей Мартынов, но есть одно «но».
Обучение программированию — это структурная тренировка мозга. Такая работа над собой, помимо всего прочего, заставляет мозг заниматься правильной кодификацией (это реально важно!). Со временем даже появляются новое довольно сильное чувство… типа «красота кода» или его «дерьмовость» =). А потом вдруг понимаешь, что некоторые вещи из реальной жизни собираются в голове уже не так как раньше (хаотично), а сразу по секторам сознания. Выстраивается… ну что-то вроде «дворца памяти» =)…
Fry (Антон), да, с некоторыми людьми (как правило теми, кто тащится от программирования, участвует в олимпиадах и соревнованиях по программированию) действительно происходят такие метаморфозы. Они начинают раскладывать жизнь на true-false. И смотреть на вещи, как на элементы программы, строя логические цепочки. Да, для них это структурирует реальную жизнь. Но проще ли им от этого становится общаться с не-гиками?
avatar
Lafert, с 2010 на c#? Так у тебя уровень продвинутого джуниора. Просто про первый класс фраза покоробила.
Максим Виссарионович, и?
avatar
Lafert, ну слишком серьезная заявка на знание истины, для такого относительно небольшого опыта.
берешь тс лаб, изобретаешь на неМ алгоритм. Там правда тоже надо си немного знать, чтобы кубики писать на любую абсолютно логику! Без кубиков на си там просто опухнешь от кубиков тслабовских. И не заморачивайся ты с нуля си изучать- пол жизни потратишь. Поставь себе задачу сделать кубик на си в тс Лабе, скажем описать какие нть уровни и тд. Сделаешь,  сразу поймёшь, что не все так плохо. Потом либо платишь 4000₽ тслабу и торгуешь через него, либо переписываешь свои алго под mql5, займёт тоже некоторое время и торгуешь и никому не платишь ни копейки! Учись брат выжать главное из бесконечного! потом как орешки будешь щелкать и на хфт замахнешься)
avatar
Oleg Only Algo, Поддерживаю, Сам по этому пути пытаюсь идти! Только с Wealth-lab))) d в этих программах не нужно так углубленно знать C#

TRADERS GLOBUS, пойду тож водки тяпну
Я примерно так же язык MQL4-5 изучал, не умея вообще программировать :) Много матерился, посылал все на йух, гуглил… Ничо, год прошел и штампую коды только так :)
avatar
Тимофей, найми себе программиста, не парь мозг
Неблагодарное это дело, как программист тебе говорю
Наркомания
Если не лежит душа — неча там делать, только здоровье гробить
Снял очки? Оденешь
avatar
Тимофей, посмотри хотя бы базу на ю тубе. Уроков 20. Потом будет проще
kbrobot.ru, ну так и смотрю её) ага
Тимофей Мартынов, лучше Герберта Шилдта почитай, он хорошо основам учит.
avatar
не спеши. Начни с начала.
Ты знаешь, что всякая переменная в большинстве языков программирования (если они строготипизированы) должна иметь тип данных?
То есть у переменной может не быть даже имени (в некоторых случаях), но тип данных должен быть.
Это понятно?
Fry (Антон), ага

Тимофей Мартынов, ну вот. Что-то ведь знаешь =)
У всего есть фундаментальная причина. Думай как компилятор. Что ему надо знать, чтобы собрать программу? Тип данных необходим.

Простые типы — это:
во-первых, размер памяти выделяемый под них в файле и во время исполнения программы;
во-вторых, применимые к ним операции ассемблера.
Один и тот же набор битов означает разные сущности (разный смысл закодирован) в зависимости от типа данных.
То есть, в памяти хранится некий набор нулей и единиц, но в зависимости от того какая операция ассемблера будет выполнена (для целых без знака, со знаком, для вещественных чисел...) на выходе мы получим разный результат.
Поэтому компилятору надо знать тип данных.

Далее. Входных параметров у функции может быть много, а возврат всегда один (при этом результатом действия функции может быть много разных изменений, но возврат только один).
Когда объявляется функция у неё тоже обязательно объявляется тип данных, это и есть тип возврата.
В этом смысле переменная и функция подобны по синтаксису.
переменная так: тип_данных имя = значение
функция так: тип_данных имя(параметры)
Это должно быть кристально ясно, чтобы можно было переходить к абстракциям ООП. На самом деле ты должен сразу в голове выделять как компилятор все составляющие «предложения». В рамках камента не влезает, надо развивать дальше тот же путь (понять весь синтаксис предложения любого С-подобного языка программирования). По сути каждая команда ассемблера — функция. То есть всё сверху до самого процессора подобно одно другому (и внутри процессора), но дробится на более мелкие субстанции. Так что если понимаешь один уровень, поймёшь и другой.


Затем переходим к ООП.
функция = метод.
Класс — это сложный тип «данных», который на самом деле физически отличает от простого типа данных только то, что класс допускает совокупность не просто данных (переменных, грубо говоря), но и включает в себя исполняемый код, то есть методы закреплённые за этими данными.
Такая концепция позволяет создавать более сложные программы с меньшим гемором.
Объект – это конкретное воплощение класса (экземпляр).

Ещё раз:

тип_данных имя

Если тип_данных – это класс, а не простой тип, тогда «имя» — это объект (экземпляр класса).

Ясно?

Fry (Антон), будем считать, что это ты понял.
Теперь следующий важный момент.
Существует две совершенно разные вещи, которые постоянно путаются в голове, если люди не понимают синтаксис предложения Си-подобного языка (именно Си, а не C++!).

Объявление — оно необходимо для компилятора, чтобы тот знал с каким типом данных связать конкретную переменную или функцию.

Определение — это значение. То есть байты которыми будет заполнена функция или переменная.
Для функции определение — это её тело (код функции).
Для переменной определение — это присвоение значения. В простейшем случае v=1 — это присвоение ячейке памяти, которую мы условно именуем v, состояния = 1.
При этом где-то раньше компилятору должно быть __объявлено__, что ячейка эта размером, скажем, 4 байта или 8 байт и только тогда он точно будет знать, что надо сформировать команду ассемблера, которая обнулит все эти 4 или 8 байта и лишь в младший бит поставит 1. Поэтому без объявления не обойтись.
Но тут начинается укороченная форма записи, когда например пишут:
int v=1;
Здесь сразу в одной строке идёт и объявление и определение переменной.
Точно так же можно сделать с функцией(методом) объявить и сразу определить. Но полная форма записи всё равно выглядит так:
int v;
v=1;

Возвращаемся к ООП.
int — это самый простой базовый тип данных, но там же может быть и класс (если не понял ещё раз читай прошлый камент).
Допустим:
StServerClass SmartServer;
Что это значит?
Ага. Именно так:
тип_данных имя
То есть, «сложная переменная»(оно и есть _объект_) по имени SmartServer теперь будет типа StServerClass.
При этом определения ещё не было! Это только объявление!
А вот объявление с определением в одну строку было у тебя в документации, но в примере кода они разделены на две строки.
Определение идёт дальше:
SmartServer = new StServerClass();

То есть сложной переменной (объекту) SmartServer присваивается значение StServerClass(). Прямо как в случае с v=1, только здесь не единица, а целый класс вместе с методами и данными.
Оператор new как раз означает для компилятора, что на этом месте во время выполнения программы надо будет в памяти развернуть(в смысле создать) экземпляр класса StServerClass.

Оператор try означает защиту от обращения в неопределённые области памяти. Это низкоуровневые технические заморочки.
Если, допустим, внутри блока try{} происходит попытка чтения/записи в память, которая защищена или вообще эти адреса не доступны, тогда программа не будет аварийно закрываться из-за такой ошибки. Это как бы сознательная попытка «тыкнуть» в некоторую облать памяти (по указателю) и проверить, а оно нам доступно?
Для чего это надо.
Опять таки, если с объявлением/определением объекта было что-то не так, тогда указатель на него физически будет мёртвым, так как объект не создан. На этапе компиляции программы не всегда можно гарантировать правильное создание любого объекта, вот и приходится использовать try.


* в этом каменте понятие «определение» я использовал некорректно (подзабыл сам, спасибо professor facepalm вразумил) и по сути спутал «определение» с «инициализацией», так что перечитать камент придётся ещё разок другой =), но всё равно в нём есть польза.
Fry (Антон), «Для переменной определение — это присвоение значения.»

Это не так. Правильно: это выделения памяти для хранения значения переменной.

«При этом определения ещё не было! Это только объявление!»

Это определение как раз и было. Иначе «SmartServer = null;» это означает, что переменная снова не определена, и есть только объявление?

«Оператор try означает защиту от обращения в неопределённые области памяти.»

В С# не предусмотрены возможности для обращения по произвольным участкам памяти. А в С++ try не спасёт тебя от падения программы при попытке доступа по невалидному адресу.
avatar
professor facepalm, ой как не хочу тут разводить многостроничные разборки прав-неправ.
Но давайте без придирок.

Про try
Я опустил абстракцию «исключение» и сразу перешёл к низкоуровневой категории «адрес/указатель». Зачем? Да потому что по опыту знаю, что люди не понимают такие абстракции. А вот адрес в памяти и запрет (один из видов исключений) вполне понятен. Если Вы скомпилируете код ЯВУ, затем в ассемблерном отладчике посмотрите на выполнение блока try-catch, то как раз и увидите работу с эксепшинами через ловлю нулевых или неверных указателей. Так что по сути я прав, а что там сверху в ЯВУ доступно или не доступно — это уже мелочи.

Про определение
Надо смотреть работу компилятора и исполнение кода, но честно — лень. =) Фиг знает, может быть я ступил и определяется класс сразу так. Выходит статично (без new). Вполне… Сейчас плохо соображаю, но тогда выходит, что экземпляр класса появляется в этот момент и вообще непонятно нафига new.

Про выделение памяти
Нет.
Зависит от оптимизации компилятора
Память в файле выделяется вообще-то на этапе объявления переменной, если компилятор делает всё топорно. То есть объявим мы массив на 1000 int'ов, на далее не будем его использовать в коде. Если компилятор топорный, то в файле появится 1000 интов под этот массив и соотвественно в память тупо замамится при выполнении, а если компилятор «умный», то он вырезает не использованные переменные. Так что объявление = выделение по теории, но на практике бывает и так и эдак.
Fry (Антон), «Если Вы скомпилируете код ЯВУ»

Тут, конечно, надо понимать, что в случае С++ компиляция происходит в машинный код, а в случае С# — в байт-код, который затем исполняет виртуальная машина. Поэтому не понятно, про какой ассемблерный отладчик идёт речь. Да и обработка исключений здесь вроде бы происходит совсем по-разному.

«но тогда выходит, что экземпляр класса появляется в этот момент»

Нет, конечно. Создаётся просто переменная, являющаяся указателем.

«вообще непонятно нафига new.»

А здесь уже создаётся сам объект.

«Память в файле выделяется вообще-то на этапе объявления переменной»

При объявлении переменной мы лишь указываем, что такая переменная дальше будет использоваться. А выделение памяти происходит при определении (которое, является частным случаем объявления). Возможно, вы путаете объявление с определением, а определение — с инициализацией.
avatar
professor facepalm, да. Точно! Инициализация у меня получилась = определение. Виноват! Терминология «не самая адекватная». Надо переосмыслить мой комент с учётом этого.
Как раз хотел сказать так: самый топорный С-подобный компилятор, когда встретит строку:
int v;
Что сделает?
Забьёт в секцию данных четыре байта (для 32-битной платформы) под переменную. Будет она использована или не будет, а в файле эти байты уже зарезервированы. К этой переменной можно относиться только как (и вот тут я спутал!!!) к неопределённой (надо не инициализированной). Далее после:
v=1;
Переменная инициализирована (а я влепил «определена»).


Да, виртуалка гатит разбор исполнения в асмовом отладчике до жути, так что если глаз не намётан, то не просто понять как интерпретируется байт-код в конечный набор «полезных рафинированных» действий. А декомпиляция автоматом тут не поможет, тут как раз надо изучать сам декомпилятор =) Потому и лень там копаться.

Признаю свои ошибки. Надеюсь Тимофей поймёт суть.
Fry (Антон), как ёмко написал!!! Спасибо
F12 нажми — перейдёшь на определение класса/метода/свойства.  соответственно
avatar
Тимофей, проси у знакомых программистов исходные тексты программ, которые им больше не нужны и пытайся на этой основе писать свое.
Сразу скажу, такое могут дать только по большой дружбе, т. к. в этой среде не принято делиться исходниками, но это гораздо проще будет для тебя.
Еще вариант: договорись с программистом, что он будет для тебя писать программу в твоем присутствии за деньги, возможно, научишься.
avatar
а зачем тебе это? ну вот реально — нафига?
avatar
.vbs  скрипты без всяких платформ выдергивают данные)
avatar
Тимофей, программирование это не твоё. Оно должно нравиться, приносить удовольствие, иначе ничего не будет. Я помню своё отношение к программированию в университете, это был как наркотик, я мог после занятий по восемь часов сидеть в компьютерном классе, до 11 вечера, без отдыха, без еды, так это захватывало, что ничего больше не надо было. А когда это из-под палки, не выйдет из этого ничего путного.
avatar
Konstantin_p, да, согласен
Тимофей Мартынов, Тимофей Мартынов, а я не согласен. Вот представь себе у тебя есть машина надо поменя колесо. Че там, открутил прикрутил — это ты пользователь. А вот починить двигатель или коробку передач -это программист. Так вот ты с этим смарткомом пробуешь починить двигатель да ещё заведённый. Конечно ничего не выйдет. Если есть желание настоящее начни с самых азов постепенно. Найди уроки курсера какая-нибудь. 

если будешь 8 часов в день этим заниматься то через 3 месяца будешь довольно бело ориентироваться. А ещё изучи программу в которой программируешь контрол-клик — и увидишь то место где объявлена функция или переменная. 

пы сы программирую 19 лет
avatar
Тимофей Мартынов, научиться программированию можно, только если поставлена чёткая задача. Причём эта задача должна быть не обучающей, а необходимой.

avatar
Тимофей Мартынов, у меня одного такое ?
avatar
Григорий, он почему то туда явоскриптовый код какой то вставляет в конец топика
Тимофей ничем не отличается от большинства выпускников экс-советских ВУзов. Набивание руки и быстрый разбор кода приходит только с практикой.  Главное, что есть фундамент базового образования, дальше нужно только набирать опыт и  все систематизировать. Рассчитывать, что это можно сделать за день-два упорной работы, всё равно что рассчитывать, что за это же время можно научиться трейдингу.
:-)) 

хорошо, если программировал раньше, но сейчас занимаешься чем-то другим.
думаю, что свои навыки программирования на C# верну за месяц активного штудирования материала и выполнения задач с усложнением. На что-то более древнее, вроде LiSPa уйдет с месяца два-три.


«Одаренные ребята, увлеченные с детства программированием, просто продолжали развивать свои навыки, а я так и не смог «поджечь нефть».» Нельзя обьять необьятное, если хочешь добиться успеха, надо концентрироваться на конкретном направлении. И даже это не гарантирует успех в жизни.
У нас неодаренные ребята учили английский на всех парах и имели кучу хвостов в том числе по программированию с риском отчисления. Благо корочка и факультет с его конкурсом производили впечатление на работодателей а беглый английский и опыт работы с банковскими системами открывали двери для стажировок. Потом курсе на 4 уходили во всякие Citigroup. А одаренные сейчас в байкерах и мобилизованы на утилизацию зеленых человечков на Донбасе или оказывают консалтинговые услуги, перебиваясь заказами раз в два месяца. Так что не всегда даже одаренность и успешность в студенческие годы — гарантия безбедного будущего.
avatar
Semen, отлично написано!
avatar
Я больше расскажу- году в 2000  меня попросили целый семестр преподавать Си +  , женщина препод ушла в декрет. И зная мой авантюрный характер, декан попросил меня семестр продержаться. И что вы думаете… Я легко продержался. Причем я и понятия не имел о языке. 
Допустим, я приходил на семинар и задавал работу- описать метод монте- карло на Си +… Я знал алгоритм, мне был известен ответ и меня не волновали операторы… Я с умным видом смотрел на скобки, описания объектов… Потом надувая губы говорил, что у петрова эта реализация выполнена красивее… Не хотите ли оптимизировать код?
И если приходили с просьбой помочь при написание алгоритма на языке… То я брался засучив рукава… Потом минут через пять придирался к какой нибудь переменной… И глядишь- студента осеняло самого… И так я провел 16 семинаров… в семестре.
avatar
Silent Hamster, это могло прокатить только на специальностях не связанных с программированием, как основным направлением. Глубина изучения у групп заточенных именно на программирование а не на стык наук заметно выше. Там бы Вас просто сожрали студенты-практики.
avatar
Semen, так я отличникам сразу задал задачу писать — трем студентам… отдельную курсовую! Остались одни придурки… с ними легко было.
avatar
Semen, неужели Вы до сих пор верите в сказки местного Мюнхгаузена?  )  
avatar
Silent Hamster, что за черный прямоугольник после текста?
avatar
Silent Hamster, у меня так смотрится 
avatar
Отличная реклама SmartCom получилась, даже самому захотелось посмотреть. :)
Алексей Шумилов, SmartCom вполне работоспособная вещь, не надо только ждать от нее HFT какого-нибудь…
avatar
SergeyEgorov, Посмотрел сайт, очень интересные разработки пробойного робота. Немножко непривычно консольное приложение, но в целом крутой проект. Свежих новостей нет, видимо автор занят торговлей :)
Алексей Шумилов, Проект заморожен. Так что боюсь свежих новостей и не будет. На самом деле это был микро-стартап моего знакомого трейдера, который его финансировал. Моя роль заключалась как раз в программировании.
avatar
 Единственное, чего я не преподавал- это английский язык… Но и тут хохма...
В универе сделали группу иностранцев… с целью преподавания на англ языке...
Никто из преподов не пошел, а я пошел. В рез-те иносранцы оказались все армяне и грузины… которые и так меня понимали по информатике)))
avatar
я написал на delphi программу-связку с квиком
avatar
Я программист. C++, OpenGL, D3D, графика в общем. Все выучил сам, начиналось как хобби. Теперь эти знания кормят меня. Программисты очень нужны и будут востребованы в будущем ещё сильнее. Кстати нас собираются вывозить в США :P
Багатенький Буратина, фрилансишь?
avatar
Mr. Bean, наш стартапчик купили америкосы, собираются эвакуировать к себе.
Багатенький Буратина, что за стартапчик?
avatar
Багатенький Буратина, вывозить чтобы спасти? Программистов?
Раз никто не написал, скажу я, нахер C# и .Net и прочую Java. Не для новичков оно, даже я туда не лезу, хотя являюсь программером давно, слишком сложная среда для поверхностного изучения. Тебе нужен компактный язык и среда исполнения (runtime). Что-то интерпретируемое и динамическое. На фб советовали lua — это норм. Довольно легко начать будет и с Python, есть книжки на русском и либы пригодные для научных расчетов и визуализации.
avatar
Bocman, питон — совсем легко )))
Игорь Семенов, да ладно, питон это для школьников по сравнению с перлом. Но то что в нем есть REPL уже намного проще изучать и отлаживать на ходу. Понятно что есть лучшие варианты, но об этом пока голову лучше не забивать новичку.
avatar
Bocman, можно и на си успешно писать если брать только основу синтаксиса и не замарачиваться адресами
 
avatar
Bocman, ну человек по идее с профильным образованием, чтобы уж совсем новичком считаться. Я тоже восстанавливал свои знания в C# после большого перерыва, и ничего знаете, не умер. Основы ООП за 10 лет никуда не делись.
А вот всякое lua это реально шняга, причем чужая, зачем себя ставить в зависимость от чужих проектов.
avatar
Как-то общался со своим знакомым (молодой преподаватель географии), он мне говорит- мол в машине грязно поеду на мойку пусть пропылесосят, а я ему говорю у тебя же в гараже есть пылесос заедь сам пропылесось, с экономишь деньги. На что,  он мне отвечает. Саня,  есть люди которые преподают географию, а есть люди, которые приводят в чистоту автомобили, и каждый из них должен заниматься своим делом, после продолжает- в предложенном тобой варианте я с экономлю деньги, но потрачу время, а время дороже чем деньги.

Тимофей, ты грамотный парень и сто процентов понимаешь вышеизложенные истины, и мне кажется что суть не в том, чтобы просто научиться кодить, а в том, что в твоей голове родился торговый алгоритм, который ты ни кому не хочешь сливать ;-)
и если я прав то это отличный мотиватор для освоения программировани, а если для самоутверждения, то это пустая трата времени т.к. представь сколько ты украдёшь у себя драгоценного времени.

Я стараюсь сделать так, что бы у меня было больше времени для семьи.

Мы в среднем живем 70 лет на этой планете, это мгновение в вечности, так что с временем нужно быть очень рассудительным и не использовать его в пустую...

Если в чем не прав поправьте

Что-то меня понесло)
Начитать стоило бы немного с других вещей, отстраненных конкретно от коннекторов к торговым терминалам и от определенного языка программирования. Есть норм литература для этого, требуется только предварительно потратить на свое обучение время (месяца 3-4). Потом уже непосредственно прилагать усилия целенаправленно по созданию автоматизированных торговых систем имея фундамент.
Я помог двоим чувакам стать программерами, которые сейчас зарабатывают этим на жизнь, если надо, обращайся в личку.
avatar
это нормально, процесс изучения нового всегда идёт медленно.
тебе нужно сделать в визуал студии «go to declaration». под шарп умеет решарпер. очень советую! https://www.jetbrains.com/resharper/features/navigation_search.html

писать на шарпе без установленного решарпера то ещё извращение. голая визуалка ничего не умеет же.
avatar
Очень знакомая история. Тимофей а что если собрать здесь группу (ну по аналогу с теми кто хочет больше не курить) и организовать для этой группы серию вебинаров по ООП и  C# вскладчину
avatar
Хм, один момент, который был замечен… Как-то рассказывали мне про одного программиста, программист был от бога, у него даже фамилия была Кодер, так вот, он не один раз вылетал из универа, ибо ему вроде как на предметах по специальности было скучно, а другие он не хотел учить… Мораль тут такова, что наша система образования слишком не совершенна, слишком много ненужных предметов, на которые приходится тратить время. Легче всё изучить самому, либо же нанять кого-то, а потом либо купить диплом, либо проплатить заочку, если уж так нужен диплом по специальности...

avatar
Alex S., школьник еще слишком животное, чтобы решать что полезно, а что нет

система в основном была правильная
avatar
 А изучать да, тяжело и долго… сам тыркаюсь в C#, но пока только мини-программы под малую нужду, да и нуб я)
avatar

Тимофей,

«C# in a Nutshell» — первые 7 глав обязательны к прочтению несколько раз, чтобы составить ментальную модель языка и платформы .NET. Остальные главы также незаменимы как reference когда нужно что-то сделать конкретное. Без ментальной модели и большой картины что происходит, тыкаться в чужой API бесполезно и бессистемно.

И главное не слушай тех, кто рекомендует динамические интерпретируемые языки для начала (Python, Lua), у них иллюзия простоты. Без типов долго будет медленный говнокод со скрытыми багами — «был там и делал это». У меня произошел квантовый рывок, когда я начал использовать C и понял как все работает на уровне железа. C# — идеальный компромис для начала, IDE & Tooling — best in class.

Ты конечно круто начал с COMInterop и прочей ООП хрени. Даже Plaza2 от биржи проще технически и работает «сразу из коробки». API от InteractiveBrokers вообще простая и идеальаня для начала. Мой коннектор к Квику многим нравится с точки зрения простоты технической реализации.

avatar
buybackoff, 
>>Без типов долго будет медленный говнокод

cython.org/
avatar
crazyFakir, так это же Си с интерфейсом в Питоне, где все типы надо проверять руками чтобы Си не поломался.
avatar
buybackoff, ответ в другом:  в питоне есть методы явного определения типов.
avatar
crazyFakir, в Питоне строгая типизация, но динамическая. Для новочков не нужно голову ломать этим. В C# и тем более в F# IDE поймает и покажет тысячи ошибок еще до компиляции, которые в динамических языках пришлось бы дебагить руками и писать тесты. http://elbenshira.com/blog/the-end-of-dynamic-languages/
avatar
buybackoff, ну да, новичку самое оно и надо, получать тысячи ошибок
avatar
buybackoff, это понятно. потому и сказал сразу ТС, что идею можно проверить на скрипте, и если это работает — перенести на шарп.

как именно это сделать — пушистый веер способов.

те еще раз — чел бегает по кругу без цели, согревая космос.
на этом пока и остановились.
avatar
buybackoff, медленный говнокод лечиться быстрым железом — у разработчика всегда есть альтернатива или быстро написать но медлеено работает или писать медленно но работать будет быстро. Про скрытые баги — в любой программе есть всегда хотя бы одна ошибка! 

avatar
usertrader, статические типы — это как проверка орфографии в Ворде — помогает лечиться от глупых ошибок; но пунктуация так легко уже не лечится, как и ошибочная логика самого программиста. Делать ошибки в типах и тратить на них время на сегодня уже нету смысла, как и ждать 100 минут вычислений, которые C# делает за пару минут.
avatar
usertrader, про железо это стеб? Ну реально, знаю примеры, когда команда прогеров писала CRM систему (на C# + MSSQL, к стати), и 30 юзеров, просто делающих элементарные операции, типа добавить информацию о клиенте, уваливали ее.  По этому, туда ставили сервера по 40 жестких дисков, что бы оно хоть как-то работало.

Если алгоритм, который O(n log n), написать так, что будет отрабатывать за O(n^3), то железо не сильно поможет. Недостаточную производительность интерпретатора можно компенсировать железом, но дубово написанные алгоритмы могут стать костью в горле.
avatar
Это примерно то же самое, что попытаться по-быстрому стать боксером-тяжеловесом, только минуя годы обучения, тренировок и соревнований. Берем и вызываем сразу на бой какого-нибудь Вайлдера...

Боксером однако так никто не пытается, стать, потому что пиздюли, ебуки и переломы — это реальная боль. А программирование нет. От подобных же заходов на ура на программирование гипс не накладывают, только приступы неврастении или легкий психоз...

Тимофей, я же рассказал тебе про правильный подход к началу самостоятельного обучения. Наливаешь чашечку кофе, берешь пару пирожных с кремом и читаешь примерно часик книжку Роберта Мартина. Потом делаешь перерывчик минут на 15, а потом пытаешься попрограммировать по мотивам прочитанного опять же примерно часик. Практиковать это надо каждый день и тогда через некоторое время у тебя начнет получаться.

Ну и если уж вы такие любители целеполагания, то надо учиться ставить себе реалистичные цели. Потому что нереалистичные цели жестко (как фейсом об тейбл) демотивируют. Почитайте на досуге психологов спортивных что-ли?

Насчет занятий с преподавателем тоже могу сказать что чудес не бывает. И вы за десять (двадцать, пятьдесят) занятий тоже скорее всего не станете программистом. Вам просто будет чуть легче, если попадется реальный преподаватель, который не только понимает разницу между программированием и преподаванием программирования, но и еще имеет реальный успешный опыт обучения кого-либо.

Если бы ты Тимофей жил в Тюмени, мы могли бы скажем пару раз в неделю встречаться и изучать практики (именно практики) программирования. У меня уже был такой опыт и такие ученики, не сказать что совсем безуспешный, и как раз в нужной предметной области. Но увы, география и транспортная схема нашей великой и необъятной делает наши встречи невозможными. 
avatar
Так это нормально. Разобраться в чужом говне в десятки раз сложнее, чем написать свой прекрасный код. Так всегда было, есть и будет! И не стоит по этому поводу комплексовать.

На каникулах делал простейшую вещь на луа — львиная доля времени ушла на то, чтобы просто собрать и подключить чужую библиотеку. Те же самые эмоции! Потом все гладко пошло.
avatar
Если хочется именно по-программировать,
то идеальный выбор именно скриптовые языки — python, R, да хоть VBA. 
А вот если не будет хватать скорости или возможностей именно для торговли, то уже можно и изучать C# и все это самое.
Сразу лезть в эти ООП концепции для простого хобби нерационально.
avatar

Ошибка «Interop type StServerClass cannot be embedded» насколько я помню, очень легко исправляется. Находишь библиотеку SmartCom в референсах проекта. Щелкаешь по ней правой кнопкой мыши и выбираешь пункт Свойства (Properties). В свойствах находишь пункт Embed Interop Types и устанавливаешь его значение в False.

avatar
SergeyEgorov, если бы у него еще Студия по русски подсказывала, уже было бы немного попроще :) а так, я когда начинал, с этим же сталкивался — но о чудо, куча народу с этим сьалкивались и если вбить текст ошибки в гугл, то буквально в первой же строчке будет ответ.
avatar
я на программиста учился в институте. бакланил много. из всего программирования выучил только паскаль, который был на первых курсах. C++ как-то уже хуже пошел, хотя мог что-то написать. делал курсовую на ассемблере тоже, для ДОС. уже почти забыл.
но запомнил концепции, вроде конечных автоматов и теории компиляторов (по сути — парсеров и преобразователей), это потом помогло в работе.
к окончанию института заинтересовался Дельфи и смог продвинуться самостоятельно (Windows тогда была новой и делфи была удивительным прорывом в оконном программировании).
На дельфи и лабал на первой работе.
А уже на второй за 5 лет выучил C++, C#, Java, VB, JavaScript и всякие там ASP, Struts и прочие промышленные веб технологии того времени. Даже для PalmOS чего-то коротенько писать довелось.
Запомнилась книга «Эффективный C++» — вот это очень ставит голову на место. Ну и люди были замечательные. От одного Гуру я в компании многому научился. Спасибо ему. Такой скромный был парень со светлой головой. Ещё в начале 2000ых использовал boost. До сих пор там в компании и работает.
После этого уже ушел на Java. в другую компанию. На C++ пишу иногда по старой памяти.
Программирование — это и хобби и работа. Очень нравится до сих пор, потому что был осознанный выбор профессии.
avatar
Тимофей, в Visual Studio найти декларацию класса/метода/переменной очень просто — ставите курсор на вызов метода и жмете F12. Чтобы найти все обращения к методу/классу — жмете Ctrl-K,R. Посмотрите всплывающее меню, которое появляется в текстовом редакторе.
P.S.: Благодарить не нужно,  лучше поставьте плюс в профиль. :)
avatar
епт… теперь понятно почему у нас ракеты делать не умеют..

зы Заводы стоят, б***ь, одни гитаристы в стране, б***ь.© No Future. Ленинград
avatar
даже если будешь программистом от бога это не значит что ты будешь торговать правильно
avatar
Побочный эффект платного обучения в рос вузе.
Спасибо огромное, что не учился на хирурга.
avatar
Теория технология программирования. название не о чём. после этого изучать сразу с++ бессмысленно, не сформированы фундаментальные знания о языках и нет представления о работе внутрянки компьютера и проца, мы только к 3 курсу начали изучать с++, до этого было много теории по микропроцессорной технике и лингвистическому обеспечению, на 4 курсе писали компилятор и начали изучать ассемблер, но к тому моменту уже программирование виделось не просто как словесная запись алгоритма без понимания как это процессор исполняет, а появилось представление, что скрывается под записью каждого выражения, в какую форму код транслируются компилятором
avatar
Считаю новичкам, которые хотят постигнуть программирование на С# нужно обьединяться,  так проще вникнуть во все это, тем более здесь своя тематика программирования
Могу подтвердить — всё так и было!
Ещё во время школы (в старшем классе) учился в тех же стенах (в Политехе и в главном корпусе и в красном во дворе и там где тарелки, в лабораториях на переулке). Преподы были если не те же самые, то прям точно как клоны твоих =).
Главные слова на лекциях «так… ну это вы знаете, здесь в общем-то очевидно...», а потом на пол лекции начинался тупейший понт на тему «кто круче: студенты или препод?». А если человек пришёл учиться реально (не знает, но пришёл узнать), то ему там делать особо нечего. Отходил я один семестр и понял, что поступать в Политех точно не буду! Поступил в СПбГУ на журфак =).

А! Забыл главное… Я ведь не просто на базовые лекции ходил, я ходил на доп.отделение. Факультет переподготовки инженеров на системных программистов! Во как! То есть туда брали людей с высшим техническим образованием и якобы учили их там только программированию!
Мы с другом пошли и нам сказали — если вы закончите программу факультета, то для получения нашего диплома о втором высшем образовании надо будет сначала закончить первое высшее =))) Но мы оба поняли буквально за семестр, что нифига там не учат людей программированию. Туда приходили технари старой школы, которые уже были программисты-самоучки. Приходили за дипломом для работы. Единственное образование можно было получить в процессе общения с ними. Только я был школьником, а они угрюмые взрослыми дядьками (почти ауты), так что не сложилось особо наше общение.
Fry (Антон), вот кстати да, это важное уточнение. что программирование и общение с людьми — социализация, типа конференций, которые делает Тимофей — это немного перпендикулярные понятия.
чтобы программировать — надо сосредоточиться, подумать. по сути — замкнуться внутри.
а для социализации надо максимально разомкнуться наружу.
работают разные отделы мозга.
поэтому программисты такие немного угрюмые люди. так же как ботаники — просто издержки концентрации.
я на прошлой работе был прогером, надоело умирать перед компом. перешел на другую, стал сервисником, выезжаю по заказчикам, общаюсь постоянно. через 10 лет тоже надоело. опять на программирование потянуло. люди какие-то скучные (шутка)
avatar
ПBМ, вот в том-то и дело што…
avatar
Тимофей, ты слишком много ждешь за короткий промежуток времени, посмотри курсы от coursera на рутрекере, там полно для начинающих, с основами
avatar
Когда-то ходил на курсы «ПК грамотности», дядьки молодцы научили писать длиннющие bat файлы, к этому моменту почти прошел варкрафт2 (последняя миссия это жесть просто, не додрочил до конца) и дядьки когда писали очередную программу на заказ позволяли с друзьями ночью на часок-третий поиграть по сети. В перерывах между сетами мы приходили в себя и обращали внимание на экраны дядек (они засыпали часам к 3-4 утра и спали где-то до 11 если шторы не расшторивать — школа в таких случаях шла лесом). Там было белым по синему в шестнадцатиричном коде, и мне захотелось тоже. Особо круто было когда дядьки открыли диск с Цивилкой в этом коде и так листали, тыкали пальцем, потом переписали в этом же коде пару слогов и цивилка сломалась. Попросил дядек научить углубленно. Один (кто был больше как друг, играл в Дум с нами) сразу послал нахрен (та иди на хрен, нечем заняться что ли?) а второй открыл ящик стола и дал книжку про Ассемблер с зеленой обложкой и сказал на — учи. не понял ничего из первой страницы. 

а так — отличный вирусный текст, умеешь, разнесут программисты по всему фейсбуку.
avatar
 А я вот операцию на кишечнике не умею делать. Печалька. Но за пару месяцев с самоучителем постараюсь освоить
avatar
Ru-Ticker.com, а Вы в Меде учились и закончили его по хирургии?
хм…
Fry (Антон), в школе было пару уроков на билогии. Вообще забивал на это дело всегда, потому что не интересно.
  Но сейчас жуткий комплекс, что не умею делать операции. 
avatar
Ru-Ticker.com, топик-то вот про что. Человек 5 лет учился в условно престижном вузе на программиста. Не глупый человек, мягко говоря. Честно пытался разобраться, ну может быть без ярого самозабвенного выжигания глаз сутками за монитором с учебниками. Тут как бы да. Надо, блин, самому пахать по 14-18 часов в сутки, чтобы потом придти на занятие и понять, что лектор тебя в паскаль годами тыкает только потому, что не знает он синтаксиса мирового программирования! Просто не знает! Он привык к паскалю и ему плевать на весь мир. Пусть студенты, сами долбятся по MSDN'у, а мы будем приучать к мёртвому паскалю всех и каждого пару курсов. Ладно, думаешь, фиг с ним, как-нибудь сдам, но может быть построению алгоритмов научат? И тут опять, блин, сидишь и месяцами ищешь хорошую книгу на тему, потому что препод, садист, даже книжку адекватную студентам посоветовать не может! Кнута читайте! — это ещё хорошо если так скажет! Кнут — это круто, конечно, но ведь признаться честно, для начала (не для профессуры) — это же дебилизм давать студентам! Есть ведь доходчивая книга «Алгоритмы: построение и анализ», но нет! Фиг он вам про неё расскажет! Потому что там Си-подобные примеры рассматриваются, а мы же «крутые», нам, блин, надо изучить мёртвый паскаль и выдуманный Кнутом ассемблер, чтобы экзамен сдать… Это издевательство над людьми!
Мой профессор по архитектуре процессора с пеной у рта доказывал, что нам всем до самой старости хватит i80386 архитектуры 32-битного режима, потому что, дескать, закон Мура — это фуфел и скора прогресс остановится и памяти в компах на 32-битную адресацию хватит ещё лет на 100.
Мне было уже тогда совершенно очевидно, что человек просто цепляется за свои устаревшие знания и от страха боится раскрыть глаза и признать действительность.

Учить ведь можно хорошо! Тогда и отторжения такого в массе у людей не будет. А так получается, что? Учёба сама по себе, вуз-диплом сам по себе...
Вот о чём топик. =)
Fry (Антон), ВУЗ с обучением для программиста нужен для единиц (уникальных) программистов, для подавляющего большинства ну не нужно 4-5 лет учится в ВУЗе именно на программиста. Это ремесло.
avatar
AlexeyT, ВУЗ должен научить учится. Извлекать информацию из источников, усваивать её, пользоваться справочниками и литературой. И тут отступает на второй план — какой из языков программирования изучают в ВУЗе. 
К сожалению, у Тимофея не было интереса изучать программирование (или к счастью).
avatar
croc, да, и помимо этого давать фундаментальные знания,
а не исключительно 5 разных языков от системных до веб, 
и все завязанное на одну математику.
avatar
AlexeyT, спараведливо абсолютно для любой професии
avatar
Ru-Ticker.com, отнюдь,
инженеру (любому) необходимо много предметов растянутых на пару-тройку лет
а вот 99% программистов такой необходимости нет
avatar
AlexeyT, программист это разновидность инженера если не знал.
avatar
Ru-Ticker.com, нет, это не инженерная специальность, 
вернее сейчас ее стали называть инженерной, но инженерной она от этого не становится, это не каноничная инженерия,  а так, веяние моды.
если не знал
avatar
AlexeyT, самолетостроение тоже просто веяние моды, 120 лет такой специальности не было
avatar
Fry (Антон), 20 лет назад начать программировать мог любой человек с улицы, главное чтоб технарь. Сейчас ситуация совсем другая. Объем знаний нужен космический. Нужны заточенные под это дело мозги. Считать что в 30 с лишним лет можно начать это осваивать и через полгода-года писать как профи оч. самонадеянно.
  Примерно так же, как считать что станешь хирургом. Или скрипачем в оркестре
avatar
Ru-Ticker.com, идти в вуз, чтобы стать программистом — пустая трата времени в большинстве случаев. В университетах готовят теоретиков с ну очень широким кругозором))) А спец от нуба отличается как раз тем, что обладает глубокими знаниями, но в узкой области с пониманием мельчайших нюансов. Это проблема не только отечественных университетов, а в принципе современного универ. образования во всем мире, когда готовят широкопрофильную посредственность.
avatar
owner, понятно что джаваскрипт можно и без вуза освоить. Но скажем дискертную математику уже фиг. 
   На самом деле тут просто маятник. Если раньше программистов считали гениями, то сейчас как компенсацию считают на уровне ПТУ. На самом деле обычная инженерная специальность, как и все другие. Единственно что технологии меняются каждые 5-10 лет
avatar
Ru-Ticker.com, я бы здесь отталкивался прежде всего от рынка труда, посмотрите на тот стэк, что сейчас востребован больше всего — JS, потом джава(прежде всего мобайл дев.), пхп, питон — много там дискретной математики нужно? А для системного программирования предложений как раз заметно меньше.
avatar
owner, конечно много.
avatar

Ru-Ticker.com, смотря какая цель. Реально знаю ребят, которые пришли во фронтенд, пройдя какие-то говнокурсы. Клепают формочки, подбирают код, что бы в разных браузерах кнопки не съезжали, короче, сами признаются, что работа говно, и неинтересно. Но… зарплатой довольны)

А еще… тестировщики неплохо бабос рубят. Не то, что много, но неплохо в пересчете на затраченные усилия на становление тестировщиком. 

Я к чему это говорю, что по факту дискретка и умение вертеть красно-черное дерево далеко не необходимые скиллы. Человек, знающий английский, и разобравшийся в ангуларе, реакте, бекбоне и т.д. и научившийся быдлокодить, как правило, работу находит быстрее.

avatar
Fry (Антон), кстати закон Мура уже на ладан дышит, после 2020 станет скучно.
Багатенький Буратина, я это слышу с 1995 года
Fry (Антон), я 12 лет назад покупал процессор с частотой 3ГГц.
А с 1996 по 2003 менял каждые полтора года комп вынждено, потому что мощность удваивалась
  Сейчас же сижу за компом 6 летней давности и даже не думаю про апгрейд
avatar
«Я даж тогда карикатуру нарисовал про лекции по ТПП»
Тимофей, у Вас талант — передача атмосферы, перспектива, «штрих»  и даже выражение лиц. Этой работе место на выставке современного искусства. (-:

В любом деле нужно начинать с основ, а не наоборот.


А так… типичный рабочий день когда приходится в чужом одноразовом проекте разбираться.


И еще, среды разработки конечно разные, но Ctrl+ЛКМ должно было сразу перевести на объявление функции. Ctrl+SPACE — что ей вообще передавать. Что-то такое обязательно есть


Запустили огромную жрущую ресурсы среду вместо блокнота, так пользуйтесь возможностями. А так это все равно что на КАМАЗе письма возить.

 

 

avatar
При изучении программирования, как и при изучении иностранных языков, надо просто тупо зубрить, чтобы знать словарный минимум. Потом все приложится само.
Но теперь уже нет необходимости посвящать этому жизнь и карьеру. Уже в ближайшие годы и программировать, и заниматься переводом будут системы с искусственным интеллектом. Впрочем, экономики, как профессии, тоже не будет. И по мнению Гардиан все произойдет намного быстрее, чем могло показаться и даже планировалось,- в течение ближайших десяти лет.
avatar
Translator, только хотел об этом написать)) Тоже годик назад понадобилось коечто накодить/попрограммить (интернет-магазин хотел делать сам). По итогу лэндинги делать научился, а потом пару задач фрилансеру слил по ИМ и он все сделал за 3 дня и за очень недорого. Хотя безусловно, программить самому и разбираться очень интересно.
avatar
Translator, насчет программировать будут программы с искусственным интеллектом — это фантастика. А кто будет программировать эти программы? А кто будет объяснять этим программам что от них требуется?
У вас получится что программист что-бы написать программу пишет программу, которая напишет программу. И так с каждой задачей. Не изобретайте велосипед.
avatar
croc, не согласен. Дело-то идёт как раз к тому, что программировать прикладные задачи всё проще и проще.
На первом этапе переключатели щёлкали, потом числа с телетайпа забивали, позже появился мнемонический команды, потом языки высокого уровня.
Далее появились кросс-платформенные решения (виртуальные машины со своим байт-кодом).
Следующий этап — визуальное программирование. Вначале всякие блоксхемы кубками, набрасывание контролов на формы в билдере. Сейчас активно разрабатывается реальная глубокая визуализация (когда создаваемый алгоритм тут же интерактивно показывает весь результат и даже с проекциями разных входных значений и изменений).
Будет и голосовое программирование наверняка. Говоришь, например — «фон чёрный, добавить плеер, добавить обработчик, в нём 1-е условие: плеер активен с 10:00 до 22:30 по времени сервера...»

Это не значит, что не нужно будет кому-то развивать нижние уровни, но ведь можно тогда будет и на разговорном уровне решать прикладные задачи.
Fry (Антон), наоборот программировать стало намного сложнее. Да, появились высокоуровневые тулзы. Так и задачки щаз на порядок сложнее. Раньше можно было наваять тетрис и грести миллионы. А сейчас надо сделать виртуальную реальность, да еще и монетезировать по модели фримиум
avatar

Ru-Ticker.com, да тоже всякие флеппи бердсы появляются время от времени. Или 2048 — это верх человеческой мысли? Или энгри бердс? Что, так сложно это написать?

Просто концепция рубли бабла программированием переместилась от вопроса «как писать» к вопросам «кому впарить» и «как впарить».

avatar
Lafert, а сколько игр до энгри бердс не выстрелило? А там бюджет 2-3 человеко лет
avatar
Fry (Антон), да что-то
"Вначале всякие блоксхемы кубками, набрасывание контролов на формы в билдере." не пошло. К примеру, тот же ASP.NET Web Forms. Вроде и хорошая идея без знания js и колупания в html создавать веб приложения, но не пошло. Да и WinForms/WPF уже отмирают. 
avatar
Каждый начинающий программист первую свою программу пишет Калькулятор. :)
Тем более сейчас любая написанная программа должна приносить доход. 
avatar
Непонятно, зачем вообще нужны эти университеты, когда есть ютюб, не говоря уж о гугеле и вики.
avatar
 И да, в ютубе и вообще в инете просто океан бесплатной инфы, сиди дома и фигачь потихоньку
avatar
Тимофей Мартынов Как .net разработчик могу посоветовать книжку Троелсена по C# http://www.ozon.ru/context/detail/id/19916784/. Очень просто все написано, но поэтому большой объем.
avatar

Советую посмотреть курс «learn how to learn» на корсере www.coursera.org/learn/learning-how-to-learn/home/welcome

После просмотра станет понятно, что пытаться запихнуть большой объем информации в мозг за короткое время — это тупиковый путь.  Маленькие, регулярные шаги приведут к цели значительно быстрее. И еще, удовольствие (положительные эмоции) от обучения приводит к лучшему усвоению и повышению мотивации. Отрицательные соответственно наоборот.  Чтобы получать удовольствие от разбора чужого кода, нужно иметь достаточный левел.

avatar
Я раньше интересовался программированием, но когда достиг определенного уровня, интерес к программированию угас
avatar
я пытался на TSLAB сделать простенького робота, просто хай выше лоу тогда покупка и трейлинг стоп.

На ниндзя я сделал за 5 минут, даже прибыльным был на истории.

Плять в TSlab мало того что никто не помогает. Или скажут «пропиши adict в резерве, и подключи сторонний драйвер маршрутизации, дабы все переменные нашли свои пути»,  
сидел 2 недели, рылся в этих блоках, пытался залезть в библу C SHARP или как то так.
Я сдался, бошка не выдержала. За деньги проще)

Если я в TSlab запутался, то явно прогерство не мое. 

Да и отчисляли меня из колледжа из за математики)))

Ну идеи для TSlab рождаются постоянно, ну это уже как трейдерская тема)
avatar
1. веселая статья с хорошим юмором
2. отличная оценка качеству и значимости современного высшего образования (получить диплом ничего не понимая)
3. забавные картинки (хотя если б их не рисовал, может научился бы кодить?)
4. нахрена лезть в С++?? Возьми что-нибудь подружелюбнее (Delphi, ...)
5. нахрена вообще лезть в кодеры ЕХЕ???? (для алгоТС подойдут встроенные языки терминалов, которые несравнимо проще С)
6. снова + за картинки ))
avatar
Для начала стоит научиться пользоваться средой разработки Ctrl-F и Ctrl-Shift-F для поиска функций никто не отменял, а ещё лучше курсор на название функции и жмем F12.

А по С# купи или скачай книжку, полно хороших книг для начинающих где все разжёвано. На уроках из youtuba ничему хорошему не научишься.
avatar
Тимофей, надо заняться тем, что тебе близко.
а тебе близко:
1. сайт
2. трейдинг.
===========
1 — у тебья есть программер на php варганит сайт… сядь и сиди рядо с ним. Это гораздо решче чем Шарп!!!.. Плохо если он у тебя на удаленке работает...
Почерь если ты будешь не чесать что-то что болтается, то код работу кода ты узнаешь хорошо и к тебе придут дельные мысли что задать сделать программеру, а может и самому сделать… Например ЧПУ ссылки)))
2. робьотостроение...
Lua -на этот язык обрати свой взор… ОН для квика… а квик для биржи… ну ты понял)))
поверь… иногда лучше разбираться чем завязнуть)))
avatar
Жук Скарабей, о… пхп, конечно. Наверное да, стоит на нем пописать. Что бы дурные мысли вроде «хочу программировать» больше в голову не наведовались.
avatar
это Вы еще с исходниками S# не знакомились, там пойдут делегаты, лямбды и мн. др. не менее интересное ))
а вообще надо брать простые примеры и ковырять и все у Вас получиться!
напишите что то интересное, простой планировщик например,
только практика сделает Вас программистом, нужен интересный проект и год практики и все, удачи!
avatar
vitaliy, надеюсь вы ошибаетесь насчет лямбд в s#. Если в s# зашиты лямбды, это ставит жирный крест на эффективной отладке. Любая торговая прога эволюционирует. Отсутствие онлайн отладки из-за лямбды делает невозможным развитие систем
avatar
broker25, у них большинство исходников в открытом доступе, есть коллективные проекты, не совсем понял что Вы подразумеваете под онлайн отладкой, отладка под вижалстудио сишарп
avatar
vitaliy, под онлайн имею в виду Edit and continue, недоступный с лямбдой. Насчет открытых исходников, зачем же они деньги берут за коннекторы?
avatar
broker25, лямбды, к стати, тоже можно частично отлаживать в свежих студиях, + можно блоки, окруженные фигурными скобками, вставлять в лямбды, а они отлаживаются, как обычно. Но надо понимать, что сейчас функциональное программирование — тренд. И лямбды частично реализуют эту парадигму. Можно стоять против тренда. Но можно и оказаться на месте знатоков делфи.
avatar

пишу для смарткома на шарпе
классы использую только зашитые в библиотеке
зачем плодить лишние сущности?
любую систему можно реализовать с простейшими конструкциями
спокойно можно обойтись без сложностей
да смартком немного (!) сложнее апи квика или купайла
но на порядок(!) проще S# или плазы

avatar
Компьютер работает как ромашка, произнося миллиард раз в секунду «да-нет» :)… Думаю для себя нужно понять какого склада ума мышления развит: творческий или логический. Кодить вот умею, а нарисовать, спеть, выучить хоть одну песню не получается.
avatar
Программирование изучал по книжке Как программировать на C++
www.ozon.ru/context/detail/id/2814155/
автор излагает очень доходчиво.
Можно предположить, что про C# у него книга не хуже:
www.ozon.ru/context/detail/id/30491580/

avatar
Блин ну не могут все быть программистами, хирургами, летчиками...
среди программистов тоже 1 хороший программер из тысячи..
или к примеру не все могут вести прямой эфир на РБК ))

Смирись )) Развивай те компетенции к которым у тебя есть предрасположенность...

Ты же не пытаешься стать хирургом или летчиком и бог весть там кем еще… и не сокрушаешься по этому поводу...

Ты изначально выбрал просто не ту область для поступления… да и потом ты не работал по специальности… что тоже о многом говорит…
avatar
почти так же (( после паскаля на физфаке… так и не смог осилить другой язык… хотя щас луа очнь интересен стал ) и вроде довольно простой… а вот с пытлсч изучать раза 4… и забивал...(

avatar
100500 лол. потому и лол, что те кто в институте и после кодит хорошо — начинали с бейсиков, паскалей,  с++, потом сишарп и так далее

Лезть с нуля в ООП с вопросом «быстро освоить программирование» (причем не просто а применительно к рынку, с соответствующими библиотеками) это 100500 лол. 

Для того чтоб начать средненько разбираться в любой из отраслей неважно, кодинг, вождение автомобиля, рынок, раскрутка сайтов — да вообще любой  - необходимо посвятить этому года три. 
Это на тему «быстро»
avatar
Как учился программировать я. Писал свой проектик который с помощью инъекций dll и по shared памяти сканировал, открывал столы, грабил истории рук в покерных клиентах. Хотел запилить свой сервис. Писал я его долго и до конца так и не дописал. Остановился когда понял что не смогу выдернуть истории рук для zoom столов. Для этого нужно было уже взламывать клиент, дизасемблировать, производить man in the middle атаку с подменой ssl. В общем я понял что мне просто не осилить это все в одиночку и конкурентов было предостаточно. Но на азарте решения этой задачи я все-таки научился более-менее кодить.
avatar
Си диез это богохульство. Дзен постигается только в Си с плюсАми )
avatar
Виктор, Дзен же вроде постигается созерцанием… Не?
avatar
Я программист (8 лет опыта), начал программировать в 20 профессионально, до этого только в школе и универе. Могу сказать, что в начале очень тяжело и я все это понимаю. Но если у тебя будет достаточно сильное желание, подкрепленное интересом в создании новых софт-продуктов, ты преодолеешь трудности. Любые непонятки гугли. Много читай. И еще больше программируй. Согласен с предыдущим автором — очень важен азарт, горячее желание достигнуть цели. Несмотря на то, что я неплохо программирую на Java и Obj-C, предпочитаю для роботов использовать как не странно язык QPILE. Просто потому, что я до запятых понимаю, что делаю. Могу, но не хочу использовать закрытые функции какого-нибудь TSLab / StockSharp и т.п. при создании роботов. TSLab использую для бектестов.
avatar
SciFi, Могу, но не хочу использовать закрытые функции какого-нибудь TSLab / StockSharp и т.п. при создании роботов. 

 Не доверяете? 
avatar
SuperMegaTrader, да, слишком много становится черных ящиков. 
avatar
SciFi, что-то недоговариваете явно. 
Было бы все, как в комментарии, реализовали бы свой FIX адаптер + FAST адаптер (или допилили бы какой-то опенсорсный), и вперед. 
avatar
закрытые функции 
это что такое?
avatar

Зачем сразу лезть в какие-то хитромудрые программы, написанные фиг знает кем?) Начинать лучше с того, в чём реально разобраться. То есть либо это должен быть идеально документированный код с подробными комментариями, либо код, достаточно простой для самостоятельного разбора. Разобравшись в простом, можно переходить к более сложному.

Многие пугаются именно сложности. Вот именно этот эффект «голова пухнет» был почти у всех программистов. Разница между людьми только в том, что одни сразу решают, что программирование — это не для них, т.к. «слишком сложно», «у меня нет к этому способности» и т.п. А другие начинают разбираться, понимая, что некоторые вещи сейчас не под силу, но сейчас можно разобраться в чём-то попроще.

Я работаю программистом с 2006 года. И когда я сажусь за разбор кода какого-то более-менее сложного ПО, с которым никогда не работал, у меня точно так же пухнет голова. В первый день понимаешь общие основы, во второй понимаешь суть архитектуры, в третий уже можно решать какие-то простые задачи, через 2 недели можно считать себя опытным программистом по данному ПО, через несколько реализованных и сопровождённых проектов (важна обратная связь с конечным потребителем, чтобы понимать, что и где ты сделал не так) ты уже эксперт в этом программном продукте.

avatar
Denis Vlasov, блок схемы говорят помогают в понимании чужого кода =)
avatar
Представляю на сколько психологически тяжело Тимофею было на этой учебе.  Рисунки о многом говорят.
avatar
Сейчас я понимаю в чём была моя проблема — в том, что сложные предметы сыпались на снег на голову, и не было времени, чтобы сделать акцент, например, на программировании. Одаренные ребята, увлеченные с детства программированием, просто продолжали развивать свои навыки, а я так и не смог «поджечь нефть». Всё что требовалось, — это просто увлекаться программированием и последовательно отдавать ему время. А я тогда наивно полагал, что хочу заниматься биржей и экономикой и думал что именно знания по экономике и рынкам принесут мне несметные богатства)) Соответственно отдавал время им.

Золотые слова аплодирую стоя! Такая же проблема и у меня, получается, что ты с детства должен быть чем то увлечен и этот навык в себе развивать, а не идти учиться на программиста если любишь КС по ночам гонять. Да вот суть проблемы в том, что в детстве не очень понимаешь, чего хочешь и куда двигаться, а во взрослой жизни уже поздно, что либо меня! 
avatar
Игорь, в детстве не очень понимаешь, чего хочешь и куда двигаться, а во взрослой жизни уже поздно, что либо менять! 

 «уже поздно» — это отмазка чтобы оправдать свое бездействие.
 Никогда не поздно.
Тем более никогда не поздно  научиться роботов писать по своим идеям.

avatar
Не написано в каком редакторе открыт проект.
А во всех нормальных есть функция 'показать определение'. И перемещаетесь на нужное место не за 30 минут.
avatar
 Ну, и видеоролики — это для тех, кто УЖЕ в принципе знает как. По ним научиться с нуля невозможно.
Надо прочесть книги или Шилдта, или Карли Ватсона.
В крайнем случае быстро посмотреть что почём тут www.firststeps.ru/
avatar
Начинать надо с азбуки, а не с роботов. Это все равно что ребенку заместо букваря учебник по физике подсунуть.
avatar
vlad1024, да, это верно, но как я уже писал выше, мне интересно было со всех сторон потыкаться

когда начинаешь разбирать задачу большую, лучше понимаешь, что именно тебе надо освоить
Тимофей Мартынов, помоему ты слишком быстро хочешь получить конкретный результат, поэтому у тебя трещит голова, я бы советовал начать с простого. К примеру с питона и простой базовой книжки по нему, потом книжка по алгоритмизации, и обязательно выполнять все задания по ходу, тогда бы был толк. Программы = Алгоритмы + Данные + Интерфейсы.
avatar
vlad1024, спасибо
Тимофей Мартынов, 

Тимофей, все реально, не боги горшки обжигают. 

Пару полезных советов:
1) у вас должна быть конкретная цель для чего вам это нужно. 
2) методичность и системный подход: занимайтесь каждый день по чуть-чуть. Определите минимум времени, который вы будете каждый день уделять программированию. Лучше заниматься каждый день по чуть-чуть, чем раз в неделю сидеть целый день.
3) ставьте краткосрочные реальные цели, это добавит мотивации.
4) тесты, один из лучших методов проверки знаний. Прошли что-нибудь сделайте карточки или ответьте на вопросы из книги или попросите знакомых программистов по задавать вам вопросы на понимание. 
avatar
C# конечно сложноват что бы с нуля запрыгнуть. Но при техническом образовании в бэкграунде все должно получиться.
Не спеши (а то еще курить начнешь ;) растяни удовольствие. Тебя ждет приекрасный мир ООП ахаха )
кста — private bool IsReady {} это не переменная, а метод (функция) класса..
Учиться лучше если не тупо читать, слушать а обязательно прорабатывать написанием кода (не копипейстом) из задач (наверняка есть) по каждой теме. Накодил, запустил и порадовался. )
avatar
Не тратьте попусту время. Я читал статью ведущего программиста, в которой тот доходчиво объясняет, что умение программировать дано не всем и плохую службу составляют учебные курсы и книги, завлекающие кажущейся простотой процесса.
Я начинал с бейсика, потом 1С 7.5(7.7), потом плюнул и стал нанимать тех, кто делает это лучше меня. Чем и занимаюсь по сей день. Моих знаний хватает, чтобы наскидку увидеть простые ошибки в коде и слегка поправить, например, цвета в выдаче, но мне этого достаточно. Лучше заплатить десятку программеру (5 за создание алгоритма и 5 за код), чем тратить два года на изучение. Почему важно, чтобы исполнитель с вами мог проработать ТЗ-потому что он может подсказать решения, которые вам бы и в голову не пришли. Поэтому не стесняйтесь рассказывать свои идеи, оформлять их в ТЗ и воплощать в коде чужими руками. Но если совсем стремно, то не выдавайте реальных параметров системы, дайте приближенные. Например, у вас МА 120 и 64, попросите сделать робота с параметрами МА 100 и 50 и сделать параметры в виде переменных, которые вы сами потом сможете поменять. 
if ( err == code1 || err != code2) {… }
avatar
domino, +1 к команде, начинаю путь.
avatar

теги блога Тимофей Мартынов

....все тэги



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