Блог пользователя Han_ksp

Автор Han_ksp, 14 лет назад, По-русски
Как известно, у нас, в России основным языком в школах остаётся пока ещё Pascal; Да и наверно останется ещё надолго; Для любого программиста немаловажно удобство работы, которое может обеспечить IDE; И здесь встаёт вечный вопрос - что же лучше?

Скажу о тех средах, которые использовал в своей работе

Если работа идёт в Linux, то здесь с большим перевесом выигрывает Geany
Она проста в использовании, почти не нуждается в настройке, и визуально приятна; Даже имеет некое сходство с ABC
Отличается выразительной подсветкой синтаксиса
Главным её недостатком является отсутствие debug'а

Pascal ABC - наверное самая популярная у начинающих IDE; Многие выбирают её из-за боязни консоли и встроенного компилятора. Для больших программ достаточно неудобна и однотонна

О "достоинствах" и недостатках Turbo или Borland Pascal большинство из нас знакомо не по-наслышке; Однако здесь с debug'ом проблем обычно нет, наглядный файловый ввод-вывод; Его конкурент Free Pascal - достойная замена "старика", поддерживает также русский шрифт авто подстановку
  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
PABC еще и глючный !!
А почему нет упоминания Delphi как IDE для паскаля?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Я использую Free Pascal, хотя для начинающих удобнее будет Turbo Pascal
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Чем удобней? Да и 64-битных типов и динамических строк будет не хватать.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      так что же-сразу переходить на JAVA если не хватает:) зато в free насколько я знаю можно большой массив запихать
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      В отладчике fp лагов много. А дописать несколько нулей и поменять longint на int64 занимает меньше полминуты.
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Geany всем хорош, только функции сворачивает плохо, оставляет локальные переменные.
Гхм. Хотя это похоже всюду. Надо будет создать IDE мечты как-нибудь.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А что такое IDE мечты для тебя?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Geany мне тоже нравится, но вот дебагера там нет. Если удалось прикрутить, то пожалуйста раскажите как.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Мне из паскаля понравился только delphi когда я еще на паскале писал, и то только потому что там нормально в общем-то можно делать проекты. Но о паскале не надо. Это-прошлый век. Переходите люди на нормальные языки:)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    И на чём ты предлагаешь учить школьников с нуля?
    • 14 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      Как вариант, конечно Basic, но лично для меня он не удобен для решения олимпиадных задач

      JavaScript тоже возможен - о типах данных можно забыть
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Да, согласен, javascript и Basic подходят. Есть ещё такая среда Greenfoot для Java, тоже хороша для этого.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      О Delphi не написал, потому что это всё-таки более расширенный отдельный язык, просто в приложениях для консоли синтаксис в основном паскалевский
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        по идее Visual studio тоже более расширенный язык чем надо:)
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      С, затем С++
    • 14 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      All hail LISP!
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      на с++. Но без классов и прочего ООП. Тогда с++ не сильно сложнее pascal, на мой взгляд
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Имхо, создание проектов - не то, что требуется в олимпиадном программировании :)
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      Ну это я понимаю; имхо просто весь язык паскаль ушел именно в создание проектов; паскаль очень неудобен для олимпиадного программирования по многим причинам-нет встроенной сортировки(а написание нормальной за логарифм сортировки на олимпиаде займет минут 10) , нету таких контейнеров как, например, vector в С++(из за чего сложно хранить разреженный граф), ну и целый ряд прочих мелочей из-за которых очень неудобно пользоваться паскалем
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        sort в С++(из за чего сложно хранить разреженный граф)

        видимо vector

        (а написание нормальной за логарифм сортировки на олимпиаде займет минут 10)

        Я знаю людей которые пишут QSort за 1,5 минуты.
        • 14 лет назад, # ^ |
            Проголосовать: нравится -6 Проголосовать: не нравится
          Согласись, мы оба знаем тест на котором у qsort случается epicfail)))
          • 14 лет назад, # ^ |
              Проголосовать: нравится +6 Проголосовать: не нравится
            Это лечит рандом. Против рандома такой тест не построишь.
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Хеши иногда падают даже если хорошо написаны
              • 14 лет назад, # ^ |
                  Проголосовать: нравится +3 Проголосовать: не нравится
                Видел только 1 задачу где не проходил хеш. Лечилось 2 хешом и модулями не 2^64 а простыми порядка 10^9.  Задач в которых падает  рандомный qsort тоже.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Списки смежности без векторов пишутся не более 5 минут, да и багов наделать в них сложно:-)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Есть нормальные языки, которые слишком медленны для олимпиад\не распространены в тестирующих системах.
14 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится
Вроде бы здесь уже обсуждалось это.. Паскаль очень лёгок для обучения, скорость работы его прекрасна, отладка стабильно хорошая, особенно если сюда приплетать Delphi -> то это вообще сказка, никаких тормозов, глюков, скорость потрясающая. 

"паскаль очень неудобен для олимпиадного программирования по многим причинам-нет встроенной сортировки" - кто вам такое сказал? Удобен, то что там нету сортировки? Ну вообще если на то пошло то допустим в Delphi есть встроенные структуры, как и быстрая сортировка.

"а написание нормальной за логарифм сортировки на олимпиаде займет минут 10" - ошибаетесь, пишется это 1-3 минуты, допуск ошибок минимален, руки набиты на каждый вариант сортировки.

"нету таких контейнеров как, например, vector в С++" - вектор медленный если его использовать неверно, памяти ест в два раза больше, я не говорю что он не удобен, он прекрасен, но что мешает на паскале заменить вектор чем-то ещё?

"из за чего сложно хранить разреженный граф" - линейный список прекрасно подходит для этого.

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

"Согласись, мы оба знаем тест на котором у qsort случается epicfail)))" - когда допустим мне рассказали что можно выбирать элемент не по середине, а рандомно, то всё стало на свои места, и после этого Qsort не слетал, хотя и до этого всё хорошо было.

"Хеши иногда падают даже если хорошо написаны" - собственно написанный хеш не хуже set, или map. Да set и map это красота и удобство, но блин твой хеш работает быстрее, ошибок там тоже минимум, просто захешировать каким-либо образом (в чём прелесть ты сам выбираешь каким) объекты, и вперёд ищи всё за O(1) (не считая конечно время на узнавание хеша). 

Соглашусь все современные языки хороши своими встроенными структурами, краткостью написания, красотой синтаксиса (C++, C#, Java, Ruby etc ...). Но пока паскаль тоже язык, лёгкий для обучения, который развивает твои способности придумывать самые удивительные структуры, особенно радость когда это работает :o))

Особенно тот же С++ сложно сразу учить, так как там очень много не понятного для первоначального освоения.. Я сам его сейчас учу ;o)

Не будем так же забывать что на паскале люди порой пишут быстрее чем те же на С++, и становятся чемпионами различных соревнований :o) Чемпионами мира например ;o)

Не обижайте паскаль :))
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Понимаете у меня мнение такое: те 4 года что я писал паскаль/делфи это 4 потерянных года на мой взгляд. С того момента как я начал писать на С++ я уже про многие вещи не думаю. Мне не нужно уже думать, как писать тот же map-я его подключу и не буду парится как там что внутри происходит. Он уже кем-то написан. Если я его сам буду писать есть риск что наложаю
    Вектором очень сложно пользоваться неправильно.Да, я погорячился когда сказал что qsort пишется 10 минут, согласен, действительно минуты 2-3. Но ведь лучше его совсем не писать:) А уж насчет "собственного чуда" пусть его лучше не будет а будет АС на 5 минуте вместо АС на 15-й). Собственному чуду предпочитаю меньший Penalty на контестах:).
    То что С++ более сложен с точки зрения начала-может быть и так, но по-моему одна степь. На худой конец юзай обычный С для начального уровня:). К тому же уже достаточно часто С++ начинают учить еще в школе.
    Про хеши я и не говорил, что они плохи, я ими сам люблю пользоваться. Однако бывают падают если неудачный модуль для них выбрать, при этом неудачный он будет только в данном контесте а в остальных прокатит. 
    Про чемпионов мира. Геннадий, все то что я о нем знаю и слышал-это уникальный человек; когда я начинал писать тогда еще мало кто писал на С++, а Гена начал писать еще раньше. Разумеется, он знает уже все об этом языке, однако думаю что даже Гена все-таки перейдет на С++ и Java.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Моя речь шла только о том что паскаль язык хороший, простой, и легко обучаемый.
      Так же никто не отрицает существование других языков, но для детей будет на мой взгляд всегда проще паскаль для начального уровня понимания что такое программировать и с чем это едят. Если конечно в 2030 году дети с 2 лет не начнут сами изучать Си++. На этом тема закрыта :))
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      "Про хеши я и не говорил, что они плохи, я ими сам люблю пользоваться. Однако бывают падают если неудачный модуль для них выбрать, при этом неудачный он будет только в данном контесте а в остальных прокатит."
      У меня хеши не падают, я считаю два 32-битных хеша по простому семи-восьми значному модулю.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
У меня такая проблема. Я использую Free Pascal, но программы на нем очень долго запускаются, секунд 10. Это очень раздражает, по идее это должно занимать не больше секунды. В чем может быть причина?