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

    P.S.
    За невозможность создавать нормальный ГУЙ в 2002г. на ТР 7 я своего учителя на Паскале вспоминаю... не добрым словом... год жизни в пустую...
      Цитата korvin @
      Цитата D_KEY @
      Ты путаешь отдельную сущность с объявлением сущности, а после этого говоришь о том, что нет путаницы? Хм...

      Что?

      Разговор зашел о разделении объявлений и определений. В качестве аналога ты предлагаешь заводить еще одну сущность - интерфейс. Ну и еще одним доводом против твоего предложения является тот факт, что так никто не делает(в отличие от объявлений/определений в языках, которые поддерживают такую возможность).

      Цитата
      Ява выглядит нелепо на фоне почти чего угодно.

      Ну возьми trait'ы в scala. Там можно задавать реализацию. Или еще более отдаленный пример - тайпклассы в Haskell. Кстати, их ты тоже предлагаешь их использовать в данном контексте? Я бы рассматривал выделение объявлений как расширенный вариант списка экспорта модуля или что-то в таком духе.

      Добавлено
      Цитата Keepun @
      За невозможность создавать нормальный ГУЙ в 2002г. на ТР 7 я своего учителя на Паскале вспоминаю... не добрым словом... год жизни в пустую...

      GUI как раз неважен, ИМХО. И к программированию прямого отношения не имеет.
        Начинал... ну, наверное, это программирование в машинных кодах на Электронике Д3-28. Причём сразу в боевом режиме - обработка статистики производства за несколько лет и прогнозирование на будущее. И ведь заработало, практически сразу...

        Паскаль - только что посчитал - был шестым. Хороший? нет. Сказать, что ненавижу - тоже нет. Такой средненький на то время язычок, главным образом от того, как там сделана работа со строками. Это уже много позже к нему начали прикручивать турбо-вижн и остальные прилады.

        Дисциплинирует? из шести начальных моих языков только в одном можно (можно!) было не сильно париться за переменные и протчая - GW-Basic. Остальные пять - Паскаль, фортран, и три ипостаси ассемблера (машинные коды ведь тоже он), попробуй там не озаботься.


        Нет в нём ничего такого уникально-образовательного. Мне вообще кажется, что его как образовательный просто кто-то красиво спозиционировал (или как сейчас говорят - пропиарил). Тогда ведь всё начиналось с абсолютного нуля, с чистого листа, аналогии с программированием на БЭСМах если и просматривались, то весьма слабенькие... вот кто-то и подсуетился. А все повелись. ИМХО.
          Akina
          Всё правильно. Дейкстра создавал паскаль как работу над ошибками это был его 3 язык. Основная концепция паскаля была то что он был одно проходным. А потому простым откуда видиммо и родилось, то что ему надо учить. А если учесть что он занимался им в вузе, то понятно что ему как-то надо было оправдать его создание.
          Кстати паскаль не сильно отличается от Си. Разве что в Си были другие концепции положены. Всё есть функция. И работа с указателями.

          Правда практика критерий истины. И реалии таковы что реализации играли существенную роль. Откуда в Borland Pascal паскаль появились указатели. Да и работа со строками. Собственно и в Фортране ввод вывод не был стандартизирован. А сейчас там и ООП есть.
          И боже упаси читать стандарта SQL.

          Макросы в ассемблере появились тоже для создания описания функций и локальных переменных. Приближая ассемблер к высокоурожайным языкам.
          А так как Си создавался как копия ассемблера, то первоначальное описание функции было другим. А потом только стандартизировалось в то, что имеем.
            Цитата korvin @
            У тебя много сложных приватных методов и полей в классах? Может стоит подумать о рефакторинге? =)

            При чём тут сложные? Я хочу удобно увидеть всё, что есть в классе, а не в публичном интерфейсе его экземпляра. Просто увидеть, сжато и коротко.
            С такой возможностью гораздо удобнее поддерживать код.
            Цитата korvin @
            А при каждом изменении приватных методов и полей (читай реализации) придется перекомпилировать все унаследованые классы?

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

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

            Добавлено
            Цитата Pavia @
            Дейкстра создавал паскаль

            Вирт же.
            Цитата Pavia @
            Разве что в Си были другие концепции положены. Всё есть функция.

            Нет там ничего подобного. Всё функция - это функциональщина. А сишечка - обычный процедурный язык.
              Цитата Pavia @
              Дейкстра создавал паскаль как работу над ошибками это был его 3 язык.

              Паскаль создавал Вирт, который после Паскаля не прекратил свою "работу над ошибками", в результате чего появились Модула, Модула-2, Оберон и Оберон-2(от которых пошли компонентный паскаль и др. языки, но это уже другая история).

              Добавлено
              Цитата --Ins-- @
              Цитата D_KEY @
              Но тут проблема в том, что в новых языках так не делают...


              И у меня нет рационального объяснения для этого, почему в новых языках так не делают

              Кстати, Вирт и сам убрал это разделение при переходе с Модула-2 на Оберон.
              В статье где он поясняет, почему он убрал/добавил то или иное средство, он ничего по этому вопросу не прояснил...
              Цитата
              Интерфейсная и исполнительная
              частислиты воедино: имена, которые должны быть видны в
              клиентных модулях, т.е. экспортируемые идентификаторы,
              помечаются специальными знаками и они обычно предшествуют
              описаниям тех объектов, которые не экспортируются. При
              компиляции генерируется измененный объектный файл (object file)
              и новый символьный файл (symbol file). В последнем содержится
              информация об экспортируемых объектах, которая впоследствии
              используется при компиляции модулей-клиентов данного модуля.
              Сообщение отредактировано: D_KEY -
                Цитата korvin @
                Да — мозг.

                Видеть результат выполнения своей программы на компе тоже надо. Иначе велик шанс, что обучаемый просто не заинтересуется программированием.

                Добавлено
                Цитата Qraizer @
                Только в одном случае: кастомная реализация на каждый случай. При этом никто не мешает так же поступать в Плюсах, коли припечёт.

                Думаю, нельзя сбрасывать со счетов то, что компилятор Си более простой, чем С++. Поэтому запросто может быть так, что под ту платформу, что ты пишешь, С++ компилятор хоть и есть, но генерит плохой код.
                  korvin похоже и вправду не понимает чем синтаксическое отделение интерфейса от реализации отличается от интерфейсного типа
                    Цитата MyNameIsIgor @
                    Да фигня это всё. Лично меня в плюсах разделение объявления и определения очень радуют.
                    А в этих джавошарповских портянках фиг разберёшься.

                    Это самое, а есть ли в шарпе кодеэксплорер как в дельфях? Типа чтоб сам сбоку выписал что там в классе есть.
                    А то сидишь в кокретном методе и вынужден сбоку держать дубль окна со сверутыми объявлениями(((
                      Цитата Keepun @
                      За невозможность создавать нормальный ГУЙ в 2002г.


                      Гы, а я как раз в том же 2002-м на паскале запилил свой гуй-фреймворк для графического (не текстового) режима DOS, в ту пору, когда еще не был избалован готовыми подобными фреймворками. Считаю, что это внесло огромный вклад в обучение программированию, по крайней мере - гораздо больше, чем если бы просто формошлепил на готовом. В обучении без изобретения велосипедов никуда
                      Сообщение отредактировано: --Ins-- -
                        Цитата --Ins-- @
                        Считаю, что это внесло огромный вклад в обучение программированию

                        Вряд ли огромный. Сомневаюсь, что в ходе данной работы удалось познакомится с реализацией большого количества алгоритмов и типов данных :)

                        Добавлено
                        Вообще, я убежден, что наибольший вклад в обучение программированию вносит чтение кода, а не его написание.
                          Цитата D_KEY @
                          Разговор зашел о разделении объявлений и определений. В качестве аналога ты предлагаешь заводить еще одну сущность - интерфейс

                          Не надо заводить, она и так есть.

                          Цитата D_KEY @
                          Или еще более отдаленный пример - тайпклассы в Haskell. Кстати, их ты тоже предлагаешь их использовать в данном контексте?

                          Крайне неудачный пример, в Хаскелле нет классов.

                          Цитата MyNameIsIgor @
                          Просто увидеть, сжато и коротко.

                          Там выше скриншот был.

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

                          Какой программы? Ты же про алгоритмы говорил.

                          Цитата --Ins-- @
                          korvin похоже и вправду не понимает чем синтаксическое отделение интерфейса от реализации отличается от интерфейсного типа

                          Да ну? Может ты расскажешь?
                            Цитата Мяут-Настоящий @
                            Вообще, я убежден, что наибольший вклад в обучение программированию вносит чтение кода, а не его написание.


                            Но только после написания своего :D Иначе читать бесполезно. Для того, чтобы лучше понять полезность того или иного подхода и решения, нужно самому до него созреть, а потом узнать как это называется и как делается правильно

                            Цитата korvin @
                            Да ну? Может ты расскажешь?


                            Да ну нафиг, тут было попробовали - как горох об стену. Первая и последняя попытка. Объявление интерфейса модуля/класса как в Паскале/Дельфи - это чисто синтаксическая вещь. Цель - чисто визуальное отделение объявлений и заголовков от реализации для лучшей читаемости кода. Интерфейсный тип данных в свою очередь - это новая сущность, новый тип. И цель у него совсем другая - не визуальное отделение объявлений от реализации, а предоставление клиенту набора доступных ему методов. Вовсе не для читаемости кода, а для совершенно конкретных практических соображений. Оно вообще никак не пересекается с целью синтаксического отделения потому как лежит совсем в другой плоскости потребностей, так что использовать его для этой цели - это забивание гвоздей микроскопом. Мало того, что микроскоп используется не по назначению, так еще и хреново гвозди забивает - нельзя с помощью интерфейского типа отразить объявления целого ряда членов, о которых было сказано выше (протектед, приват, статик и т.д.)
                            Сообщение отредактировано: --Ins-- -
                              Цитата
                              Цитата
                              Видеть результат выполнения своей программы на компе тоже надо. Иначе велик шанс, что обучаемый просто не заинтересуется программированием.
                              Какой программы? Ты же про алгоритмы говорил.

                              алгоритмы - алгоритмами, но начинающему очень полезно наглядно видеть то, что он делает. Мало кому приносит удовольствие решать академическую задачу с вводом двух чисел в консоли и последующим выводом туда же.
                              Лично у меня был дельфи (5й) в институте (первым, был и асм, но позже), и по началу меня бесило что я не мог сразу разобраться со св-вами (да, нам на первых парах рассказывали про VCL) и понять как сделать процедуру. А когда разобрался - дальше я уже развивался сам, это был лишь толчок к самообучению, и к концу курса я уже сам все изучал в практическом программировании, институт лишь подкидывать задачи по алгоритмам. И насколько я знаю из моей группы больше никто не пошел дальше (по крайней мере в проф.деятельность). Небыло бы удобного гуя - и меня бы это не заинтересовало, торговал бы сейчас китайским товаром или стоял в цехе за станком. А главное в институте - не научить алгоритмам, а научить учиться дальше, подтолкнуть и вызвать резонанс, дальше учащийся уже сам попрет. Программированием можно заниматься "для себя" когда задача интересная или ее делать интересно. Кому интересны академические задачи? 99% нужны чтобы сделать, сдать лабу и забыть.
                              Банальные алгоритмы заполнения матриц и операций над ними гораздо привлекательней выглядят в GUI, а не в архаичной консоли и выводом в тестовый файл
                                Цитата korvin @
                                Какой программы? Ты же про алгоритмы говорил.

                                Той, которую пишешь, обучаясь реализовывать алгоритмы. Интерпретатор "мозг" для этого не очень удобен.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (20) « Первая ... 3 4 [5] 6 7 ...  19 20 все


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