Как понять суть программирования в общих чертах? Чтобы иметь представление об этом.
Попробую пояснить свой вопрос:
Скажем, мы видим как рисуют художники (на бумаге или с помощью компьютера). Мы видим, что рисунок начинается со структуры, общей формы, каркаса объектов, потом добавляются мелкие детали, свет, тени, цвета.
Или мы видим как гончар создает кувшин, или как создается автомобиль на заводе: от «пустого» кузова до законченного автомобиля.
Для наглядности на Youtube много видео, где можно посмотреть этот процесс или телепередача «Как это устроено».
Во всех этих примерах важно то, что мы видим процесс создания чего-то и имеем общее представление об этих процессах и о том, как создается конечный продукт. Нам не нужно тратить много времени на изучение мануалов, книг, чтобы иметь общее представление об этих вещах. Это особенно полезно для тех, кто думает заняться определенным делом и перед этим хочет посмотреть сам процесс, суть рассматриваемой деятельности.
Допустим человек хочет начать рисовать, но сомневается, подойдет ли ему это или нет. Он смотрит видео, где показан процесс создания рисунка, от начальных штрихов до конечной картины. Человек видит как создается рисунок, как в нем постепенно добавляются дополнительные детали, тени, цвет. Посмотрев этот процесс человек думает: «Ага, это то, что мне подходит. Это то чем я точно хочу заняться» Или наоборот: «Как же мне взбрело в голову подумать о том, чтобы заняться этим? Мне это совершенно не подходит.»
Человек не тратит сотни часов и дней на изучение композиции, как строится перспектива, как падает свет, как формируются тени, чтобы понять, подходит ли ему рисование или нет, хочет он заниматься этим или нет.
Так вот: как понять суть программирования в общих чертах? Чтобы иметь представление об этом. Может есть какие-нибудь статьи, книги, видео иди другие материалы, которые могут дать мне общее представление о программировании? Или нужно обязательно тратить кучу времени на изучение материала, чтобы понять, подходит ли мне это или нет?
Может есть какие-нибудь интерпретации, которые объясняют суть программирования в общих чертах?
Также хотелось бы иметь представление об ООП.
Это все нужно мне для того, чтобы решить: это то, что мне подходит или нет. А то может получиться так, что я потрачу ощутимую часть времени на изучение материала, потом вдруг пойму, что это не мое. А время то уже потрачено, его я мог потратить на что-то более стоящее. Ведь время — это самый ценный ресурс, который у нас есть.
Надеюсь я понятно изложил свой вопрос. Спасибо за внимание.
- Вопрос задан более трёх лет назад
- 30759 просмотров
1 комментарий
Оценить 1 комментарий
Источник: qna.habr.com
Введение в мир программирования — краткий экскурс для детей и их родителей
Программирование — это процесс создания компьютерных программ, которые позволяют компьютеру выполнять определенные задачи.
Каждый день мы используем программы для работы, общения, развлечения и многих других целей. Однако, многие из нас не задумываются о том, как эти программы были созданы и как они работают.
В этой статье мы рассмотрим основы программирования, чтобы помочь вам понять, что это такое, зачем оно нужно и какие языки программирования существуют.
Зачем нужно программирование?
Программирование является одной из самых важных профессий в мире современных технологий. Компьютеры не могут выполнять какие-либо задачи без программного обеспечения.
Кроме того, программирование имеет широкий спектр применения во многих отраслях, таких как финансы, здравоохранение, производство, телекоммуникации и многих других. Благодаря программированию мы можем автоматизировать рутинные процессы, ускорить выполнение задач и сделать их более эффективными.
Что такое языки программирования?
Язык программирования — это формальный язык, который используется для написания компьютерных программ.
Существует множество различных языков программирования, каждый из которых имеет свои особенности и предназначен для решения конкретных задач. Некоторые языки программирования используются для написания веб-приложений, другие — для разработки игр, а еще другие — для создания операционных систем.
Ниже перечислены некоторые из наиболее популярных языков программирования:
- Java: Язык программирования, который используется для создания приложений для Android, веб-приложений и больших корпоративных приложений.
- Python: Язык программирования, который используется для создания веб-приложений, научных вычислений и анализа данных.
- C#: Язык программирования, который используется для создания приложений для Windows, игр и веб-приложений.
- JavaScript: Язык программирования, который используется для создания интерактивных веб-страниц и веб-приложений.
- PHP: Язык программирования, который используется для создания динамических веб-сайтов и веб-приложений.
- Ruby: Язык программирования, который используется для создания веб-приложений, особенно популярен в сфере разработки приложений на Ruby on Rails.
- Swift: Язык программирования, который используется для создания приложений для iOS и macOS.
- Kotlin: Язык программирования, который используется для создания приложений для Android и веб-приложений.
- SQL: Язык программирования, который используется для работы с базами данных.
Как выбрать язык программирования?
Выбор языка программирования зависит от того, для какой цели вы хотите использовать программирование.
- Если вы хотите создать приложение для Android, то Java или Kotlin будут хорошим выбором.
- Если вы хотите создать веб-приложение, то можете использовать Python, Ruby или JavaScript.
- Если вы хотите заниматься научными вычислениями и анализом данных, то Python будет хорошим выбором.
- Если вы хотите создать приложение для Windows, то C# может быть лучшим выбором.
Как начать изучать программирование?
Для начала изучения программирования вам необходимо выбрать язык программирования и начать изучение его основ.
Существует множество онлайн-курсов , видеоуроков и книг по программированию, которые могут помочь вам начать изучение языка программирования. Кроме того, существуют форумы и сообщества, где вы можете задавать вопросы и общаться с другими программистами.
Однако, не стоит забывать, что программирование требует усердной практики и навыка решения задач. Поэтому, для того, чтобы стать хорошим программистом, вам необходимо уделять много времени и усилий на практику и развитие своих навыков.
В заключение, программирование — это увлекательный и важный процесс, который может принести огромную пользу в различных сферах деятельности. Выбор языка программирования зависит от целей, которые вы хотите достичь, и важно начать изучение основ, чтобы развивать свои навыки и стать хорошим программистом.
Источник: dzen.ru
Что такое программирование? Языки программирования. Компьютерное программирование
В период появления первых компьютерных систем остро встал вопрос того, как «научить» машину воспринимать указываемые к исполнению задачи человеком. Тут и появился термин «компьютерное программирование». Сегодня многие пользователи, не знакомые с основами и тонкостями этих процессов, считают, что это что-то из области фантастики, недоступное рядовому обывателю. Однако при желании можно освоить программирование и самому. Но не будем забегать вперед и разложим все, как говорится, по полочкам.
Что такое программирование в общем понимании?
Если посмотреть на основные трактовки данного термина, нетрудно сделать простейший вывод. Что такое программирование? Это написание программ.
Тут же возникает вопрос того, что же такое программа. Программа или приложение – это, грубо говоря, набор специализированных команд, инструкций, директив или исполняемых сценариев, которые подлежат исполнению машиной, причем на уровне и «железных» устройств, и других задействованных средств.
Чтобы было понятно, что такое программирование, можно привести самый простой пример. Установленное пользовательское приложение, нацеленное на выполнение конкретной задачи, обращается не только к оперативной памяти и процессору, но и задействует другие физические устройства через инструменты управления ими, называемые драйверами, которые тоже представляют собой программы.
Немного истории
Говоря о том, что такое программирование в современной трактовке, стоит обратить свой взгляд на историю его возникновения. По сути, автоматизированное выполнение каких-то определенных действий, например, в области математических вычислений, известно человечеству достаточно давно.
Вспомнить хотя бы Древнюю Грецию, в которой было использовано устройство с шестернями разной величины, позволявшее производить простейшие арифметические действия. Это был самый настоящий прототип современного калькулятора.
В 1206 году появился уникальный аппарат по отслеживанию так называемого метонова цикла, построенный Аль-Джазари, который использовал сложные на то время механизмы, основанные на зажимах и кулачках.
Только в 1804 году свет увидел жаккардовый ткацкий станок, который был способен воспроизводить узоры на тканях, созданные на основе перфокарт.
Но настоящим прорывом стало программируемое аналитическое устройство, разработанное Чарльзом Бэббиджем, которое, к сожалению, при его жизни так и не было построено.
Зато в 1846 году дочь Байрона создала первую в мире программу для аналитической машины, которая решила уравнение Бернулли. Конечно, алгоритмы программирования, которые применяла графиня Ада Августа Лавлейс, были весьма примитивными, но именно они заложили то самое зерно, которое было использовано при создании современных компьютерных программ. И именно ее считают во всем мире прародительницей программирования.
Каким образом компьютер воспринимает команды?
Любая компьютерная программа должна машиной каким-то образом выполняться. Ей мало написать, мол, сделай то-то и то-то. Для этого были созданы языки программирования.
Но написать последовательность команд на каком-то языке, которых сегодня существует очень много, оказывается недостаточно. Машина все равно не воспримет текстовые фразы или математические формулы.
Универсальным средством стало использование двоичного (бинарного) кода, состоящего из последовательностей нулей и единиц, которые воспринимаются любым компьютерным устройством. Но как перевести смысловые фразы и формулы в такой вид? Для этого используются компиляторы, которые и преобразовывают список команд в понятный машине двоичный код. Можно встретить и троичные, и шестнадцатиричные коды, но они используются крайне редко.
Мнемокоды
Понятно, что вводить двоичные команды даже на примитивных устройствах было крайне затруднительно, ведь запомнить такие последовательности человек по природе своей просто не в состоянии.
Поэтому, чтобы унифицировать такие процессы, были придуманы так называемые мнемокоды, которые в виде текстовых команд являлись полными аналогами двоичных сочетаний. Текстовую команду, как уже понятно, запомнить намного легче, нежели длинную последовательность, состоящую из нулей и единиц.
Понятие переменных
Но и этим дело не ограничилось. Применяемые на заре развития алгоритмы программирования потребовали ввода новой величины, получившей название переменной.
Суть ее использования в любом языке программирования состоит в присвоении определенной области памяти, в которой хранится какое-то значение, буквенного обозначения. Для того чтобы перевести мнемокоды в инструкции, а переменные в области памяти, использовались инструменты, называемые трансляторами. И все языки, использовавшие такую методику, получили название ассемблеров.
Языки программирования
Сами же языковые средства, на которых пишутся (или в свое время писались) компьютерные программы, условно можно разделить на низко- и высокоуровневые.
Если кто из старшего поколения помнит, даже в советские времена в школах на уроках информатики преподавался язык Basic. С его помощью на тогдашних машинах Yamaha КУВТ можно было создавать примитивные программы математических вычислений, программировать простейшие картинки или музыку, звучащую из системного динамика. Для математики можно было использовать и логические операторы вроде «если», «то», «иначе». Но проблема всех тех, кто хорошенько обучился этому языку, состояла в том, что они никак не могли освоить новые средства.
Не говоря о том, что язык Ассемблер своим появлением произвел настоящую революцию и используется до сих пор, появились достаточно специфичные средства, например, языки структурного или объектно-ориентированного программирования (ООП).
К ООП смело можно отнести язык C+/++, на основе команд которого созданы те же операционные системы Windows. Программирование на «Си» является достаточно сложным, тем не менее при желании можно освоить и его. Как говорится, было бы желание. Можно пойти на те же курсы программирования или использовать для обучения соответствующую литературу.
Правда, как считает большинство специалистов, самому вникнуть в основы языка еще можно, а вот развивать свои знания на практике буде крайне сложно. Тут никакие труды вроде книг «Программирование для чайников» не помогут.
Но вернемся к языкам. Относительно недавно появились языки, работающие на основе интерпретаторов (.NET Framework, Python, Java, Perl и т.д.). В них вместо машинного кода генерируется особый байт-код, который представляет собой двоичный код виртуальной машины.
Кстати сказать, программирование на Java можно без особых усилий освоить самому. Например, для мобильных устройств на основе Android-систем можно параллельно использовать Android Studio и пакет Java SDK, а в качестве тестировщика установить Genymotion. Можно поступить еще проще, обратившись к онлайн-конструктору App Inventor, в котором создание последовательности команд производится наподобие складывания пазлов.
Понятие парадигм
Понятие парадигм возникло не на пустом месте. В самом общем понимании парадигмы представляют собой некий взгляд на окружающий мир и действия, которые в его отношении можно предпринять. В компьютерном мире под таким термином понимается некое обобщение по отношению к работе программы.
Существуют приложения, ориентированные исключительно на одну парадигму или выполнение только одной задачи, но все современные языки и программы, создаваемые на их основе, решают несколько задач. Отсюда и появился термин многозадачности.
Современное программирование и его особенности
На современном этапе развития компьютерных технологий приоритетным для многих программистов являются ООП и программирование на Java. Заметьте, пакеты Java-платформы поддерживаются любой из ныне известных операционных систем, не говоря уже о мобильных устройствах.
И хотя, как считается, язык C+/++ является доминирующим, не стоит сбрасывать со счетов и Ассемблер. Удивительно, но большинство вирусов написано именно на нем. А если взять в расчет веб-программирование, скажем, на основе Delphi, тут вообще открываются такие широкие возможности и перспективы, что многие начинающие программисты об этом даже не догадываются.
Можно ли самому научиться программированию?
Вопросы, связанные с самостоятельным обучением, напрямую зависят от того, чему именно хочется научиться. Литература в виде книг «Программирование для чайников» дает лишь частичные ответы без конкретизации основных аспектов с учетом применения того или иного языка. Это, так сказать, для общего понимания.
Курсы программирования – тоже вопрос спорный, ведь в данном случае все зависит не только от восприятия обучаемым, но и от того, какими знаниями обладает преподаватель, как он подает материал и т.д. Но если уж возникла необходимость изучения какого-то определенного языка или метода программирования, в наш век интернета проблемой это не является. Можно найти даже онлайн-курсы или подробное описание уроков по той же платформе Java, программированию Android- или iOS-устройств.
Краткие итоги
Что такое программирование в общих чертах, думается, уже понятно любому человеку. Здесь, правда, были затронуты только общие вопросы без конкретики использования каждого языка, средств написания приложений или сопутствующих программных модулей, интерпретации или трансляции команд, равно как и то, каким образом все это выполняется на уровне процессора, оперативной памяти или операционной системы. Все это достаточно сложно для понимания, а неподготовленному человеку вникнуть в суть всех этих процессов будет не так уж и просто. Тем не менее при желании и достаточно высокой степени мотивации изучить любой язык можно, а в дальнейшем стать высококлассным программистом.
Источник: www.syl.ru