На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL, ALXR
Страницы: (20) « Первая ... 2 3 [4] 5 6 ...  19 20 все  ( Перейти к последнему сообщению )  
> Как вы относитесь к паскалю? , (есть гипотеза)
   
Как вы относитесь к паскалю?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Цитата --Ins-- @
    Во-первых, это маразм

    Почему? Это то же самое, только гибче, т.к. модули в этих ваших паскалях не «first-class citizens».

    Цитата --Ins-- @
    во-вторых - это не будет то же самое, т.к. методы интерфейсного типа должны быть публичными

    И? Как будто процедуры интерфейсной части модуля могут быть какими-то другими.

    Цитата --Ins-- @
    и instance

    И что?

    Цитата --Ins-- @
    а как насчет приват

    Это часть реализации модуля/объекта, в чем проблема?

    Цитата --Ins-- @
    протектед и статик?

    А что с ними?
      Цитата OpenGL @
      Цитата D_KEY @
      Так же, как и тонкости Си

      Думаю, что при обучении плюсам обучаемый будет фактически учиться языку "С с классами", что, разумеется, сложнее, чем просто Си.

      Да почему сложнее-то, когда классы с методами гораздо проще воспринимать и создавать, чем структуры + отдельные функции?

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

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

      Добавлено
      Цитата korvin @
      Как будто в джавашарпах кто-то мешает писать интерфейс отдельно.

      Без создания лишних сущностей(интерфейсов) в явашарпах это сделать нельзя. Ты не путай две разные сущности с разделением объявления и определения одной и той же сущности. У Бертрана Мейера это называется краткой и полной формой класса, если правильно помню. Но он предлагает, чтобы среда разработки могла легко предоставить краткую форму. Я нахожу, что это менее удобно, чем явное разделение.
        Цитата --Ins-- @
        адекватной замены для этого IDE не предлагает

        Eclipse Ouline?
        user posted image
        Ну или javadoc на худой конец
          Цитата --Ins-- @
          ООП учить нужно, и мышление соответствующее, иначе потом задолбешься разбираться в чьем-то коде, где вместо того, чтобы сделать пару классов с парой виртуальных методов, стоит огромный свитч на каждый чих, а код новый код пишется методом copy/paste и поиском всех этих свитчей, куда нужно его вставить

          Так я с этим не спорю. Я о том, что начинать обучение с этого вряд-ли стоит. А то, что после изучения основ программирования вряд-ли станешь писать нормальный код - по-моему и так очевидно.
          Цитата D_KEY @
          Да почему сложнее-то, когда классы с методами гораздо проще воспринимать и создавать, чем структуры + отдельные функции?

          Это сейчас кажется, что проще. А вот зеленому новичку так может не казаться. Я, например, не сразу понял, для чего вообще классы нужны. Верней, понял-то сразу (ибо в книге было написано), но прочувствовать это удалось только чуть позже, когда, фактически, к пониманию необходимости классов я сам пришел :)
          Цитата D_KEY @
          С++ позволит тебе обучить всему тому, что позволил бы обучить Си, плюс основам ООП и обобщенного программирования, исключениям, управлению ресурсами, да даже немного функциональщину можно затронуть посредством лямбд и функций высших порядков(если еще алгебраические типы данных появятся...), кроме того, позволит не обращать внимание на детали, когда это будет не нужно.

          Ага, а лисп, судя по прошлым местным холиварам, позволит еще больше. Но дело же не в возможностях языка. Просто я считаю, что для обучения (в том смыле, что я озвучил выше) все это не надо - для обучения писанию алгоритмов вполне достаточно простого Си. А остальное - уже после того, как более-менее научишься мыслить хотя-бы процедурно.
          Да, может возникнуть вопрос, почему тогда я также за Питон. На самом деле - точно не знаю :) Вполне возможно, что из-за его сочетания лаконичности, возможностей и вроде как не сильно большого количества подводных камней.
          Цитата D_KEY @
          Я не предлагаю пуститься во все тяжкие и изучать С++ во всей его полноте.

          Тогда зачем чуть выше про тонкости Си спрашиваешь? :)
            Цитата korvin @
            Как будто в джавашарпах кто-то мешает писать интерфейс отдельно. Или в плюсах — в одном месте.

            Нет, в плюсах ничто не мешает всё слепить.
            Но интерфейсы - это не то:
            1) Они ничего не говорят о приватных методах и полях, статических методах и полях. Т.е. в плюсах я просто открываю и вижу что у класса есть, это помогает читать реализацию.
            2) Они не призваны служить объявления и определения, они для полиморфизма. Из этого следует некислый такой WTF-эффект читающего, если я интерфейсы для каждого класса напишу.
              Цитата OpenGL @
              Это сейчас кажется, что проще. А вот зеленому новичку так может не казаться. Я, например, не сразу понял, для чего вообще классы нужны. Верней, понял-то сразу (ибо в книге было написано), но прочувствовать это удалось только чуть позже, когда, фактически, к пониманию необходимости классов я сам пришел :)

              Как только речь именно о структурах данных и операций над ними, классы и методы прямо ложатся на то, о чем идет речь. Я уже не говорю про абстрактные типы данных...
                Цитата D_KEY @
                Как только речь именно о структурах данных и операций над ними, классы и методы прямо ложатся на то, о чем идет речь.

                Так это инкапсуляция только.
                  Цитата OpenGL @
                  Ага, а лисп, судя по прошлым местным холиварам, позволит еще больше. Но дело же не в возможностях языка. Просто я считаю, что для обучения (в том смыле, что я озвучил выше) все это не надо - для обучения писанию алгоритмов вполне достаточно простого Си.

                  Будет достаточно - ничего не имею против. Я против того, чтобы изначально ставить ненужные рамки. Используем С++ и все. А уж что конкретно мы будем использовать - будет зависеть от программы курса, а не языка ;)
                    Цитата D_KEY @
                    Без создания лишних сущностей(интерфейсов) в явашарпах это сделать нельзя. Ты не путай две разные сущности с разделением объявления и определения одной и той же сущности.

                    Интерфейс есть всегда, хоть ты его явно прописываешь, хоть неявно в public-секции класса. Никакой путаницы.

                    Цитата OpenGL @
                    для обучения писанию алгоритмов вполне достаточно простого Си.

                    Для обучения алгоритмам используют псевдоязыки, в Си слишком много лишних подробностей и особенностей (ручное управление памятью, явная и при этом убогая система типов и прочие заморочки).
                      Цитата OpenGL @
                      и "быстродействия плюсов не хватает".
                      И ты им веришь?
                        Цитата MyNameIsIgor @
                        1) Они ничего не говорят о приватных методах и полях, статических методах и полях.

                        У тебя много сложных приватных методов и полей в классах? Может стоит подумать о рефакторинге? =)
                        А при каждом изменении приватных методов и полей (читай реализации) придется перекомпилировать все унаследованые классы? Какая-то хреновая модульность получается.

                        Цитата MyNameIsIgor @
                        2) Они не призваны служить объявления и определения, они для полиморфизма.

                        Отчего же? Интерфейс — это определение типа объекта.
                          Цитата korvin @
                          Для обучения алгоритмам используют псевдоязыки

                          Ты про блок-схемы? :D У языка, на котором учишься, должен же быть хоть какой-то интерпретатор-компилятор.
                          Цитата Qraizer @
                          И ты им веришь?

                          Нет. Но вполне допускаю, что они могут быть правы :D
                            Цитата OpenGL @
                            Но вполне допускаю, что они могут быть правы
                            Только в одном случае: кастомная реализация на каждый случай. При этом никто не мешает так же поступать в Плюсах, коли припечёт.
                              Цитата korvin @
                              Цитата D_KEY @
                              Без создания лишних сущностей(интерфейсов) в явашарпах это сделать нельзя. Ты не путай две разные сущности с разделением объявления и определения одной и той же сущности.

                              Интерфейс есть всегда, хоть ты его явно прописываешь, хоть неявно в public-секции класса. Никакой путаницы.

                              Ты путаешь отдельную сущность с объявлением сущности, а после этого говоришь о том, что нет путаницы? Хм...

                              Добавлено
                              В новой яве, например, вроде в интерфейсах можно указывать реализацию методов по умолчанию. Это выглядит достаточно нелепо на фоне твоих заявлений ;)
                                Цитата OpenGL @
                                Ты про блок-схемы?

                                Нет.

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

                                Да — мозг.

                                Цитата D_KEY @
                                Ты путаешь отдельную сущность с объявлением сущности, а после этого говоришь о том, что нет путаницы? Хм...

                                Что?

                                Цитата D_KEY @
                                В новой яве, например, вроде в интерфейсах можно указывать реализацию методов по умолчанию. Это выглядит достаточно нелепо на фоне твоих заявлений

                                Ява выглядит нелепо на фоне почти чего угодно.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (20) « Первая ... 2 3 [4] 5 6 ...  19 20 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1930 ]   [ 19 queries used ]   [ Generated: 27.07.26, 10:05 GMT ]