Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

Кто умеет ругаться на Паскале?   Найти похожие ветки 

 
GuAV ©   (2005-05-23 18:06) [40]

while Result <> True do
begin
  Result := True;
  Continue;
end;


 
wicked ©   (2005-05-23 18:06) [41]


> > Инерция мышления.
>
>
> В любимом-то паскале ? :) Ну я понимаю, в С - там точно
> инерция, но тут :))

имхо goto оставлен не по инерции мышления, а по экономической инерции, которую еще называют обратной совместимостью... в паскале, кстати, по той же причине...
а для тех, кто жжОт мосты, есть java, c# и D... ;)


 
Sha ©   (2005-05-23 18:07) [42]

> pasha_golub ©   (23.05.05 18:01) [38]

Я всречал функции, содержащие 20-30 exit"ов.
Поверь, очень непросто предугадать возвращаемое значение :)

A главное, нет уверенности, что их автор предусмотрел
все возможные варианты входных данных и вернул правильное значение.


 
Игорь Шевченко ©   (2005-05-23 18:09) [43]

Мой пост №13:

Копир  (23.05.05 16:30) [10]

Промежду прочим, в одном НИИ был некий программист, катавшийся на полевые испытания, и сочинявший при этом песенки. Одна из песенок была посвящена процессу программирования и людям, занимающимся этой работой. Вся песня, к сожалению, не запомнилась, но фраза "при случае могу послать на goto" в память врезалась :)

С уважением,


 
pasha_golub ©   (2005-05-23 18:11) [44]

raidan ©   (23.05.05 18:03) [39]
Не могу догнать. Сорри.


 
DiamondShark ©   (2005-05-23 18:11) [45]


> wicked ©   (23.05.05 18:06) [41]

Паскалю не с чем было обратносовмещаться.
Си, кстати, тоже.


 
Eraser ©   (2005-05-23 18:12) [46]

pasha_golub ©   (23.05.05 17:40) [28]
function GetTableCharset: string;
begin
If not FConnection.Active or not FActive then
 Exit;
...
end;


имхо очень удобно. Сам всегда так делаю.

ЗЫ скобку забыл поставить )


 
Sha ©   (2005-05-23 18:14) [47]

> Eraser ©   (23.05.05 18:12) [46]

Тоже двойка :)


 
wicked ©   (2005-05-23 18:15) [48]

> DiamondShark ©   (23.05.05 18:11) [45]
может и ляпну глупость, но ни в фортране, ни в алголе, ни в АПЛ goto (или подобного) не было?...
в том смысле, что легче портировать программу на новый язык, если в нем есть похожие конструкции...


 
pasha_golub ©   (2005-05-23 18:15) [49]

Sha ©   (23.05.05 18:07) [42]
А я встречал функции с такими именами идентификаторов, что понять чего куда тоже было сложно.

То есть пришли к тому, что "все может быть лекарством и все может быть ядом, в зависимости от дозы".


 
pasha_golub ©   (2005-05-23 18:15) [50]

Eraser ©   (23.05.05 18:12) [46]
А вот про скобки не надо ;-)


 
pasha_golub ©   (2005-05-23 18:17) [51]

wicked ©   (23.05.05 18:15) [48]
в том смысле, что легче портировать программу на новый язык, если в нем есть похожие конструкции...

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


 
Sha ©   (2005-05-23 18:18) [52]

> pasha_golub ©   (23.05.05 18:15) [49]

Об чем и спич:
Чрезмерное употребление exit вредит вашему проекту.


 
pasha_golub ©   (2005-05-23 18:19) [53]

Sha ©   (23.05.05 18:18) [52]
Accepted. ;0)


 
wicked ©   (2005-05-23 18:23) [54]

> pasha_golub ©   (23.05.05 18:17) [51]
свой код?... или чужой, общедоступный?... перепишешь на паскале ming?... или lame?... ;)


 
DiamondShark ©   (2005-05-23 18:24) [55]


> может и ляпну глупость, но ни в фортране, ни в алголе, ни
> в АПЛ goto (или подобного) не было?...

Фортран был самый гоутистый язык из всех.
Про алгол не знаю.
А АПЛ вообще не из той оперы (кстати, ругаться на нём хорошо;))


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

Рискну предположить, что в те времена (60-70е) портирование ещё мало кого заботило.
А вот Вирт ясно и не двусмысленно высказывался, что оглядка на backward-compatibility -- вешь вредная.


 
Marser ©   (2005-05-23 18:27) [56]


> Чрезмерное употребление exit вредит вашему проекту.

А в потоке что делать?


 
DiamondShark ©   (2005-05-23 18:28) [57]


> свой код?... или чужой, общедоступный?... перепишешь на
> паскале ming?... или lame?... ;)

Единая среда исполнения спасёт отца русской демократии.


 
pasha_golub ©   (2005-05-23 18:28) [58]

wicked ©   (23.05.05 18:23) [54]
Ни то, ни другое. И вообще работа ужасная :)


 
Eraser ©   (2005-05-23 18:30) [59]

DiamondShark ©   (23.05.05 18:24) [55]
Фортран был самый гоутистый язык из всех.


имхо самый гоутистый язык -ассемблер :)


 
Eraser ©   (2005-05-23 18:32) [60]

Насчёт exit"a:
часто делаю так

try
 obj := TObj.Create;
..
 if bSome then
   exit;
..
finally
 obj.Free;
end;


 
fghfg   (2005-05-23 18:37) [61]

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

так что, у кого в голове каша - для меня большой вопрос.


 
pasha_golub ©   (2005-05-23 18:41) [62]

fghfg   (23.05.05 18:37) [61]

гм, exit - это попытка эмулировать сишный return.

Сильно... Откуда дровишки? Или лично с изобретателем знакомы?


 
VMcL ©   (2005-05-23 18:46) [63]

>>Sha ©   (23.05.05 18:18) [52]

>Чрезмерное употребление exit вредит вашему проекту.

Ключевое слово "чрезмерное". См. [22].
=)


 
fghfg   (2005-05-23 18:47) [64]

в виртовском паскале (и в ранних турбо паскалях) нет оператора exit. Вирт не признавал досрочного выхода из процедур / ф-ий.


 
VMcL ©   (2005-05-23 18:47) [65]

>>Eraser ©   (23.05.05 18:32) [60]

Глюкокод. Причём глюк даже и не из-за Exit"а.


 
fghfg   (2005-05-23 18:48) [66]

[64] - 4 pasha_golub ©   (23.05.05 18:41) [62]


 
Igorek ©   (2005-05-23 18:49) [67]

try
//some code
except
end;


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

const
 clOrange = TColor($0007FF);

:8-)


 
Eraser ©   (2005-05-23 18:50) [68]

VMcL ©   (23.05.05 18:47) [65]

Согласен, в том случае если в obj := TObj.Create; может возникнуть исключение.


 
TUser ©   (2005-05-23 18:53) [69]

По поводу сложности отлова багов при использовании Exit/Break/Goto/raise EAbourt/ect. Если процедура занимает 10-20 строчек, да еще и имеет осмысленное название, то понять и отладить ее не сложно, даже с 5-6-ю гоутами. А вот если там строчек сто, и название какое-нибудь типа UgadayKaChtoYaDelaU_114, - тогда, ..., скажем так, написавший такую функцию берет на себя ответственность за ее работоспособность, и это типа его проблемы, что работать с ней невозможно. Ну или тех кто пишет с ним вместе и не хочет надавать такому программисту в бубуен.
Наоборот, конструкции с кучей вложенных циклов и if"ов часто могут вызвать проблемы при отладке.

Истинная сила структурного программирования не в циклах и бесконечной вложенности if"ах, и не в том, что любой алгоритм можно освободить от goto, а в разбиении программы на логически полноценные блоки небольшого размера, которые можно отладить относительно независимо.

PS. Все есть ИМХО.


 
Копир ©   (2005-05-23 20:56) [70]

>автомодератор:
>Примечание: Знай, что мудрость уменьшает жалобы, а не страдания! /Козьма Прутков/

Вообще-то мудрость преумножает печаль, если верить классикам:-)

А Козьма то, Прутков, то! Трое советских писателей... Сообразили на троих.
Остроумно правда.

Жалко, что пост восприняли (а многие очень творчески), как шутку.
За что я всем искренне признателен.

Айзек Азимов еще в 60-е года прошлого века заметил, что робот
никогда не станет "роботом", т.е. отличием от автомата, умеющим
лишь ботинки чистить, пока не научится понимать такое сложное
проявление сознания, как юмор.

Азимов был выдающимся писателем.
Помните его рассказ про робота, который "напился" технических
частотных гармоник в силовой сети?

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

Но это не то, о чем я спрашивал.
Вернее, не совсем то.

Конечно, никто тут не обязан отвечать мне на мои бредовые вопросы.
Я просто пытаюсь заинтересовать собеседников так, чтобы им самим
стало любопытно, а способен ли формальный язык программирования,
созданный людьми, ими (избранными) эксплуатируемый к такому
явлению, как юмор, но не в рамках создающего программиста, а помимо его,
сам по себе?

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

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

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

Материалистам отдельное замечание.
От уровня цивилизации, способов освоения средств производства и
экономических отношений не зависит.

Южно-африканские бушмены и ныненшние австралийские дикари ведут
почти первобытный образ жизни. Им трудно понять, что такое И или ИЛИ
на уровне формальной логики. Они не знают слова "триггер".

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

Что-то в языке есть неуловимое, сильное, уравнивающее и африканского
"дикаря", и американского "профессора".

Я об этом спрашивал. А автомодератор принес меня в жертву.
Как Пагангеля:-))


 
microlord   (2005-05-23 21:02) [71]

i+=i+++i; /*it works*/
_______
В хорошем разговоре не все говорится. (С) китайская мудрость


 
Danilka ©   (2005-05-23 21:59) [72]

[71] microlord   (23.05.05 21:02)
Тебе шо сказали, повторить? Повторяю: "Кто умеет ругаться на Паскале?"
А на паскале твой код совсем не "it works", так шта, садись, двоечник! :)


 
microlord   (2005-05-23 22:03) [73]

Danilka ©   (23.05.05 21:59) [72]
>А на паскале твой код совсем не "it works"
А что, завидно?


 
Danilka ©   (2005-05-23 22:06) [74]

[73] microlord   (23.05.05 22:03)
Чему? Тому, что нечитаемую бредятину сложнее нацарапать? :))


 
microlord   (2005-05-23 22:24) [75]

Danilka ©   (23.05.05 22:06) [74]
Надвигается?:)

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


 
Nous Mellon ©   (2005-05-23 22:38) [76]


>  [70] Копир ©   (23.05.05 20:56)

Не перестаю восхищаться.
Браво! Быть может я не со всем написанным согласен, однако ж как хочется забыть про мелочи и просто поэстетствовать над тем КАК это преподнесено. Например, вот это
> Но эти народы обладают утонченным, своеобразным эпосом,
> целым кладом
> древних сказок, полных любви, слез и блаженства, понятных
> современному
> цивилизованному европейцу или американцу, несмотря на разницу
> в образовании и опыте. Историческом, социальном, экономическом.

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

Эхх, потрут как безжалостный оффтопик, а ругаться, пусть даже и на Паскале, все равно не буду.


 
Danilka ©   (2005-05-23 23:00) [77]

[75] microlord   (23.05.05 22:24)
Извини, но я не на столько хорошо знаю английский (а других вообще не знаю), чтобы сравнивать юмор в том и в другом языке. А нравицца - русский, конечно, т.к. знаю его лучше остальных. Вот и все. Но, причем здесь это, или менталитет - совсем не понятно.
На мой взгляд, если переписать твое сишное выражение на паскаль:
i:=i+i+i+1;
получаем намного более читабельный код. Разве не так?
:)


 
12DFBDDh ©   (2005-05-24 07:22) [78]

Не буду насчет особенностей Паскаля, я в своем старом исходнике обнаружил переменную которая называется blya))


 
vidiv ©   (2005-05-24 07:45) [79]


> Игорь Шевченко ©   (23.05.05 16:17) [1]
>
> goto :)

У меня есть книга по паскалю, автор по моему Фараонов. Так там написан модуль для реализации прижков (goto) даже из тел процедур и функций.

А вообще лично я считаю использование оператора GOTO вполне приемлемым, хотя сам его не использую...


 
Игорь Шевченко ©   (2005-05-24 10:18) [80]

vidiv ©   (24.05.05 07:45) [79]

А автор книги по паскалю, по-твоему, Фаронов, не пишет - нафига ?



Страницы: 1 2 3 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.045 c
1-1117141769
Christy
2005-05-27 01:09
2005.06.14
Как скопировать музыкальный файл в дирикторию программы ?


14-1116924071
Некто
2005-05-24 12:41
2005.06.14
Как продать дорогую спецавтотехнику


14-1115861977
ArMellon
2005-05-12 05:39
2005.06.14
Хочу саб вуфер


1-1117122507
Avals-Z
2005-05-26 19:48
2005.06.14
Подскажите кто знает


4-1114091329
ChtoMe
2005-04-21 17:48
2005.06.14
Функции SeTimer, KillTimer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский