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

Вниз

Кто что думает?   Найти похожие ветки 

 
db2admin ©   (2007-06-04 11:50) [200]

clickmaker ©   (04.06.07 11:46) [196]
конечно миф ))
это просто друзья друг другу раздают значки по результатам распития пива ))

Dmitry S.   (04.06.07 11:43) [195]
ты наверное брат Дмитрия


 
Dmitry S.   (2007-06-04 11:53) [201]

>Очень спорное заявление. Скорее всего, автор ничего не знает о паскале.
вообще-то я с него начинал. не сказал бы что стал в нем профи, но представление получил самое полное. потом перешел на си и забыл о (delphi)
как о старте. собственно паскаль выполнил свою функцию - обучил азам программирования.

>ты наверное брат Дмитрия
точно не по отцу :)


 
Dmitry S.   (2007-06-04 11:56) [202]

Отдельно взятый I++, может быть, и понятен... но скажите мне, как будет вычислено выражение
a=b+++c;

очень просто
a = b++ + c;

a = b + c;
b = b + 1;


 
db2admin ©   (2007-06-04 12:00) [203]

ocean ©   (04.06.07 11:48) [198]
inc(x); <-- оно что делает?


 
Галинка ©   (2007-06-04 12:01) [204]

товарищи, программисты. Борцами за чистоту русского языка не стали, так хотя бы померятся чем-нибудь при сравнении паскаля и Си???

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

Этим ведь и хорошо, что есть разные языки и есть выбор, каким языком воспользоваться.

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

И конструкция a += b, очень хорошо понятна, читается как "увеличиваю а на значение б", и мною очень любимый теперь цикл foreach - освобождает от заведения дополнительной индексной переменной. Т.е. переменной уикла является сам объект последовательности. Очень удобно. Потому как, после третьего-четвертого вложенного цикла уже парится начинаешь, за что какой индекс отвечает.

Все во имя человека, все для блага человека.


 
Evgeny V ©   (2007-06-04 12:01) [205]


> Однокамушкин   (04.06.07 11:50) [199]


Так же как и в другом языке, тут надо знать порядок выполнения (приоритет) операторов.  И конечно может сбить с толку такое написание, можно было бы написать так a=(b++)+c; Или если бы я хотел сделать прединкремент с, то a=b+(++c); В учебниках по си кстати рекомендуют расставлять скобки для более хорошей читаемости скобок.

a=b++ +c; разбивается на следующее
a:=b+c;
b:=b+1;


 
Однокамушкин   (2007-06-04 12:01) [206]


> Dmitry S.   (04.06.07 11:56) [202]
> очень просто
> a = b++ + c;

А почему не a=b+(++c)? или не s=b+(+(+c))? синтаксис, допускающий такую неоднозначность, однозначное зло, извините за каламбур...


 
ocean ©   (2007-06-04 12:03) [207]

> Си - стенография.
Да еще дальше наехал на кого-то, мол, ничего не знает о Паскале.
Очевидно, цитата отражает мнение молодежи, видящей, что журналы отмечают краткость С. Это и означает не понимать смысла спора.
Пошучу, однако. Есть языки, например моделирования, где операторы читаются как фразы на естественном языке. Не хочешь стенографировать - туда!


 
sniknik ©   (2007-06-04 12:07) [208]

> очень просто
> a = b++ + c;
вот и ошибка т.к. программист хотел (возможно) и написал бы так (если бы не опечетка)

a = b + ++c;


 
Галинка ©   (2007-06-04 12:12) [209]

sniknik ©   (04.06.07 12:07) [208]

а может не надо думать за других? кто что хотел и как писал?

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


 
Anatoly Podgoretsky ©   (2007-06-04 12:25) [210]

> Игорь Шевченко  (04.06.2007 10:45:37)  [157]

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


 
Anatoly Podgoretsky ©   (2007-06-04 12:26) [211]

> TUser  (04.06.2007 10:46:38)  [158]

А -= на разных


 
Anatoly Podgoretsky ©   (2007-06-04 12:27) [212]

> Плохиш  (04.06.2007 10:51:40)  [160]

А мне все двойные & &&, | || и так далее


 
Anatoly Podgoretsky ©   (2007-06-04 12:28) [213]

> clickmaker  (04.06.2007 10:52:41)  [161]

Так СИ (2) а ПХП (3) - так что все закономерно. ЛИСП посмотри


 
ocean ©   (2007-06-04 12:30) [214]

> inc(x); <-- оно что делает?
Набери-ка A := inc(I);
Во-первых, это процедура. Во-вторых, ее смысл гораздо шире, чем инкремент С. В-третьих, она не входит в стандарт Паскаля. Конечно, я могу написать
function PlusPlus(I : Integer) : Integer;


 
Anatoly Podgoretsky ©   (2007-06-04 12:30) [215]

> Evgeny V  (04.06.2007 10:55:43)  [163]

Правильно, что не считал, а то так бы и был автором одного языка


 
clickmaker ©   (2007-06-04 12:30) [216]


> ЛИСП посмотри

там есть ==== ?! o)


 
Anatoly Podgoretsky ©   (2007-06-04 12:34) [217]

> data  (04.06.2007 11:15:04)  [184]

Пишут и хуже


 
Anatoly Podgoretsky ©   (2007-06-04 12:35) [218]

> Думкин  (04.06.2007 11:18:09)  [189]

Не знаю как насчет нападения, надо просто расслабиться, получать удовольствие от процесса.


 
Zagaevskiy ©   (2007-06-04 12:36) [219]

Мастера! А что получится в результате копиляции этой стоки?
for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);


 
Anatoly Podgoretsky ©   (2007-06-04 12:36) [220]

> Игорь Шевченко  (04.06.2007 11:36:11)  [191]

Средний это верх изуверства


 
Anatoly Podgoretsky ©   (2007-06-04 12:38) [221]

> Evgeny V  (04.06.2007 11:36:12)  [192]

> ругаясь при этом на необходимость читать его на английском(какого-такого его вообще написали на английском, у них что нет в MS русских программистов),

Уже появились


 
Dmitry S.   (2007-06-04 12:49) [222]

b+++c
такие конструкции употребляются крайне редко
вобще за такой код отрывают уши. что касается
>А почему не a=b+(++c)? или не s=b+(+(+c))?
потому что код парсится слева направо

а почему a + b + c == (a + b) + c?

ограниченность не может быть преимуществом. это  просто сдерживающий фактор для плохого программиста, начинающего, студента, помойки типа кода
DmitryO. представляете что было бы если бы он писал на C?

>Набери-ка A := inc(I);
круто! чтобы увеличить переменную на И нужно вызвать процедуру!

> что получится в результате копиляции этой стоки?
>for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

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


 
Johnmen ©   (2007-06-04 12:59) [223]

>keymaster ©   (04.06.07 11:47) [197]
>Очень спорное заявление. Скорее всего, автор ничего не знает о паскале.

Совершенно точно. Ничего не знает.
"Я книгу не читал, но она плохая" (с)

>Юрий Зотов ©

По-моему, тут никто из спорящих и возражающих не понимает сути твоих высказываний. Все попытки с твоей стороны что-либо объяснить идут прахом...
Я бы забил....


 
db2admin ©   (2007-06-04 12:59) [224]

Dmitry S.   (04.06.07 12:49) [222]
не ты не брат Дмитрия О., ты злейший врах


 
sniknik ©   (2007-06-04 13:01) [225]

Галинка ©   (04.06.07 12:12) [209]
> sniknik ©   (04.06.07 12:07) [208]
> а может не надо думать за других? кто что хотел и как писал?
работа такая, думать за других когда они не справляются.... т.е. когда с проблемой с софтом (не обязательно моим) в конторе не могут разобраться ни в одной инстанции идут ко мне.
обычно получается. могу и за тебя попробовать...

разговор шел о том как легко сделать ошибку, при таком синтаксисе неоднозначном. так? привели пример неоднозначности, и ему после почемуто дали совершенно однозначное толкование... а вот если подумать? встречая подобную конструкцию, в чужом коде, о котором достоверно известно одно что он работает неправильно. как вы эту конструкцию истолкуете? при том, что - логика автора неизвестна, что он подразумевал под выражением неясно, но код в общем работает не так как ожидается и непонятно почему.
т.е. встретив в чужом коде a = b+++c; где уверенность что имелось ввиду именно a = b++ + c; ?
нет ее. про что вам Ю.З. уже устал вдалбливать...

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


 
Юрий Зотов ©   (2007-06-04 13:01) [226]

> Dmitry S.   (04.06.07 12:49) [222]

>> что получится в результате копиляции этой стоки?
>> for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

> данный код демострирует в первую очередь убогость программиста,
> помойку в его голове

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


 
db2admin ©   (2007-06-04 13:05) [227]

Юрий Зотов ©   (04.06.07 13:01) [226]
возможность писать так что аж плохо становиться

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


 
Юрий Зотов ©   (2007-06-04 13:05) [228]

> Johnmen ©   (04.06.07 12:59) [223]

Увы, очень похоже.


 
default ©   (2007-06-04 13:08) [229]


> Неправильно другое - то, что "нечеловеческая" конструкция
> a+=b вообще в языке допустима.

блин, ребята, даже в Visual Basic включили сокращённые операторы +=,-= и тд
чего уж там говорить об их запутанности а?:)


 
db2admin ©   (2007-06-04 13:17) [230]

if(mdam>=walldam)and(map[ix,iy]>=5)and(map[ix,iy]<=17)then begin map[ix,iy]:=69;broken:=1;end;
if(mdam>=round(walldam*1.5))and(map[ix,iy]>=18)and(map[ix,iy]<=22)then begin map[ix,iy]:=69;broken:=1;end;
if(mdam>=walldam*2)and(map[ix,iy]=23)then begin map[ix,iy]:=69;broken:=1;end;
if(mdam>=round(walldam*1.5))and(map[ix,iy]>=24)and(map[ix,iy]<=27)then begin map[ix,iy]:=69;broken:=1;end;
if(mdam>=walldam)and(map[ix,iy]>=28)and(map[ix,iy]<=33)then begin map[ix,iy]:=69;broken:=1;end;

источник
http://www.google.com/codesearch?hl=ru&q=+lang:pascal+%3Bfor+show:dTkUOSuSu38:nvUZ6XldoJk:iPczB9Gob8A&sa=N&cd=3&ct=rc&cs_p=http://users.tkk.fi/~kluojus/pback21.zip&cs_f=GAMEMISC.PAS#a0


 
Галинка ©   (2007-06-04 13:19) [231]

sniknik ©   (04.06.07 13:01) [225]

для этого есть дебуггер с кнопкой степ... (чего-то там) ну и минимальное разтраьтельство в предметной области задачи. Синтаксис тут не при чем.

Синтаксис призван повысить либо скорость понимания - программером или компилятором - либо степень упразднения рутинных процедур. Именно поэтому появились инкремент/декремнты и операции типа +=/-=. Это просто удобное сокращение, как в скнигах пишут "см." вместо "смотри". Есть принятые операторы и "сокращения" языка. Умеешь их использовать - работать становится приятнее. не умеешь/не любишь - твое право.


 
Anatoly Podgoretsky ©   (2007-06-04 13:19) [232]

> clickmaker  (04.06.2007 12:30:36)  [216]

Там есть }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}


 
Игорь Шевченко ©   (2007-06-04 13:20) [233]

Думкин ©   (04.06.07 11:38) [193]

Да, конечно LISP, обшибся :)


 
Anatoly Podgoretsky ©   (2007-06-04 13:21) [234]

> Johnmen  (04.06.2007 12:59:43)  [223]

Да кто же в серьез относится к данной ветке :-)


 
clickmaker ©   (2007-06-04 13:21) [235]


> [232] Anatoly Podgoretsky ©   (04.06.07 13:19)

ну так это и в Си можно. Не забыв такое же количество {


 
Anatoly Podgoretsky ©   (2007-06-04 13:22) [236]

> db2admin  (04.06.2007 12:59:44)  [224]

Да, да, тот круглый, а этот какой то змееподобный


 
Anatoly Podgoretsky ©   (2007-06-04 13:24) [237]

> default  (04.06.2007 13:08:49)  [229]

Ну и что? В Дельфи под напором ламеров много чего мусорного включили.


 
default ©   (2007-06-04 13:31) [238]

Anatoly Podgoretsky ©   (04.06.07 13:24) [237]
ой это уже религия какая-то:)
увеличение переменной очень частая операция
отсюда возникло хорошо читаемое сокращение этой операции
типа Inc() читается хуже, по-крайней мере для меня это гораздо менее эстетично


 
db2admin ©   (2007-06-04 13:53) [239]

procedure AddExtension(var n:String);
{ Adds extension .QFC to filename, if no extension were specified}

var s:String;
begin
s:=n;while Pos("\",s)<>0 do Delete(s,1,Pos("\",s));
if Pos(".",s)=0 then n:=n+".QFC";
end;


 
db2admin ©   (2007-06-04 13:53) [240]

http://www.google.com/codesearch?hl=ru&q=+lang:pascal+%3Bwhile+show:v2QXQ2QyRiA:81agreY22cg:rDspo9iWheM&sa=N&cd=1&ct=rc&cs_p=ftp://ftp.elf.stuba.sk/pub/pc/pack/qfc202c.zip&cs_f=QFC.PAS#a0



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 вся ветка

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

Наверх





Память: 1.08 MB
Время: 0.132 c
15-1185207849
Nikfel
2007-07-23 20:24
2007.08.26
Как платить за размер в интернете.


15-1185339334
dimaL
2007-07-25 08:55
2007.08.26
Формы в DLL


2-1185678476
Нова
2007-07-29 07:07
2007.08.26
Сокеты


15-1185454046
Kostafey
2007-07-26 16:47
2007.08.26
Как узнать название материнки ?


15-1185783063
AlinaVK
2007-07-30 12:11
2007.08.26
Перевод проекта на .Net





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