dr-mart

Программирование и я

Итак, продолжаю биться головой о C#. Решил поделиться парочкой идей. Во-первых, я стал думать, что почти каждый, кто захочет, сможет изучить всё что захочет и начать это делать на среднем уровне. Это всего лишь вопрос времени. Допустим, тебе что-то кажется совершенно непонятным. Ты сидишь час, два, три… А потом бах, наступает час, когда ты, наконец, осознал и понял… Это всё вопрос времени! Я думаю каждый может научиться программировать C#, или кодить Php, или писать приложения для iPhone… И то, что кажется совершенно немыслимым вначале, спустя 200-300-400 часов изучения начинает казаться понятным и ты сам в то не веря, начинаешь лепить рабочий код как из пластелина.
Главная проблема всегда в том, что хочется всё освоить с наскока. Оп! и ты начал кодить. Не, так тока вундеркинды могут. Отсюда и то, что руки быстро опускаются, если сразу не смог, и ты бросаешь это дело. А тут надо маховик раскручивать, долго и нудно, чтобы он начал сам потихонечку себя вращать по инерции...

Во-вторых… Блин, бошка действительно кипит и мозг сопротивляется созданию новых нейронных связей. Прикольное упражнение. Ведь на самом деле, многие из нас даже не задумываются о том, что разучились по-настоящему думать.

В-третьих, я прям чую, что программирование надо изучать мелкими шажками… То есть последовательно осознавая каждый этап знаний. Нельзя перескакивать. Только медленное поэтапное осмысление. Иначе голова просто взоврвётся на месте и всё (как это у меня было с неделю назад). И постоянно писать примеры на языке программирования и нельзя перескакивать на новые темы, пока полностью не осознаешь как устроен предыдущий этап. Лучше потратить больше времени, чем пропустить что-то и потом уперется лбом в бетон полного непонимания.
★11
83 комментария
Если гуманитария учить программированию, то он будет ниже среднего. Нужно идти по тому пути, где тебе с твоими способностями легче.
avatar
Глеб Райцесс, это всегда так, ага
Тимофей Мартынов, в кодинге первичен не навык, а  ОБРАЗ МЫШЛЕНИЯ… навык же является следствием этого мышления… ИМХО
а чтобы сформировался «прогерский образ мышления» надо как минимум покопаться в «программировании материи» (не зря масоны выходцы из древних строителей) — фрактальные формы, лабиринты, цитология, архитектура, системы управления, эволюция живых и техногенных систем. Надо впитать образ мысли когда все вокруг — это поток материи которую ПРОГРАММИСТ (оно же создатель) формирует в некую ФОРМУ — программу… и тем совершеннее программа чем за меньший поток происходит БОЛЬШЕЕ число ПОЛЕЗНЫХ перемен (оно же чем больше функциональность системы в единицу времени и ее устойчивость к хаотичному воздействию из вне и в самом сигнале потока). А таковой формой являются «фрактальные формы» оно же «подобия» оно же «иерархические вложенности» (процесс наследования — это аналог слияния материи, подобия — схожие свойства элементов таблицы Менделеева, приведения типов — радиоактивный распад на новые элементы)

p.s. самым большим достижением фараонов был «лабиринт». У меня вообще ощущение что «лабиринт» как структура в пространстве — фундаментальная «идея любой ЖИЗНИ». Любая клетка — это «лабиринт химического конвейера», поверхность нашей планеты — это «лабиринт ручейных-речных-морских» русел/бассейнов. Галактика — это «гравитационный лабиринт» разных элементов «гиганстких циркуляций межзвездной пыли», «самих звезд», «планет», «астероидов», «комет» — ЛАБИРИНТ… это «алгоритм в пространственном выражении». Код программы — это лабиринт но представленный уже на уровне «словесной информации». Все вложенности функций — это аналог «устья рек»… любое условие — это стена/преграда, любое число — это ширина канала русла. Любая функция — это различное вещество и его концентрации… Как только ты увидишь что КРУГОМ ЛИШЬ ОДИН КОД но выраженный на языке материи… а современное ПРОГРАММИРОВАНИЕ — это всего-лишь очень узкий спектр в атрибутах «электро магнитного сигнала», «булевой алгебры» и «полупроводниковой базы»… то поймешь, что человек просто «изобретает велосипед» пытаясь состряпать его своим разумом, хотя природа — это гигантские жернова подбора САМОГО СОВЕРШЕННОГО КОДА… воплощенного в виде СТРУКТУР МАТЕРИИ… в частности если брать проекцию на «живое» — она просто «эволюционно формирует ЛУЧШИЙ вид»… оно же «свою ЛУЧШУЮ ПРОГРАММУ воплощенную в языке материи/энергии»
palka, признавайся, где такие шишки покупал?)
avatar
stitrace,… примат обнаружен, запускаю режим «строгий игнор животного»
palka, вообще по аналогии (а это САМЫЙ МОЩНЫЙ ИНСТРУМЕНТ ПРОГРАММИСТА… аналогия/подобие)… многие сейчас не беспричинно ругают: «современные технологии делают людей тупее! Посмотрите, все сложные преобразования спрятаны за примитивным процессом выбора… *НАЖМИ НА КНОПКУ — ПОЛУЧИШЬ РЕЗУЛЬТАТ… И ТВОЯ МЕЧТА ОСУЩЕСТВИТСЯ!*
Кругом не думающие люди, а тыкуны_в_кнопки»...
так вот аналогия… а что если нас создали более совершенные цивилизации, и по тому же принципу «раб должен знать как собака — где стоит миска, где у него кнопка которую в случае примитивного желания он нажмет и запустит процесс основанный на наших сверх сложных технологиях..»… Где такие кнопки у людей?.. Ну навскидку… «У меня мало энергии — КНОПКА_1_ЖРАТЬ»..  «У меня энергии достаточно, но лимит износа на сегодня заставляет отдохнуть — КНОПКА_2_ЛЕЧЬ_СПАТЬ, мозг переформатируй всю накопленную за сегодня информацию»… «Я понял что готов к созданию своей копии но с некоторыми дополнительными функциями — КНОПКА_3_СЕКС_ЗАЧАТИЕ»… «Я накопил много неусвоенного вещества — КНОПКА_4_СНЯТЬ_ШТАНЫ_ПО****ТЬ».....

о_О кто не видит как я аналогии с «в айфоне надо просто тыкать одним пальцем — там все интуитивно понятно»… в человеке «в биороботе человек все примитивно — к его сознанию сложная система подает простые команды, человек *НАЖИМАЕТ_КНОПКИ* коих мало — мы сделали его сознание примитивным, он больше не должен знать… и запуская сверх сложные био-физические процессы является как их исполнителем так и наблюдателем. Мозг — это элемент некого случайного апгрейда. Он может что-то примитивное запомнить, что-то передать своим клонам, но те как и он тычут_в_кнопки коих мало, но они запускают сверх сложные процессы, которые мы «инженеры-пришельцы» разрабатывали миллионы лет, но он об этом даже не узнает — он примитивен для нас, как для него -  бактерия»

p.s. ищи образ мышления «творца» в окружающем мире… учись видеть подобия — это путь к программированию
это чтобы окончательно «лишить мозг девственности» ))

palka, «p.s. ищи образ мышления «творца» в окружающем мире… учись видеть подобия — это путь к программированию»
да, помнится как мудрейший Будда говорил «Один день мудрого и медитирующего человека воистину лучше ста лет человека не имеющего ни мудрости, ни самоконтроля, ни Вижуал Студио»
avatar
palka, да именно — образ мышления. Но ему реально научить быстро. передав этот способ мышления!
avatar
Тимофей Мартынов, лучше не заморачивайтесь, там вообще больше математике и матанализа нежели софта…
avatar

Тимофей Мартынов, 
Прошелся по вашим ссылкам на посты, вплоть до 2012 года.
Первое что бросилось в глаза — активная аудитория на смартлабе полностью поменялась.
И если раньше, к вашим постам, было много вдумчивых конкретных комментариев, то сейчас по типу "+1"
Зачем вы по-прежнему плодите тролей и ботов, которые уничтожают ядро ресурса и снижают капитализацию проекта?
Подобные проекты дорого стоят(оцениваются) не из-за посещаемсти и тупых постов, а по качеству ядра (пост. аудитории)

Насчет с+ и програмирования, если нет цели полностью поменять профессию, то  прикладные задачи лучше отдавать на аутсорсинг. ТС можно сркыть или вставить в код позже.

avatar
tregert, и что же делать со смартлабом?
Тимофей Мартынов, 
вопрос не по адресу
думаю, что у вас есть своя ТС насчет этого стартапа

единственное, что точно стоит сделать: убрать троллей и ботов, жестко отсекать их, несмотря на то, что последует значительное снижение постов, комментариев и посещаемости

одновременно пригласить «старую аудиторию» обратно

через полгода-год значительно вырастет качество ресурса, что скажется на его рыночной стоимости
возможно и посещаемость также
avatar
Глеб Райцесс, чушь. Ч много раз слышал, что именно гуманитарии проявляют хорошие способности к сабжу. Кстати, Джейми Завински ЕМНИП, говорил, что программирование сродни лит творчеству.
avatar
sortarray sortarray, я образно написал. Имелось ввиду, что если ты уже побывал, что-то делать, а тебя от этого тошнит, то лучше заняться тем, что приятно. 
avatar
Глеб Райцесс, к счастью, для того чтобы прогать ботов, уровня ниже среднего больше чем достаточно :) 
avatar
отличный текст. невероятное кол-во людей ноет о своей жизни, а когда надо учить что-то новое, просто упираются как старички 90летние. Молодец, что С#. 
avatar
стаый дед, я неуч!
Да, новые нейронные тропинки тропить это не гантели тягать.
И чем старше будешь, тем тяжелее.
Чем дольше будешь такие вещи делать, тем дольше здоровье сохранишь.
avatar
да это так же, как научиться уверенно водить авто в плотном потоке, или научиться играть на гитаре. С наскока не получится, порог входа достаточно высокий. Практика практика и еще раз практика. 
Многие трейдеры привыкли к низкому порогу входа в трейдерство,  отложил с зарплаты 30 тыщ. установил квик, почитал чем лонг от шорта отличается, и все, он трейдер. Но это обманчиво конечно. 
avatar
Молодец! Новые нейронные или каких там связи, в любом случае пригодятся)
avatar
Несогласен, программистами рождаются, а не становятся. Если в душе ты не программист, то ничего путного из этого не выйдет.
avatar
Costa, ну вот Тимофею же интересно, другой бы обплевался. Может он в душе программист?
Тим, почему C#?
avatar
Руслан Вяз, Потому что с ним проще задачи решать по торговым роботам
да, кстати, как ты выбирал язык программирования? почему Си, а не Ява? или что там еще есть
avatar
Warren Warren, потому что вроде самый распространенный
Тимофей Мартынов, С++ вроде, не?
avatar
okolorynok.ru, java
avatar
99% кода написано, все остальное вариации
avatar
mamont, 
99% кода написано, все остальное вариации
и это плохо на самом деле, в контексте обучения. для обучения, как раз, велосипеды полезней изобретать, чтобы основы осилить.
avatar
sortarray sortarray, напротив это прекрасно, в институте надо было изучать не язык, а методики правильной работы с литературой, это конечно касается инженеров, чтоб быстро найти где и применить, а не изобретать новые велосипеды — на это уходит слишком много времени
avatar
mamont, все так, сейчас продакшн скоростной, за исключением небольшого кол-ва индивидуумов, все пишут свой код поверх чужого, если есть тяга к изобретательству, можно всегда поконтрибьютить в каком-нибудь «супер-мега-новом» фреймворке, со 100500 переосмыслением MVC.
avatar
mamont, понимание что эффективнее не начинать все с нуля приходит только с опытом, после парочки изобретенных велосипедов
avatar
как скальпинг Тимофей — продолжает получаться?
avatar
l-way, плохо, но пока в плюсе 
Тимофей Мартынов, как думаешь, почему так? я так понял ты с рокибитом общался и вроде знаешь что делать? скорости не хватает, дисциплины или чего еще?
avatar
Научившись программировать (думать как программист) язык уже не так важен, разница только в нюансах использования.
avatar
Kadabra, 

Норвиг с Вами не согласен
Кстати, раньше наоборот ходила байка, что фортранщик будет писать фортран на чем угодно. Просто современные мейнстримные языки похожи друг на друга, отсюда и это мнение. А попробуй, к примеру, пересадить плюсовика на форт.
avatar
Kadabra, Вы бы раскрыли «думать как программист», а то подумают, что программисты как-то иначе «думают». (-;
Если Ваше мышление использует только логику и знания, то Вы будете «думать как программист», но далеко не каждый программист использует логику и знания. Именно поэтому столько дерьмового кода и столько бессмысленных проектов. Не стоит «канонизировать» человека, только потому, что у него определённая профессия. (-;
Kadabra, может раньше так и было, а сейчас какая-нибудь новая технология внутри языка по объему информации тянет на отдельный язык. То есть легче вам не станет никогда. :)

Ээээ, а ты сразу так стал программировать нейронные сети и прочий ИИ?

Или это было образно

avatar
alexds, он имел в виду связи в башке
avatar
Во-вторых… Блин, бошка действительно кипит и мозг сопротивляется созданию новых нейронных связей. Прикольное упражнение. Ведь на самом деле, многие из нас даже не задумываются о том, что разучились по-настоящему думать.

Не даром в народе говорят -" лиши свой мозг девственности — начни изучать программирование".  
avatar

Да уж. Жажда наживы мощный стимул.

avatar
Образование- тяжелый, физически неприятный труд. Но доступен каждому. Не каждый на него соглашается.

И еще. Программирование, на мой взгляд, более доступно гуманитарию. Потому что в его основе логика, а вовсе не математика, как принято считать.
avatar
TT, Собственно, в основе математики, как бы тоже логика,  а то что в основе программирования логика, это еще вопрос, логические языки, к примеру, провалились, логический вывод не работает для конкурентных систем, да и вообще, логика — это темный лес, их толко основных разновидностей с десяток наверное наберется:). Я бы посмел утверждать, что в основе программирования эвристики и инженерный подход рулят, а так же творчество, в широком смысле, умение оригинально мыслить, нестандартно подходить к решению задач, как-то так:). Одним словом *изобретательство*.  Так же, в программировании очень много общего с лингвистикой, языкознанием. Но я согласен, в целом, что знание математики может дать преимущество только в языках, заточенных на математику, например в хаскеле, а, скажем, в динамических ЯП математику будет скорей сложней.
avatar
sortarray sortarray, Математика абстрактна, логика конкретна.
avatar
TT, математика — это способ разбиения пространства. Любая цифра — суть «координата и объем пространства». Логика дополняет математику оперируя множествами объемов причем нечеткими, когда как математика оперирует точными «формами» и со строгой порождающей природой (определенные функции)…
palka, 
когда как математика оперирует точными «формами» 
Да я бы не сказал, что это точно так. Нечеткие множества, пределы, вероятности, не сказать чтобы уж такие точные из себя. Вполне размытые:)
avatar
sortarray sortarray, нечеткость математики описывается вполне себе четкими правилами. И вообще, в мире все «чётко». Это в мозгу человека есть слово «нечетко», т.к. он не может описать конечными понятиями все что видит и чувствует.
avatar
TT, Первый раз такое слышу. Ну, умение программировать тоже процентов на 90 сводится к умению строить абстракции, в этом смысле это близко. Только математика, больше внимания уделяет формализации, пожалуй.
avatar
TT, Да нет, пожалуй Вы не правы:) Логика не менее абстрактная наука, нежели математика:)
avatar
sortarray sortarray, Я рассматриваю математику, как науку о количественных соотношениях, а логику, как науку о законах мышления. Количественные соотношения могут быть произвольными, а законы- нет. Предмет науки более конкретен.
avatar
TT, это скорее арифметика подраздел от всей математики
avatar
nbvehrfr, Дайте ваше определение математики.
avatar
пока ты изучаешь программирование, «вундеркинды» давно его изучат и уже воплотят в жизнь. То есть, уйдут вперед. Имхо, гениальные люди гениальны во всем.
Андрей Макарыч, а вы когда-нибудь думали почему дерево НЕ растет прямолинейным стержнем? одним массивным, как игла…? тогда почему вы НЕ думаете, что любой вундеркинд — это ветка_1 ведущая в совсем иное пространство нежели то, в которое ведете как ветка_2 — вы сами и разные ветви  никогда не пересекаются даже если соприкасаются с собой в некой точке? о_О Вы заложник иллюзии тотального господства «первых»… пространство идей и форм бесконечно — можете не беспокоится… любой может стать ПЕРВЫМ просто из-за существования «инерции» и «узости взглядов»...  — все резко не побегут за вами даже если вы придумаете и начнете воплощать что-то ГЕНИАЛЬНОЕ и не смогут пробиться в то мировоззрение в котором прибываете вы, а мировоззрение  и есть «пространственный объем и доступные для каждого уникальные координаты» — они почти всегда разнятся. «В одну реку не войти дважды», так же как и «две пары рук не создадут один и тот же эталон»
А почему этот пост в алготрейдинге?
avatar
Программист не явился на работу. В конторе переполошились, решили его
проведать. Звонили в дверь, звонили — никто не открывает. Из-за двери
только плеск воды слышен. Решили взломать дверь. Заходят и наблюдают
такую картину: сидит программист в ванне, волос на голове почти не
осталось, но он судорожно намыливает голову шампунем. Читают инструкцию
к шампуню:
1 выдавить небольшое количество шампуня на руку.
2 намыливать 2-5 минуты.
3 смыть водой.
3 повторить
avatar
Ставишь себе задачу в виде алго и/или инфраструктурного элемента и начинаешь писать. По ходу гуглишь текущие задачи. Гуглишь на английском. Реализуешь готовое решение с некоторыми модификациями под себя. Так и учишься. Со временем начинаешь гуглить все более точно) Ну и что-то откладывается в голове. 
avatar
Alex Hurko,… со временем понимаешь, что Гугл херово гуглит в силу твоей «тонкой чувствительности и сверх эффективной методологии поиска»… херишь гугл — пишешь свой МАРТУГЛ… получаешь мего профит — становишься падаваном информации и покоряешь своим знанием мир устанавливая свой сверх эффективный новый порядок… (кстати это не шутка а вполне себе задачка для «мего прогера»)
 читать голую литературу — бесполезно. учиться проще на прикладных задачах. чтобы научиться писать — нужно писать. 
avatar
Блин, когда ты семье время уделяешь, восторг да и только)
avatar
Наверное Тимофей это прочитал:
www.bloomberg.com/graphics/2015-paul-ford-what-is-code/


;)
avatar
Тимофей, я тебе советую прочесть книжку CLR via C#.
Сейчас может еще рано, но если ты собираешься осваивать шарп, это одна из лучших книг. 
avatar
если хочется задействовать абстрактное мышление, то вот то, что нужно — произведение банды четырех и еще
программирование — ремесло. нет там ничего сверхъестественного
кодер сидит и тупо пишет код для того, что нарисовал архитектор
языки меняются, технологии меняются
avatar
и если очень хочется все систематизировать (а хочется, я знаю), то можно изучить такую вещь как UML, которая позволяет описать любую систему в разных аспектах. те же бизнес-процессы можно описывать с помощью UML или ряда подобных языков.
avatar
как вы любите все усложнить — образ мышления, состояние души и т.д. 
это всего лишь инструмент для работы. ничего сверхъестественного в нем нет. любой обладающий iq чуть выше среднего может это дело мало мальски освоить. уж для написания роботов точно хватит. просто нужно старание и терпение.  
В роботостроении даже ООП особо знать не нужно, присвоил переменной одно значение, вычел другое, написал пару функций и т.д. 
avatar
Сам язык учится достаточно быстро, только вот что бы написать что-нибудь стоящее с парой месяцев изучения не получится.
avatar
Подход вцелом разумный, но есть один нюанс. Чтоб продуктивно заниматься каким то делом и прогрессировать в нем, нужно регулярно получать плоды своей работы, доход, иначе процесс превратится в моральную пытку рано или поздно. Такой проблемы лишены, скажем, студенты или школьники, от которых не требуется результат априори, кроме учебного. Для взрослого чяеловека именно поэтому обучение и обучаемость зачастую проблема номер один, поскольку этот процесс совершенно не рентабельный. А для того чтоб зарабатывать программированием как правило знание языка слишком мало, нужно владеть целым веером технологий, опытом и интуицией, быть «в теме». Оптимальный вариант изучения/обучения, это самостоятельно решать свои утилитарные комерческие задачи, которые связанны с программированием. У меня так двое знакомых с нуля стали профессиональными технарями, просто экономили на покупке программистов, или устали объяснять каждый раз ТЗ и сами стали кодить. Наличие устойчивой мотивации, которую не трудно поддерживать решает в этом деле.
avatar
о чем этот пост? да ни о чем.
ООП всегда сложно.
начинать надо с малого. сам же в институте учился-и рядом с тобой ребята сидели, умели программировать и начинали они не с С# а с Perl, Pascal, VB....
Пойми, Тима. Если тебе за 30 -мозг работает немного по-иному чем в 15 или 20 лет...
Начни реально с маленьких шажков — это PHP, Pathon, Perl, HTML, CSS, JS… ВСе это относиться к...Web!
Эта тема тебе знакома. Ты эе занят сайтами, ну долби то с чем ты сталкиваешься каждый день… Представь, что в один день твой программист не вышел на связь, а доверить другому вообще никак сайт встанет?
тут на СЛ тысящу раз постили тезисы, что если ты не знаком досконально с предметом то можешь упустить идеи продвижения своего бизнеса.
твой бизнес роботостроение или сайт? что тебе ближе тем и занимайся...
=========
Все это пишу тебе смотря в зеркало)
Сам начинал как-то изучать C#… Тяжело. Очень тяжело- перешел на PHP-стало легче, а все почему? да все потому, что я на  PHP  каждый день практикуюсь решая свои вопросы, задачи....
вот так и учимся программировать-каждый день по несколько асов пока не сложаться пресловутые 10.000 часов)))
avatar
Тимофей, я бы на твоем месте начал с Питона! Довольно просто, поддерживает все парадигмы и имеет перспективы. С# — это как изучать микроскоп, не имея знаний школьных =)))
avatar
 Еще codeacademy хороший сервис для изучения, лучше нежели по книгам.
avatar

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

....все тэги



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