Как стать автором
Обновить

Комментарии 62

НЛО прилетело и опубликовало эту надпись здесь
Мне он не нравится, было много конфузов, компилятор глючный.
Я не часто видел что бы его в школах использовали, честно.
Сам использую консольное приложение в делфи.
Гм. А можно поинтересоваться где-он «глючный»? Не троллинга ради, просто активно им пользуюсь и не замечал. Да, есть места где настройки «по-умолчанию» не такие как в Delphi, но глюков ей-богу не видел
Bug-list на сайте freepascal.org довольно-таки большой. У меня были нелепые проблемы обработки данных (просто неверные подсчеты, которые в TP и BP были верными и совпадали с ручной проверкой).
На меня повлияли слова моего учителя, который тоже считает его «глючным», так что, не могу спорить. возможно вы и правы.
Не стоит слушать такого учителя.
НЛО прилетело и опубликовало эту надпись здесь
Это смотря как писать :)
Делал небольшую програмку, тысяч 8 строк кода. Исполняемый файл — 170кб.
Правда исходник не был платформонезависимым.
А один товарищ тут писал, что школьники только семки хавают и матеряться )
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Хоть программа и маленькая, а все таки соблюдать правила оформлени кода стоит.
Только сейчас понял почему мои отступы были «сьедены», поправил.
А вот у Вас в примере все строчки откомментированы, кроме первой. А вот Вы лично можете объяснить ее назначение?
Подозреваю, что нет :(
Если беретесь кому-то это объяснять (а не впаривать), пожалуйста, отвечайте за каждое слово.
Я не обидеть хочу, а заставить задуматься и самосовершенствоваться. Не отрицаю, что все мы не без недостатков. Учитесь, отвечайте на чужие вопросы ( ==учите) — это один из лучших способов более глубокого понимания материала. :)
Почему же? Это заголовок программы (необязательный).
Ну, необязательный он далеко не во всех компиляторах паскаля.

Если мне не изменяет память, то он определяет точку входа в случае нескольких файлов (как main в Си). А если верить Вики, то еще и может содержать список внешних файловых дескрипторов, которыми оперирует программа.
Спасибо, только что для проверки своих знаний заглянул в 2 учебника — такого не видел.
Да, а еще оно создает подобие «пространства имен». И с program можно функции из этого файла вызывать так:
program p1;
begin
p1.myfunc(239);
end.

Иногда это бывает полезным
Есть мнение, что обучение программированию лучше не начинать с Паскаля.
Согласен, а то потом выходят Дельфисты, а теперь вот по статистике C#. Со всего потока у нас вышло только 3 С++ программиста. Большинство оказалось на .NET (потому что лабораторные просто было делать на Windows Forms).
И правильно.
Они потом будут делать бизнес-приложения, а вы на кривых шаблонах обфускаторы писать :)
Не смешно, мы занимаемся более интересными вещами и без шаблонов :-P Как раз такой подход убивает желание разбираться в глубинах, и присутствует полное непонимания работы .net как таковой. И вот только когда хорошо попресуют на собеседованиях люди начинают открывать Рихтера и ко.
Какой именно подход? Делать лабы в универе? Ну так не сомневаюсь, эти занятия вообще по большей части «для галочки», учитывая отношение к ним.

Однако это вина людей, а не платформы.
Лично я вот питаю очень нежные чувства к C#, потому что на нем можно быстро и качественно решить подавляющее большинство задач. Но если будет нужно, то не побрезгую и на плюсах нативный модуль написать, и в ассемблерном листинге поковыряться.
Именно лабы, которые в основном предусматривают написание какого-либо GUI. Вот так и получаются горе-программисты, которые весь код программы пишут в обработчиках GUI, не смотря на курсы ООП и прочего. Только лишь со временем (курсу так к 5-му) приходит понимание того как нужно делать.

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

Я например прошел путь basic -> pascal -> C#/ C++, и переориентироваться на С++ после паскаля было очень сложно.
Но да, вы правы, платформа не причем. Она отлично подходит для того круга задач, где ее используют. Виновна лишь система нашего образования, о чем и писал человек выше :)
Почему же? Какая разница, на каком языке учиться алгоритмы реализовывать?
Алгоритмизацию можно выучить и без паскаля. У нас к примеру помню был предмет такой «Алгоритмы и структуры данных». Листик, ручка и блок-схемы или Action Diagrams.
Интересно, и как вы предлагаете увидеть результаты работы своих алгоритмов?
А если алгоритм чуть сложнее выборки из массива?
А если это олимпиадные задачи?
Между прочим, большинство олимпиадников именно на паскале задачи и решают. И вырастают из них отнюдь не «делфи-программисты», как там чуть выше писали.
> как вы предлагаете увидеть результаты работы своих алгоритмов?
Я предлагаю? Мы так занимались. Считали вручную конечно же, если это надо было.

> А если алгоритм чуть сложнее выборки из массива?
Action Diagrams намного лучше себя чувствуют на больших алгоритмах, нежели блок-схемы.

> Между прочим, большинство олимпиадников именно на паскале задачи и решают.
Вы слишком категоричны :) Про делфи программеров — это пример отнюдь не про всех кстати, сам более-менее серьезно обучатся программированию начал с паскаля. Потому теперь его и не рекомендую.
Отчего же, я не категоричен, я просто хочу настоять на том, что паскаль вполне подходящий язык для обучения программированию. Я бы даже сказал среди альтернатив (которых по сути две — бейсик/си, если не рассматривать скриптовые языки) он наиболее подходящий вариант.
Проблема Паскаля в том, что он является классическим примером строго типизированного императива, что, при изучении программирования как такового, напрочь убивает любые альтернативные парадигмы.
По моему, это полная чепуха.
Паскаль позволяет сделать все то, что можно сделать при помощи других «альтернативных парадигм», как вы выразились
Можно, но вы не сможете показать на чистом Паскале концепцию функционального программирования, метапрограммирование, прототипное программирование, duck typing, tail recursion и еще вагон всяческих фишечек.
А вы можете привести пример языка, на котором это все реализуемо? Если учить паскаль, это не значит только им и ограничиваться.
могу) а вы?
А я все-таки более склонен думать, что С — более подходящий язык, потому как очень простой (в отличии от С++), но не ограничивает мышление (возможны всякие трюки, с теми же указателями).
А в Паскале указателей нет чтоли? И нету «трюков» с ними?
Есть, но в паскале — это чужеродный инструмент, а в С без него не обойтись (если к примеру хочется передать параметр не по значению) и т.д.
С какой радости базовый тип языка — это чужеродный элемент???
Я тут не буду спорить. Тут же играет роль, как человека учат. Если взять все попавшиеся мне книги про Паскаль — нигде об указателях особо не было информации. Ни где использовать — ничего. Также учат и людей в университете. Да и вообще, судя по конструкциям языка, как раз и складывается впечатление, что указатели туда добавили намного позже.
Не знаю, где вас учили и какие книги вам попадались, но про указатели в Паскале я знал класса с 8го, и про них же было написано во всех книгах.
Иначе каким образом вы собирались поместится в 64 килобайта сегмента данных, ну еще плюс/минус стек?
Указатель в Паскале — чужеродный элемент. По сути это trick, который ввели для достижения компромиса между строгой типизацией, процедурным стилем и возможностью писать меньше повторяющегося кода для обработки данных.
Да ладно? А на чём же тогда в ваших книгах реализованы связанные списки, деревья и прочие структуры?
Спасибо. Взностальгнул.
Школа, школа, я скучаю :)
Как сейчас помню — ClrScr был жутко тормозным, поэтому чистил экран прямо в памяти видеокарты :)
Ух, как же ж давно это было.
А мышка! Мышка через ассемблерные вставки… :)
НЛО прилетело и опубликовало эту надпись здесь
На этой ностальгической ноте включу, пожалуй, фидошную песню хакеров :)
Угу, и бесконечный цикл записи random в array [1..4000] absolute $b800:0 замечательно выглядел :)
Поправочка: ClrScr чистил память через функции прерывания INT 10h, поэтому и был тормознутым. Прямая адресация видеопамяти на тот момент была самым шустрым способом отобразить что-либо на экране. ;-)
А в чём поправочка-то? :) Если необходимо целиком очистить экран, то пишем в видеопамять пробелы по всему экрану. Это быстрей, чем ClrScr ;)
Оппа, неправильно прочитал вашу фразу) Показалось, что написано мол «ClrScr был тормозным, потому что писал напрямую в видео память». Спать. Спать. Power Off.
Строго говоря, была булевская переменная для перенастройки записи ClrScr на видеопамять.

И была она в модуле CRT.
Мда… Паскаль — самый красивый язык (ИМХО)
НЛО прилетело и опубликовало эту надпись здесь
самый красивый — лисп.
после ночи над ним скобочки становятся невероятно выразительны. ни с каким другим языком такого эффекта не было =/
То что я 6 лет назад начал изучать программирование с паскаля (точнее с дельфи) чуть не отбило во мне желание вообще учится чему-то в этом направлении. Слава богу, что я решил самостоятельно изучать другие языки.
Упс, «учиться», конечно.

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

Но дельфи в этом плане — худшее решение. Он далеко прост, многие вещи в нем сделаны нелогично, ну и конечно просто невероятная избыточность кода в исходниках даже очень маленьких программ. Кроме того, по моему мнению, дельфи — неактуален.
Весьма заблуждаетесь, Делфи (в смысле языка object pascal, а не оболочки), а также free pascal на данный момент достаточно актуальны.
Не помешало бы в батник и русификатор засунуть, ато на хабре вы комменты по-русски пишете. а вот в турбо паскале такой финт не пройдет :)
что за минусёр тут прошёлся?
Ностальгия… Спасибо автору, +.
Мне интересно когда вам начинали преподавать курс паскаля вам объясняли почему?
С какой целью выбран именно данный язык, для постижения «основ»?
Помню когда-то в школе когда нам попытались начать преподавать программирование на основе dos/консольных приложения я своему преподавателю очень доходчиво объяснил почему на данный момент я со знаниями pascal и тд не буду востребован как специалист. Что на данный момент подобные практики скорей отобьют мое желание в дальнейшем заниматься программированием…
кстати, отменный отечественный проект «современного» паскаля: pascalabc.net/
удобная ИДЕ, современные синтаксические плюхи, русскоязычная справка.
в общем — все что нужно для изучения паскаля в школах.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории