На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 113 114 [115] 116 117 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    Цитата --Ins-- @
    Да и вообще это такая фишка Си-подобных языков: смысл закорючки зависит от контекста.

    А вот, кстати, в паскале контекстно-свободная грамматика?
      Цитата D_KEY @
      Ты давно себя в Сишники записал?

      Я и не записывал =)
        Цитата MyNameIsIgor @
        А вот, кстати, в паскале контекстно-свободная грамматика?


        Гораздо в большей степени. Звездочка - это умножить и все тут, а / - это разделить. Хочешь делить нацело - пиши явно div
          Цитата --Ins-- @
          Правил больше (или столько же?), а логичности - меньше.

          Нет :)
            --Ins--, тогда уж

            for (i = 0; i <= n; i++) {

            а то у тебя разные циклы получились.

            Точка с запятой в Паскале действительно отличается от таковой в других языках.
            Только в Паскале она является разделителем операторов. Во всех других она операторы завершает.

            По возможностям Паскаль в действительности уступает Cи, в основном из-за наличия в Cи эффективных низкоуровневых возможностей по работе с памятью и железом (Си для этого в общем-то и создавался) и из-за большой библиотеки (в стандартном Паскале почти все приходится писать самому), каковая позволяет использовать C не только в системном программировании.
            Чего нет в C, так это встроенной реализации множеств. Впрочем она не настолько востребована, да и реализуется достаточно просто.
            Происходит это от изначальной направленности языков. Н. Вирт создавал Паскаль с целью демонстрации приемов программирования во время лекций и для проверки усвоения таковых во время занятий. Отсюда требования к языку - простой, допускающий однопроходную компиляцию, с развитой системой проверок.
            C создавался для системного программирования, для чего ему требовался полный доступ к аппаратуре. Плюс в UNIX в системную библиотеку включены все основные функции, что позволяет использовать C и в качестве языка общего назначения.
              Цитата --Ins-- @
              Гораздо в большей степени.

              Эмммм... Степень свободности грамматики от контекста в неком интуитивном смысле может быть только для контекстно-зависимых грамматик. Так в паскале она всё же зависит от контекста?
              Цитата --Ins-- @
              Звездочка - это умножить и все тут, а / - это разделить. Хочешь делить нацело - пиши явно div

              Эмммм... Звёздочка в си не вносит зависимости от контекста, ибо в одном случае это унарный префиксный оператор, а в другом - бинарный инфиксный...
              А при чём тут / вообще?
                Цитата OpenGL @
                Нет


                Ну, я тебе аргументом подкрепил свою точку зрения, а ты - нет и все тут. Я в таком ключе дискуссию вести не умею. Могу только ответить "Да!"
                  Цитата --Ins-- @
                  Цитата OpenGL @
                  Нет


                  Ну, я тебе аргументом подкрепил свою точку зрения

                  Что-то я не заметил аргументов там. Ты про "смысл закорючки зависит от контекста"? Так это не аргумент, ибо так везде. Даже в математике.
                  А еще в современных языках есть перегрузка операторов :)
                    Цитата --Ins-- @
                    Ну, я тебе аргументом подкрепил свою точку зрения, а ты - нет и все тут. Я в таком ключе дискуссию вести не умею. Могу только ответить "Да!"
                    Да тут уже перечислили нелогичности :) Но могу добавить. Почему действие после проверки условия в одном случае пишется после do, в другом - после then? Зачем столь разные ключевые слова для цикла repeat..until и while..do? Зачем в цикле в одном случае писать условие продолжения, а в другом - условие выхода из цикла - ведь куда удобней сделать однообразно, только условие продолжения.
                      Цитата OpenGL @
                      Почему действие после проверки условия в одном случае пишется после do, в другом - после then?


                      Потому что в английском языке предложения строятся так.

                      Цитата OpenGL @
                      Зачем в цикле в одном случае писать условие продолжения, а в другом - условие выхода из цикла - ведь куда удобней сделать однообразно, только условие продолжения.


                      Потому что если перевести слова while и until на русский язык, этот вопрос у тебя сам собой отпадет
                        Цитата --Ins-- @
                        Потому что в английском языке предложения строятся так.

                        Алгоритмический язык != английский язык. Практика показывает, что слишком «литературные» языки не становятся популярными. И даже в этом случае было бы логичней использовать do ... end вместо begin ... end
                          Цитата --Ins-- @
                          Потому что если перевести слова while и until на русский язык, этот вопрос у тебя сам собой отпадет
                          Да не в переводе дело, а в том, что делать один цикл пока условие истинно, а второй - пока ложно, это если и логика, то женская :)
                            Цитата OpenGL @
                            Да не в переводе дело, а в том, что делать один цикл пока условие истинно, а второй - пока ложно, это если и логика, то женская :)

                            еще и аж 3 ключевых слова (while, repeat, until) вместо одного (while) =)
                              Цитата korvin @
                              Судя по тому, что сриншот в GIF, вероятно он просто в сети его нашел =)

                              ExpandedWrap disabled
                                  File  Edit  Search  Run  Compile  Debug  Tools  Options  Window  Help
                                ░░░░░░░░░░╔═[■]════════════════ Compiler Options ════════════════════╗░░░░░░░░░░
                                ░░░░░░░░░░║  Compiler settings for:       Real mode target      ▐↓▌  ║░░░░░░░░░░
                                ░░░░░░░░░░╟──────────────────────────────────────────────────────────╢░░░░░░░░░░
                                ░░░░░░░░░░║  Code generation                                         ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Force far calls        [X] 286 instructions        ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Overlays allowed       [ ] Smart callbacks         ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Word align data        [ ] Windows stack frames    ║░░░░░░░░░░
                                ░░░░░░░░░░║  Runtime errors             Syntax options               ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Range checking         [X] Strict var-strings      ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Stack checking         [ ] Complete boolean eval   ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] I/O checking           [X] Extended syntax         ║░░░░░░░░░░
                                ░░░░░░░░░░║   [ ] Overflow checking      [ ] Typed @ operator        ║░░░░░░░░░░
                                ░░░░░░░░░░║  Debugging                   [ ] Open parameters         ║░░░░░░░░░░
                                ░░░░░░░░░░║   [X] Debug information     Numeric processing           ║░░░░░░░░░░
                                ░░░░░░░░░░║   [X] Local symbols          [X] 8087/80287              ║░░░░░░░░░░
                                ░░░░░░░░░░║   [X] Symbol information     [ ] Emulation               ║░░░░░░░░░░
                                ░░░░░░░░░░║                                                          ║░░░░░░░░░░
                                ░░░░░░░░░░║  Conditional defines                                     ║░░░░░░░░░░
                                ░░░░░░░░░░║                                                     ▐↓▌  ║░░░░░░░░░░
                                ░░░░░░░░░░║                                                          ║░░░░░░░░░░
                                ░░░░░░░░░░║                           OK   ▄    Cancel ▄     Help  ▄ ║░░░░░░░░░░
                                ░░░░░░░░░░║                         ▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀ ║░░░░░░░░░░
                                ░░░░░░░░░░╚══════════════════════════════════════════════════════════╝░░░░░░░░░░
                                 F1 Help │ Always evaluate all boolean expressions in a statement
                              Так лучше? :D
                              Цитата --Ins-- @
                              СИ он не уступал ни в чем
                              Я на нём без ассемблера писал многие системные вещи. Например, плеер DOOM-овых звуков через спикер, плеер VOC-файлов через любые Sound Blaster, работа VESA. Причём даже в DPMI target. Я его когда-то любил больше остальных. После Дельфи 2 отношение несколько сменилось.
                              Цитата --Ins-- @
                              ExpandedWrap disabled
                                for (i = 0; i<n; i++)
                              В C/C++ точка с запятой (не только) означает точку следования, в которой оптимизатор обязан сколлапсить все сайд-эффекты. Между точками следования он может вытворять что угодно, состояние объектов не определено, как неопределено состояние электронной схемы между тактами синхронизации. Думаю, это не в последнюю очередь влияет на качество оптимизации. Так что ; играет важную роль, и использование её например в for() вполне уместно.
                              Цитата D_KEY @
                              Кстати, интересно, насколько трудоемко будет в классическом паскале как-то изобразить ООП?
                              В классическом - никак. Там много чего нет по сравнению с Turbo. Процедурных типов, например. А наследование и в C получимтся с трудом.
                              Цитата --Ins-- @
                              Правил больше (или столько же?), а логичности - меньше. Особенно деление, которое в зависимости от типов операндов может обозначать разные арифметические действия. Да и вообще это такая фишка Си-подобных языков: смысл закорючки зависит от контекста.
                              Да-да. Логичность - это когда на 600-ах страницах документации Дельфи 230 страниц описывают правила и 370 страниц исключения из них. Типа там while и until, / и DIV, в языке со семантикой значений вдруг ссылочные типы, const, который вовсе не конст, итп. Вот к вам пришли дженерики, добро пожаловать в эпоху generic programming
                                Собственно, начиная с версии 5.5 в Turbo Pascal была введена какая-то объектная модель. По крайней мере ключевое слово object в нем уже было. Но почему-то никто об этом не знал.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 113 114 [115] 116 117 ...  244 245


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1222 ]   [ 14 queries used ]   [ Generated: 23.12.25, 13:36 GMT ]