Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 20:21:54
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Основы программирования


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

Seymour Cray

[Содержание курса]


Прикладное программирование

Для кого этот курс программирования

Этот раздел для достаточно широкого круга читателей. Для тех, кто хочет заняться программированием, но пока не знает с чего начать. Для начинающих программистов, а также для тех, кто, вероятно, и не хочет стать профессиональным разработчиком программного обеспечения, но интересуется программированием с целью расширить свой кругозор. Для тех, кому мало только о чем-либо прочитать, но есть еще стремление со всем новым "знакомиться лично", и каждый новый предмет “повертеть в руках”. Если коротко, то здесь вы сможете изучить основы программирования или, как еще говорят, освоить программирование с нуля. Ну а более или менее опытным программистам я могу предложить познакомиться с материалами руководства C# Quick Guide™, где базовые знания по программированию необходимы сразу.

Пару слов о процессе программирования

Не стоит относиться к программированию, по крайней мере, к прикладному программированию, как к чему-то сложному и подвластному людям с “особым” складом ума. С основами программирования человек сталкивается повседневно, и даже не хочу приводить примеры, поскольку все это банально. Программирование на компьютере с использованием языка программирования – это всего лишь формализованное общение с вычислительной техникой с целью объяснить ей, чего вы от нее хотите и добиться от нее адекватного результата. Объяснить четко, с соблюдением логики и здравого смысла.

Естественно, что компьютер не человек и намеков, нечетких формулировок, многозначительных междометий и жестов не понимает, но, тем не менее, процесс программирования сводится к общению с ним на понятном обеим сторонам языке. То, что существует довольно много различных языков программирования, не означает, что различные вычислительные машины принадлежат к различным языковым группам. Просто у всех у них есть встроенные “переводчики”, которые и осуществляют перевод составленных человеком программ на понятный “железу” машинный код. Переводчики эти называют компиляторами или трансляторами. Многообразие языков программирования, на которых пишет программы человек, обусловлен скорее конкуренцией между их авторами (отдельными людьми, научными организациями, коммерческими компаниями и т.п.), спецификой решаемых программированием задач и различием во взглядах специалистов, на то, что из себя должен представлять язык программирования.

Языки программирования классифицируются по различным критериям, но наиболее известная классификация – это деление их на языки программирования высокого уровня и языки программирования низкого уровня. Чем язык более низкого уровня, тем он более “понятен” компьютеру. Соответственно, чем он более высокого уровня, тем более приближен к набору четких инструкций, понятных человеку. Инструкции на языках программирования высокого уровня более “емкие” и зачастую решают сразу целые задачи, поэтому, если сравнить программу на языке высокого уровня с программой, выполняющей то же самое на языке низкого уровня, то объем последней будет на порядки больше. Программировать на высокоуровневом языке, естественно, удобно, но есть и обратная сторона медали: если вы хотите реализовать что-то нестандартное, то вряд ли вам это удастся сделать с использованием его “крупных строительных блоков”. Чрезвычайная гибкость – вот за что профессионалы любят низкоуровневые языки программирования. Программирование на них подобно строительству деревянного дома из спичек – очень и очень трудоемкий и долгий процесс. Но истина как всегда где-то посередине, и для написания эффективных программных продуктов зачастую комбинируют: большую часть программного кода пишут на языке высокого уровня, таком как C++, а различного рода “тонкие места”, которые чувствительны к скорости исполнения и объемам используемой оперативной памяти – на языке низкого уровня, например, на Assembler.

Имеет ли смысл начинать изучать основы программирования или “поезд уже ушел”?

Объекты программирования бывают разныеНа сегодняшний день общий тренд развития программирования направлен в сторону веб-технологий, облачных вычислений и прочих подходов к организации распределенных архитектур программного обеспечения, но само понятие прикладного программирования инвариантно по отношению к новым технологиям разработки программных продуктов. Весь framework сложной архитектуры за вас напишут компании, являющиеся лидерами на рынке компьютерных технологий. Затем они продадут плоды своих трудов вам, но наполнять смыслом предоставляемые ими шаблоны решений все равно придется. Это похоже на процессы возведения типовых зданий и выполнения индивидуального ремонта в каждом из них. При таком подходе практически нет никакой разницы между реализациями одной и той же задачи, которая, в одном случае, должна стать частью “настольного приложения", в другом - быть частью опубликованного web-сервиса, или вовсе работать в качестве отдельной службы в рамках инфраструктуры виртуального сервера. Ведь сложно найти разницу в процессах ремонта помещений панельного, кирпичного или монолитного зданий? Работы для прикладного программиста всегда хватит.

Создавать свои собственные ресурсы в интернете - дело весьма популярное и полезное, а коммерческое предприятие без своего сайта вообще сегодня большая редкость. Никому не нужно рассказывать, что современные “интернет-поисковики” с каждым днем предъявляют все более и более нетривиальные требования к индивидуальности интернет сайтов. Речь идет не только о содержимом ресурса (контенте), но и дизайне, удобстве пользования и других качественных характеристиках. Чем лучше поисковые системы относятся к вашему сайту, тем больше посетителей приходят к вам со страниц результатов поиска. Разработчики программных решений класса CMS (шаблоны сайтов) предлагают все более широкий набор инструментов и тем для придания уникальности создаваемым на их основе решениям, но иногда бывает намного проще разобраться в логике работы сайта самостоятельно. Благо, чаще всего такие шаблоны распространяются в виде исходного кода, и настроить его работу под свои нужды, изменив несколько десятков строк в том же php - коде, может любой грамотный программист. Обращаться к сторонним организациям за индивидуальной разработкой под ваши требования отдельного программного продукта (сайт - это тот же программный продукт) или его конфигурации может оказаться невыгодно. И не только невыгодно по деньгам, но и по времени, нервам и много еще по каким параметрам…

Краткое описание предлагаемого курса по изучению основ программирования

Этот курс программирования содержит примеры решения небольших задач. От тех, что встречаются в курсах изучения информатики и основ программирования в старших классах школы и на начальных курсах ВУЗов и до тех, с которыми могут столкнуться начинающие программисты на работе. Интересующиеся смогут получить опыт программирования не на одном языке программирования, а сразу на двух - на C# и VB.NET. Оба эти языка являются высокоуровневыми и базируются на одной и той же программной платформе. В качестве обучающей программы предлагается использовать свободно распространяемый программный продукт, который обладает минимально достаточной функциональностью для достижения поставленных настоящим курсом программирования целей. Безусловно, можно использовать и профессиональную среду разработки Microsoft Visual Studio. Начать программировать на C++ или Java, зная основы синтаксиса C#, намного проще, чем начать программировать на них с нуля, поскольку их синтаксис во многом похож. Начинать обучение программированию на языках Pascal/Delphi, я считаю, вообще неперспективно, поскольку (опять же лично мое мнение), эволюция не на их стороне. Но, в общем и целом, большой разницы нет, какой язык программирования новичку выбрать, поскольку принципы, подходы и приемы этого ремесла везде одинаковые.

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

Содержание учебной программы

Теоретические основы

Немного теории, которая поможет понять "на пальцах", что представляет из себя процесс программирования, и с чем начинающий программист может столкнуться в ближайшей перспективе.

Язык и учебная среда программирования

Материал о том, как новичку выбрать язык программирования. Описание учебной среды разработки, которая является свободно распространяемым программным продуктом, позволяющим писать небольшие программы.

Часть 1. Базовый уровень

Классика прикладного программирования. Подобные примеры программ рассматриваются в рамках школьных курсов информатики и на начальных курсах по программированию в ВУЗах.

Часть 2. Инструментальный уровень

Обзор наиболее часто используемых инструментов и методик прикладного программирования: объектно-ориентированное программирование, универсальные коллекции, регулярные выражения, базы данных и т.п.

Часть 3. Прикладное программирование

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

Часть 4. Знакомство с исходным кодом открытых проектов

Изучение исходного кода открытых проектов дает возможность познакомиться с примерами практического воплощения теоретических основ и наиболее часто используемых приемов программирования.


Другие, связанные с программированием вопросы:



Задать вопрос


Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.