![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
А как тогда в паскале объявить переменную для блока(типа "где попало")? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Паскаль процедурно ориентирован, значит во вложенной процедуре. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
это - несомненный плюс.
бред только для малознакомого с С/C++. Иначе придется объявить бредом всю математическую нотацию, заменив словами "принадлежит", "существует" и т.д. |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Не все так красиво, в математике все однозначно, а тут нет. Тот же оператор деления. В паскале и бейсике операторы целочисленного деления и деления с плавающей точкой различаются, потому при делении 2х переменных/значений всегда тип результата очевиден, чего не скажешь про С/С++. А вот на счет логических операторов соглашусь, побитовый and и and сравнения это разные операторы и тип результата разный, потому называться должны по разному. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
Недостатки есть в любом языке. Ну, кроме матерного
![]() Так что вопрос только в том, насколько перевешивают достоинства. Лично мне в С++ больше всего нравятся три вещи: 1. Поддержка нескольких парадигм программирования. Причем хорошая поддержка, а в грядущем стандарте станет еще лучше. 2. Возможность при необходимости сделать все что угодно (например, наличие reinterpret_cast), но поощрение делать красиво и правильно. 3. Выразительность. Возможность на языке не только писать код, но и проектировать программу - сильная вещь. Pascal лишен некоторых недостатков С++, но не имеет упомянутых достоинств. имхо. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
для детей младшего дошкольного возраста. Не где попало, а там где потребовалось. А от нечувствительности к регистру вся соль, от объявления переменных в одном месте, теряется. |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 2 Всего: 93 |
Зато "несуразица" предоставляет намного более широкий диапазон возможностей ![]() Субъективное мнение. Мне вот читабельней кажется плюсовый код. Опять же на любителя. Что читабельней: findAll или findall? А ведь паскаль не запрещает написать второй вариант ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
ИМХО бессмысленно сравнивать процедурный язык, созданный для учебных целей и промышленный ОО-язык. Стоит м.б. Delphi vs C++ тогда обсуждать. (или Algol vs C++
![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Sartorius, я об этом уже говорил, тут даже не определено в какой из спецификаций "Pascal", "Pascal with Objects" или "Object Pascal".
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
не бред ибо согласно [c++2003: lex.key] и даже [c99: 7.9](но в си только при подключенном iso6446.h ![]() ахх, ну и разумеется #define and && можно сделать и в более старых си. Вот и будет читабельность. а в паскале с препроцессорами вообще говоря тяжко. Мне вот всякие input.readable() and output.writeable() c and'ом тоже читаются легче чем с &&.
йап-йап. в паскале нет аналогов шаблонов. только за это его дóлжно мучить пока он ими не обзаведётся{как уже было с перегрузкой операторав} или пока он не умрёт. [Хотя если достать какой-нибудь макропроцессор{типа m4}, то в принципе можно кода нагенерировать, но это полумера]
а можно этот пункт подробнее?. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
Можно. Язык программирования не может (да и не должен) быть полноценным языком проектирования, но язык может поддерживать напрямую некоторые принципы проектирования. В отношении С++ это прежде всего поддерживаемые парадигмы. Про это я сказал в п.1, но относительно технических средств. То же верно и в отношении проектных средств: программист может обдумывать задачу с той точки зрения, которая в данный момент приемлема, используя синтаксис С++. Вот вам простой пример разного подхода к одной задаче. Задача - вычисление определенных интегралов функций одного переменного. Идея - имеем классы для определения подынтегральных функций и нечто собственно для вычисления интеграла. ООП:
Обобщенное программирование:
Я пока это писал видел только общий план. В принципе написанное будет работать (совсем немного доопределить, что б компилилось и линковалось). В подробности шаблонов ООП и Templates я не вникаю, я их просто использую, думая о задаче. Здесь много нерешенных проблем, например погрешность вычисления, эффективность и т.д. И я могу спокойно их обдумывать, выражая мысли на бумаге, которые уже являются правильным кодом, его мне не придется переписывать. Только изменять и дополнять. При этом код получается самодокументируемым. Вам ведь понятно что там к чему? И это достигнуто малыми средствами. Самим языком, а не комментариями и выкрутасами с макросами. Чисто технически - мне импонирует возможность написать интерфейс класса, не реализуя его, и опробовать его в программе. Она, конечно, не будет линковаться, но будет компилироваться. Т.е. я могу попробовать на зуб свой интерфейс еще до реализации. И изменять его не вдаваясь в подробности реализации. Я не утверждаю, что в других языках так нельзя. Но так выразительно, и что бы еще потом получилось эффективно - мало где. И напоследок. С++ не поддерживает напрямую некоторые вещи. Но его легко научить это поддерживать. Посмотрите на boost - он почти целиком из таких расширений состоит. Особенно выразительные примеры - пример Dimension Analisys в MPL и библиотека parameters. Т.е. для конкретной задачи мы можем создавать инструменты, используя которые приобретаем новые семантические средства, синтаксически оставаясь в языке. Немного сумбурно получилось. Если што непонятно готов развить. ![]() |
||||
|
|||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 2 Всего: 93 |
baldina, непонятно только одно: какой из языков ты считаешь невыразительным - С++ или Паскаль?
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
Я не говорил, что Pascal невыразителен (хотя чистый паскаль стоит сравнивать с С а не С++).
Я говорил за что мне нравится С++ Добавлено через 2 минуты и 12 секунд Религиозные войны вообще дело такое... Тонкое, как и восток. Остроконечники и тупоконечники.
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 2 Всего: 93 |
Спасибо, теперь понятно
![]() Полностью с тобой согласен - С++ очень выразительный язык. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 1 Всего: 329 |
||||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |