Pull to refresh
83
-0.1
Пётр @Error1024

Разработчик

Send message
Не хотел скатывается к личностям, апелляции к возрасту и т.д. это гнусно. Но автор поста в комментариях таки добил, поливанием языка Pascal грязью. Простите.

Чтож, давайте посмотрим на типичного «разоблачителя» школьной программы, с программированием на языке Pascal. По факту еще одно Бабушкина, который переизобрел школьную программу.

Вот наш герой, ультра профессионал C++/Python/etc., точно уверенный, что Паскаль уже никто не использует, а кто использует — только по инерции.
По факту — типичный школьник, которого бедного, заставляли в школе на Pascal массивы сортировать.
Предположительно, когда он пришел в Вуз, увидел «профессионалов» С/С++/Python/C#, которые загнобили за Пасцал. Автор потыкал C++, получил приятные ощущения внизу живота, от магии указателей, да и возможность прострелить себе колено — это совершенно другой уровень, это вам не школьный Паскаль, где компилятор просто не скомпилирует заведомо бредовый код.
После С/С++ — Паскаль для автора уже «детский сад». Смотрите — целый репозиторий крутых C++ проектов: github.com/AnarCom/imperative_tasks.
Правда в первом же открытом файле я странность обнаружил — автор уверяет что C/C++ для школьника — это просто, но будучи студентом возврат calloc не проверяет, в то время как возврат malloc проверяет, странно. И да — судя по коду автор уверен что освобождение памяти это лишний, лишь замедляющий программу код.
int main() {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int N;
    uint16_t *sums;
    scanf("%d\n", &N);
    sums = calloc(N, sizeof(uint16_t));
    char **lab = malloc(sizeof(char *) * (N + 1));
    if (lab == NULL) {
        exit(666);
    }
    for (int i = 0; i < N; i++) {
        lab[i] = malloc(sizeof(char) * (N + 1));
        if (lab[i] == NULL) {
            exit(666);
        }
    }
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            char l = 0;
            scanf("%c", &l);
            lab[i][j] = (char) (l == ' ');
            if (l == ' ')
                sums[i] += 1;
        }
        scanf("\n");
    }

    int a = calc_number(lab, sums, N);
    printf("%d", a);
    return 0;
}

Однако точно можно сказать: учителя преподающие Паскаль, люди, которые коммерческие и не коммерческие проекты на Паскале пишут, и указывают в комментариях что используют Паскаль — это так, детсадовцы, которые не понимают ничего ни в программировании, ни в школьной программе. А вот автор поста настоящий Профессионал(666)!
Ок, рейтинги (TIOBE Index — самый авторитетный рейтинг ЯП) — Паскаль обычно в 20ке самых популярных языков, периодически попадает в 10ку. В данный момент согласно рейтингам более мертвыми языками являются Rust, Dart, TypeScript, Kotlin, Bash. Упс!
Или под рейтингами имеется ввиду посты в пабликах ВК вида «ТОП 5 САМЫХ КРУТЫХ ЯЗЫКОВ ДЛЯ ХАКЕРА»?
Соотнесите процентное соотношение кода, написанного за последние 10 лет на Паскале и на условном Си, это про «мертвость» и «не актуальность».
Да на Си пишут больше чем на Паскале в 2021, однако так можно признать мертвыми еще 100500 языков. И где это соотношение можно увидеть, с пруфами? Чтобы сказать «да — не пишут на Паскале.
Так же ученые все еще программируют и поддерживают код на Fortran (или переписывают его) — становится ли он от этого живее — спорный момент. Мало того, ученые (почти) не цепляются за этот язык и с удовольствием его отказываются, так как стремятся к современным решениям.
Фортран активно используется в науке и не куда не пропадёт, модные Питоновские NumPy и Pandas внутри на Фортране частично написаны.
Мало того, ученые (почти) не цепляются за этот язык и с удовольствием его отказываются, так как стремятся к современным решениям
Где об этом можно прочитать?
Так что я не вижу противоречия между написанием кода на Паскаль и его мертвостью, даже если учитывать выпуск новых компиляторов и тд.
Т.е. несколько платных компиляторов Pascal, куча популярного софта написанного на Pascal, использование Pascal для обучения — этого недостаточно, чтобы язык был „живым“? А что тогда?
1) Любой современный Паскаль поддерживает сторонние библиотеки.
2) docwiki.embarcadero.com/Libraries/Sydney/en/System.Generics.Collections
А школьнику точно надо забивать голову такими кривыми и не нужными для обучения алгоритмам вещами как хидеры? Тем более в Паскале есть более красивая концепция модулей, как и во всех современных языках, кроме C++, где уже 30 лет модули все обещают добавить.
Безусловно, тут просто автор статьи хочет убедить всех, что в С++ это так же просто как и в Pascal, что явно не правда.
Интересное мнение о том, почему его ненавидят конечно. Я дал себе обещание не спорить больше в комментариях, но тут я просто воздержаться не могу.
(Возможно там и есть что-то хорошее — не буду скрывать), но основная «ненависть» (тут точно не это слово, но менять его не буду) не в реализациях Паскаля, а в том, что это Паскаль.
Вау, супер объективная вышла статья у вас. Статья про неправильную информатику в школе, где в качестве аргументов к тому, что Паскаль надо заменить на что-то более «модное» — высказывания вида «Ненавижу Паскаль, потому что это Паскаль». Ок.
С такими темпами мы можем учить на условном Ада/Алголе и прочем, и говорить, что его хейтят программисты за «функциональность» и «крутость».
Ох, знаете, если по языку Ада нет 100500 курсов на площадках типо ГикБрейнс или СкилФактори, это не значит, что язык мертв, или не нужен. Вы летаете на самолетах? Знаете, о том что в Airbus и Boeing софт на Аде написан и продолжает писаться? Однако с Адой то все понятно — опять Паскальный синтаксис вам глаза режет.
К Паскалю есть притензии на уровне «слишком много слов ради слов (end, begin и прочее)», переменные в начале
А к C/C++/Python/Go нет претензий никаких, они идеальны?
или поддержания его (в некоторых версиях) по-факту для школы (и да я знаю про написание на нем продуктов, но все же).
А что плохого в том что есть удобная среда для школьников и студентов? PascalABC.Net — ДЕЙСТВИТЕЛЬНО создан для обучения, и хорошо выполняет свою функцию, впрочем его и для науки используют.
Для меня стало удивлением насколько «сообщество» программистов на Паскаль стало защищать свой язык. Если он нуждается в такой защите возможно с ним что-то не так?
А вы попробуйте написать статью с посылом «Python — устаревший и мертвый язык», а я посмотрю на комментарии к этой статье и на вашу карму.
Проблема не в школьной программе и не в учебниках. Проблема в учителях, а точнее в условиях их работы. Обладая знаниями, необходимыми для преподавания школьной информатики на профильном уровне, человек автоматически обладает знаниями, достаточными для трудоустройства как минимум джуном на том же Питоне — только вот зарплаты в школах многократно меньше (за редкими исключениями). Выводы, мне кажется, очевидны.

Имхо, тут такая штука — не каждый кто может, хочет становиться джуном на Питоне, некоторые, как ни странно, хотят быть учителем.
То, что постоянные наезды на Pascal, вида «не используется», «игрушечный» и т.д. не имеют ничего общего с реальностью, и уже достали тех, кто использует этот язык. А мне просто нравится указывать на логические ошибки в этих наездах :)
А школьникам точно будет достаточно просто объяснить что такое вектор в C++? Ведь тогда придётся и тему шаблонов затронуть…
Кстааааати, если вы не знаете, то Dev-Cpp, который вы рекомендуете для «сурьезного» обучения программированию написан на «школьном» Object Pascal :)
Если нет разработчиков на Delphi/Pascal, то кто все эти люди, про которых посты, и откуда берутся комментаторы, которые защищает этот язык?
Лол, а программирование рядовому пользователю нужно? Боюсь, что большому проценту людей будет полезным знание о том, как перекрашивать ячейку по условию в экселе, нежели «как вытянуть время из интернета согласно некой документации по языку си».
А что мешает заниматься на Pascal дополнительно, и чем он менее современный чем например C?
Хочется ответа адекватного, а не «на форумах прочитал что бегин енд уже не модно».
А можно ту самую документацию по языку Си, которая позволяет получить время из сети?)
Си, на уровне алгоритмов интуитивно понятен и прост, так как имеет с Паскаль +- одинаковый функционал (единственное с передачей массивов в функцию). И синтаксис там простой — просто вместо END пишешь скобочки.
А строки и объединения в голом Си тоже есть?)
Да, нужно контролировать типы данных которые ты считываешь/пишешь, но с этим можно справиться.
А зачем, если это может делать компилятор в языке с очень строгой типизацией?
Про ЕГЭ — если вы про 23 задание которое было в прошлом году, то это бред сумасшедшего (в плане давать это школьникам) — возможно вы думаете что люди в этом разбираются, когда готовятся — нет( — они просто заучивают алгоритм и все, а после экзамена забывают. Мы можем сколько угодно усложнять ЕГЭ, но знаний этим мы не добавим — только сделаем так, что дети зазубрят чуть больше, а потом забудут.
Лол, почитайте последние посты по устройству на работу в FAANG, то самое заучивание: habr.com/ru/post/569522, вполне себе реалистичный и жизненный кейс.
а зачем тратить время на изучение мёртвого языка?
почему тогда не Лисп? ну или Smalltalk — хотя бы ООП понимать будут

Лол, на Delphi/ObjectPascal есть куча успешных продуктов.
В результате опроса выяснилось, что большая часть студентов учила в школе Pascal. Я не противник этого языка, но считаю что пора бы уже что-то менять. Зачем учить школьников языку, который им не пригодится. Давайте просто сменим ЯП на современные, например Python (для любителей выражать свои мысли без заморочек) и Си/С++ (для любителей строгости и лаконичности). В целом тут может быть почти любой ЯП. В целом тут можно долго обсуждать про то, что важнее навыки, а не реализация, но я считаю что если мы не учим гуманитариев счету только на римских цифрах, то почему мы не делаем так же с информатикой.
Смотрю на хабре неделя ненависти к Pascal. Можно указать конкретные проблемы языка, в разрезе обучения «программированию» и «алгоритмизации», а не «тяп—ляп подключили AAA подключили BBB — поздравляю уважаемые ученики, вы написали свою нейросеть»
Давайте просто сменим ЯП на современные, например Python (для любителей выражать свои мысли без заморочек) и Си/С++ (для любителей строгости и лаконичности).
И да, когда Си — стал «современным» языком, C и Pascal — ровесники.
Напишите преимущества Паскаля перед Питоном или Го.
Ок, преимущества Object Pascal перед Go:
  • Наличие дженериков
  • Наличие свойств
  • Низкоуровневая работа с памятью
  • Наличие вменяемой библиотеки для GUI «из коробки»
И т.д.
Современные языки лучше. Сегодня у нас есть Питон с numpy, scipy, simpy. А на вашем Паскале, чтобы рассчитать фильтр низких частот или решить уравнение, надо все писать с нуля.
А вы посмотрите на исходный код этих numpy, scipy, simpy, pandas и т.д. — они внутри вообще на фортране и C (без плюсов) написаны, это же вообще выходит ужас какой-то, даже не москвич, а лошадиная повозка!
Ах да — Pascal надо сравнивать не с C++/Python/Java и т.д., а с его главным конкурентом в момент популярности — с языком C. Назовите мне преимущества Си перед Питоном или Го.
Современные языки надо сравнивать с Object Pascal/Delphi, там уже не все так однозначно выходит.
А Object Pascal когда стал таким языком? Из того что активно развивается сейчас: минимум 2 свободных и 2 коммерческих реализации сразу на ум приходят.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Software Developer, Траблшутер