О синтаксисе языков программирования
Я считаю Паскаль замечательным языком программирования. С ним я делал первые шаги в программировании. В среде 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 читать намного приятнее.
Теперь я с подобным заявлением не соглашусь. Кроме самого программиста на код обычно никто не смотрит. А привыкнуть можно ко многому. Главное, чтобы было удобно.
Комментарии
Есть перевод на русский:
Но, насколько я помню, он неполный. GTK под Windows, версию не помню.
Очень спорное утверждение. Для команд из одного человека оно верно. Но мало-мальски крупный продукт пишется не одним программистом, и поддерживать его потом могут уже совершенно другие люди.
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.
Фаулер М. Рефакторинг. СПб.: Символ. 2003
Во-первых, на практике есть участки кода, требующие оптимизации. Эта оптимизация ориентирована на машину, а не на человека.
Во-вторых, моя фраза
Кроме самого программиста на код обычно никто не смотрит.относилась к сравнению языков Си и Паскаль, а не к стилям оформления кода на одном языке. Людям понятнее Паскаль, однако, большинство программ написано на Си (или на языках с Си-подобным синтаксисом).
Да, есть куча нечитаемого кода из-за того, что кому-то лень делать отступы или давать переменным нормальные имена. Но это уже вопрос разных стилей оформления кода на одном языке.
В общем, специалисты будут писать код, понятный для специалистов, а неспециалисты будут писать код, в котором сами же и будут разбираться.
если какой-то участок требует оптимизации, то берётся другая группа программистов, например индусы, и пишут на своём языке. стиль оформления исходников закрепляется отдельным документом и все пишут строго в этом стиле. Так что как пишется код, с отступами, с прописной буквой или красными полями к языкам не имеет никакого отношения. даже есть специальные парсеры, которые этой машинной работой занимаются, indent обычно их зовут. у меня, например, старенький astyle
kpv пишет:Ну а я что до этого писал?
Так что как пишется код, с отступами, с прописной буквой или красными полями к языкам не имеет никакого отношения.
Роман Парпалак пишет:
Да, есть куча нечитаемого кода из-за того, что кому-то лень делать отступы или давать переменным нормальные имена. Но это уже вопрос разных стилей оформления кода на одном языке.
Действительно, фигурные скобки поставить быстрее, чем набрать begin и endLOL Кто просит набирать вручную? Макросами. Не помню уже, когда я это набирал вручную. Я и всякие procedure вручную не набираю. И filllchar. И много чего другого. Можно ведь и вообще через alt-код буквы вводить — но зачем?