Персональный сайт
Романа Парпалака
  Заметки Блог Движок сайтов Игра «Жизнь»  
ГлавнаяЗаметкиТехнологииПрограммирование → О синтаксисе языков программирования

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

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 читать намного приятнее.

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

Комментарии

#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-код буквы вводить — но зачем?

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

Ваше имя:

Комментарий:

Для выделения используйте следующий код: [i]курсив[/i], [b]жирный[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Ссылку начните с http://. Других команд или HTML-тегов здесь нет.

Сколько будет 27+8?

Еще в разделе «Программирование»
наверх