• Теория алгоритмов. С чего начать и какой язык выбрать?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Теория алгоритмов работает и вовсе с абстрактными машинами Поста и Тьюринга, ЯП для нее не нужен.

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

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

    Написание кода на C и C++ предъявляет больше требований к программисту и качеству его работы, заставляет учитывать больше мелочей и больше дисциплинирует. В этом смысле, такие языки лучше подходят в качестве учебных.
    Ответ написан
    Комментировать
  • Куда пойти учиться?

    barmaley_exe
    @barmaley_exe
    СПбАУ, СПбГУ, ИТМО.

    Идти надо туда, где много прикладной математики (алгебра, мат. анализ, дискретная математика, теория вероятностей и мат. статистика, теория оптимизации и пр.) и компьютерных наук (алгоритмы, мат. логика, etc)
    Ответ написан
    1 комментарий
  • Куда пойти учиться?

    @kstyle
    Здравствуйте. Берите книги по математике и алгоритмам - и вперед решать/читать/программировать. А эти все красивые слова "хотелось бы работать в сфере, связанной с искусственным интеллектом" - просто слова. Вы даже не понимаете, что за ними стоит. Плюс гарантия, что завтра вам понравится железо, послезавтра - 3D графика, а посмотрите "Терминатора" - захотите в робототехнику окунуться. То есть ваши желания как ветер в таком возрасте - я бы не обращал на них внимание. Уверен, потому что если бы вы понимали что такое работать с ИИ - то давно бы знали куда поступать.
    Ответ написан
    1 комментарий
  • Так ли хорош Python в сравнении с R для data mining?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Любой специализированный инструмент (язык) или их связка хорош настолько, насколько хорош специалист, который их использует, ну и естественно насколько хороша его теоретическая подготовка по дата-мининиг, математике, статистике.
    Иногда, даже извратившись, можно сложнейшую алгоритмически-статистическую задачу, которая влечет анализ данных, можно решить на совершенно не предназначенном для этого языке.
    Что касаемо именно пайтона и языка R, оба хороши, серьезно - оба. Единственное для пайтона нужно доставлять дополнительные библиотеки и модули. НО! Каждая аналитическая и алгоритмически-статистическая задача тоже имеет свою специфику, привязку к той или иной технологии, теории - и тут уже в этом случае как раз приходится придумывать, какой именно язык применить - PYTHON или R, а может быть и оба их вместе, а может еще и подключить STATISTICA или еще чего, даже обычный MathLAB или Ecxel может оказать неоценимую помощь. Задачу, особенно сложную, всегда нужно решать комплексно! Тогда успех гарантирован с вероятности близкой к единице!
    Ответ написан
    1 комментарий
  • Рискованно ли работать во фрилансе под настоящими именем, если не платишь налогов?

    opium
    @opium
    Просто люблю качественно работать
    Нужно работать на зарубежном фрилансе типо одеск или еланс
    pumainthailand.com/otvechayu-na-voprosy-o-rabote-n...
    Ответ написан
    Комментировать
  • В какую область переквалифицироваться программисту?

    Везде хорошо, где нас нет.
    Мое субъективное мнение - вы неправильно смотрите на вещи.

    1. "профессионалов в сфере IT значительно выше чем в других секторах"
    Неправда. Вы наверняка просто по большей части вращаетесь в этой тусовке и не видите какой треш и угар творится в других областях, из-за чего создается иллюзия того, что ИТишников на свете больше всех, а профессионалов среди них еще больше, а все встречающиеся бухгалтера, банкиры, строители живут припеваючи.

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

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

    Я говорю не о какой-то наигранной цели, от которой вы при первых сложностях готовы будете отказаться, а о том, что для вас действительно ценно.
    Ответ написан
    7 комментариев
  • Что можно использовать для научных вычислений и визуализации?

    Python + SymPy + NumPy + Matplotlib
    Ответ написан
    Комментировать
  • Как из математика адаптироваться-переквалифицироваться в программиста?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Боюсь, что будет очень трудно. Все эти юнит-тесты, соблюдение стилей программирования, документация, системы поддержки версий через какое-то время заставят забыть, что ты математик. Я сейчас стараюсь держаться от них подальше: попал на такое место, где нужен именно математик-алгоритмист, и, хотя пишу много кода, программистом себя считать не могу. Это опасное положение: если придётся менять работу, будет трудно найти что-нибудь подобное.
    Так что чтобы переквалифицироваться в программиста, надо изучать современное программирование с нуля. А чтобы научиться придумывать и реализовывать алгоритмы - брать книжку по алгоритмам, и разбирать и писать их все подряд. Через какое-то время придумать себе задачу с околоматематической формулировкой, попытаться её решить (пример: построить все неэквивалентые триангуляции многообразий - с краем и без, содержащие данное число треугольников). Потом другую задачу, и т. д.
    Ответ написан
    Комментировать
  • Как продать успешный стартап IT-гигантам (Yandex, Google, etc.)?

    cissav
    @cissav
    Руководитель Omnidesk.ru
    На Западе любят говорить так: "Try to build a company you would never sell."

    Вам нужно изменить подход. Если у вас установка на продажу, то автоматически идет упор на "срубить бабло", а это чувствуется во всем, и ваш проект лучше от этого не становится. Вы должны заниматься проектом от души. Иначе никто никаких предложений вам делать не будет :)
    Ответ написан
    4 комментария
  • Фриланс и реально серьезные проекты - насколько это совместимо?

    @AlexP11223
    Фриланс != удаленная работа.
    Можно фрилансить не удаленно, можно работать фулл тайм удаленно.

    Не знаю насчет крупных проектов на фрилансе, но удаленную фулл тайм работу найти вполне можно, на одеске, например, есть отдельная категория для таких объявлений.
    Ответ написан
    Комментировать
  • Как подступится к генетическим алгоритмам, нейронным сетям, началам ИИ в общем к этой области

    @vasiliev
    Я вопринимаю генетические алгоритмы именно как способ оптимизации.

    Для моделирования эволюции я бы посмотрел на какие-то решения в области имитационного моделирования, например Beagle
    Ответ написан
    3 комментария
  • Как выучить алгоритмы?

    Попробуйте начать с реализации различных алгоритмов сортировки: пузырьковая, вставками, слиянием, быстрая и т.д. В общем, это та часть алгоритмов, которые наиболее популярно используются. Можно также попробовать реализовать различные численные методы - Ньютона, хорд, и т.д.
    Ответ написан
    Комментировать
  • Как в игре "Жизнь" определить предыдущее состояние клеток по текущему? (Одномерное поле)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Обозначим текущее состояние как C[1..N], предыдущее как P[1..N], С[0] = P[0] = C[N+1] = P[N+1] = 0 - клетки за пределами поля.
    На текущем шаге клетка жива тогда и только тогда, когда на предыдущем шаге у неё был ровно один сосед, то есть C[i] = P[i-1] xor P[i+1] => P[i+1] = C[i] xor P[i-1].
    1. P[0] = 0, C[1] известна => P[2] = P[0] xor C[1]. Теперь, зная P[2] можно найти P[4] = P[2] xor C[3] или в общем случае:
    для i от 1 до N с шагом 2
        P[i+1] = P[i-1] xor C[i];
    Получили все предыдущие значения чётных ячеек.

    2a. Для чётных N обратным ходом можно восстановить нечётные ячейки:
    для i от N до 1 с шагом -2
        P[i-1] = P[i+1] xor C[i];

    2b. Для нечётных N однозначного решения нет. В зависимости от значения P[1] будет получен один из двух вариантов решения:
    P[1] = 0; // или 1
    для i от 2 до N с шагом 2
        P[i+1] = P[i-1] xor C[i];
    Ответ написан
    7 комментариев
  • Какие могут быть практические рекомендации по переезду разработчика на постоянную работу из региона в Москву?

    @OneArt
    Senior PHP developer
    делаем резюме, размещаем на сайтах типа hh / job.ru
    Посылаем резюме по разным вакансиям
    Смотрим как реагируют, если активно и зовут на собеседования, значит все гуд
    Покупаем билет, летим/едем в Москву.
    Поселяемся лучше в хостеле для начала, или если уверенность и финансы есть, сразу арендуем квартиру, но лучше все таки дождаться работы, тогда не придется 2 часа ездить в офис
    Устраиваемся, работаем живем пару лет, понимаем насколько Москва ужасна, переходим на фриланс уезжаем, радуемся жизни)

    ЗЫ основано на личном опыте
    Ответ написан
    6 комментариев
  • Работа для прикладного математика

    @business-gl
    Не знаю про Украину, но почти везде требуются качественные математики в той или иной мере, но большинство об этом просто не задумывается даже из предпринимателей (не крупных, да и крупные иного посредственно варятся в своей кухне). Вообще куда не посмотри математика дает какие-то свои преференции и бонусы при использовании.
    По поводу работы, лично мое мнение, что если не горит, то стоит повременить и взяться за основательное написание диплома+публикации, делать задел на основательную базу, можно по вращаться на тематических форумах и создать пару аудио или скринкастов по типу "занимательная математика и ее прикладное использование с точки зрения с студента в различных областях", если подойти серьезно, то это также может дать сильные толчки к развитию.
    Также помните о репутации, она важна не меньше, а зачастую больше многого другого. С учетом наличия интернета, соц. сетей итд -> работодатель скорее даст работу честному, хоть и не лучшему, чем выпивохе, весельчаку или скандалисту.
    Также можно взять подработку удаленно, главное правильно подойти к вопросу и выгодно себя преподнести.

    Главной перспективой мне представляется возможность стать хорошим аналитиком, не важно социальным, политическим или научным.

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

    В общем работы много, и научится можно многому, стоит искать баланс не останавливаться и выбрать точилку. Ответ с точки зрения, что стоит знать кроме своей области? - в этом ответе я писал о некоторых вещах которые могут очень пригодиться.

    PS Зачем ехать в США? Насколько помню в Киеве есть представительства или совместные предприятия у некоторых компаний (точно помню только про МайкроСофт, так как они что-то там открывали, когда я отдыхал в Мариуполе). Тут скорее вопрос перспектив, собственных ожиданий, желаний и надежд.
    Ответ написан
    1 комментарий
  • Где искать работу программисту?

    rizhenkov
    @rizhenkov
    Веб-программист
    Такое впечатление, что вы сейчас находитесь в каком-то своём уютном мирке и там сами себе придумываете проблемы и пытаетесь их решить.
    Давайте вы ещё 2 годика поработаете, а там может вопрос и сам отпадёт.

    P.s. А если будете нормальным специалистом, HR-ы сами вас найдут.
    Ответ написан
    Комментировать
  • Где еще кроме веба используется Python?

    Zubchick
    @Zubchick
    У питона множество хороших библиотек для обработки данных, машинного обучения, линейной алгебры и прочего science. Вакансий на такие дела на хабре наверно не найти, но вообще это довольно популярная тема для питона.
    Ответ написан
    1 комментарий
  • Python для микроконтроллеров?

    Ten
    @Ten

    От Python там останется только синтаксис, а синтаксис для МК - не главное.
    Чего только люди не придумают, чтобы на C не писать :)

    Ответ написан
    2 комментария