Чтение онлайн

на главную - закладки

Жанры

Шрифт:

А что другие языки? Среди них отметим Си – один из самых используемых. Но почему не Паскаль?

Языки Паскаль и Си – ровесники, они родились в начале 70-х годов прошлого века. Паскаль был задуман как строгий язык для надежного программирования, но на первых порах применялся лишь в образовании. Создатели языка Си преследовали иную цель, – им срочно понадобился незатейливый язык для появившихся в ту пору мини-ЭВМ. Надо заметить, что программы, написанные на Паскале, эти слабенькие ЭВМ переваривали с трудом, а строгие ограничения надежного Паскаля по рукам и ногам вязали ретивых системщиков. Потому сработанный на скорую руку простенький и ненадежный Си вдруг вынырнул вперед и захватил

лидерство. А что было дальше? – об этом нельзя промолчать.

По мере того, как компьютеры становились мощнее, а программы сложнее, требования к их надежности возросли – ошибки программистов крайне дороги! Сторонники Си осознали необходимость типизации данных и прочих мер повышения надежности и позаимствовали эти идеи из Паскаля. С другой стороны слишком суровый контроль типов в Паскале был слегка ослаблен – в разумных пределах. Это и другие новшества, добавили языку гибкости, и Паскаль пробился в области, где безраздельно хозяйничал Си. Нынешние потомки Паскаля – языки Ada и Modula – применяют для создания надежных, ответственных программ (авиация, космос, вооружения). Но это секрет, о котором «настольные» программисты не знают, и для них C/C++ – «языки профессионалов». Впрочем, в «настольном» программировании эти языки все ещё востребованы, хотя и вытесняются где-то более современными Java и C#.

Ещё одна популярная сфера – разработка сайтов. Тем, кто углубится в WEB-программирование, пригодятся PHP, Perl, JavaScript, Pyton и другие WEB-языки (они все плодятся и плодятся!).

Особняком от «толпы» языков программирования держится Ассемблер (Assembler переводится как «сборщик»). Его относят к языкам низкого уровня, – в отличие от Паскаля, Си и многих других, причисляемых к языкам высокого уровня. За что же так «унижен» Ассемблер? За то, что оперирует с потрохами процессора: адресами памяти, регистрами, флагами. Программирующий на Ассемблере должен хорошо представлять устройство компьютера и процессора, – на низком уровне нужна высокая квалификация! Ассемблер – удел профессионалов, и к нему прибегают там, где другие языки не годятся.

Технологии – не упускайте их из виду!

Изучая современные языки, вы постигните и технологии разработки крупных проектов: модульное и объектное программирование. И это не все. Технологии не стоят на месте, и новинки стремительно сменяют одна другую. Держите «руку на пульсе», следите за развитием технологий, – кто зазевался, тот отстал!

Изучайте типовые алгоритмы и структуры данных

Вам надо хорошо овладеть языками, но это не все. Любой проект начинают с разработки алгоритмов. Многие типовые задачи давным-давно решены, и для них созданы эффективные алгоритмы. Не изобретайте велосипед, изучайте типовые алгоритмы и структуры данных. Некоторые из них вам уже знакомы: это сортировка, двоичный поиск, списки, графы, стеки и очереди. И, хотя нерешенным задачам счету нет, в основе их решений лежат типовые алгоритмы и структуры данных.

Расширяйте кругозор

Программист, не «въезжающий» в решаемую задачу, – самое жалкое существо на свете! Увы, такие бедолаги – не редкость, и на то есть причины, – ведь компьютеры распространились повсеместно, где их только нет!

Принимаясь за очередной проект, поневоле вникаешь в премудрости той сферы, для которой он предназначен. Это может быть электроника, механика, химия или экономика – всего не перечислить. И всякий раз ищешь общий язык с экспертами

в данной области. Ведь постановка задачи – это результат встречного движения программиста и заказчика. Значит, программист должен знать все? Но это невозможно! Да, всезнайкой вам не быть, но понемногу обо всем знать необходимо. Школяр! не пренебрегай науками, тебе сгодится все!

Угождайте пользователю

Программы для персональных компьютеров, как правило, общаются с людьми напрямую. А утомленному человеку свойственно ошибаться. Радейте о пользователе, – удобный и понятный интерфейс вашей программы должен радовать глаз, ограждая человека от возможных ошибок.

Проверяйте входные данные

Удобный и надежный интерфейс – это прекрасно, но даже он не гарантирует верного ввода исходных данных. Ошибки более вероятны, когда данные читаются из подготовленного вручную файла. Неверные данные могут «уронить» программу (например, при попытке деления на ноль). Громкое «падение» программы, сопровождаемое английскими «ругательствами», устрашит пользователя и породит в его душе сомнение в вашем мастерстве. Проверяйте вводимые данные на допустимость и непротиворечивость. Обнаружив ошибку, ваша программа должна вразумительно сообщить об этом пользователю и подсказать пути решения проблемы.

Тщательно тестируйте свои творения

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

Комментируйте свои действия

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

Мы нередко возвращаемся к готовой программе спустя месяцы и годы после ее внедрения. За это время забывается почти все, что придумали. А если вашу программу будет править кто-то другой… – я не завидую этому парню! И здесь вновь выручат комментарии.

Роль комментариев выполняют и выразительные имена, облегчающие понимание программы. Обычно программисты придумывают их на основе английских слов – ведь это международный язык. Следуйте некоторой системе в назначении имен, например, той, которая предложена в этой книге. Напомню о некоторых наших договоренностях. Имена для типов данных, констант и переменных начинаем с определенных букв, а именно:

• C – для констант;

• T – для типов данных;

• a – для аргументов процедур и функций;

• m – для полей записей и объектов.

Переменным лучше давать имена существительных, а для процедур и функций подходят глаголы. Глобальным переменным предпочтительно давать длинные развернутые имена. Наоборот, локальные переменные, назначение которых очевидно (счетчики циклов, временные значения и тому подобное), лучше называть коротко – одной-двумя буквами.

«Вылизывайте» структуру программы

Поделиться:
Популярные книги

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Облачный полк

Эдуард Веркин
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Облачный полк

Столкновение

Хабра Бал
1. Вне льда
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Столкновение

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Измена. Право на любовь

Арская Арина
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на любовь

Законы Рода. Том 4

Flow Ascold
4. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 4

Невеста напрокат

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Невеста напрокат

Хозяйка усадьбы, или Графиня поневоле

Рамис Кира
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Хозяйка усадьбы, или Графиня поневоле

Город Богов

Парсиев Дмитрий
1. Профсоюз водителей грузовых драконов
Фантастика:
юмористическая фантастика
детективная фантастика
попаданцы
5.00
рейтинг книги
Город Богов

Двойня для босса. Стерильные чувства

Лесневская Вероника
Любовные романы:
современные любовные романы
6.90
рейтинг книги
Двойня для босса. Стерильные чувства

Вперед в прошлое 3

Ратманов Денис
3. Вперёд в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 3

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам