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

Вниз

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

 
Копир ©   (2005-05-23 16:13) [0]

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


 
Игорь Шевченко ©   (2005-05-23 16:17) [1]


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


goto :)


 
Андрей Жук ©   (2005-05-23 16:18) [2]

raise Mazafakashit;


 
P.N.P. ©   (2005-05-23 16:19) [3]

Ну, например использование with в нек. случаях


 
Тестировщица ©   (2005-05-23 16:21) [4]


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

опередил -)


 
TUser ©   (2005-05-23 16:26) [5]

Ну, эта Label в догонку


 
Alx2 ©   (2005-05-23 16:26) [6]

Ругаться, так ругаться:  :)

Function TCluster.Radius(idx: Integer): Double;
Asm
                   mov  ecx,eax
                   call TCluster.GetVectorP
                   mov edx,eax
                   mov eax,ecx
                   jmp      TCluster.Distance

End;

Function TCluster.Distance(Const aVector: TDoubleArray): Double;
Asm
                    mov      ecx, [eax].fDimension
                    sub      ecx, [eax].fDelta
                    cmp      ecx,1
                    jb     @Distance4b
                           fldz
                           fld1
                           fidiv    [eax].fCount
                           mov      eax, [eax].Vectors

                           lea     eax, [eax+ecx*8-8]
                           lea     edx, [edx+ecx*8-8]
          @Distance30:
                           fld ST(0)
                    fmul QWORD PTR [eax]
                    fsub QWORD PTR [edx]
                    fmul ST(0), ST(0)
                           sub         eax,8
                           sub         edx,8
                    dec         ecx
                    faddp ST(2), ST(0)
                    jnz         @Distance30
          @Distance4b:     fstp        st(0)
                    fsqrt
End;


 
Гаврила ©   (2005-05-23 16:26) [7]

Пришел в голову жутковатый кусок кода:
For I:=0 ChildCount - 1 do
 if not (Childs[I] is TMyChild) then
   Abort;


 
Alx2 ©   (2005-05-23 16:29) [8]

>Гаврила ©   (23.05.05 16:26) [7]

Класс! :)


 
Копир ©   (2005-05-23 16:29) [9]

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

Переводится с вавилонского "а пошёл ты..."

:-))


 
Копир ©   (2005-05-23 16:30) [10]

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

Переводится с вавилонского "а пошёл ты..."

:-))


 
Ega23 ©   (2005-05-23 16:30) [11]

Старый прикол, помнится:

MesageBox(Handle, PChar("Jesus has changed your life!"+#13+"Save changes?"),
                 Pchar("Wow!"), MB_OKCANCEL or MB_ICONWARNING)


 
TUser ©   (2005-05-23 16:35) [12]

Самый ругательный язык - конечно, perl. Только перлята очень культурные люди, поэтому вместо матерных слов пишут значки типа ~>;!@#$&*


 
Игорь Шевченко ©   (2005-05-23 16:39) [13]

Удалено модератором
Примечание: Женщины искренне считают, что наряжаются либо для нашего удовольствия, либо для своего собственного. На самом деле они наряжаются, чтобы удивлять друг друга. /Франсис де Миомандр/ (AutoModerator)


 
Sha ©   (2005-05-23 17:10) [14]

Еще exit не очень приветствуется.


 
pasha_golub ©   (2005-05-23 17:19) [15]

Sha ©   (23.05.05 17:10) [14]
Не согласен


 
Игорь Шевченко ©   (2005-05-23 17:20) [16]

Sha ©   (23.05.05 17:10) [14]

Неправда. Загляни в ту же VCL, которую пишут авторы того самого языка.


 
Igorek ©   (2005-05-23 17:22) [17]

if result = true then
 result := false
else
 result := true;


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

Igorek ©   (23.05.05 17:22) [17]
Сильно! :)


 
Ega23 ©   (2005-05-23 17:25) [19]

if result = true then
result := false
else
result := true;


Можно круче:

if result = true then
result := false
else
if result = false then
result := true;


:о)


 
Sha ©   (2005-05-23 17:26) [20]

> pasha_golub ©   (23.05.05 17:19) [15]
> Не согласен

Твое право.

> Игорь Шевченко ©   (23.05.05 17:20) [16]
> Неправда.
> Загляни в ту же VCL, которую пишут авторы того самого языка.

Ты ведь не думаешь, что я туда не заглядывал?

По своему опыты скажу, сопровождать проекты, изобилующие exit"ами,
ничуть не проще, чем вермишель из goto.

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


 
Юрий Зотов ©   (2005-05-23 17:32) [21]

case result of
true:
  result := false;
false:
  result := true
else
  result := false
end;

:о)


 
Игорь Шевченко ©   (2005-05-23 17:32) [22]

Sha ©   (23.05.05 17:26) [20]

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


 
boriskb ©   (2005-05-23 17:34) [23]

:)))
Перестаньте матюгаться.  
В приличном обществе? :))


 
Sha ©   (2005-05-23 17:35) [24]

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

Вот тут полностью согласен. Прямо мои слова :)


 
DiamondShark ©   (2005-05-23 17:36) [25]


> отчего их из языка не исключили ?

Инерция мышления.


 
Antonn ©   (2005-05-23 17:38) [26]

"Мадам, позвольте вас пингануть..." (С) Не мое, но чего то вспомнилось:)


 
Игорь Шевченко ©   (2005-05-23 17:39) [27]

DiamondShark ©   (23.05.05 17:36) [25]


> Инерция мышления.


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


 
pasha_golub ©   (2005-05-23 17:40) [28]

Sha ©   (23.05.05 17:26) [20]
ну... Можно все так использовать, что тошно будет.

Я вот, например, приветствую Exit в начале методом, где идет проверка на допустимость исполнения, чтобы не строить кучу веток с If"ами. Например:

function GetTableCharset: string;
begin
If not FConnection.Active or not FActive then
  Exit;
...
end;

Намного приятнее, чем на все тело метода растягивать if-end, IMHO


 
Sha ©   (2005-05-23 17:49) [29]

> pasha_golub ©   (23.05.05 17:40) [28]

Я против неоправданного употребления exit.

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

В VCL тоже употребление exit не всегда вызвано необходимостью.
Например, в System.pas видим:

procedure Move( const Source; var Dest; count : Integer );
var
 S, D: PChar;
 I: Integer;
begin
 S := PChar(@Source);
 D := PChar(@Dest);
 if S = D then Exit;
 if Cardinal(D) > Cardinal(S) then
   for I := count-1 downto 0 do
     D[I] := S[I]
 else
   for I := 0 to count-1 do
     D[I] := S[I];
end;


проще было бы:

procedure Move( const Source; var Dest; count : Integer );
var
 S, D: PChar;
 I: Integer;
begin
 S := PChar(@Source);
 D := PChar(@Dest);
 if S <> D
 then if Cardinal(D) > Cardinal(S)
      then for I := count-1 downto 0 do D[I] := S[I]
      else for I := 0 to count-1 do D[I] := S[I];
end;


Это очевидный случай, есть и понаворотистее.


 
Игорь Шевченко ©   (2005-05-23 17:51) [30]


>  if S <> D
>  then if Cardinal(D) > Cardinal(S)
>       then for I := count-1 downto 0 do D[I] := S[I]
>       else for I := 0 to count-1 do D[I] := S[I];


Стиль какой-то не очень читабельный. В исходном варианте лучше.


 
Marser ©   (2005-05-23 17:51) [31]

Немного грандовщины:
type
 TEnemy = class
   ...

with TEnemy.create(self) do
 try
   kind:=Orange_plague;
   Repeat
    kick;
    torture;
   until (mind=ms_Otklucka)or Nunafig
 finally
   kill;
   burry
 end;


 
Sha ©   (2005-05-23 17:55) [32]

> pasha_golub ©   (23.05.05 17:40) [28]

Кстати, ты сделал ту же ошибку :)


 
Sha ©   (2005-05-23 17:57) [33]

> Игорь Шевченко ©   (23.05.05 17:51) [30]
Привычка, осталась с EC c их EC-7066: экономия строк (их было всего 10).


 
DiamondShark ©   (2005-05-23 17:57) [34]


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

(*с кавказским акцентом*)"Пашутыль, да?"

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

А вот в Си разнородные конструкции -- гоуту и его структурные аналоги -- сосуществовали с самого начала. Что даёт повод предположить кашу в головах разработчиков.


 
pasha_golub ©   (2005-05-23 17:58) [35]

Sha ©   (23.05.05 17:49) [29]
при этом
некоторые горе-программисты умудряются забыть присвоить
возращаемое значение


Кстати, я забыл... :)))) Но это потому шо сюда сразу писал. :)


 
Sha ©   (2005-05-23 17:59) [36]

> pasha_golub ©   (23.05.05 17:58) [35]

Ты все еще любишь exit?


 
pasha_golub ©   (2005-05-23 18:00) [37]

Sha ©   (23.05.05 17:55) [32]

> pasha_golub ©   (23.05.05 17:40) [28]

Кстати, ты сделал ту же ошибку :)


Опередил. :)


 
pasha_golub ©   (2005-05-23 18:01) [38]

Sha ©   (23.05.05 17:59) [36]
Да, все еще люблю. Но любовь мою не следует считать фанатической. А про ошибку... Ну, клянусь, случайность. Я всегда первым делом в функции результат возвращаю. :)


 
raidan ©   (2005-05-23 18:03) [39]

>pasha_golub ©   (23.05.05 18:01) [38]
Эх. return <value> - и no problem.


 
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]

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


 
begin...end ©   (2005-05-24 10:40) [81]

> Игорь Шевченко ©   (24.05.05 10:18) [80]

Речь идёт, по-видимому, ещё о Турбо Паскале. В одной из книг Фаронова была глава, посвящённая обработке "исключительных ситуаций".

Если возникает ошибка (типа деления на ноль), DOS-программа аварийно завершается. Однако, оказывается, перед завершением управление передаётся на т.наз. "процедуру выхода", адрес которой хранится в переменной System.ExitProc. Таким образом, если поместить в эту переменную адрес своей процедуры, то можно перехватить факт завершения. А если перед кодом, который может привести к исключению, запомнить содержимое регистров (в том числе и IP), а в конце процедуры выхода восстанавливать их содержимое, то можно предотвратить и само аварийное завершение. При желании можно передавать управление из процедуры выхода на любой участок исполняемого кода программы. Т.е. некий аналог try...except получается.

Т.е. goto здесь -- в смысле передачи управления из процедуры выхода на код вне её.


 
Копир ©   (2005-05-24 22:22) [82]

>Nous Mellon ©   (23.05.05 22:38) [76] :

Cпасибо Михаил.

>microlord   (23.05.05 22:24) [75] :
>Как (чем) определяется юмор в том и другом языке? Может быть он определяется менталитетом?

В какой-то степени да.
В бытовой, так сказать.

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

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

Американцы наравне с этим боятся кондитерских изделий:))
Почему-то.

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

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

Иногда, когда уровень художественного произведения превышает предыдущий
художественный опыт, происходит "разрядка" в виде умиления (кроме всяких шуток),
трогательного понимания, слёз, наконец.

Так же и процессор "зависает", обнаружив инструкцию, которую
он не способен вовремя и надлежащим образом обработать.

Но мы не слышим его "визга".

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

И услышал эмоции процессора:))



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

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

Наверх




Память: 0.69 MB
Время: 0.04 c
1-1117006147
Ботвин Дмитрий
2005-05-25 11:29
2005.06.14
Добавление кнопок


1-1116998258
avtsasha
2005-05-25 09:17
2005.06.14
Запись файла в hex


4-1114075002
Separator
2005-04-21 13:16
2005.06.14
USB HID устройства, как с ними работать


6-1111229954
Виталик
2005-03-19 13:59
2005.06.14
Передать файл по сети между двух программ


14-1117090793
Kerk
2005-05-26 10:59
2005.06.14
С днем рожденья! 26 мая





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский