| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Философия программирования > Достижение строгости и лаконичности кода |
| Автор: MAKCim 24.8.2006, 09:15 | ||||||||||
на самом деле по лаконичности кода он (С/С++) очень даже хорош чего стоит конструкции вида
причем эти конструкции не сложны, зная правила их формирования
каждый язык поддерживает свой стиль написания, который раскрывает все его возможности. Если их не использовать зачем было уходить из pascal-я и вообще хочу задать риторический вопрос: почему же такой теоретически и часто практически "корявый" язык как С (и С++) и по сей день занимают ведущее место (или по крайней мере не последнее) в своей области |
| Автор: albertn 24.8.2006, 09:39 | ||
Ну во-первых давайте разберемся в основных предназначениях языков: Паскаль: 1. Был создан Никлаусом Виртом в 1970, после его участия в работе комитета разработки стандарта языка Алгол, как язык для обучения процедурному программированию. (взял в википедии) 2. Паскаль это словестный (или как-то так, не помню точного названия), т.е. приходится много писать. 3. Паскаль строгий до такой степени, что переменные надо определять заранее (что тормозит создание проекта) 4. В нем нет полноценных средств работы с указателями и динамической памятью (хотя они неплохо и без них обошлись) 5. Он вообще живой только благодаря Borland Delphi, что вывело его на GUI уровень. Си: 1. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. (взял в википедии). 2. Его создавали для программистов, а не для обычных людей, и посокращали в записи все что только можно. 3. Винда и *nix также написаны на нем, и для большей совместимостью с их API логично использовать СИ. 4. У него есть возможность писать проги используя только API, и не использовать MFC, и т.д. (Чего нет в Делфи) 5. Изначально Паскаль язык для новичков, а Си для профессионалов. Немного лирики: Всех кого ты не спроси, программируют на си! Нынче втретишь ты едвале тех, кто пишет на паскале. |
| Автор: pythonwin 12.9.2006, 12:19 | ||
Добавлено @ 12:21 дельфистов много, + я знаю 10-15 человек, которые до сих пор пишут на паскале. |
| Автор: Cr@$h 12.9.2006, 12:29 | ||
Особенно в Европе.
или сложности и запутанности с подводными камнями. |
| Автор: maxim1000 12.9.2006, 12:57 | ||||
1. в этом C и Pascal не отличаются 2. ИМХО, это ускоряет разработку проекта (точнее ту его часть, которая относится к отладке)
? каков бы ни был источник сего заявления, советую его пересмотреть... Добавлено @ 12:58 P.S. я никого не собираюсь агитировать за Pascal (к тому же сам пишу на C++), но если уж писать недостатки, то реальные... |
| Автор: Cr@$h 12.9.2006, 13:17 | ||||
Не скажи про 1. В С можно переменные в любом месте кода объявлять, а в Pascal только вверху. Последнее, я считаю, прививвает дисциплину, ответственность и сокращает время отладки. |
| Автор: DemoCode 12.9.2006, 14:12 | ||||
А кто ж мешает писать на WinAPI в Delphi? Использовать VCL совсем не обязательно. Под этим подпишусь.
Что значит большей совместимости? Я пишу на Delphi под винду и на FreePascal под Linux и никогда не встречал каких-то проблем совместимости с API. |
| Автор: maxim1000 12.9.2006, 15:51 | ||
насколько я знаю, в C переменные можно объявлять только в начале блока (в C++ - где угодно) но тем не менее, получается, что я не совсем правильно понял в этом смысле мне всё-таки больше нравится подход C - локализовать переменную как можно сильнее, чтобы сократить ту часть программы, в которой эта переменная функционирует - ИМХО, способствует более быстрому пониманию и отладке кода... |
| Автор: Cr@$h 12.9.2006, 18:29 | ||||||||||
Действительно, необоснованное утверждение.
Я это знаю и имел в виду С++, конечно. Просто разговор из него растёт.
Для таких частей, где функционирует переменная лучше функции создавать, а вот поддерживать такой код сложнее, т.к. потом не найти, что за переменная, откуда она, что с ней можно сделать и что у неё за тип. |