Примерно как сравнивать суп и борщ. Борщ является реализацией супа, но суп - это не всегда борщ.
Программа всегда реализует некоторый алгоритм. Реализованный алгоритм - это то, что исполнилось (исполняется) - например вашим компьютером.
В общем случае, алгоритм можно реализовать и без программы. Например, школьники решают уравнения типа a * x^2 + bx + c = 0, при этом исопльзуют алгоритм (вычисляют дискриминант и т.д.). Однако, можно по этому алгоритму и программу написать - это будет просто другая реализация.
Короче, программа - это то, что можно выполнить на ЭВМ, а алгоритм - это просто последовательность действий, которую можно либо записать в виде программы, либо выполнить руками.
Рецепт супа - это тоже алгоритм. Записать его в виде программы тоже можно, но для этого у компьютера должны быть специфические устройства ввода-вывода (для управление печкой, перемешиванием и т.п.) - в общем это и делается там где промышленно консервируют всякие штуки.
Flash и Photoshop знать желательно.
Вообще фриланс подразделяется на программирование и обработку изображений.
Там есть задания и для тех и для других. Одни должны уметь сделать баннер, другие запрограммировать что-либо. Поэтому Фотошоп больше для обработчиков изображений.
Языки интернет программирования:
php, html, css, javascript, asp.net, perl, piton, java, xml, VBScript.
Флешпрограммирование: ActionScript.
Сначала надо определиться, что ты умеешь? Есть ли опыт в программировании на языках высокого уровня:
- Для разработки Веб-приложения. Иначе говоря, мобильные версии сайтов, запускаемые напрямую через браузер мобильника Для какой ОСи? Андроид, Виндовс, АйОС? Требуется знания HTML5 и JavaScript
- Разработка игр Требуется знания в работе с 3D приложениями, умение создавать объёмные модели и взаимодействовать с ними. Нужны знания в программировании на языках для игровых движков.
Итак рассмотрим языки:
Java когда дело касается приложений для Android, язык Java никак не может стать неверным выбором.
C# — крутейший язык программирования! Он предок Java и взял самое лучшее, откинув все худшие особенности.
Python
Lua
Ну и конечно C/C++ как без них то?
А может вдадеешь ассемблером?
А теперь стоит определиться какая именно область программ будет охвачена? Есть ли какие-то наработки, готовые, изданные в инете приложения?
Если вопрос "Как начать с нуля?", - то прежде надо самостоятельно приобрести какие-то базовые знания. Я начинала программировать на бейсике, потом в машинных кодах на ассемблере. переписывала биосы компьютеров, видеокарт, СПД у Планок памяти. Но я дубовая в веб программировании, С++ и прочих питонах с перлами и фортранами. Игры писала на ассемблере, сейчас это не прокатит.
Во-первых нужна конкретная,реальная цель;
Во-вторых необходимо представлять, что будет если вы добьетесь желаемого(ваши чувства,эмоции);
В-третьих сфокусироваться на методах достижения цели;
Необходимо постоянно повторять установки и конечно же не сомневаться! Быть уверенным в том, что результат достижим и реален!!!!
Что-то странная какая-то задача, в духе "пойди туда, не знаю куда, принеси то, не знаю что". В любом устройстве, подключаемому к компьютеру стоит контроллер, который определяет, как данное устройство взаимодействует с компьютером через данный интерфейс. Например, для работы принтера через LPT-порт была диаграмма, какие сигналы и как нужно было передавать и как реагировать на принимаемые. Непосредственную работу с устройством осуществляет драйвер устройства, написание которого - это та еще задачка. Соответственно программа непосредственно взаимодействует с драйвером.
Самая простая работа с устройством - это через порт, управляемый регистром. Просто записываем и считываем данные в соответствии с той спецификацией, которая должна прилагаться к устройству.