LINUX.ORG.RU

Это же день траура. ДенЬ рождения нинужности.

Даже PL/SQL базируется на Ада, а не на поцкалле.

GP
()

Еще вроде были ЯП Оберон и Модула.

ostin ★★★★★
()
Ответ на: комментарий от GP

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

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Лорчую, прекрасный академический язык, да и не только.

fernandos ★★★
()
Ответ на: комментарий от saahriktu

Поцкал не нужен от слова совсем.

Он даже не нужен в фирмах, у которых ядро написано на делфятине. Там нужны шарписты.

Поцкал не нужен и в обучении. Тот же PascalABC.Net это фактически си шарп с паскалеподобным синтаксисом.

GP
()
Ответ на: комментарий от saahriktu

Минобрнауки направило на рассмотрение в Госдуму законопроект о запрете гражданам России учить Паскаль на уроках информатики и программирования. В ведомстве пояснили, что мера призвана ликвидировать последствия изучения паскаля студентами 90-х годов прошлого столетия и защитить национальные интересы от деградации программистов.

«Если посмотреть на сегодняшнюю политическую ситуацию, то заметно, что её раскачивают люди, изучавшие Паскаль и по различным книгам от Епанешникова, Фролова и прочих. Российское высшее образование - одно из лучших в мире, что подтверждается большим количеством обучающихся у нас иностранных студентов. Зачем же молодёжь еще до сих пор учит паскаль? Причин несколько: от нехватки интеллекта для изучения 1С в отечественных вузах до непосредственной измены Родине. Поэтому, нечего нашим гражданам учиться паскалю и раскачивать лодку. А кто не смог поступить в вуз, пусть получает профессию 1Сника. Рабочие руки тоже нужны», - заявил министр образования Сергей Кравцов.

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

GP
()

Именинник ещё занимается языком или уже отошёл от программирования вообще? Чем живёт?

mydibyje ★★★★
()

> Собственно, сабж. Напоминаю, что он является автором языка программирования Паскаль.

То есть вирт изобрёл не Вирт, а паскаль изобрёл не Б. Паскаль?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от mydibyje

Именинник ещё занимается языком или уже отошёл от программирования вообще?

Из последнего был сделан язык Oberon-07 для встраиваемого железа и новая учебная версия ОС Oberon.

X512 ★★★★★
()

Напоминаю, что он является автором языка программирования Паскаль.

…а также Модула и Оберон. По мнению самого Вирта Паскаль является устаревшим и в нём много ошибочных решений, вместо него нужно использовать Оберон. Delphi, Object Pascal (Free Pascal Compiler) являются развитием не в ту сторону.

X512 ★★★★★
()

Напоминаю, что он является автором языка программирования Паскаль.

А так же автором зачотной книжки по программированию.

ya-betmen ★★★★★
()
Ответ на: комментарий от GP

PascalABC.Net

Был один такой в моём чате. Постоянно форсил этот PascalABC.Net. Я его забанил чтобы не создавал негативную атмосферу в чате. А то всё время всем на мозги капал, что, якобы, даже Free Pascal уже не торт когда есть PascalABC.Net.

Кто чем хочет тем и пользуется. Однако, PascalABC.Net основан на виндовом дотнете. Хотя, конечно, есть Mono и тот человек говорил, что, дескать, скоро должна появиться версия и дотнет Паскаля под линуксы. Однако, лично я продолжаю считать, что линуксвею больше соответствует именно стандартный Free Pascal.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

И не одной. В книгах Вирта описана вся основа компьютерных технологий от алгоритмов до операционных систем с GUI, компиляторов и архитектуры процессора.

X512 ★★★★★
()
Ответ на: комментарий от X512

А Брайан Керниган пишет книжки по Go, да и в Си не всё идеально. Ну и что теперь? Нет идеальных языков программирования.

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

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Ты в курсе про бородатый мем середины нулевых про выкинутую сгоревшую материнку, из-за неправильно закрытого окна при визуализации множества Мандельброта?

Ну окно студент закрыл по крестику - а программа продолжала работать.

GP
()
Ответ на: комментарий от mydibyje

1 апреля 1999 года Вирт вышел на пенсию, достигнув предельного для государственного служащего в Швейцарии возраста 65 лет (ETH — государственный ВУЗ, его работники являются госслужащими и их работа подчиняется соответствующему законодательству).

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

и продолжает быть нужным

Только в обучении программированию. Писать что-то серьёзное на паскале это мазохизм.

Что-то системное проще (и комфортнее) написать на сишке, гуйню намного удобнее при должных знаниях делать в Qt

Хотя порог входа в дельфи/лазарус для формошлепания конечно очень низкий, и при незнании плюсовского-сишного бэкграунда они заходят отлично. Как и какой-нибудь гамбас, ахахахаха

Fizzika ★★
()
Ответ на: комментарий от GP

нинужности

В Австралии антиподы, которые «ходют вверх ногами» и ныне используют Oberon-7 for Microcontrollers // Astrobe ©.
В России «секта свидетелей Oberon» в Орле проводит конференции ©.

А Вирту – «Бл҃годе́нственное и҆ ми́рное житїѐ, здра́вїе же и҆ спⷭ҇нїе и҆ во все́мъ бл҃го́е поспѣше́нїе, пода́ждь гдⷭ҇и рабꙋ̀ твоемꙋ̀, ны́нѣ тезоимени́томꙋ и҆́мⷬ҇къ, и҆ сохранѝ є҆го̀ на мнѡ́гаѧ и҆ бл҃га̑ѧ лѣ̑та!» :)

quickquest ★★★★★
()
Ответ на: комментарий от saahriktu

и с их компиляторами под линуксы проблем больше чем с компилятором той же Ады

Компиляторы разных Оберонов под Линукс есть, только они обычно не используют типичный для Си механизм сборки, там всё своё. FreePascal насколько я понимаю прогнулся под сишную систему сборки.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от Fizzika

Писать что-то серьёзное на паскале это мазохизм.

Это ещё почему? Хороший язык, мощная стандартная библиотека, более высокоуровневый чем Си (меньше нужно возиться с указателями), есть строковый тип из коробки, можно перезагрузить классические строковые функции юникодными версиями (чего нельзя в Си),... и т.д.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Reset

Вы еще до сих пор не вышли из анабиоза 90…х? Облупленные стены ВЦ, компы с постоянно моргающим ЭЛТ монитором и пиратской Windows NT3.1?

ОК.

Но сейчас 2020е - эпоха Python и Java.

GP
()
Ответ на: комментарий от GP

На python нельзя обучить некоторым важным концепциям, поэтому он не годится для первого языка. Java запрещена в школе, и правильно, потому что язык слишком сложен для первого языка и в нем тоже отсутствуют некоторые важные вещи.

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

Reset ★★★★★
()
Ответ на: комментарий от GP

Но сейчас 2020е - эпоха Python и Java.

Видел я код чуваков, которые с Java начинают – там такой кромешный ужас с одними статическими методами, что уж лучше бы они писали это на паскале

Проблема же в том, что новички первоначально и на питончике, и на джаве, семантически будут писать так же, как на паскале. В простом себе императивном стиле (потому что с него обычно и начинают обучать программированию). Проблема в том, что эта императивщина на ту же джаву натягивается как сова на глобус.

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

Fizzika ★★
()
Ответ на: комментарий от andalevor

Попробуй объяснить программу hello world либо без отсылок вперед либо без лекции на полтора часа. В паскале ссылок вперед нет вообще, не нужно объяснять на начальных этапах что-либо магией либо фразой «это мы разберем через полгода, а сейчас просто вызубрите».

Reset ★★★★★
()
Последнее исправление: Reset (всего исправлений: 1)
Ответ на: комментарий от GP

Дело не только в #include. И uses crt никто на первом уроке не пишет, да и вообще без этого модуля можно прожить всё время обучению паскалю, поэтому «замечание» мимо кассы.

И вообще ты кто такой и какой у сколько лет у тебя опыта в преподавании? Если 0, то иди гуляй, мне твои «советы» не нужны.

Reset ★★★★★
()
Ответ на: комментарий от X512

Кстати да, что характерно многое из того что он писал до сих пор актуально.

ya-betmen ★★★★★
()
Ответ на: комментарий от Reset

Загуглил как будет выглядеть hello world на паскале. Я вижу отличие только в том, что в С есть директива для включения stdio.h. Вы на это намекали?

andalevor ★★★
()
Ответ на: комментарий от andalevor

В чём сложность С в качестве первого языка?

Тем, что даже для полного понимания простой программы «считай имя пользователя с клавиатуры и выведи ‘Привет, ${username}’» нужно уже знать про модель памяти и указатели.

Ну и удачи на первой лекции по сишке объяснить ученику, почему число с stdin считавается с амперсантом

scanf("%d", &numVar)

А строка без

scanf("%s", strVar)

А потом ещё объяснять, почему за код выше в реальном приложении по хорошему сразу увольняют с работы.

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

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

Паскаль в этом плане намного лучше.

Fizzika ★★
()
Ответ на: комментарий от andalevor

Еще один. Может быть внимательно посмотришь на Си программу? Что такое int main? Почему именно int? Что такое return 0? … Чтобы это всё объяснить надо на полтора часа лекцию прочитать либо не объяснять и сказать, что «так надо». На второй программе появится scanf(«%d», &i) и опять «так надо».

Reset ★★★★★
()
Ответ на: комментарий от Reset

И uses crt никто на первом уроке не пишет,

Я конечно дико извиняюсь, но на первом уроке в ВУЗе для написания вывода Hello World! нужно было использовать модуль Crt.

Это ненамного проще System.out.println в Java.

На питоне ты просто пишешь print.

Кроме того для изучения Java используются специализированные среды аля BlueJ

GP
()
Ответ на: комментарий от GP

У тебя был плохой вуз или плохой преподаватель. Еще раз, в паскале для ввода/вывода НЕ нужно подключать crt, этот модуль не про это, учи матчасть!

Reset ★★★★★
()
Ответ на: комментарий от saahriktu

program hw;

У меня при обучении возникал вопрос зачем писать имя программы если оно нигде не используется.

X512 ★★★★★
()
Ответ на: комментарий от Reset

Ха-ха ха-ха

А ты действительно программист?

А ты вообще в курсе, что консоль вывода сразу же закроется без ReadKey из Crt?

GP
()
Ответ на: комментарий от GP

Ты просто жжешь. Кто ж её закроет? Пока я «крестик» на окне не нажму она не закроется. И вот такие люди смеют учить меня как преподавать и что преподавать. Зачет у меня ты уже не сдал :)

Reset ★★★★★
()
Ответ на: комментарий от X512

Для симметрии program name; procedure name; function name: type; Возможно раньше использовалось.

Reset ★★★★★
()
Ответ на: комментарий от X512

Как идентификатор. У юнитов, вон, тоже указываются имена чтобы их потом подключать. Программа тоже, как бы, юнит, только более главный и к которому подключаются юниты, но который, в свою очередь, никуда больше не подключается.

program/unit name;

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Fizzika

нужно уже знать про модель памяти и указатели

Это да. Но ведь нет реальной необходимости разбирать такую программу на первом же занятии. Обычно к этому подводят через передачу аргументов по значению и по ссылке.

А потом ещё объяснять, почему за код выше в реальном приложении по хорошему сразу увольняют с работы.

Вот именно, что можно это объяснить потом, а не сразу же.

После чего можно объяснить, зачем там какие-то инклюды

Опять же, чаще всего сначала объясняют общими словами, возможно, как «добавление нужной функциональности», а потом уже пойдут детали когда очередь дойдёт до препроцессора.

построены без мозготрахания с указателями

Возможно, хотя для меня это не было так уже сложно. Может с книжкой повезло. Мне кажется, основные проблемы у начинающего начнутся если он попытается что-то более-менее сложное написать на С. Но это вряд ли произойдёт. Скорее после изучения С будет С++, а потом Java или Python.

andalevor ★★★
()
Ответ на: комментарий от saahriktu

Это ещё почему?

Ладно, сразу оговорюсь, что мой опыт с objectpascal был ограничен написанием курсового на ~2k строк, который представлял из себя игру «сокобан» с редактором уровней, загрузкой и конвертированием этих самых уровней из сети.

Но в целом позже сложилось впечатление, что язык очень сильно ограничен. В паскале нет такого хорошего метапрограммирования на шаблонах, как в c++ (и апишка стандартной библиотеки из-за этого выглядит намного топорнее), но и тащить метаданные в рантайм, как тот же питончик/джава, паскаль не может.

Ну а при работе на низком уровне (если писать что-то с сисколами, например), с сишкой тупо удобнее, тебе АПИ сразу поставляют в виде набора *.h файликов, подключай и получай сразу все структуры данных и процедуры для работы с ними. Плюс сишка сама гибче, там многие вещи можно написать короче (паскаль в этом плане слишком академичен и строг к типам), инкремент/декремент/присваивание не являются выражениями, плюс то, что в сишке и массив, и строка в коде преставлены указателем, часто наоборот даёт преимущество при работе на низком уровне.

Ну и объявлять все переменные в var’e вверху это больно, и с моей т.з. некрасиво. Для лабораторной по программированию в универе то норм, но не более :)

Fizzika ★★
()
Ответ на: комментарий от Reset

Что такое int main? Почему именно int?

Это объясняется на месте и это не какая-то сложная концепция, чтобы откладывать «на потом» и делать ссылки вперёд.

Что такое return 0?

Это необязательная часть, хотя про неё тоже рассказывают и тут нет ничего сложного.

scanf(«%d», &i)

Указатели это да. Но их и не будут в hello world пихать.

andalevor ★★★
()
Ответ на: комментарий от Fizzika

объявлять все переменные в var’e вверху это больно

Меня учили, что только так и нужно. Чтобы потом не искать объявления переменных по всему коду. Найти объявление переменной и пофиксить если что-то не так удобнее если все переменные объявлены в одном месте.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от GP

А ты вообще в курсе, что консоль вывода сразу же закроется без ReadKey из Crt?

У тебя IDE головного мозга.

Кстати, ReadChar унязапна есть и вне Crt, если тебе так уж нужно, чтобы «консолька не закрывалась» %)

Fizzika ★★
()
Ответ на: комментарий от Fizzika

Консольная программа, запущенная из Проводника после завершения работы автоматически закрывает консольный вывод. С 1992го года.

Ваш капитан очевидность.

GP
()
Ответ на: комментарий от GP

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

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.