Таможня снижает пошлины на ввоз автомобилей из ПольшиЦРУ назвало главных ракетных врагов США: Россия, Китай, Северная КореяВзрыв жилого дома положил конец спокойствию в столице

Gazeta.Ru

Prev   25.11. 0, вторник Московское время: 12:15:32 Выпуск No. 066   Next
 
[08.06.1999, 17:52:23]
Дмитрий Турецкий,
<dmitri@listsoft.com>
Научи меня программировать!

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

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

Алгоритм - это последовательность действий, которая должна привести к решению задачи. Например, чтобы сварить яйцо, вам надо налить воду в кастрюлю - положить яйцо в воду - зажечь огонь - поставить кастрюлю на огонь - дождаться, пока вода закипит - подождать еще 5 минут - погасить огонь - достать яйцо из кастрюли. Разумеется, это очень простой пример, но он иллюстрирует принцип. Дело в том, что компьютер - железяка тупая, думать не умеющая, и поэтому вам надо все продумать за него. Если вы сумеете правильно составить алгоритм, предусмотрев все возможные действия пользователя, логические ветвления и т.д., то это залог качественной программы. Естественно, что алгоритм может иметь разный уровень детализации, в идеале сводясь к набору простых команд, понимаемых компьютером. Однако для более или менее сложных программ предусмотреть все варианты становится очень сложно, а это может привести к тому, что программа не будет "знать", как реагировать на какие-то действия. Следует учесть, что ошибки алгоритма (они еще называются ошибками в логике программы), как правило, приводят к самым тяжелым последствиям - вам придется все переделывать с самого начала. Вообще, создание алгоритмов требует очень хорошо развитого логического мышления и, в какой-то мере, приближается к искусству. Если вы можете создавать алгоритмы, то, скорее всего, сможете и сравнительно легко научиться их кодировать.

В последнее время большое распространение получило объектно-ориентированное программирование (ООП). Его смысл заключается в том, что программы составляются из объектов, как из кубиков. Объект - это некая программная конструкция, которая обладает какими-то свойствами. Например, обращали ли вы внимание, что в Windows все программы используют похожие кнопки? Они могут быть разного размера, на них может быть разный текст, но все-таки они очень похожи... Все дело в том, что кнопка - это стандартный объект Windows, который обладает свойствами размера, текста и т.д. То же самое относится к окнам, текстовым полям, меню, диалогам открытия и сохранения файлов и т.д. Именно таким методом программа приобретает "знакомый интерфейс", даже если вы ей еще ни разу не пользовались. В своих программах вы сможете использовать существующие объекты, а также создавать свои собственные.

В программировании для Windows популярны визуальные средства разработки, т.е. такие системы, которые позволяют вам как бы "рисовать" свою будущую программу. Но нарисовать, как программа будет выглядеть, это одно, а вот связать все элементы управления в единое целое - это уже другое. Тут-то и понадобится язык программирования.

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

Из наиболее популярных языков можно выделить три: C++, Delphi и Visual Basic. По большому счету, любую программу можно написать на любом языке, вопрос только в скорости работы программы и ее размере. Как обычно, выигрывая в одном - проигрываешь в другом. Basic проще всего выучить, с хорошей книжкой вы сможете написать первую программу уже часа через два, но написанные на нем программы будут большими и неповоротливыми. Delphi сложнее, но все еще остаются в пределах понимания нормального человека. Язык Паскаль, который используется в Delphi, в свое время был разработан именно для обучения студентов программированию. Кстати, в России "Дельфийская школа" очень сильна, и если вы решите учить именно этот язык, то без труда найдете в Интернете множество мест, где вам помогут. Си плюс-плюс - это весьма сложный, зато очень мощный язык; программы, написанные на нем, работают очень быстро и имеют максимальные возможности. Но на изучение даже основ языка у вас уйдет недели две, а на качественное его освоение - не в пример больше времени.

Вообще, программирование - это штука очень опасная. Затягивает. Передать чувства, возникающие, когда ваша программа начинает работать как надо, практически нереально. Да и сам процесс очень интересен... Как вы думаете, почему на любом download сайте много бесплатных программ? Просто потому, что люди пишут их для души. Есть одна хорошая фраза: "настоящий программист всегда удивляется, получая зарплату за то, что он бы и так делал для собственного удовольствия" ;-) В общем, попробуйте - не пожалеете!


. Лист SOFT: подпишись!
. download.ru: русский софт
. Freeware.ru: халява, сэр!
. FreewareHome - то же
. DaveCentral - каталог
. TuCows - выбери зеркало
. WinFiles - часть C|Net.
. NoNags - только даром
. Filez - поиск софта
. FTPSearch - пойск по FTP
... Русский FTPSearch
ПРОШЛЫЕ ВЫПУСКИ
АВГУСТ 1999
Пн Вт Ср Чт Пт Сб Вс
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

НОВОСТИ OFFLINE
Наши новости - на пейджер Мобил Телеком!
Наши новости - на ваш пейджер!
НОВОСТЬ ДНЯ
В Москве взорвался жилой дом
В Москве взорвался жилой дом
КОММЕНТАРИИ
Пропавшие дети - 2
Пропавшие дети - 2
ПОМОГИТЕ ДЕТЯМ!
П о м о г и т е  д е т я м !
WWW.SOS.RU
Ляпкин Антон Ляпкин Антон
Отсутствие желчного пузыря
Роман Чеснов (3435) 23-64-94
ПОЛИТИКА В РЖ
Война. Отставка. Все про август!
Война. Отставка. Все про август!
MSNBC.RU
GAZETA.RU - ПАРТНЕРЫ MSNBC.RU
ПРАЗДНИК
праздник



ПОИСК ПО РАЗДЕЛАМ:

GAZETA.RU

.   Ну и денек

.   Бесэдер?

.   Немузыка

.   Macht Frei

.   Time o'clock

.   Текущий выпуск

.   От редакции

.   Алгоритм

.   Досье

.   Дисковод

.   Публикация

.   Служебный раздел

.   Здоровье

.   Интернет

.   Интервью

.   Книги

.   Комментарии

.   Культура

.   Курицын Daily

.   Лесные дали

.   Мнения

.   Наедине со всеми

.   Общество

.   Пресса

.   Пушкинский проект

.   Спорт



Lenta.Ru Rambler

RB2 Network

RB2 Network

Prev   25.11. 0, вторник Московское время: 12:15:32 Выпуск No. 066   Next

Пишите нам: info@gazeta.ru
Copyright © Gazeta.Ru
RRU_Network