Сайт Романа ПарпалакаЗаметкиТехнологииПрограммированиеО синтаксисе языков программирования

О синтаксисе языков программирования

23 мая 2007 года

Я считаю Паскаль замечательным языком программирования. С ним я делал первые шаги в программировании. В среде Turbo (Borland) Pascal было множество библиотек на все случаи жизни для создания приложений под DOS. Посмотрите, хотя бы, на Life для DOS. Это была моя первая более-менее серьезная программа, которая по мере работы над ней обрастала всё новыми и новыми возможностями. Фактически, по ходу работы над ней я учился таким приемам программирования под DOS, как работа с графикой, обработка нажатий клавиш, файлы, мышь, затем ассемблер для x86, прямой доступ в видеопамять.

Сейчас я понимаю, что это был ужасный код, изменять и дополнять который очень трудно. Да и всё это было не имело большого смысла, потому что потом я перешел на Delphi. Life для Windows, Chemical Lines, еще некоторые другие программы.

Также я «изучил» C, но не написал на нем ничего серьезного. Когда мне кто-то говорил, что Паскаль — отстой, я обычно приводил аргументы, подтверждающие противоположную точку зрения.

В позапрошлом и прошлом учебном году мы писали несложные программки на C под Linux. Но в этом году программы по вычислительной математике, реализующие численные методы, я писал на Паскале. Во-первых, так легче искать ошибки. Во-вторых, в нем проще работать с графикой. Несколько вызовов процедур, и кривая, отображающая ход процесса, нарисована. Основные файлы, необходимые для работы Turbo Pascal, можно поместить даже на дискетку (справедливости ради замечу, что я пользовался флешкой) и запустить на любом компьютере.

Да, стоит отметить, что год назад мы делали проекты по информатике. Я писал программу, моделирующую движение точечных зарядов по сфере. Обязательным требованием было использование C, а не C++. Практически единственный оставшийся вариант, в котором относительно просто разрабатывать интерфейс, это использование C с библиотекой GTK. Тот факт, что я переписал потом свой проект на Delphi, однозначно говорит о том, какая среда для разработки интерфейса удобнее. Кстати, надо всё-таки выложить этот проект на всеобщее обозрение. Неплохо ведь получилось :)

Однако когда я писал последнюю программу по вычислительной математике, я осознал, что быстрее было бы написать на C. Действительно, фигурные скобки поставить быстрее, чем набрать begin и end; в if'е не нужно писать then и т. д. Сказался более чем годовой опыт работы в PHP с C-образным синтаксисом.

Вот что написал Илья Бирман на эту тему:

Например, if ($a) b (); else c() выглядит как полное г.; if a then b else c читать намного приятнее.

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

Поделиться

Читайте также

Программы
The Game Of Life Реализация игры «Жизнь».
Delphi и EPS
Векторная графика В этой статье мы рассмотрим простой программный способ создания векторных изображений.
2009
По мотивам нового движка блога
PHP меня радует такими вещами (хотя заслуги PHP в этом особой нет, это типичный синтаксис C): while ($row = mysql_fetch_row($result))
2007
Прокси-сервер через ssh
Полезная вещь в современных условиях — прокси-сервер через ssh.
2022

Комментарии

#1. 27 мая 2007 года, 10:18. Александр Вольф пишет:
Кстати говоря — не подскажешь где брал документацию на GTK? И какой GTK ипользовал?
#2. 27 мая 2007 года, 10:42. пишет:
Вот официальная документация на английском:

http://developer.gnome.org/doc/API/2.0/gtk/index.html

Есть перевод на русский:

http://www.opennet.ru/docs/RUS/gtk_plus/

Но, насколько я помню, он неполный. GTK под Windows, версию не помню.
#3. 7 июня 2007 года, 13:25. Олег Французов пишет:
«Кроме самого программиста на код обычно никто не смотрит.»

Очень спорное утверждение. Для команд из одного человека оно верно. Но мало-мальски крупный продукт пишется не одним программистом, и поддерживать его потом могут уже совершенно другие люди.
#4. 7 июня 2007 года, 13:43. пишет:
Утверждение легко заменить без потери смысла на следующее: «Кроме самих программистов на код обычно никто не смотрит.»
#5. 15 февраля 2008 года, 14:56. Олег Французов пишет:
Смотрел раздел «избранное» сайта, снова увидел эту запись, и снова ощутил внутренний протест. Приведу-ка я цитату, чтобы лучше была понятна моя позиция.
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.

Фаулер М. Рефакторинг. СПб.: Символ. 2003
#6. 15 февраля 2008 года, 18:10. пишет:
Олег, может быть я плохой программист (я на самом деле физик), но с этим утверждением я тоже не до конца соглашусь. Определенная доля правды в нем есть, но это не вся правда.

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

Во-вторых, моя фраза
Кроме самого программиста на код обычно никто не смотрит.
относилась к сравнению языков Си и Паскаль, а не к стилям оформления кода на одном языке. Людям понятнее Паскаль, однако, большинство программ написано на Си (или на языках с Си-подобным синтаксисом).

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

В общем, специалисты будут писать код, понятный для специалистов, а неспециалисты будут писать код, в котором сами же и будут разбираться.
#7. 18 февраля 2008 года, 17:10. kpv пишет:
разговаривать в команде программистов надо на одном языке — чтобы понимали все.
если какой-то участок требует оптимизации, то берётся другая группа программистов, например индусы, и пишут на своём языке. стиль оформления исходников закрепляется отдельным документом и все пишут строго в этом стиле. Так что как пишется код, с отступами, с прописной буквой или красными полями к языкам не имеет никакого отношения. даже есть специальные парсеры, которые этой машинной работой занимаются, indent обычно их зовут. у меня, например, старенький astyle
#8. 20 февраля 2008 года, 11:42. пишет:
kpv пишет:

Так что как пишется код, с отступами, с прописной буквой или красными полями к языкам не имеет никакого отношения.
Ну а я что до этого писал?
Роман Парпалак пишет:

Да, есть куча нечитаемого кода из-за того, что кому-то лень делать отступы или давать переменным нормальные имена. Но это уже вопрос разных стилей оформления кода на одном языке.
#9. 25 марта 2009 года, 16:52. пишет:
Действительно, фигурные скобки поставить быстрее, чем набрать begin и end
LOL Кто просит набирать вручную? Макросами. Не помню уже, когда я это набирал вручную. Я и всякие procedure вручную не набираю. И filllchar. И много чего другого. Можно ведь и вообще через alt-код буквы вводить — но зачем?
#10. 7 августа 2012 года, 06:11. Игорь пишет:
Призрак отца Вирта пишет: «LOL Кто просит набирать вручную?»

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

Оставьте свой комментарий


Формулы на латехе: $$f(x) = x^2-\sqrt{x}$$ превратится в $$f(x) = x^2-\sqrt{x}$$.
Выделение текста: [i]курсивом[/i] или [b]жирным[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Других команд или HTML-тегов здесь нет.