Модераторы: Се ля ви
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Достижение строгости и лаконичности кода, предрасположенностю самого языка или только культурой программиста 
:(
    Опции темы
Cr@$h
Дата 23.8.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Из разговора про Си.
Цитата(MAKCim @  22.8.2006,  11:20 Найти цитируемый пост)
вообщем я в синтаксисе ничего ужасного не вижу
другое дело, что программы так не пишут, а возможность такого их написания только плюс языку

Основываяь на индустриальных технологий программирования, не вижу ничего хорошего в том, что язык позволяет или даже склонен к написанию непонятных или трудно читаемых программ. Цитата взята из разговора о С, но хочу говорить, не переходя на личности. Постоянно пытаются поднимать процент повторно используемого кода. Хорошим показателем в промышленности (отрасли, индустрии) считается 90%. Плохо написанный код будет сопротивляться и тормозить процесс реюза, сводя на нет все достоинства повторного использования.
Одним из достоинств языков считаю их изначальную предрасположенность к строгости и лаконичности кода. Конечно, всё в конечном итоге определяется культурой программиста, и извратить программу можно ухитриться на любом языке. Другое дело, на некоторых языках это часто может получаться неспециально. Полезно, например, сделав хорошую выборку, поврубаться или даже повторно использовать код, написанный на разных языках. При каком языке больше всего проматюгались, с тем и сами не захотите дружить. Это не руководство к действию. Всё зависит от квалификации писавшего и читающего, и лучшим советчиком здесь может быть объективный опыт, свой или чужой, но обязательно объективный.

Это сообщение отредактировал(а) Cr@$h - 24.8.2006, 18:52
PM MAIL ICQ   Вверх
MAKCim
Дата 24.8.2006, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата

Одним из достоинств языков считаю их изначальную предрасположенность к строгости и лаконичности кода

на самом деле по лаконичности кода он (С/С++) очень даже хорош
чего стоит конструкции вида
Код

while (*dest++=*src++);

Код

i+=++j;

Код

while ((int i=--j)>0) {...}

причем эти конструкции не сложны, зная правила их формирования
Цитата

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

каждый язык поддерживает свой стиль написания, который раскрывает все его возможности. Если их не использовать зачем было уходить из pascal-я
и вообще хочу задать риторический вопрос: почему же такой теоретически и часто практически "корявый" язык как С (и С++) и по сей день занимают ведущее место (или по крайней мере не последнее) в своей области


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
albertn
Дата 24.8.2006, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: нет
Всего: 34



Цитата(MAKCim @  24.8.2006,  09:15 Найти цитируемый пост)
каждый язык поддерживает свой стиль написания, который раскрывает все его возможности. Если их не использовать зачем было уходить из pascal-я
и вообще хочу задать риторический вопрос: почему же такой теоретически и часто практически "корявый" язык как С (и С++) и по сей день занимают ведущее место (или по крайней мере не последнее) в своей области

Ну во-первых давайте разберемся в основных предназначениях языков:
Паскаль:
1. Был создан Никлаусом Виртом в 1970, после его участия в работе комитета разработки стандарта языка Алгол, как язык для обучения процедурному программированию. (взял в википедии)
2. Паскаль это словестный (или как-то так, не помню точного названия), т.е. приходится много писать.
3. Паскаль строгий до такой степени, что переменные надо определять заранее (что тормозит создание проекта)
4. В нем нет полноценных средств работы с указателями и динамической памятью (хотя они неплохо и без них обошлись)
5. Он вообще живой только благодаря Borland Delphi, что вывело его на GUI уровень.
Си:
1. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. (взял в википедии).
2. Его создавали для программистов, а не для обычных людей, и посокращали в записи все что только можно.
3. Винда и *nix также написаны на нем, и для большей совместимостью с их API логично использовать СИ.
4. У него есть возможность писать проги используя только API, и не использовать MFC, и т.д. (Чего нет в Делфи)
5. Изначально Паскаль язык для новичков, а Си для профессионалов.
Немного лирики:
Всех кого ты не спроси,
программируют на си!
Нынче втретишь ты едвале
тех, кто пишет на паскале.
PM WWW ICQ   Вверх
pythonwin
Дата 12.9.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: нет
Всего: 36



Цитата(albertn @  24.8.2006,  16:39 Найти цитируемый пост)

Всех кого ты не спроси,
программируют на си!
Нынче втретишь ты едвале
тех, кто пишет на паскале. 

smile

Добавлено @ 12:21 
Цитата(albertn @  24.8.2006,  16:39 Найти цитируемый пост)
тех, кто пишет на паскале.

дельфистов много, + я знаю 10-15 человек, которые до сих пор пишут на паскале. 
PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 12.9.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(pythonwin @  12.9.2006,  13:19 Найти цитируемый пост)
дельфистов много

Особенно в Европе.
Цитата(MAKCim @  24.8.2006,  10:15 Найти цитируемый пост)
каждый язык поддерживает свой стиль написания, который раскрывает все его возможности

или сложности и запутанности с подводными камнями.
PM MAIL ICQ   Вверх
maxim1000
Дата 12.9.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата(albertn @  24.8.2006,  08:39 Найти цитируемый пост)
Паскаль строгий до такой степени, что переменные надо определять заранее (что тормозит создание проекта)

1. в этом C и Pascal не отличаются
2. ИМХО, это ускоряет разработку проекта (точнее ту его часть, которая относится к отладке)
Цитата(albertn @  24.8.2006,  08:39 Найти цитируемый пост)
4. У него есть возможность писать проги используя только API, и не использовать MFC, и т.д. (Чего нет в Делфи)

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

Добавлено @ 12:58 
P.S.
я никого не собираюсь агитировать за Pascal (к тому же сам пишу на C++), но если уж писать недостатки, то реальные...


--------------------
qqq
PM WWW   Вверх
Cr@$h
Дата 12.9.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(maxim1000 @  12.9.2006,  13:57 Найти цитируемый пост)
Цитата(albertn @  24.8.2006,  08:39 )
Цитата

Паскаль строгий до такой степени, что переменные надо определять заранее (что тормозит создание проекта)

1. в этом C и Pascal не отличаются
2. ИМХО, это ускоряет разработку проекта (точнее ту его часть, которая относится к отладке)

Не скажи про 1. В С можно переменные в любом месте кода объявлять, а в Pascal только вверху. Последнее, я считаю, прививвает дисциплину, ответственность и сокращает время отладки.
PM MAIL ICQ   Вверх
DemoCode
Дата 12.9.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: нет
Всего: 41



Цитата(albertn @  24.8.2006,  10:39 Найти цитируемый пост)
4. У него есть возможность писать проги используя только API, и не использовать MFC, и т.д. (Чего нет в Делфи)

А кто ж мешает писать на WinAPI в Delphi? Использовать VCL совсем не обязательно.

Цитата(Cr@$h @  12.9.2006,  14:17 Найти цитируемый пост)
и сокращает время отладки

Под этим подпишусь.

Цитата(albertn @  24.8.2006,  10:39 Найти цитируемый пост)
3. Винда и *nix также написаны на нем, и для большей совместимостью с их API логично использовать СИ.

Что значит большей совместимости? Я пишу на Delphi под винду и на FreePascal под Linux и никогда не встречал каких-то проблем совместимости с API.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
maxim1000
Дата 12.9.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата(Cr@$h @  12.9.2006,  12:17 Найти цитируемый пост)
Не скажи про 1. В С можно переменные в любом месте кода объявлять, а в Pascal только вверху. Последнее, я считаю, прививвает дисциплину, ответственность и сокращает время отладки.

насколько я знаю, в C переменные можно объявлять только в начале блока (в C++ - где угодно)
но тем не менее, получается, что я не совсем правильно понял
в этом смысле мне всё-таки больше нравится подход C - локализовать переменную как можно сильнее, чтобы сократить ту часть программы, в которой эта переменная функционирует - ИМХО, способствует более быстрому пониманию и отладке кода...


--------------------
qqq
PM WWW   Вверх
Cr@$h
Дата 12.9.2006, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(DemoCode @  12.9.2006,  15:12 Найти цитируемый пост)
Цитата(Cr@$h @  12.9.2006,  14:17 )
Цитата

и сокращает время отладки

Под этим подпишусь.

 smile 
Цитата(DemoCode @  12.9.2006,  15:12 Найти цитируемый пост)
Что значит большей совместимости? Я пишу на Delphi под винду и на FreePascal под Linux и никогда не встречал каких-то проблем совместимости с API.

Действительно, необоснованное утверждение.
Цитата(maxim1000 @  12.9.2006,  16:51 Найти цитируемый пост)
насколько я знаю, в C переменные можно объявлять только в начале блока (в C++ - где угодно)

Я это знаю и имел в виду С++, конечно. Просто разговор из него растёт.
Цитата(maxim1000 @  12.9.2006,  16:51 Найти цитируемый пост)
локализовать переменную как можно сильнее, чтобы сократить ту часть программы, в которой эта переменная функционирует 

Для таких частей, где функционирует переменная лучше функции создавать, а вот поддерживать такой код сложнее, т.к. потом не найти, что за переменная, откуда она, что с ней можно сделать и что у неё за тип.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

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

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.