LINUX.ORG.RU

Программирование. Самоидентификация.

 ,


6

4

Всем привет,

Прошу внимания и совета :)

Мне 31, пол мужской.
Образование высшее экономическое, склад ума скорее гуманитарный.
Занимаюсь SEO более 7 лет и по ряду причин задумываюсь о переквалификации в управдомы программисты.
С программированием знаком на уровне быдлоскриптования для автоматизации рутинных задач (PHP/Javascript/HTML/Bash/RegEx)

- люблю учиться и разбираться
- люблю осязаемые результаты
- нет проблем с самоорганизацией
- умею работать с литературой / данными любого объема
- спокойно работаю как самостоятельно, так и в команде
- (считаю что) могу разобраться практически в любой нужной мне теме (при наличии справочной информации)
- (как бы это не звучало, но) имеется чувство прекрасного, что позволяет создавать вещи, которые нравятся другим людям (e.g. сайты)
- люблю оптимизировать и оформлять
- интроверт (со всеми вытекающими)

Уже как 3 года убежденный маковод и виндовые продукты / системы уже не воспринимаю

Не люблю жесткую зависимость от чего-л в профессиональном плане (алгоритмы гугла, к примеру)
Надоело быть эникейщиком и хочется серьезного фокуса
Устал от мелкоменеджмента и хочется масштаба
Хочу заниматься коммерческой разработкой

Уважаемое сообщество, 3 вопроса:

1) Стоит ли начинать в таком возрасте?
2) Стоит ли с моим анамнезом вообще рассматривать программирование, как область развития (особенно смущает нематематический склад ума)
3) ПО, Web-разработка (frontend/backend) или iOS-приложения? И, если 1 или 2 вариант, то на какие языки и технологии стоит обратить внимание?

Про начать изучение ЯП с основ алгоритмизации / ООП я в курсе
Споры на тему 'этот язык живее всех живых, а этот - нет' читал и это, разумеется, лишь добавило вопросов
Понимаю, что сегодня программирование сводится к грамотной работе с фреймворками и либами (возможно, я не прав)
Где и какие искать книги и видеоуроки - смогу разобраться самостоятельно
Но в общем и целом, я нуб (хоть и погугливший по теме)

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

Спасибо,

Ответ на: комментарий от Hertz

если курить философию( Экеля еёже и «дизайн и эволюцию С++» Творца) а в качестве текстбука Творцовское же «Программирование. Принципы и практика использования» и всё это заполировать работой С++программером то way

qulinxao ★★☆
()
Ответ на: комментарий от alonso2

уже нет.

можно и с фортранна и кобола, на рынке квалифицированные люди в дефиците.

можно как пререквизит к либо objC либо к C++

правда окажется много лишнего ибо 2 последних многие вещи решают иначе чем pure.

однако если начинать с последних (с любого , особенно с С++) нужно быть акуратным при освоении ибо очень много возможностей подхатить «некультурные» привычки.

qulinxao ★★☆
()
Ответ на: комментарий от umren

только в случае когда языки из одного семейства .

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

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

только в случае когда языки из одного семейства

если посмотреть топ языков, то думаю 90% из одного семейства по популярности сейчас

так что..

umren ★★★★★
()
Ответ на: комментарий от hvatitbanit

New in version 1.1.15 * new feature: the iterative spilling/coloring register allocator ... the previous behaviour can be obtained by instead setting that variable to :greedy... Кого там и куда у тебя добавили?

anonymous
()
Ответ на: комментарий от guest_star

http://lemire.me/blog/archives/2011/06/06/why-i-still-program/

по факту проблема управления разумными исполнителями (привет распределённым системам) до сих пор не имеет оптимального решения поэтому происходит вымывания из программирования в тимлидов и выше , это даже если оставить в стороне «игры в начальника и царя горы характерные для приматов»

тем более как ещё Дейкстра или другой старпёр установили производительность даже хороших(т.е не убыточных для работодателя) программистов отличается до 26 раз - поэтому в программировании либо остаются ... ( ну ты понял).

qulinxao ★★☆
()
Ответ на: комментарий от umren

мы о чём? , т.е о каком слое из пирамиды маслоу уточни ок?

qulinxao ★★☆
()
Ответ на: комментарий от hvatitbanit

Чё, инструкция не получила этот твой «ввод», и жизнь кончилась что ли?

Когда таких ждущих слишком много по reservation stations висит, то исполнение останавливается. Совсем.

Попробуй, запрети компилятору использовать хотя бы один из регистров общего назначения, это очень просто в gcc сделать, увидишь до 20% замедление, запросто.

anonymous
()
Ответ на: комментарий от qulinxao

Ф. Л. Бауэр, Г. Гооз - Информатика. Вводный курс. Часть 1,Часть 2. ( это реально клёвое введение в).

Ого, ну и книга! Я уж привык, что обычно под вывеской «Информатика» скрывается какое-нибудь лютое УГ

mentalmenza
()
Ответ на: комментарий от emulek

программист без математического склада ума

во многом , программирование это вид литературной деятельности.

ибо людей которые сами творят алгоритмы много меньше чем людей которые используют разработанные другими ( включая ознакомление и кодирование).

а для использования «теоремы» нужны совсем другие скилы чем для открытия некоторого утверждения и последующего его доказательства.

qulinxao ★★☆
()
Ответ на: комментарий от emulek

ГСМ не существуют .

существуют дибилы , существуют ленивые, существуют напуганные школьной математикой.

если человек при необходимости не может в математике(т.е не способен научится) этот человек по определению дибил.

те же кто в просторечии «ГСМ» это лица которые либо рационально либо интуитивно понимают , что для них выгоднее «паразитировать» на социуме чем использовать рациональное в управлении «природой(ака мёртвая материя)»

qulinxao ★★☆
()
Ответ на: комментарий от emulek

если же касатся «парадоксов» ото и сто , то лично для меня теория акторов ( в которой в «предисловии» прямо сказано , что она создана во многом на идеях послуживших основаниям для ото/сто) послужила отличным ключом для понимания ото/сто.

ибо в «школьном» курсе в котором и появляются эти недопарадоксы просто напросто некоректное использования «устаревших» представлений. а «устаревшие» представления ведь так удобны на практике , по этому и возникает сложность при преподовании на одном языке(терминов) различных систем мира.

qulinxao ★★☆
()
Ответ на: комментарий от umren

С вы тоже учите перед C++

если курить дизайн и эволюцию то ...

однако понимать сложно составную структуру С++ реально полезно.

как и желание создателей objective-C иметь язык который оперируют низким уровнем(т.е старый С код) как можно реже ибо для абстрагирующего уровня есть [привет_смолток]

qulinxao ★★☆
()
Ответ на: комментарий от anonymous

Не, ну разве ты не дебил? От этого зависит производительность в целом (i.e., сколько времени инструкции будут блокироваться в ожидании ввода).

может сделаешь полезное дело: перепишешь критичные участки какой-нибудь программы? А то дебилы вроде меня эти программы тупым gcc собирают, которые LEA вместо imul пихает... За одно докажешь, что все дебилы, по сравнению с тобой.

emulek
()
Ответ на: комментарий от emulek

А то дебилы вроде меня эти программы тупым gcc собирают, которые LEA вместо imul пихает...

Ты тупой? При чем тут lea vs imul? Разговор вообще-то про переменную на стеке vs. регистр.

anonymous
()

по поводу производительности CL, мне её хватает, не представляю что нужно писать, чтобы это вообще было существенно. К примеру, у меня есть код, который строит треугольники по точкам, раскиданным в 3-мерном пространстве. С пространством размерностью N=200, максимальным периметром треугольника 3 и колв-ом точек 1000000, при инкрементальном добавление точек и перестроении треугольников нет никаких тормозов и лагов, а пространство получается забито треугольниками. Так там ещё и алгоритмы в лоб и всё летает, хотя процессор то под сишечку заточен, как это вообще возможно. Да и на любом прототипе, который писал на CL, а затем переводил на C#/F#, не было заметно разницы. Решают алгоритмы.

pseudo-cat ★★★
()
Ответ на: комментарий от hvatitbanit

Вполне возможно, что это детская игра во времена, когда думали, что вот-вот, и сделают крутой AI.

у меня такое чувство, что так до сих пор думают.

В C код, внезапно, тоже на одних функциях.

я не про прыжки говорил. Я говорил про побочные эффекты. В сишечке запросто функция void foo(void); может делать что угодно, и где угодно. ВНЕЗАПНО: ещё и когда угодно. Т.е. результат может проявится далеко не сразу.

А никто не хочет, просто. Пока имеем только пару неплохих CAS (которые, опять же, пофиг на чём писать). Из менее известных поделий - говновебсервер, и какой-то фреймворк для WEB опять же местного лиспера archimag'а.

ИМХО не может. Желания у местных борщеедов хоть отбавляй...

emulek
()

Обалдеть! Кулиньксяо ( qulinxao) выучил русский язык!!! Да за это надо выпить!!!!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

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

в 8086 что-ли? Дык их ВНЕЗАПНО там и нету. Они все — специальные, и какой не запрети, что-то работать не будет.

увидишь до 20% замедление, запросто.

ты лучше покажи УСКОРЕНИЕ на 20%. А замедление и такой дебил как я умеет. И не на 20%, а на все 220000%. Дурное дело не хитрое.

emulek
()
Ответ на: комментарий от emulek

В сишечке запросто функция void foo(void)

никто не запрещает слепить мод препроцесором который отряхнёт от пыли контракты старика Мейера - и будеш иметь автоматизированую систему гарантирующию....

тока редко когда нужно такое дорогое.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

те же кто в просторечии «ГСМ» это лица которые либо рационально либо интуитивно понимают , что для них выгоднее «паразитировать» на социуме чем использовать рациональное в управлении «природой(ака мёртвая материя)»

ну можно и так сказать. Мне просто лениво формулировать, я же не ГСМ...

emulek
()
Ответ на: комментарий от qulinxao

если же касатся «парадоксов» ото и сто

меня, если честно, мало волнуют «парадоксы» СТО. Они для меня самоочевидны. В их основе лежит очень простая идея: для передачи ЧЕГО УГОДНО нужно время. И это время прямо пропорционально расстоянию. Разве это не очевидно? А для меня дикостью кажется, что если в точке А случилось некое событие, то его следствие ВНЕЗАПНО отразилось в точке B. Такое возможно тогда, и только тогда, когда эти события — сами по себе следствия чего-то, что было в точке C. Как например квантовая запутанность является следствием того, что частицы когда-то давно были запутаны в одной точке. Т.е. никакой причинно-следственной связи между ними и нет напрямую.

Также и некое «глобальное время» для меня является дикостью — время оно и ДОЛЖНО быть разным в разных частях континуума. Иначе оно просто не имеет никакого физического смысла.

ибо в «школьном» курсе в котором и появляются эти недопарадоксы просто напросто некоректное использования «устаревших» представлений. а «устаревшие» представления ведь так удобны на практике , по этому и возникает сложность при преподовании на одном языке(терминов) различных систем мира.

ну не знаю. Я об этих «парадоксах» не в школе узнал, а несколько раньше. Что там в школе говорили я не слушал, мне и так пятёрку нарисовали ☺

emulek
()
Ответ на: комментарий от qulinxao

причины появляются после следствий

у тебя заблуждение об абсолютном времени.

ты немного недопонял меня. «причины появляются после следствия» по часам следствия. А «абсолютное время» не имеет никакого смысла, либо я его по скудоумию не разумею. Что это вообще такое, и как я могу заблуждаться в том, что для меня не имеет смысла?

emulek
()
Ответ на: комментарий от qulinxao

т.е в твоём конусе событие"причина" дальше чем событие"следствие" все го лиш.

ну естественно. Мало того, конуса, где это не так, не существует. И кроме того, не существует такого конуса, в котором расстояние между причиной и следствием делённое на время меньше, чем какая-то фундаментальная константа c, которая зависит исключительно от свойств данного континуума.

emulek
()
Ответ на: комментарий от anonymous

Разговор вообще-то про переменную на стеке vs. регистр.

ну перепиши программы, где gcc пихает что-то в стек... Пихает, я сам видел.

emulek
()
Ответ на: комментарий от pseudo-cat

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

Это возможно потому, что твой sbcl перепиливает критичные внутренние циклы под твой CPU, т.е. ассемблерный код будет аналогичен тому, что даст мой gcc.

и колв-ом точек 1`000`000

самому не смешно? Сколько миллиардов точек в твоей памяти? Т.е. у тебя одна точка занимает столько же, сколько у сишника занимает 1000 точек.

Да и на любом прототипе, который писал на CL, а затем переводил на C#/F#, не было заметно разницы. Решают алгоритмы.

алгоритмы конечно решают. Пузырёк на сишечке всё равно работает с асимптотой O(N²). Но это только на этапе прототипов. А вот IRL выясняется, что пузырёк на сишечке хоть и O(N²), но константа пропорциональности в 1000 раз меньше... IRL это нам указывает на то, что грамотно выбирая N, можно добиться *любого* наперёд заданного результата.

На практике получается так, что программа на сишечке с плохим алгоритмом работает лучше лиспа при больших N, а при ОЧЕНЬ больших N программа на LISP'е таки выигрывает из-за асимптоты. IRL такая ерунда наблюдается только на простых алгоритмах(вроде сортировок), на сложных картина иная: во первых ОЧЕНЬ большое N компьютер может попросту не осилить, а во вторых — программист может не осилить грамотный кодинг на том ЯП, который ему не нравится.

emulek
()
Ответ на: комментарий от qulinxao

АИ создали уже.

приветствую тебя, посланец неведомых миров!

А с какой звезды ты к нам прилетел?

emulek
()

Мои два цента:

1) Встречный вопрос: твой 10-летний опыт на.. никому не нужен или я что-то не догнал? И был ли опыт?

2) Можно тратить на это время параллельно, как хождение на курсов английского.

3) Веб понятие широкое. В чистом виде (frontend) это не программирование, а кодинг. Бери Objective C для XCode и дальше по вкусу: iOS/Mac OS. Разработка для мобил окажется легче, т.к. можно опустить часть с ассемблером. Последний рано или поздно придется изучить.

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

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: комментарий от qulinxao

ибо сингулярность не остановить.

у нас на Земле трезвомыслящие люди придерживаются прямо противоположной т.з.: мы полагаем, что энтропия растёт, и всё сущее движется в прямо противоположном направлении: ОТ сингулярности К полному хаосу.

emulek
()
Ответ на: комментарий от qulinxao

никто не запрещает слепить мод препроцесором

я препроцессором могу и ФП слепить на чистой сишке. Толку-то с подобного извращения?

emulek
()
Ответ на: комментарий от emulek

Что там в школе говорили я не слушал

Ну и зря - вот дураком и вырос.

anonymous
()
Ответ на: комментарий от gh0stwizard

Да почему же? Я люблю трудиться и в процессе решения своих повседневных задач ценю и стараюсь понять каждый шаг. С чего вы взяли, что я хочу всего и сразу и без хлеба и вчера? )

alonso2
() автор топика

Чё-то мне тема тс напомнила шутку про

Парализованный мальчик встал и вышел на презентации ie9.

Он хоть читает весь дискасс? :)

menangen ★★★★★
()

Начинать или не начинать - тебе уверенности не хватает? В чем ты хочешь быть уверен? Всё зависит от тебя. У меня девушка в 26 лет начала только заниматься программированием на питон. Сейчас ей 27, она знает html css js python wordpress с пхп, и зарабатывает себе этим на англоязычной бирже программистов. По образованию она - медик. Если она смогла - ты сможешь? Она каждый день учит инглиш, это не так просто как кажется, приходится много работать над собой. Работа программистом это зачастую скучно и т.п., нужно уметь бороться с ленью и прочим, здесь нет халявы, иногда приходится работать по 10-12 часов. Ты этого хочешь? :-)

menangen ★★★★★
()
Ответ на: комментарий от emulek

у нас на Земле трезвомыслящие люди придерживаются прямо противоположной т.з.: мы полагаем, что энтропия растёт, и всё сущее движется в прямо противоположном направлении: ОТ сингулярности К полному хаосу.

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

anonymous
()
Ответ на: комментарий от alonso2

а это можно выучить за 21 день? )

Высшее экономическое образование предусматривает расчетную базу с применением электронных таблиц. Соответственно написание простейших макросов не должно вызывать нерешаемые проблемы, если это не так, то учиться еще более необходимо, причем срочно.

Вам наверное нужен толковый наставник - так проще будет освоить за 21 день. Хороший спец натаскает Вам и теорию и практику с настройкой среды. Хотя можно конечно и самому... Начните с простых вещей и классики...

swwwfactory ★★
()
Ответ на: комментарий от alonso2

И почему чистый вид веба есть фронтэнд?

Потому что так считается. Это долго объяснять :) В любом случае в 95% случаев это кодинг: берем фреймворк и фигачим, что нам сказали получить на выходе. Никаких изобретений. Никаких велосипедов. Любой известный фрейворк, а дальше дело техники.

В настоящий момент, что под iOS, что под ПК ПО придется связывать с вебом. Почти всегда. Так что, не переживай. Всем придется заниматься. И под ПК писать, и под веб, и под мобилки. Познаешь фронтенды и бекенды. Рано или поздно. Нахлебаешься еще :)

Вот ты пишешь, что хочешь масштаба. В твоем понимании это что? Типа мегакрутая программулина известная на весь мир? Или команда из 100 человек? Или 100500 строк кода? :) Это к тому, что если ты посмотришь вокруг, то взлеты бывают только у перекаченных финансами проектов. Гугель, лицокнига, тот же яндекс - накаченные деньгами проекты. Так что масштаб это когда в тебя влили миллиарды денег. А чтобы кто-то влил в тебя денег нужна идея соответствующего масштаба. Она у тебя есть?

Теперь посмотри вокруг на остальных программистов. Из крупных остались только старики. Такие как Adobe. Из мира опен сорс тоже самое. Новое изобретается раз в 5 лет, если не в 10. Рынок ПО очень насыщен. И чтобы прорваться нужны уникальные полезные идеи. Большинство уже расхватали.

Вот в твоей сфере, наверняка, 100500 готовых отличных утилит для SEO. Как твои знания и знания программиста помогут тебе поднятся выше?

Чисто для размышлений.

gh0stwizard ★★★★★
()
Ответ на: комментарий от emulek

самому не смешно? Сколько миллиардов точек в твоей памяти? Т.е. у тебя одна точка занимает столько же, сколько у сишника занимает 1000 точек.

в CL есть возможность явно указать тип значения. Сделав это, моё множество точек будет занимать примерно столько же места в памяти как в сишечке, где изначально нет возможности не указывать тип.

В этом примере происходит много неоптимизированных вычислений, лисп работает, С тоже будет работать и единственная разница, которую лично я вижу - в С я изначально должен продумать тип данных для точек и не могу использовать списки, потому что на С просто нет такой возможности:) Примерно так? - программа на С будет быстрее, потому что у вас нет возможности пользоваться высокоуровневыми типами данных. Ну так никто не мешает в CL юзать массивы вместо списков, ну так их всё равно в CL больше видов и они более «умные», но _можно выбрать_ такой же элементарный как в С. А вот если я в сишечке захочу использовать фичи CL, к примеру, оперировать со сколько угодно(ну почти) числом, или там extended массивом, то меня ждёт оверхед на реализацию таких типов, вместо того чтобы просто взять и пользоваться, в нужных местах оптимизируя как в сишечке!

pseudo-cat ★★★
()
Ответ на: комментарий от gh0stwizard

Насчет 100500 утилит для SEO - 99% было тупым, кривым и нерабочим шлаком, что и сподвигло самому создавать нужные проги
Насчет масштаба - я имел ввиду знания и скиллы, которые помогут реализовывать широкий спектр идей. Например, у меня есть пару мыслей и в области онлайн-сервисов (как инстаграм, тока круче (с) :))) и прилаг, но не хватает знаний. Именно поэтому я хочу выйти на новый уровень.

alonso2
() автор топика
Ответ на: комментарий от guest_star

Если у тебя есть идеи, то найти программистов под их реализацую будет куда эффективнее.

Вот интересно, а ты сам выступал в роли «ищущего програмстов» ? У меня вот опыт строго обратный. Найти для реализации идеи очень сложно. возможно только для очень очень хорошо описаных операций и то как повезет.

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.