На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (6) [1] 2 3 ...  5 6 все  ( Перейти к последнему сообщению )  
> Интересная статья
    Кто ещё захочет создать тему 'Pascal против C++' прочитайте вот это и задумайтесь. Зерно истины там есть. А так - слушайте свое сердце, а ещё больше - РАЗУМ!!!
    Удачи.


    ЗЫ Тема открыта для комментариев!!! :rolleyes:
    http://a-vaulin.chat.ru/cpas_maligin.html
      Статья не очень интересная.

      Цитата
      Сравнение двух языков программирования ни к чему не приведет. .. Не критикой своего коллеги заниматься нужно, мол, не на том языке он программу написал, следовательно, уровень его не соответствует принятым международным понятиям и нормам.

      самая здравая мысль :)

      1) крикливая, это самый главный минус
      2) автор постоянно путает C и С++. Это совершенно РАЗНЫЕ языки. Большинство его нападок на С недействительны в С++.
      3) видимо, он не очень хороший программист. Потому что усраивался в непонятно какую контору. "Борланд не компания" :). C++ он и в Африке С++. Что от МС, что от Борланд, что от GNU. Все НОРМАЛЬНЫЕ работодатели это знают, а с ненормальными связывается сами знаете кто :whistle:
      4)
      Цитата
      Представим себе две столярных мастерских.

      дальше остапа пронесло так, что я ниасилил
      5)
      Цитата
      Далее, в языке С отсутствует интервальный тип данных.

      чуть ли не единственный пункт, являющийся действительно фундаментальной недоработкой, но к счастию, умельцы легко обходят эту чтуку.
      6)
      Цитата
      Можно совершенно безбоязненно применять тип данных real.

      бред. Он даже не сравнил разрядность этих 2-х типов. Паскалёвский real - 6-и байтный, поэтому заведомо точнее C-шного 4-х байтного float :)
      Явный незачёт :P
      7)
      Цитата
      Конструкция оператора-переключателя switch в языке Си по сравнению с оператором варианта case в Паскале оформлена хуже, т.к. требуется в каждой строке писать case.... break;

      а можно не писать. Аффтар видимо не в курсе :)
      8)
      Цитата

      Работа с указателями в Паскале лучше организована, проще, логичнее, понятнее, строже.
      //Пример на Си:
      int *k;
      можно написать
      *k=10;
      или
      k=10;

      аффтар явно не в курсе, что такое ссылочный тип в С++ :)
        Интересно автор сводит мощь и гибкость C к его недостаткам. Статья необъективна. Автору засчитываем слив. :lol:
          ну, вообще то про с-шные строки человек всё заметил справедливо.
          К счастию, в C++ у нас есть std::string ;)
            Я не вдавался в подробности, я просто отметил мысль, что компании навязывают часто свои продукты... Вот в этом здравое есть зерно. Ну а ещё в том, что каждый должен выбрать себе свое и совершенствоваться в этом.

            Добавлено
            А про тип float он прав? Просто негде проверить....
              Цитата
              Сколько же нужно искать по тексту С-программы то место, где объявлена требуемая переменная, какая из них локальная или глобальная. Что в этом хорошего?

              Нисколько. Переменная объявлена там, где используется. А как часто нужно прыгать к началу функции для того, чтобы добавить нужную переменную?
              Цитата
              Далее, в языке С отсутствует интервальный тип данных.
              Действительно это так.
              Цитата
              Получается интересная картина. Применяя тип данных float в языке Си мы должны сначала написать программу, отладить ее, решить тестовые примеры, и только тогда принять решение о целесообразности типа данных float, в противном случае в программу потребуется внести изменения, данные типа float заменить на double. Во-первых, это мягко говоря чушь, а во-вторых, double требует в два раза больше памяти.

              А на самом деле - лишь возможность выбора. Нужна точная арифметика - получите. Нужна "неточная" - получите. Но и там и там есть погрешность.
              Цитата
              Каждый программист сталкивался с ошибками, возникающими из-за нумерации с нуля.
              Каждый программист, начинающий программировать на С - вполне возможно. Но не опытный сишник.
              Цитата
              Работа с указателями в Паскале лучше организована, проще, логичнее, понятнее, строже.
              //Пример на Си:
              int *k;
              можно написать
              *k=10;
              или
              k=10;
              компилятор не показывает ошибку.

              А тут и нет никакой ошибки. Он резонно считает, что программист инициализирует указатель адресом соответствующей ячейки памяти. Что в этом плохого?
              Цитата
              Работа с файлами в Паскале организована проще, понятнее, все разложено по "полочкам", а программисту остается для написания фрагментов программы затратить минимум времени.
              Автор явно не знает - что такое потоки (iostreams).
                Цитата
                А как часто нужно прыгать к началу функции для того, чтобы добавить нужную переменную?

                ну, это не очень страшно, если вовремя отстреливать авторов, пишуших функции длиннее экрана :)

                Добавлено
                Цитата
                А про тип float он прав? Просто негде проверить....

                Да, с-шный float такой неточный. Но учти, что именно он является "родным" например, для видекарточек.

                Паскалёвский банально длиннее. Он 6-и байтный. В Дельфи он называется real48.
                Почти нигде не используется :whistle:
                  Автор статьи просто клоун. Ему можно лишь порекомендовать последовать примеру Томми.

                  Цитата Flex Ferrum @
                  Далее, в языке С отсутствует интервальный тип данных.
                  Действительно это так.

                  Простите мне мою серость, но зачем он нужен? Типобезопасности С он не добавит, а С++ прекрасно обходятся и без него.
                    Цитата Relan @
                    Простите мне мою серость, но зачем он нужен? Типобезопасности С он не добавит, а С++ прекрасно обходятся и без него.

                    Иногда (не всегда, но бывает) действительно необходим тип данных типа множества из паскаля. Т. е. множество, существующее еще на этапе компиляции.
                      Цитата
                      Сделана попытка рассмотреть только некоторые базовые элементы языков Паскаль и Си. Как нельзя однозначно утверждать что лучше, лето или зима, так нельзя утверждать какой язык лучше, Паскаль или Си. Нравится Паскаль, нравится Си и слава богу. Программируйте на том языке, какой Вы выбрали.
                      Вопрос: зачем тогда всю эту бодягу разводить надо было? :huh:
                        Я бы на месте автора ещё ушат грязи на С-шные макросы вылил :)
                          Цитата BugHunter @
                          Я бы на месте автора ещё ушат грязи на С-шные макросы вылил :)
                          Судя по уровню знания автором (точнее аффтаром) языка С, он о существовании макросов просто не догадывается. :) Кстати, не понимаю, почему так принято ругать макросы? При грамотном использовании они превращаются в очень мощный инструмент, так же как и другие средства языка. ЕМНИП, Ритчи сказал: "Си -- это острая бритва. С его помощью можно сделать красивую программу, а можно кровавое месиво." ИМХО этим всё сказано.
                          Сообщение отредактировано: Relan -
                            Цитата
                            Элементы массивов в языке Си нумеруются, начиная с 0. Это - мелочь, но удобным это назвать никак нельзя. Каждый программист сталкивался с ошибками, возникающими из-за нумерации с нуля
                            интересно, если это так неудобно то почему почти во всех новых языках промышленного уровня используется именно такая нотация ?
                              Да ладно вам чувака критиковать.. Ну не взяли его на работу, потому что знал паскаль, а нужен был си. Вот чувак и разчуйствовался.
                                Цитата Antoxa1985 @

                                Цитата
                                Элементы массивов в языке Си нумеруются, начиная с 0. Это - мелочь, но удобным это назвать никак нельзя. Каждый программист сталкивался с ошибками, возникающими из-за нумерации с нуля
                                интересно, если это так неудобно то почему почти во всех новых языках промышленного уровня используется именно такая нотация ?

                                Наверное, это по инерции или по привычке. А может, для обеспечения простоты перехода от одного языка к другому. В некоторых случаях удобнее иметь массивы, начинающиеся не от 0. AFAIK, так не во всех языках.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (6) [1] 2 3 ...  5 6 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0486 ]   [ 15 queries used ]   [ Generated: 27.04.24, 06:45 GMT ]