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

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Можно написать на ЛЮБОМ скриптовом языке и очень быстро.
    perl/php/python/js/bash.
    Главное, чтобы вы умели хоть немного писать.
    Ответ написан
    Комментировать
  • Как обрабатывать поток в реальном времени?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Многопоточность. Один поток ждет ввода с клавиатуры, другой проверяет и подсвечивает синтаксис, третий часики в углу рисует, четвертый на фоне сохраняет текущее во временный файл...
    Ответ написан
    4 комментария
  • Что нужно знать, для поступления на программиста?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Сходите в универ, посмотрите какие вступительные экзамены сдают.
    На факультете в первую очередь будет математика, а JS там может вообще не быть.
    Учитесь пользоваться гуглом и здравым смыслом.
    Ответ написан
    3 комментария
  • Как на Assembler установить совместимость с 64 разрядной системой?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Изучить ассемблер для 64-разрядной платформы, пользоваться инструкциями для 64битой архитектуры, компилировать 64битным масмом
    Ответ написан
    1 комментарий
  • Программа для программирования без знаний языка. Есть ли такая?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Погуглите на тему "визуальное программирование".

    Есть конструкторы простых игр, позволяющих сделать простые вещи мышкой.
    www.codabra.org/online-resourses
    odjiri.narod.ru/download.html

    Просто нужно понимать, что потратив время на такое, вы тратите время именно на эти движки. А их возможности весьма ограничены.
    В основном в них изучаешь банальную логику. То есть действительно лучше подучить редактор старкрафта/варкрафта, написание плагинов под CS - там хоть ближе к реальности.
    В реальном программировании важно учить работу с данными, с реальными библиотеками, движками.
    Ответ написан
    Комментировать
  • Какой сборник задач можете посоветовать по основам программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "Интересует полный, хороший задачник по основам программирования, где задеты всевозможные темы программирования, такие как циклы, массивы, функции и т д?"
    Циклы, массивы и функции - это самая база. Ради этого выпускать отдельный сборник задач - зачем?

    "Много нашёл в интернете задач, но везде либо слишком простые, либо никак не структурованы (ресурсы типа code wars). там вообще почти ни одной задачи на матрицы, зато 100500 задач на объявление переменных."
    Вам нужна матрица? Напишите крестики нолики (матрица 3 на 3) или морской бой, будет вам матрица 10 на 10, или даже две.

    "А я ищу такой сборник, чтобы пускай там будет 1000 задач, но действительно полезных и развивающих мышление программиста,после решения которых с уверенностью можно приступать к углубленному изучению языка и написания личных программ с головы, а не копируя чужой код!"
    Чем плохо копировать чужой код, если вы понимаете что именно вы копируете, и как оно работает?
    Синтаксис самого языка - это очень простая базовая вещь. Потому что углубленное изучение это не язык, а библиотеки, фреймворки, движки - то есть готовый чужой код.

    Поставьте перед собой задачу написать небольшой проект, понятный лично вам. Реализовать уже известную игрушку или программу. В процессе написания, придется использовать и циклы и условия и матрица, вот и научитесь, при этом будете на реальном примере понимать, зачем тут матрица а не набор независимых переменных.
    Ответ написан
    Комментировать
  • Есть ли книжка, или какой другой ресурс, в которой описывается СИ максимально подробно?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    На уровне процессора все работает не на Си, а на машинных кодах, на ассемблере, поэтому если вы хотите нюансы - изучаете ассемблер, а затем изучаете работу компилятора Си, чтобы смотреть как и во что он компилирует ваш код.
    В зависимости от версии компилятора, от платформы, от опций оптимизации компилятора, результат может быть разный.
    Ответ написан
    5 комментариев
  • Когда можно назвать себя программистом(PHP)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Не нужно непосредственно в слово программист вкладыать дополнительные понятия, их можно написать отдельными словами рядом.

    Если ваша основная деятельность - программирование - вы программист.
    Если вы зарабатываете программированием - вы профессиональный программист.
    Если вы пишете качественный код и выпускаете востребованный продукт - вы хороший программист.
    Ответ написан
    3 комментария
  • Можно ли на php создать программу, которая будет связанна с сайтом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    можно.
    Ответ написан
    Комментировать
  • Какую связь имеет эта формула с функциональным программированием?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    вообще никакого.
    Функциональное программирование это парадигма, а не собственно код.
    Ответ написан
    Комментировать
  • Существует ли SVN клиент для Mac, который умеет работать без сертификата на сервере?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А добавить в систему исключение?
    Ответ написан
    3 комментария
  • Что такое call stack?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Когда-то был оператор goto, и программы выглядели так

    10 let a = 5
    20 if a =5 then goto 100
    30 print "Вот и все, ребята"
    40 exit
    
    100 print "Да, наше a = 5"
    110 goto 30


    Мы что-то проверяем, если проверка успешна, вызываем какое-то действие. Затем возвращаемся назад.
    Но такой вариант оказался неудобным, если это какое-то действие нужно вызывать из разных мест, а потом возвращаться именно в эти разные места. Поэтому сейчас используется не goto, а call (вызов), который кладет в стек адрес текущего места выполнения и переходит в подпрограмму. В конце подпрограммы по команде return, он берет из стека адрес и по нему возвращается назад.
    Так как в стек можно положить что-то еще, то можно внутри вызванной подпрограммы вызвать другую подпрограмму, и рекурсивно вызывать столько раз сколько нужно. Потом все call-ы будут красиво закрыты return-ами в обратном порядке.
    main () {
      call program1;
      call program2;
    }
    
    program1 () {
    call program 3;
    return;
    }
    
    program2 () {
    call program3;
    return;
    }
    
    program3 () {
    return;
    }

    В данном варианте у нас работает так:
    1. из основной части main, вызывается program1 (в стек кладется адрес этой)
    2. из вызванного program1 вызывается program3 (в стек добавляется адрес этой команды, там уже две)
    3. из program3 мы возвращаемся, беря последнее значение из стека (возвращаемся в program1)
    4. снова возвращаемся, беря адрес из стека и попадаем в main
    5. тоже самое с вызовом program2-program3-program2-main

    Стек обычно растет сверху вниз, каждая команда return берет самый последний нижний адрес и возвращается по нему, что позволяет создавать множество вложенных вызовов, и рекурсивно с ними работать.
    Но не нужно забывать, что стек не бесконечен. десять или сто вызовов вообще ни о чем на современных компах, но миллион или миллиард, умножить на размер адреса (например 4 байта), может занять мегабайты и гигабайты.
    Ответ написан
    Комментировать
  • Как сделать авто обновление программы c++?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "Как сделать, что при запуске программы, автоматом сравнивались версии без скачивания version.txt, и если версии не совпадают, выскакивает сообщение "Обновите программу, принужденно" при этом не давая дальше пользоваться ней, потом при нажатии на ок, что бы программа сама скачала Launcher.exe, и заменила место той старой, и потом запустилась."

    Добавить на сайт API для вывода актуальной версии в удобном формате.
    Добавить в запуск программы обращение к вашему сайту за новой версией.
    Добавить в запуск программы запрет на дальнейшее использование, если известно что есть новая версия.
    Добавить в программу сообщение "Обновите программу" с кнопкой OK, по которой будет скачиваться и запускаться Launcher.exe, который будет обновлять старую программу и запускать ее.

    Все просто.
    Ответ написан
    Комментировать
  • Как Работает вирус?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Вирус ничем не отличается от любой другой программы.
    Он просто запускается, выполняется, завершается.
    Суть вируса - в его действиях а не принципе работы, а суть действия - постараться скопировать себя куда-нибудь еще, без ведома пользователя, то есть размножаться.

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

    А на чем вирус написан - уже не важно. Внедрение внутрь файла сейчас почти не распространено.
    Ответ написан
    Комментировать
  • Вопрос не актуален. Как продумать свою программу и наконец начать писать код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Можно сказать организации, что вы практикант и студент, который еще учится. И чтобы они не валяли дурака и заказывали серьезный софт у опытных программистов за нормальные деньги, а не за счет студентов писали глючное барахло.
    Ответ написан
    Комментировать
  • Ваше отношение к рекурсии?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Рекурсия - это отличное решение для отдельных задач. Такое же, как использование case вместо if, или использование sql вместо массивов данных.

    Просто используйте их там, где рекурсия работает лучше других решений и все. Есть множество задач, где рекурсия будет best practice.

    Чтоже касается того, что "в каких-то языках это плохо работает", так пока не попробуете - не узнаете.
    Ответ написан
    Комментировать
  • Каковы перспективы программиста МК? Как обстоят дела на рынке Embedded?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    На ассемблере можно изредка написать небольшие вставки, но нужно быть весьма продвинутым специалистом, чтобы написать что-то лучше, чем современные компиляторы.

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

    И напоследок, самое распространенное на текущий момент использование ассемблера - реверс-инженеринг, отладка и взлом.
    Ответ написан
    Комментировать
  • На чем сделать быстро прогу под windows новичку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Напишите на php + jscript
    на php пишете работу с базой данных и вывод строк, на js копирование в буфер
    Ответ написан
    2 комментария
  • Выбор монитора, на что обратить внимание?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    У программиста нет оптимальной диагонали.
    Оптимальная диагональ есть у человека, вне зависимости от его профессии. Программисты программировали и во времена 14" мониторов и во времена 3x24" и на планшетах.

    Обратите внимание на IPS матрицу, а диагональ выбирайте исходя из вашего бюджета. В принципе, удобно два монитора, и 2x22" или 2x24 дюйма часто встречается как стандартное рабочее место в аутсорсе.
    Ответ написан
    4 комментария
  • Как избавиться от привычки усложнять задачу?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    У вас слишком много свободного времени, вот и не знаете куда девать.
    Ответ написан
    Комментировать