LINUX.ORG.RU
ФорумTalks

pascal


0

0

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

anonymous

> попросили меня вот написать ПРОСТЕНЬКУЮ прогу на сабже; пока корячился, подумал вот - а вот хоть кто-то что-то СЕРЬЕЗНОЕ на нем пишет?

Выделил. Посмеялся над выделенным. Сам хоть понял, как глуп твой вопрос?

> зачем тогда ему в школах учат

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

> трудно отвыкать от синтаксиса

Ты быдло. Тебе вообще нельзя программировать, умом не вышел.

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

> Тем более, что компиляция программы такого же уровня сложности как на сях, в паскале требовала на порядок меньше времени,

Лгать хватит. Паскаль быстрее компилируется как раз благодаря простоте языка - нет темплейтов, которые основное время и отжирают при компиляции плюсов.

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

> Там использовалось дальнейшее развитие паскаля -- ада...

Ада - никак не "развитие паскаля", ламеришко.

> так вот 90% его речи состояла из слов "shit" и "stupid language"

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

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

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

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

> А Scheme нужна больше для computer science, а не codemonkey.

А обезьянки не нужны.

> А где ты в совке найдешь должность?

Сам себе сделаешь.

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

Ни фига, SK-логика ещё меньше сущностей требует. :)

Ну и unlambda, соответственно. :)

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

>>C - язык концептуально сложный >скажите, уважаемый, эти вещества вам врач прописал, или вы у барыг берёте?

Сам делаю. Подробности уже привёл. Если есть возражения по существу - давайте.

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

> помню, как я в школе быдлокодил на Delphi...

хм.. что-то я delphi не осилил. А если б мне попался тогда python+tkinter, думаю, был бы тогда сильно рад))

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

для обучения абсолютно пофигу, си или паскаль. потому что *в обучении* не будут давать адресную арифметику, например. берётся subset языка — и вперёд.

на самом деле си действительно хуже для учеников — но по другим причинам. во-первых — потому что он cryptic, в отличие от паскаля. во-вторых, потому что далеко не у всех компиляторов есть bounds checking. в третьих (тут я беру TP/BP/Delphi) — в нём нет встроеного типа «строка». всё это, понятно, не препятствия для программирования на макроассемблере aka C, но для обучения неудобно.

далее: паскаль тоже не особо подходит, потому что он жёстко вбивает в голову императивный стиль. если на схеме можно писать как императивно, так и функционально, то на паскале и си — только императивно (хитровыверты сейчас не рассматриваем — ибо в контексте обучения программированию, а не хакерству). однако если учить (хорошо учить! %-) на схеме, то есть шанс серьёзно уменьшить поголовье быдло(жаба/с/с++/php/вставить-свой-неавистный-язык)кодеров. потому что функциональщина очень часто удобна, и часто же императивные рещения раздражают. а если о функциональщине не знать, то и нервничать не будешь.

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

> А, вообще-то, мне знакомый рассказывал про то, как ему, когда он работал в STRATCOM'е, надо было разбираться с кусками кода для F22. Там использовалось дальнейшее развитие паскаля -- ада... так вот 90% его речи состояла из слов "shit" и "stupid language"

Покажи ему ближайшую стену, если он ниосилил ЯП, который к кстати с паскалем никакой родственной связи, кроме похожего синтаксиса, не имеет, то он просто дебил, никак не связанный с профессиональным программированием. Ада это язык требующий хорошего понимания и хорошей культуры программирования, без культуры -- так и будет казатся, что да, шит, ступпид ленгвич, как это, одну переменную нельзя другой присвоить, типы не совпадают? Нормальный программист с ADA так-же замечательно уживется, как и с java/c++/итп, а идиот с одной извилиной - будет матерится, от того, что ему мозгов не хватит по нормальному что-то написать. Ясное дело, когда компилер ругается на каждую вторую строчку, человек будет ругатся, но АДА-компилер ругается на каждую вторую строчку только если программист полный идиот, каковым и является ваш знакомый, и скорее всего и вы сами.

P.S. Уважаемые модераторы, в данном контексте идиот означает не оскорбление, а является термином, означающим человека с IQ < 70. Просьба не удалять сообщение из-за использования этого слова.

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

> C концептуально от Паскаля вообще ничем не отличается. Это фактически тот же самый язык.

Отличается, и весьма :) В C, есть некие задатки мета-рограммирования, через препроцессор, а в паскале -- нету, по этому на C легко писать некоторые сильно специфичные вещи, а на паскале - сложнее ;) Да, конечно макросы не есть гуд, но есть случаи, когла или максросы, или огромное кол-во кода руками.

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

а что, б-г запретил использовать для паскаля внешний препроцессор? да хоть тот же cpp, например? я в некоторых паскалевских проектах активно «массажировал» исходники своим самописным (по некоторым причинам cpp не подходил). в итоге просто компиляцией — одни фичи, если предварительно «помассажировать» — другие. и не надо вести две почти одинаковых ветки.

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

> потому что *в обучении* не будут давать адресную арифметику, например. берётся subset языка — и вперёд.

В том и дело (имхо), что в си такое не получится. Непоказанные преподавателем стороны гармоничного языка будут сквозить. Например, через то же отсутствие проверки границ массива, или через отсутствие *элементарного* типа "строка". И преподавателю придётся говорить "ребята, не пытайтесь использовать умножение как унарную операцию, а ещё пишите a[i], но никогда не i[a], потому что на самом деле всё сложнее". И, разумеется, при попытке начать использовать строки всё же придётся разобраться, что к чему.

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

А вот ты бы с чего *начал* обучение? Неужели с нуля - сразу в лисп?

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

> В C, есть некие задатки мета-рограммирования, через препроцессор, а в паскале -- нету

Препроцессор у Си - внешний. Точно то же самое можно и для Паскаля применять (и далалось это в промышленных масштабах).

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

> А вот ты бы с чего *начал* обучение? Неужели с нуля - сразу в лисп?

А чем плохо то? В MIT вот это считают нормальным, и правильно делают. У меня есть так же некоторый опыт обучения совсем ничего не знающих новичков Схеме, никаких проблем не замечал.

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

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

однако от преподавания биологии в школе это никого не останавливает, хотя там тоже «сквозит», и ещё как. просто обучать надо соответственно: «можно и по-другому, но пока нам это не надо; кто доживёт до следующего года (например), тому поясню. а пока лучше не используйте, а то будете похожи на обезьяну с гранатой.»

>ребята, не пытайтесь использовать умножение как унарную операцию

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

>В этом смысле я не считаю безнадёжными тех, кто начал с бейсика.

я сам с него начинал. ох, оно мне и аукнулось… если бы не авторитет одного знакомого (который мне в мои 17 казался Большим Гуру, а на самом деле был просто умным и хорошим человеком %-), то аукалось бы ещё кучу лет. возможно, до сих пор.

>А вот ты бы с чего *начал* обучение? Неужели с нуля — сразу в лисп?

да. лисп на самом деле очень простой — проще бейсика и паскаля. в нём меньше сущностей (чем в паскале) надо узнать для начала, и он не изуродует так, как васик. мнение о том, что лисп — сложный родилось в тупых черепах недокодеров, которые и 2+2 асилили-то не за один год. я лично выучил лисп вообще по книге, без компилятора/интерпретатора. %-) причём сначала да — казалось диким бредом. а на второй день в мозгу «щёлкнуло» — и всё оказалось офигительно стройным да красивым. вот задача учителя как раз ускорить «щелчок» (мне-то опыт помог, как-никак). а может, наоборот — не мешать ученикам «щёлкать» (они-то ещё не испорчены годами программирования %-).

на самом деле «начинать с лиспа» — это как раз практически «писать чистые алгоритмы». учитывая, что математику в школе тоже дают, лисп очень хорошо ложится сюда же (функции без side-effects, etc. ну, ты понял, о чём я, если с лиспом знаком).

не хаскель, например — потому что в хасвеле синтакис есть. пусть мало, но есть. а в лиспе — практически нет. %-) потом можно и до остального дойти — когда основа заложена.

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

> >В этом смысле я не считаю безнадёжными тех, кто начал с бейсика.

> я сам с него начинал. ох, оно мне и аукнулось… если бы не авторитет одного знакомого...

+1 :)

За развёрнутый ответ на вопрос "неужели с лиспа" - большое спасибо, очень ценное объяснение.

Моё же некомпетентное возражение (недоумение) по поводу лиспа как первого языка такое. Информатика в целом привязана скорее к реальным машинам, чем к математическим абстракциям. И потому, чтобы понять предмет полностью, лучше начать с реальных объектов. Вентили, триггеры, регистры, счётчик команд, инструкция, стек, программа. Развивая дальше, получим макроассемблер, языки низкого уровня. После этого идут уже вполне абстрактные понятия - классы, события, состояния, есть вроде даже такое слово как "замыкание". Но всё это - на реальном базисе: когда я в перле обращаюсь к хэшу, я понимаю, что это сложность O(1) или O(logN). Я знаю, что практически единственная операция для доступа к данным, которую умеет выполнять (неквантовый) компьютер - это считывание ячейки по адресу. И т.д. На этом пути ученик чувствует и уверенность в своих знаниях, и дефицит абстракций - и потому готов и воспринимать новые абстракции, и воплощать их.

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

Кстати, хочу почитать хорошую книжку по лиспу в бумажном издании. Так, чтобы с упражнениями и пр. У меня когда-то была, но, увы, это было очень давно и тогда я её не осилил. И потому сейчас знаком с лиспом где-то на уровне википедии. :-/ Что-нибудь порекомендуешь? :)

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

>За развёрнутый ответ на вопрос «неужели с лиспа»

да какой там «развёрнутый». так, пара мыслей по теме. %-)

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

собственно, «информатика» привязана, имно, к алгоритмам. которые вполне неплохо выражать на лиспе, например. а то, что ты описываешь — это уже «приложение информатики к реалу, или как оно сделано сейчас». тоже вещь нужная и полезная, но мне кажется, что лучше её давать уже после обучения алгоритмизации — чтобы не создавать впечатления «такой подход единственно верный, потому что так делали наши деды». %-)

>Не окажется ли студент в состоянии «забудьте всё, чему вас учили в школе», когда окажется, что массив — это не список, и допускает произвольный доступ?

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

>Что-нибудь порекомендуешь? :)

фиг знает. попробуй вот такое: http://www.gigamonkeys.com/book/ (оно, правда, не бумажное, но можно ж распечатать! %-)

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

также после постижения основ очень полезно написать пару-тройку своих интерпретаторов лиспа — от тупого до компилятора в байт-код. многие вещи устаканятся и прояснятся (благо, наисание несложного интерпретатора с псевдо-VM — дело нескольких ненапряжных вечеров). по пути неплохо также захватить такие вещи, как closures и continuations. потом, может быть, нафигачить parallel lisp с «ленивыми» и «out-of-order» вычислениями, чтобы почувствовать, почему side effects — зло. а там и до монад недалеко. %-)

уф, утомился по клаве стучать. %-)

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

Убедительно. Спасибо.

Та книжка, как ни странно, тоже была советского издательства и тоже была про R-Lisp, и мне тоже было порядка 17 лет. Только вот я её не осилил. Видимо, оттого и проблемы ;-) Попытаюсь разыскать её ещё раз.

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

>Убедительно. Спасибо.

you're welcome, я иногда выхожу из режима «тупой тролль». надо лучше себя контролировать, не палиться так. %-)

>Та книжка, как ни странно, тоже была советского издательства и тоже была про R-Lisp

хи. скорее всего, та же самая. если нароешь — не поленись, сделай темку в толксах, например, с адресом скачки. очень уж хочу её. или хотя бы название напиши. %-)

>мне тоже было порядка 17 лет. Только вот я её не осилил. Видимо, оттого и проблемы

честно говоря, начинал читать я её раз 10. асилил тогда, когда было грустно, под рукой не было ни компа, ни другой литературы почти неделю. так что волей-неволей пришлось читать то, что было. видимо, от того и «щёлкнуло», что не мог в очередной раз сказать: «а, фигня какая-то, потом почитаю!»

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

А-А-А-А!!!

«Программирование на языке R-ЛИСП», А.П.Крюков, А.Я.Родионов, А.Ю.Таранов, К.М.Шаблыгин, изд. «Радио и связь», Москва, 1991. ISBN-5-526-00526-X.

как ты догадался, наверное, я её нашёл. %-)

жаль, сканера нет. надо ещё инет поковырять, авось кто добрый уже отсканил…

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

>Твой знакомый не имеет отношения к профессиональному программированию. Особенно это заметно из его жаргона.

Этот человек с 1988 года работал в STRATCOM'е и является программером такого уровня, до которого тебе, мой анонимный друг, расти и расти (зарплата выше $200/hr +benefits тебе наверное о чём-то да и скажет про его профессионализм), а это не жаргон был, а мысли вслух про паскалеподобные ЯП. Так-то. А про то, что Делфи не ЯП я знаю, но уж очень возмутил бред его восхвалявший

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

> Этот человек с 1988 года работал в STRATCOM'е и является программером такого уровня

Работал, именно так, в прошедшем времени? Значит уволили за то, что он полный ноль всетаки, и за те-же $200/hr можно нанять 3х человек без пальцев разогнутых, которые сделают работу в 10 раз лучше, и не будут жаловатся? Знаем мы таких "специалистов", приходилось иметь дело, как программисты - полные нули, одни понты.

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

Кстати, Doom3r, в догонку, в штатах, а видимо именно там ваш товаришь работал, $200/hour для программера -- это всего-лишь немного выше среднего, уровня старшего (senior) программиста или начальника отдела из 3-5 человек, т.к. например средний (т.е. обычный кодер тупой) ADA программист там получает 70-100 в год, т.е. примерно $100000/12/170 = $50/hour, т.е. ничего выдающегося, так что местные анонимусы вполне имеют моральное право заткнуть ему и тебе пасть грязной тряпкой

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

>C концептуально от Паскаля вообще ничем не отличается. Это фактически тот же самый язык.

Только в паскале всё опасное для работы программы спрятано от шаловливых детских ручонок, а в C ты без этого программы сложней hello world не напишешь.

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

>арплата выше $200/hr +benefits тебе наверное о чём-то да и скажет про его профессионализм

ничего не сказала, в отличие от приведённых тобой якобы его слов. говно он, а не программист. а то, что говно иногда получает зарплату — это давно известно.

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

потому что си всё-таки сначала макроассемблер, а лишь потом местами ЯВУ.

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

> Слышал, в какой-то школе вместо Паскаля стали учить рисовать мультики в быдлофлеше. Конкурсы там всякие на лучший мультик. Ученики рады, говорят, что им это интереснее Паскаля.

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

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

> Информатика в целом привязана скорее к реальным машинам, чем к математическим абстракциям

Эти абстракции реальные машины очень неплохо описывают.

> И потому, чтобы понять предмет полностью, лучше начать с реальных объектов

С чего это вдруг? Ты и биологию предлагаешь начинать изучать с биохимии, биофизики, цитологии, биоенергетики и генетики? Или всё же сначала лучше про тычинки-пестики узнать?

> Но кто сказал что именно это - единственно правильный подход?

Практика. Из начинавших ковыряться с ассемблера и ниже однобокие быдлокодеры получаются гораздо чаще и надёжнее чем из начинавших с математики и Схемы. Из всяких там МИФИ быдлокодеры лезут табунами, а из MIT табунами же идут хорошие умные программисты.

> Кстати, хочу почитать хорошую книжку по лиспу в бумажном издании.

SICP, конечно же. Покупается на Амазоне.

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

> как раз после усвоения базы алгоритмизации можно рассказать о том, как устроена техника

Собственно, SICP так и построен. Ещё есть хорошая книга:

http://www.freetechbooks.com/concrete-abstractions-an-introduction-to-compute...

Там все низкоуровневые вещи объясняются на Схеме, от ОС до компиляторов и memory management.

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

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

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

200/час - нормальный рейт для консультантов, вполне средненьких - компенсация за нестабильность работы, ага.

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

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

Не отвлекайтесь от проектов. Флудоинтерпретаторы-Флеймокомпиляторы.

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

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

Знаешь, это называется, у людей есть свободное время, и есть возможность бесплатно облить кого-то грязью, тем самым немного снять поседневный рабочий стресс, этим все и пользуются, быдло ты тупорылое тупое

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

> С чего это вдруг? Ты и биологию предлагаешь начинать изучать с биохимии, биофизики, цитологии, биоенергетики и генетики? Или всё же сначала лучше про тычинки-пестики узнать?

То же самое можно сказать и в обратную сторону - "ты предлагаешь ботать идеальные конструкции со скобками? Или лучше начать с 10 print привет Вася, введи своё имя"?

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

Не знаком с такой статистикой. И о какой именно математике идёт речь?

> SICP, конечно же

Аббревиатуру не понял. Речь о "Concrete Abstractions - An Introduction to Computer Science Using Scheme"? Или "Structure and Interpretation of Computer Programs"?

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

>Или лучше начать с 10 Input "привет Вася, введи своё имя", $a

Fixed

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

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

Я предлагаю ботать лямбда-исчисление, комбинаторную логику и машину Тьюринга, а потом уже браться за конструкции со скобками.

> Или лучше начать с 10 print привет Вася, введи своё имя"?

Ни в коем случае!

> Не знаком с такой статистикой. И о какой именно математике идёт речь?

Сколько быдлокодеров из какой либо бауманки или мифяги вылезает, и сколько из MIT? Вот тебе и статистика.

> Или "[S]tructure and [I]nterpretation of [C]omputer [P]rograms"?

SICP, не видишь разве?

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