Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование для начинающих


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Программирование для начинающих

Выпуск 7

16 OCT 2000

 
 
 
Ведущий рассылки: Вячеслав Мацнев
e-mail: stac@stacmv.net
Здравствуйте, друзья!

В этом выпуске читайте:

ОТСЕБЯТИНА

Хочу сказать, что я очень рад за вас! Рад, что вы делаете успехи. Когда в прошлый раз я говорил, что уезжаю, и, мол, шлите мне вопросы списками, только один человек прислал список вопросов. Из чего я делаю вывод, что остальные со всем разобрались, даже с двоичной системой. Это радует!

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

В том числе, сообщите свой "ник2" - ник, который будет действовать в пределах рассылки. Желательно, если он будет состоять из букв и цифр. Чтобы вы не думали, что я взбесился, скажу, зачем это надо. Другая антикризисная мера будет заключаться в выдаче персональных домашних заданий. Конечно, мне нужно будет наладить учет выполнения этих заданий и, вообще, успехов того или иного ученика (так называемый, индивидуальный подход). И некоторые данные такого плана удобно публиковать в рассылке, например, результаты контрольных. Сами понимаете, если вдруг напротив вашего имени и ника, под которым вас знает половина Интернета будет стоять негативная оценка или что-то типа этого, то это будет не очень хорошо.

Я посмотрю, как вы к этому отнесетесь и тогда решу, что делать дальше.

Да, спасибо, что заглянули на сайт и высказали свое мнение (0 писем). Я так и знал, что сайт рассылке не нужен.

Вот какой я, оказывается, злой.

БЕЙСИК

Немного истории

Русское название языка Бейсик является транскрипцией английской аббревиатуры BASIC: Beginner’s All-purpose Symbolic Instruction Code - универсальный код (язык) символических инструкций для начинающих. И назван он так был не зря.

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

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

Работа над черновым вариантом Бейсика началась летом 1963 года. К этому времени группа под руководством Т. Куртца и Дж. Кемени получила на решение проблемы две субсидии от фирмы "General Electric". Реализация разработок языка и операционной системы осуществлялась с осени 1963 года на компьютерах фирмы "General Electric" - DATANET-30,GE-225, GE-235. Первая программа на Бейсике заработала в мае 1964 года.

Бейсик, конечно, создавался не с нуля, а на основе существовавших в то время языков. Например, из Фортрана было взято указание параметров цикла: начало, конец и шаг. Из Алгола пришли слова FOR и STEP. Некоторые заимствования пришли и из других языков.

Изначально Бейсик был создан как интерпретируемый язык. Скорее всего причиной этого послужило то, что большинство компьютеров (мини-ЭВМ) того времени (HP-200, PDP-8, PDP-11, WANG и др.) использовали интерпретаторы. Хотя есть мнение, что задумывался Бейсик, как язык компилируемого типа. Самой точной информацией по этому вопросу, видимо, обладают только авторы языка.

В период с 1965 по 1971 год возникли шесть авторских редакций языка Бейсик по мере его усовершенствования. В 70-е годы на основе авторских редакций некоторыми крупными фирмами, типа "Hewlett-Packard" и "Digital Equipment" были созданы версии Бейсика для различных типов мини-ЭВМ.

В начале 70-х годов появились первые микро-ЭВМ. Первые два варианта интерпретатора языка Бейсик для микро-ЭВМ Altair-8800 были созданы сотрудниками фирмы MITS Полом Алленом и Билом Гейтсом в 1975 году. В следующем году они основали фирму Microsoft, которая внесла большой вклад в развитие языка и его реализацию на микро-ЭВМ и персональных ЭВМ.

Microsoft поставила версии Бейсика для ПЭВМ "Commodore", "Apple", "Tandy". А в 79 году был разработан MBASIC (известный также как Бейсик-80), который стал поставляться вместе с операционной системой MS-DOS для новых тогда компьютеров фирмы IBM. Первая модель персонального компьютера IBM, работавшего под управлением MS-DOS появилась в 1981 году.

В том же году Microsoft улучшила Бейсик-80. Новая версия называлась BASIC-A (advanced). Его развитие продолжалось примерно до 1984 года, когда Microsoft выпустила Macintosh BASIC для компьютеров Apple и Quick Basic для PC.

В 1985 году создатели Бейсика выпустили собственную версию для ПК - True Basic. Они же, а точнее Т. Куртц, ставший потом председателем комитета ANSI по разработке стандарта языка, делали все возможное для стандартизации Бейсика.

Только в 1978 году, после 15 лет использования, был принят стандарт на минимальный Бейсик (Minimal BASIC -ANSI X3.60).

Но несмотря на стандарт, Бейсик продолжал развиваться несколько спонтанно. Каждая фирма-разработчик вносила что-то свое.

В нашей стране Бейсик впервые был реализован в 1969 году на машине типа М-20 сотрудниками Горьковского университета под руководством Ю. Кеткова.

В дальнейшем Бейсик был реализован на БЭСМ-6. А с появлением мини- и микро-ЭВМ, Бейсик появлялся практически на всех машинах советского производства.

С июля 1989 введен стандарт на язык программирования Бейсик (ГОСТ 27787-88).

В данной заметке я коснулся лишь эпохи создания и начала развития Бейсика. Но в наше время, развитие это не остановлено. С появлением Windows, Microsoft приложила много усилий, чтобы сделать Basic очень популярным языком среди прикладных программистов. Свидетельством этому служат шесть выпущенных версий Visual Basic и готовящаяся седьмая, макроязык для приложений VBA, поддерживаемый не только Microsoft и т.д.

Для ДОС программистов также существует версия Visual Basic'а, но есть и другие современные среды разработки, которые можно приобрести.

Например, версия 3.5. Power Basic'а стоит $119. Правда я видел Delphi Standart в Interface Ltd.(http://www.interface.ru) за $123. Это косвенно подтверждает ценность компилятора Бейсика для ДОС в наше время.

Первая программа

Обычно изучение языка начинается с написания первой программы на этом языке, которая печатает на экране строку "Hello, World !" ("Привет, мир!"). Она так и называется - программа HelloWorld!.

Но наше знакомство с Бейсиком я хочу начать с, действительно, ПЕРВОЙ ПРОГРАММЫ, которая была написана на этом языке.

Первая программа на Бейсике, опубликованная Кемени и Куртцем в 1964 году имела вид:

        10 LET X=(7+8)/3
        20 PRINT X
        30 END

Эта программа не делает ничего полезного, но она очень показательна. Давайте посмотрим, что она делает. Кстати, здесь знание английского языка очень полезно:

        10 Пусть X равняется (7+8)/3
        20 Печатай X
        30 Конец

В строке 10 переменной X присваивается значение (7+8)/3=5. То есть, теперь X это 5 (заметьте, что при присвоении выражение (7+8)/3 было вычислено.

В строке 20 содержится оператор печати, который печатает свои аргументы (операнды, параметры) на экране.

В строке 30 стоит оператор конца программы. По этому оператору интерпретатор определяет, что конец программы достигнут.

Таким образом, пользователь, запустивший эту программу, увидит на экране число 5.

В последнее время синтаксис Бейсика несколько изменился. Теперь не обязательно указывать номера строк программы. Оператор присвоения LET также можно опускать, как и оператор END.

Поэтому сегодня бы эту программу написали так:

X=(7+8)/3
PRINT X

Попробуйте еще уменьшить эту программу :-)

Ну а систематическое изучение языка Бейсик мы начнем в следующий раз.

HTML

3. Форматирование текста (окончание)

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

Теги логического форматирования

Рассмотрим некоторые (заметьте, не все) теги логического форматирования.

Теги логического форматирования
CITE используется для отметки цитат, названий книг, ссылок на другие источники информации и т.д.
Такой текст браузеры обычно выводят курсивом.
Рассылка <CITE>Программирование для начинающих</CITE> выходит уже почти 5 месяцев.Рассылка Программирование для начинающих выходит уже почти 5 месяцев.
.
CODEотмечает текст как небольшой фрагмент программного кода.
Обычно отображается моноширинным шрифтом.
Для печати цифр от 0 до 10 можно использовать цикл:<br>
<CODE>f i=1:1:10 w i," "</CODE>
Для печати цифр от 0 до 10 можно использовать цикл:
f i=1:1:10 w i," "
.
DFN отмечает текст как определение (DeFeNition).
Этим тегом можно отметить термин, впервые встречающийся в документе.
<DFN>Цикл</DFN> - многократно выполняющаяся последовательность действий.Цикл - многократно выполняющаяся последовательность действий.
.
EM используется для выделения, подчеркивания (emphasis) важных фрагментов текста.
Текст обычно отображается курсивом.
Соблюдение правил техники безопасности <em>жизненно важно</em>.Соблюдение правил техники безопасности жизненно важно.
.
KBDотмечает текст, вводимый пользователем с клавиатуры.
Отображается моноширинным шрифтом.
Для запуска Windows наберите: <kbd>win</kbd>.Для запуска Windows наберите: win.
.
SAMPотмечает текст как образец (sample).
Используется для отметки текста, выдаваемого программами. Отображается моноширинным шрифтом.
В результате на экране появится строка:<br> <samp>Runtime Error 200 at 1545:0A10</samp>.В результате на экране появится строка:
Runtime Error 200 at 1545:0A10.
.
STRONGиспользуется для выделения важных фрагментов.
Браузеры отображают такой текст полужирным шрифтом.
<strong>Быстродействие</strong> процессора зависит от его <strong>тактовой частоты</strong>.Быстродействие процессора зависит от его тактовой частоты.
.
VARотмечает имена переменных программ.
Обычно такой текст отображается курсивом.
Во внешней переменной <var>^IssueNumber</var> хранится номер выпуска рассылки.Во внешней переменной ^IssueNumber хранится номер выпуска рассылки.

Существуют и другие теги логического форматирования, вы их изучите сами, если будет желание. Это, например, ABBR, ACRONYM, DEL, INS, Q. Используются они пока довольно редко (я их не использовал, практически, ни разу).

Примечание:
теперь, наверное, я буду использовать их чаще.

Вы, наверное, заметили, что теги логического форматирования отображаются практически одинаково. Зачем их тогда вообще применять? Ответ содержится в названии этой группы тегов - они применяются для логического форматирования (разметки) текста, для расстановки логических ударений.

В будущем, видимо, эти теги будут активно использоваться различными программами. Как сейчас поисковые сервера могут найти для вас картинку, просматривая страницы на предмет наличия тегов <img>, так можно будет искать и цитаты (изучая текст между тегами <CITE>), программный код (<CODE>) или что-нибудь еще. В принципе, вы можете приблизить это будущее, если будете использовать указанные теги в своих собственных программах.

Но все это не значит, что теги логического форматирования не находят применения сейчас. Дизайнер, знакомый с каскадными таблицами стилей, может легко переопределить способ отображения того или иного тега. Например, можно сделать так, чтобы текст, заключенный в теги <strong> </strong> отображался подчеркнутым курсивом синего цвета.

Но это уже другая история ...

Разделение на абзацы

Не секрет, что тексты обычно имеют какую-то структуру. Они состоят из заголовков разных уровней, абзацев, списков, таблиц и т.д. Все эти элементы мы с вами изучим. А начнем наше изучение с абзацев.

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

При использовании текстовых редакторов, новый абзац обычно создается при нажатии кнопки "ENTER"(перевод строки). Так ведет себя популярный редактор MS Word. Но при отображении html документа, как мы знаем, все символы перевода строки пропускаются (точнее, заменяются пробелом). Стандарт на HTML подразумевает, что пользователь будет просматривать документ в окне любого, заранее не известного размера и будет использоваться любой, имеющийся у пользователя шрифт.

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

Для создания нового абзаца в HTML есть свой тег - <P>. При встрече этого тега браузер создаст новый абзац. Часто между абзацами помещается пустая строка (это делается автоматически самим браузером).

Мы уже знаем тег <P>, но сейчас расширим свои знания о нем. Дело в том, что этот тег имеет параметр. Параметр называется ALIGN. Он, как следует из названия, определяет способ выравнивания текста абзаца.

Подобные функции имеет тот же Word, где вы можете выровнять абзац по левому краю, по правому краю, по центру или по ширине.

Соответствующие значения параметра ALIGN:

          LEFT         выравнивание по левому краю
         RIGHT         выравнивание по правому краю
        CENTER         выравнивание по центру
       JUSTIFY         выравнивание по ширине

Выравнивание по ширине появилось относительно недавно, так, например, третьи версии известных браузеров IE и NN не поддерживают параметр JUSTIFY тега <P>. Поэтому я его практически не использовал. В этом выпуске все абзацы выровнены по ширине, вы сами можете в этом убедиться.

По умолчанию используется выравнивание по левому краю.

Пример:

Выравнивание по левому краю

Выравнивание по правому краю

Выравнивание по центру

Закрывающий тег </P> использовать не обязательно.

Два или более тега <P>, идущих подряд, заменяются одним.

Перевод строки

Перевод строки браузер осуществляет самостоятельно, не советуясь с нами. В принципе, пусть делает, что хочет, но бывают ситуации (и довольно часто), когда нужно организовать перевод строки именно в данном конкретном месте.

Допустим, вы публикуете на своей странице стихи:

<p>Стихотворение
<p>
Ночь не сменяет день,
На землях Варна не идут года.
Деревья не отбрасывают тень,
А под землей стоят все те же города.
<p>
День не сменяет ночь,
В пустыне не журчит вода.
Все птицы улетели прочь,
Но бой здесь продолжается всегда.

Вы увидите:

Стихотворение

Ночь не сменяет день, На землях Варна не идут года. Деревья не отбрасывают тень, А под землей стоят все те же города.

День не сменяет ночь, В пустыне не журчит вода. Все птицы улетели прочь, Но бой здесь продолжается всегда.

Ну что, понравилось?

Для того, чтобы заставить браузер перейти на следующую строку служит тег <BR> (BReak line). Хорошо бы наше стихотворение оформить так:

<p>Стихотворение
<p>
Ночь не сменяет день,<br>
На землях Варна не идут года.<br>
Деревья не отбрасывают тень,<br>
А под землей стоят все те же города.<br>
<p> День не сменяет ночь,<br>
В пустыне не журчит вода.<br>
Все птицы улетели прочь,<br>
Но бой здесь продолжается всегда.<br>

Стихи это только одно из возможных применений тега <BR>, но бывают и другие. Помните первое домашнее задание по HTML? Там вы, как раз, использовали этот тег.

А что, если нам, наоборот, НЕ надо делать перевод строки в каком-нибудь месте? Например, такой фрагмент: "Ветер крепчал. Петр I приказал поворачивать к берегу".

Если пользователь уменьшит окно браузера, может получиться: "Ветер крепчал. Петр
I приказал поворачивать
к берегу".

Или "Длина лестницы - 4 м", превратится в
"Длина лестницы
- 4 м"
или в
"Длина лестницы - 4
м".

Думаю, вы понимаете, когда такое может произойти и когда это происходить не должно.

Для защиты ответственных мест от неожиданного перевода строки служит тег <NOBR></NOBR>. Заключенный в него текст, не смотря ни на что, будет напечатан на одной строке. Если этот текст не поместится на экране, то у окна браузера появится горизонтальная линейка прокрутки.

Пример,

<font size=+3> <nobr>Хоть ты лопни, но это предложение будет целиком на одной строке, даже если оно не поместится на экране</nobr> А это на другой строке?

Посмотрите этот пример в браузере.

Иногда мы можем дать браузеру поблажку, сказав: "Можешь сделать перевод строки здесь и здесь, и нигде больше. Можешь, если захочешь...".

Для этого придуман тег <WBR> (Word BReak). Он показывает место возможного перевода строки.

По имеющейся у меня информации, браузер NN не поддерживает тег <WBR>,а IE поддерживает его только внутри конструкции <NOBR></NOBR>.

Заголовки HTML документа

Кроме названия (TITLE), документ может иметь и заголовки. Например, книга имеет названия частей, глав, параграфов, подразделов и т.п. В HTML используются заголовки шести уровней (размеров), где первый - самый большой. Заголовки размечаются тегами <H1>, <H2>, <H3>, <H4>, <H5>, <H6>. Закрывающий тег обязателен.

Теги <Hx> являются тегами уровня блока, поэтому ими нельзя выделять отдельные слова для увеличения размера. Перед и после заголовка помещается пустая строка, и использовать для этого теги <p> и <br> нет необходимости.

Пример,

<H1>Заголовок 1-ого уровня</H1>
<H2>Заголовок 2-ого уровня</H2>
<H3>Заголовок 3-ого уровня</H3>
<H4>Заголовок 4-ого уровня</H4>
<H5>Заголовок 5-ого уровня</H5>
<H6>Заголовок 6-ого уровня</H6>

Заголовок 1-ого уровня

Заголовок 2-ого уровня

Заголовок 3-ого уровня

Заголовок 4-ого уровня

Заголовок 5-ого уровня
Заголовок 6-ого уровня

Горизонтальные линии

Еще одним способом разделения документа на части служит проведение горизонтальных линий. Лля этого предназначен тег <HR>. Он не является тегом-контейнером, то есть не имеет закрывающего тега. Перед и после линии помещается пустая строка.

Пример,
<HR>


Тег <HR> может иметь параметры:

   SIZE        толщина в пикселях
  ALIGN        положение линии (LEFT, CENTER, RIGHT)
  WIDTH        ширина в пикселях или в процентах
  COLOR        цвет (#rrggbb или стандартное имя)
NOSHADE        отменяет рельефность линии

Примеры:

<hr width=50% noshade>


<hr width=30% align=right size=10>
<hr align=left width=200 color=blue>

Предварительно отформатированный текст

Бывает нужно опубликовать в Web текст, который уже был отформатирован ранее, например, текст программы на каком-либо языке, те же стихи или другой текст, где форматирование абзацев, сделано за счет применения некоторого числа пробелов. Почти все ДОСовские тексты грешат таким форматированием. Если просто обрамить такой текст в теги <HTML></HTML>, то браузер сломает всю структуру. Можно потратить время и сформатировать текст заново, но не всегда это бывает удобно или даже возможно. Например, в одном из ранних выпусков рассылки я демонстрировал пример перевода числа из десятичной системы счисления в двоичную. Для этого мне надо было показать деление в столбик. Тогда я использовал таблицы (найдите тот выпуск в архиве и посмотрите обсуждаемый фрагмент). Но разумнее было бы использовать специальный тег для преформатированного текста <PRE>:

<pre>

114 |2 114 --- --- 57 |2 0 56 -- -- 28 |2 _ _ 1 28 -- |\ -- 14 |2 | \ 0 14 -- \ -- 7 |2 \ 0 6 -- \ - 3 |2 \ 1 2 - \ - 1 |2 ----\ 1 0 - \ - 0 \ _______ 1 \ \_114 = 1110010b

</pre>

Как это будет выглядеть в браузере, вы сами видите. Мной как раз использован тег <pre>.

Опять же, если вы читали выпуски 6.1 и 6.2, то вспомните структуру каталогов и таблицу FAT. В HTML версии рассылки они показаны с использованием тега <pre>. А еще программа на Ассемблере, параметры тегов, текст первой программы на Бейсике, в конце концов... В последнее время в рассылке таких "преформатироанных кусков" довольно много, поскольку использование их удобно.

Преформатированный текст отображается моношириным шрифтом. Получается как бы текстовая вставка в html.

Так, да не совсем. Дело в том, что внутри тегов <pre></pre> можно использовать другие теги, например, изученные нами теги форматирования, кроме <big>, <small>, <sup> и <sub>.

Уже отмечалось, что тег <pre> удобен для публикации исходных текстов программ на различных языках. Но здесь нужно учитывать один важный момент.

Допустим, на своей страничке вы хотите привести пример html кода или программу на Си.

При встрече символа "<", браузер решит, что дальше идет тег и выполнит соответствующие этому тегу действия. Как объяснить браузеру, что тег надо напечатать на экране, а не выполнять его?

Попробуйте следующий пример:

<html>
<body>
<p>Пример, программы на Си:<br>
<pre>
     #include <stdio.h>
     void main(void)
     {
          printf("2+2%d",2+2);
     }
</pre>
<p>
А вот html код, делающий то же самое:
<p>
<pre>
    <html>
    <body>
    <b>2+2=</b>4
    </body>
    </html>
</pre>
</body>
</html>

Посмотрев, этот пример в браузере, вы увидите немного не то, что хотелось бы. Как исправить положение?

Специальные символы

Некоторые символы не входят в базовую часть таблицы кодов ASCII. К ним относятся буквы алфавитов части европейских языков, математические и некоторые другие символы. Некоторые символы, введенные в HTML документ будут интерпретироваться не так, как задумал автор. Это, например, символы "<" и ">", используемые для указания тегов.

В этих случаях можно вводить нужные символы с помощью специальных кодов. Коды начинаются с символа "амперсанд"(&). За ним следует название символа либо его числовой код в десятичной или шестнадцатеричной системе. Завершает код символ "точка с запятой"(;).

В спецификации HTML указано большое количество спецсимволов, но только некоторые из них используются. Наиболее часто используемые спецсимволы приведены в таблице:

&lt;знак "меньше"<
&gt; знак "больше">
&nbsp;неразрывный пробел
&copy;знак Copyright©
&reg;знак Registered®
&amp;амперсанд&
&quot;кавычки"

Внимание! Уважаемые подписчики, посмотрите как приведенная выше таблица сделана в HTML версии выпуска (посмотрите HTML код даного фрагмента)! Внимание на спецсимволы.

Некоторые другие теги форматирования

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

Тег CENTER

Тег-контейнер CENTER предназначен для горизонтального выравнивания всех элементов посередине окна браузера. CENTER это тег уровня блока, поэтому им можно центрировать, например, таблицы (ну и просто текст, конечно :).

Тег BLOCKQUOTE

Тег-контейнер BLOCKQUOTE предназначен для включения в документ длинных цитат. Текст, выделенный данным тегом отделяется от остального текста пустыми строками и сдвигается вправо. Некоторые визуальные HTML редакторы позволяют задавать отступ теста от левого края экрана. Для этого они используют тег BLOCKQUOTE. BLOCKQUOTE - тег уровня блока, он может содержать любые теги форматирования.

Примечание:Предыдущий абзац отформатирован с помощью тега BLOCKQUOTE.

Тег ADDRESS

Тег ADDRESS применяется для идентификации автора документа и указания адреса автора. Сюда же обычно помещаются и сведения об авторских правах, а также дата создания и последней модификации документа. Тег применяется обычно вначале или в конце документа. Текст, заключенный между тегами <address></address> обычно отображается курсивом.

То, что этот тег не применяется повсеместно (в том числе, не применяется на моих страницах), на мой взгляд, говорит лишь о несоответствии документа спецификации HTML. Хотя, дизайн штука сложная и капризная ...

СЛОВО ПРЕДОСТАВЛЯЕТСЯ ПАВЛУ

Моя мечта - научиться программированию. На сегодняшний день она затмила все остальные мои цели. Так вот, перед тем, как выбрать язык, на основе которого я буду изучать прежде всего ООП (объектно-ориентированное программирование), мне нужно было собрать информацию о языках (в первую очередь, хотелось узнать мнение самих программеров). Это удалось. Мои краткие выводы:

Бейсик

Изучал в школе. Как я понимаю, всяких штук вроде полиморфизма, инкапсуляции и т.д. на нем не получить. Это пошаговый язык. Итог: не подходит, хоть и прост (относительно).

Паскаль

Узнал о нем после Бейсика. Причем, когда попытался освоить Delphi (там как раз Паскаль). Это было где-то в 1997 году (это важно). Но, по мнению программеров и некоторых статей из журналов, это вымирающий язык. Когда я раза три натолкнулся на это определение, понял, что и с Паскалем дружить не буду.

Си

К этому времени я уже почти на сто процентов был уверен, что это то, что нужно изучать. Но я также знал о существовании С++ и о том, что некоторые советуют начать изучение сразу С++.

Си++

На сегодняшний день я остановился и сосредоточил усилия на изучении именно этого языка. Эта уверенность основана на:
а) мнении людей, гораздо более опытных, чем я;
б) справочных материалах, которыми я располагаю;
в) все более широкой популярности этого языка в мире (я стараюсь быть в курсе и могу сказать, что все-таки в воздухе витает именно идея С++).
Когда я начал читать Страуструпа (надеюсь, не ошибся), то сразу наткнулся на слегка потрясшую меня информацию: язык С был задуман как аналог-конкурент Ассемблеру, более настроенный на человека. После этой новости меня, например, уже ничто (вероятность ничтожно мала) не переубедит в том, что я нашел. К тому же, еще одна информация повлияла на мое решение: оказывается, Unix тоже писалась на Си (преимущественно).

Java

Насколько я понял, это потомок С++, лишенный, по мнению создателей, недостатков последнего. От себя скажу лишь, что мне не нравится необходимость иметь Java-машину на компьютере (в браузере) для выполнения приложений. Итог: как только более-менее разберусь в С++, сразу буду параллельно осваивать Яву.

Лисп

У меня есть первый том финнов по этому языку. На мой взгляд, вряд ли у меня хватит жизни постичь эту штуку. Недостижимый идеал, к которому надо стремиться.


Это аргументы вкратце. На абсолютную правоту я, конечно, не претендую. Надеюсь, мои изыскания кому-то помогут. В процессе "метания души" я старался сохранять максимальную объективность.

Павел

Комментарий ведущего: Вот, мы начали изучать Бейсик, но не все этому рады. Письмо Павла я взял из своего архива, предлагаю всем желающим высказать свое мнение. Несмотря на то, что многие из вас сочли бы мое мнение авторитетным, я воздержусь от высказываний. По крайней мере, пока. Я не согласен с Павлом, что Паскаль умирает и что на Бейсике нельзя писать объектно-ориентированные программы. Но здесь это и не важно. Практика показывает, что любую программу можно написать на любом (универсальном, типа перечисленных Павлом)языке. Некоторое время назад выходил электронный журнал, посвященный программированию на Бейсике. У него был примерно такой девиз "На Бейсике можно сделать все, что и на Си. И мы научим Вас этому". И действительно учили.

Поэтому выбор языка (для изучения) это скорее вопрос психологии, чем программирования. Некоторым из вас я давал персональные советы на эту тему, но, в основном, они сводятся к следующему: "Выбирайте, что хотите, только побыстрее. Чем дольше выбираете, тем меньше времени остается для написания программ".

Приглашаю поклонников того или иного языка к обсуждению достоинств и недостатков этих языков в рассылке.

ОКРУЖЕНИЕ

Тонкий аспект программирования затрагивает создание мультимедия приложений. Для кого язык Lingo не пустой звук, кто знает что такое Macromedia Director или вы просто заинтересовались, это для вас ...

Открылся новый сайт 'Все секреты Macromedia Director'.

Это уникальный российский проект раскрывающий перед вами многие секреты мультимедия. Создание презентаций на CD своими руками, учебники по Lingo и Macromedia Director, примеры и уроки. Все что надо новичку чтобы стать гуру.

Цитата автора:

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

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

http://design.hycube.ru/director/

C уважением, Vsevolod V.Rymar

ЗАКЛЮЧЕНИЕ

Вот, видите, выбор не ограничивается только Бейсиком и Си++. В мире существует несколько тысяч языков программирования.

Но лучше начинать с Бейсика. Английское слово basic значит "основа", "базис". Пусть, ходят слухи, что Кемени и Куртц сначала придумали звучное название, а потом сам язык. Нам-то что до этого? :-)

Важно! В выпуске 6 допущена ошибка в программе на Си (печатающей "2+2"). Правильный вариант имеется в этом выпуске. Как говорится, найдите "десять отличий".

Спасибо тем, кто не поленился и прислал сообщение об ошибке!

Пока.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

С уважением,
Вячеслав Stac Мацнев mailto:stac@stacmv.net
16.10.00.



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное