Ответы пользователя по тегу Программирование
  • Как научиться программировать на Delphi?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Привет! Почему взяли Delphi?
    Да, согласен, лет 10 назад - это было хорошим вариантом для обучения, паскаль, дельфи....
    Но сейчас - для обучения программирования и более того для перспектив, что более ценно порекомендовать лучше изучение с азов даже это Python, JS, C, C++, Java,....
    Хотя бы брать те языки, которые наиболее востребованы и привычны. Изучение их не осложнит ваш процесс, нисколько не сложнее того же дельфи, зато перспективнее и лучше на будущее.
    Точнее сказать актуальнее на ближайшее время - и пусть базу набъете и просто научитесь программировать. Главное понять смысл и научиться думать с точки зрения программ....
    Ответ написан
  • Какой материал для изучения алгоритмов вы можете порекомендовать?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    кроме алгоритмов для решения задач изучайте ТРИЗ
    Ответ написан
    Комментировать
  • Какой список литературы для структурированного изучения программирования?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Когда учился в ВУЗе, задавался вопросом, почему нас учат именно так. Общался с преподавателями, смотрел программы обучения что дают в других ВУЗах, что давали раньше в СССР, когда учились студентами наши же преподаватели. Все же сделал такой вывод: программирование следовало начинать учить с паскаля, и на основе этого языка применять все знания информатики, булевой алгебры, алгоритмов, дискретной математики, анализа, теории вероятностей, которые в свою очередь должны быть уже изучены до программирования естественно. Всегда был холиварным вопрос - с какого языка учить программирования - СИ или ПАСКАЛЬ. Всегда были мнения и за и против того и другого.
    Судя по вашему вопросу, раз вы уже знакомы с Delphi, и тем более с PHP, то никакого труда вам не составить изучать Си. Раз хотите себя развивать для геймдева, то Си хороший выбор. Начните просто с Си, повторив все основы математики и алгоритмов. Попрактиковавшись в программировании, познав структуры программ и алгоритмы, можете пересаживаться на ООП, а там уж как раз и C++, C#, может быть и Java. Но для ООП-языков нужно хорошо изучить базу и концепцию ООП, почитать книги таких авторов как Буч, Бадд, Шлеер, Меллор... Ну и для прокачки именно в гейм разработке изучайте все побочные технологии и науки, которые могут использоваться вами: операционные системы, сети, графика, моделирование, визуализация, математические методы и прочее.
    Для практики можете в самом начале своего пути развития придумать идею, к примеру реализовать такую то игрушку, пусть даже простой тетрис или крестики-нолики. Ну и по мере развития прокачивайтесь и модифицируйте ее, совершенствуйте, придумывайте стратегии, ботов, интерфейс, фантазируйте над концепцией. Перед вами будут постоянно возникать различные вопросы и трудности - ответы на них уже гуглите, ищите в книгах, применяйте способы решения, тестируйте. Тем самым как раз практически и научитесь. Главное чтобы было большое желание, ну и проект был интересен для вас. А потом постепенно можно уже подключиться к какому-нибудь опенсоурс-проекту или пойти работать на малую ставку в игровую студию, даже стажером и перенимать опыт от профи-разработчиков, общаться с ними, учиться, опять учиться. Только тогда и станете профессионалом.
    Ответ написан
    Комментировать
  • Как организовать работу удаленных программистов?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    # Возможно ли найти ответственных и самостоятельных людей?
    Если человек будет заинтересован в работе, ответственно отнесется к своим обязанностям, то без проблем будет работать даже удаленно. Многие знакомые работают именно так (программисты, верстальщики).

    # Каким образом следует контролировать сотрудников? Если ли смысл использовать тайм-трекеры на ПК работников?
    Лучше контролировать по выполнению и качеству выполнения определенной части проекта. Вместо тайм-трекеров лучше использовать баг-трекеры и системы контроля версий, чтобы люди не важно где находясь могли вести распределенную разработку. Ну средства связи - это само собой.

    # Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?
    Это уж как договоритесь. Как согласиться исполнитель работ. Но более оптимальным наверное будет фиксированная оплата или оплата по задачам.

    # Где находить соискателей? Фриланс сайты / доски объявлений (hh.ru и т.п.)?
    Фриланс-сайты, социальные сети, да любые сервисы объявлений, будь-то даже авито.ру...

    # Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?
    Это уже зависит от компетенций программиста, сложности выполняемых им задач, времени выполнения, качества кода, объем доработок, количество ошибок в коде, возможность использования кода другими программистами...
    Ответ написан
    Комментировать
  • Как вы храните закладки на страницы скриптов, статей, программ и прочих интересностей?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    в большей части пользуюсь мозилой, закладок накопилось тысячи. сначала раскидывал по папкам.
    но часто бывает что забываешь название папки и создаешь другую...
    накопилось куча.
    для оптимизации и всей структуризации - нашел дополнение - total bookmarks.
    создал вручную новую структуру каталогов и раскидал все по папочкам.
    почему не автоматом, чтобы самому помнить и ассоциировать ссылки с папками - использование ускоряется, сразу знаю что где лежит.
    также хорошо бы предусмотреть систему тегирования, так как некоторые ссылки бывают перехлестываются и могут идти в несколько каталогов. но для этого нужен более мощный инструмент.
    Ответ написан
    Комментировать
  • Что написать на C++ для тренировки?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    скачиваешь любую книгу "100 задач для программиста" - и делаешь подряд все задачи. тестируешь и пробуешь различные алгоритмы. вам нужно практиковаться не только в самом языке, но и оттачивать алгоритмические навыки и математику в совокупностью с языком программирования.
    также как пример: парсер, любая рекурсивная задачка, какая-нибудь простенькая игра (текстовая, робот какой, тетрис, крестики нолики и прочее), создание какого-нибудь бота...
    Главное для оттачивания еще навыков - чтобы процесс был интересен, чтобы вас он увлек, и тогда каждая трудность будет провоцировать на поиск ее решения (гугл, тостер, интернет...) и опробование этого решения на практике и так шаг за шагом. Кроме маленьких задачек полезно участвовать в более крупных проектах (для вашего уровня - относительно крупных, вы не пугайтесь): даже тот же самый простой парсер можно накручивать и совершенствовать все вновь и вновь добавляя новые функции, который может быть потом превратиться в автоматического интеллектуального робота на основе нейронных сетей и эвристических анализатор-кодов...
    Ответ написан
    Комментировать
  • Системный vs Прикладной программист?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Для вас как для студента второго курса нужно поставить цель закончить ВУЗ, постигнуть все базовые науки что вам дадут, максимально самостоятельно изучить что вам больше нравиться по душе.
    Все равно, что вы пройдете и постигнете за оставшееся время, когда-то да и пригодиться. Хоть математика, хоть физика, хоть логика. Да, в некоторых областях IT что-то не требуется. Но вы должны выйти из ВУЗа универсальным специалистом для работы в любой высокотехнологичной сфере, а главное вы должны уметь учиться. Так как если вы решили связать себя с компьютеризацией, то учиться вам придется всегда, прогресс неумолим. Да и даже не только IT, сейчас и маркетинг и менеджмент, все переплетается с вебом и IT.
    Станете хорошим специалистом, будете любить свою работу, работа станем вашим хобби - тогда у вас будет самая хорошая зарплата, которой вы будете довольны, вас будут ценить и работодатели будут вас растаскивать на части, лишь бы вы пошли к ним...
    А на счет тех областей что вы назвали - системщики или прикладники - все пользуется спросом. В нашем мире технологий все нужно. Учась в ВУЗе освойте все, что вы не сможете освоить за его стенами, все фундаментальные науки. Пробуйте, участвуйте в различных проектах, где будет интереснее, вы сами поймете и вас затянет именно в ту область, где будет именно вам комфортнее, системное программирование, прикладное, безопасность, веб, прочее... Полюбите то чем вы хотите заниматься, почувствуйте! И нет ничего плохого в том, что если вам нравиться и то и другое. Да, супер профи во всех областях стать нельзя, просто времени не хватит, но быть на очень хорошем уровне развития своих навыков в этих сферах - реально. И знания в одном направлении будут помогать и в другом, в котором вы работаете. Ведь в мире высоких технологий все взаимосвязано, даже в веб-технологиях мелькают нули и единицы, true и false...
    Ответ написан
    2 комментария
  • Какой поисковый алгоритм используют поисковые системы?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Алгоритмы поисковых систем и поисковых роботов - это типа комерческая тайна, этого знать невозможно, это магия)))) если только вы не будете работать разработчиком этих систем в яндексе или гугле. Вообще чтобы осознать принцип поиска - достаточную информацию дают многие книги по основам продвижения , где есть базовая информация по поисковым роботам и принципам...
    Ответ написан
  • Не избыточны ли коментарии?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    вполне нормальные комментарии
    Ответ написан
    Комментировать
  • Какой язык программирования пригоден для создания роботов(материальных)?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Для робототехники как в любительском плане, так и в профессиональном широко используются Python (все библитеки, приблуды его с биг-дата, машин-ленинг, машинное зрение и прочее и прочее, оснастка с Cython и др), языки семейства Си (сам чистый си - хорош для протоколов, интерфейсов взаимодействия с железом, драйверами), си++, С#, также много паттернов и библиотек для прикладного программирования). Что плюсом - не важна платформа робота, операционная среда выполнения, вплоть до ее полного отсутствия, в этом случае - си-под встраиваемые системы, типа ARM, MCS51-микроконтроллеры и прочее и прочее...
    На ассемблерах делать будет трудоемко, ну и обучаться также. Так что лучше использовать языки более выского уровня. Не тяготеет также и Java, вполне много оснастки и под нее. Это массово. Языки популярны, а значит информации по ним можно найти кучу. В том числе для роботов!
    Ответ написан
  • С чего начинать изучение Си?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Лучше начать с чистого Си, потом прокачавшись погружаться в ООП и Си++, Си#.
    Книг куча.
    Просто берешь и пробуешь, программируешь, ищешь ошибки, исправляешь, дальше кодишь.
    На начальном этапе обратить внимание на структуры данных и алгоритмы, математику, дискретную математику. По этим темам тоже куча книг. Прям так и гуглишь, будет много полезного в результатах поиска.
    Постепенно наворачиваешь и усложняешь себе задания, пробуешь. Пытаешься использовать шаблоны, библиотеки, паттерны, смотришь чужой код, учишься его читать и брать для своих примеров.
    После минимального опыта хорошо поучаствовать в бесплатном проекте каком-нибудь, пусть на гитхабе в каком-то сообществе. Или самому с друзьями замутить проект на том или ином языке.
    Проект не для того чтобы заработать денег, а для того чтобы учиться и повышать свой уровень.
    В соцсетях много групп, где организуется совместная разработка, организуются новички.
    В качестве книг - гуглите по каждой теме КЛАССИКУ. Самое то! От Кернигана и Ритчи, до Буча и Шилдта....
    Ответ написан
    Комментировать
  • Какую версию Python изучать в конце 2015 года?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Версии 2 и 3. Второй префикс не особо важен, на сайте пайтона можно посмотреть фиксы по каждой версии. К примеру версии 2.7 и 3.2 встречались часто очень в примерах. Некоторые функции в 3 версии изменены и переработаны. Поэтому актуальнее 3 версию, но многие проекты до сих пор ведутся на 2 версии. Слишком большой разницы между ними нет. Главное принцип языка.
    Ответ написан
    Комментировать
  • Как происходит "соединение" языков при создании игры?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    бизнес-логика
    протоколы взаимодействия
    интерфейсы
    структуры данных
    Ответ написан
    Комментировать
  • Хорошие книги по Computer Science?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    если вы изучаете конкретно си, то пытайтесь понять сам язык, концепции, структуры данных, алгоритмы, программируйте, программируйте, программируйте.
    но вообще, кроме языка программирования, на начальных курсах должна быть дисципплина типа "организация эвм" или что-то подобное, там вам должны дать основы построения машин, электронных машин...
    если такого нет, то пичалька, обратитесь к завкафу, если же есть, то ходите на лекции и вникайте в суть истории развития вычислительной техники. дальше - больше, процессы, их архитектура и все такое...
    как почитать на ночь - можете взять классику - танненбаум (архитектура компьютера, их уже несколько переизданий). написано все просто, поймет даже школьник.
    Ответ написан
    Комментировать
  • Что делает программиста программистом?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    программиста делает программистом вектор его мышления и умения мыслить в нужном направлении!
    Ответ написан
    1 комментарий
  • Научиться парсингу - с чего начать?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    парсить можно на чем угодно. встречал много примеров на пайтоне. а так вообще подойдет на самом деле любой язык программирования, все зависит от удобства и адаптации... как правило выгоднее использовать интерпретируемые языки программирования и скриптовые
    Ответ написан
    Комментировать
  • Как лучше построить изучение программирования?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Нужны хорошие наставники, ну или хотя бы группа профессионалов-коллег, которые постоянно подсказывают и указывают на ошибки. Вместе работать над рядом проектов. Также для познания читать чужие коды с гитхаба и блогов различных программистов, читать форумы (хотя бы стековерфлоу и т.п., англоязычные лучше). Изучать стандарты программирования, стили программирования, стараться правильно писать комментарии, вести правильно ветку проекта.
    Ну и много опыта и практики, плюс работа над ошибками - будет результат. Ведь можно сказать, что кто не совершает ошибок - тот либо суперкрут (это пока что не к вам), либо ничего не делает.
    Так что учиться, стараться, ошибаться, понимать где ошибаешься, учиться еще раз, практиковаться и постоянно самосовершенствоваться. Очень плюсом будет участие в различных хакатонах, конференциях, дискуссиях, мероприятиях кодо-хаккеров и людей из ит-индустрии
    Ответ написан
    Комментировать
  • Как стать фрилансером с нуля?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    примерный алгоритм:
    вбиваете в поисковик: удаленная работа\фриланс\вакансии\проекты
    по самым массовым смотрите перечень ключевых навыков, необходимых языков программирования
    изучаете эти навыки, изучаете основы и базу, теорию, математику, алгоритмы, дизайн
    все подытоживаете
    делаете много примеров для себя, для портфолио, для практики
    пытаетесь брать проекты, начинаете зарабатывать
    держите марку, держите качество
    зарабатывайте, много денег
    отдыхаете на островах и тратите деньги
    Ответ написан
    Комментировать
  • Зачем нужно знать машинный код?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Машинный код, мнемоники, адреса - все это вам пригодиться, если по роду своей деятельности вы будете работать в области системного программирования, программирования устройств, криптографии изредка, защиты информации. Если же вы в большинстве случаев штатный сисадмин, прикладной программист, офисный работник или студент - то вам этого особо удовольствия не доставит, да и пользы никакой не будет. Ну если только для собственного поднятия настроения и удовлетворения своих знаний. Если вы настоящий хакер из секретной группировки, вскрывающий пентагоны за чемоданы денег, то без нулей и единиц там никуда... Хотя в этом случае вы бы не задавали такой вопрос, да и вообще не сидели бы на таком сайте :)
    Ответ написан
    Комментировать
  • На чем писать программы под Linux?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Разработка на C\C++ используя gcc-компилятор дает возможность использовать приложения и в nix и в win системах, за исключением минимальных доработок.
    Python-интерпретатор (по-умолчанию идет во многих nix-системах), а в WIN-системах установленный поверх - дают возможность писать код где угодно и использовать его фактически без ограничений.
    Вообще говоря, отвечая на вопрос "можно ли писать программы для Linux под Windows" - можно ответить смело - можно, притом писать можно на любом языке: открываете блокнот в Windows, пишете код, компилируете этот файл уже в Linux, перебросив его туда, в соответствующей кодовой странице (кодировке).

    p.s. Ну и shell (bash априори) никто не отменял, в linux мощное средство!
    Ответ написан