Программистский юмор

 
1 2 3
+
-
edit
 

Balancer

администратор
★★★★★
Чтобы понять рекурсивность, сначала нужно понять рекурсивность.
 

TbMA

опытный

Эт точно ;)

code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]perl[/b]'</font>
  2.  
  3. <span style='color:#800000; font-weight:bold; '>sub </span>fib<span style='color:#800080; '>{</span>
  4.   <span style='color:#800000; font-weight:bold; '>my</span> <span style='color:#808030; '>(</span>$x<span style='color:#808030; '>,</span> $y<span style='color:#808030; '>)</span> <span style='color:#808030; '>=</span> @_<span style='color:#800080; '>;</span>
  5.  
  6.   <span style='color:#800000; font-weight:bold; '>unless</span> <span style='color:#808030; '>(</span>$y<span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
  7.         $y <span style='color:#808030; '>=</span> <span style='color:#808030; '>[</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>,</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>]</span><span style='color:#800080; '>;</span>
  8.         $x <span style='color:#808030; '>-</span><span style='color:#808030; '>=</span> <span style='color:#800000; font-weight:bold; '>scalar</span><span style='color:#808030; '>(</span>@<span style='color:#800080; '>{</span>$y<span style='color:#800080; '>}</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  9.   <span style='color:#800080; '>}</span>
  10.  
  11.   <span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>$x<span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
  12.         <span style='color:#800000; font-weight:bold; '>my</span> $z <span style='color:#808030; '>=</span> $y<span style='color:#808030; '>-></span><span style='color:#808030; '>[</span><span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>]</span> <span style='color:#808030; '>+</span> $y<span style='color:#808030; '>-></span><span style='color:#808030; '>[</span><span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>]</span><span style='color:#800080; '>;</span>
  13.         <span style='color:#800000; font-weight:bold; '>push</span> @<span style='color:#800080; '>{</span>$y<span style='color:#800080; '>}</span><span style='color:#808030; '>,</span> $z<span style='color:#800080; '>;</span>
  14.         @_  <span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>$x<span style='color:#808030; '>,</span> $y<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  15.         <span style='color:#7f9fbf; font-weight:bold; '>goto</span> <span style='color:#808030; '>&</span>fib<span style='color:#800080; '>;</span>
  16.   <span style='color:#800080; '>}</span> <span style='color:#800000; font-weight:bold; '>else</span> <span style='color:#800080; '>{</span>
  17.         <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#800000; font-weight:bold; '>wantarray</span><span style='color:#808030; '>?</span>@<span style='color:#800080; '>{</span>$y<span style='color:#800080; '>}</span><span style='color:#808030; '>:</span>$y<span style='color:#808030; '>-></span><span style='color:#808030; '>[</span><span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>]</span><span style='color:#800080; '>;</span>
  18.   <span style='color:#800080; '>}</span>
  19. <span style='color:#800080; '>}</span>
  20.  
  21. <span style='color:#800000; font-weight:bold; '>print</span> <span style='color:#800000; font-weight:bold; '>scalar</span><span style='color:#808030; '>(</span>fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>41</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
 
+
-
edit
 

Balancer

администратор
★★★★★
TbMA>print scalar(fib(41))[/code]

0.06 сек. Реально, конечно, меньше. Но это нечестный приём, это даже не хвостовая рекурсия :D
 
+
-
edit
 

Balancer

администратор
★★★★★
Эволюцию программиста, наверное, все видели: http://www.cse.ogi.edu/~diatchki/jokes/programmer.html

А вот эволюцию Haskell-программиста я закидывал только в форум по Forth, так что, могли и не видеть :) - http://www.willamette.edu/~fruehr/haskell/.../evolution.html
 
+
-
edit
 

Stillet

втянувшийся

C сайта ПЕРВЫЕ ШАГИ:

Последнее: читайте Гради Буча! Учтите, что с первого раза он никогда (вообще!) не доходит. Только на второй или третий, не меньше, и то, если будете перемежать его с UML. Если Ваш проект действительно серьезный, то без грамотной модели он не существует. [b]Этель Лилиан Войнич никогда бы не дописала свой роман "Овод", если бы с самого начала не задалась моделью: класс <солдат> обязательно должен иметь функцию <застрелить> экземпляр класса <мятежник>, а класс <офицер> во-первых, наследует от класса <солдат>, во-вторых, может отсортировать набор <солдат> в порядке возрастания - построить их на расстрел, в третьих - может и сам пристрелить врага при необходимости. Сильно подозреваю, что в этой модели функция <застрелить> является для <мятежника> дружественной. [b]Выбирайте друзей правильно!
 
RU asoneofus #05.06.2003 00:02
+
-
edit
 

asoneofus

старожил
★☆
Фирма Microsoft объявила, что следующая версия Windows, кроме всем
известного "Звука Майкрософт" будет комплектоваться конфетами "Вкус Майкрософт" и духами "Запах Майкрософт". Так же, компания предложила откликнуться на это начинание сторонних разработчиков.
Первой откликнулась отечественная фирма ASPLinux, которая объявила, что коробочные поставки "ASPLinux 10 Deluxe Edition" будут
комплектоваться пудрой "Прах Майкрософт"...
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."  

.cpp

втянувшийся



if (i>=0) printf ("i>=0\r\n");


else if (i<=0) printf ("i<0\r\n");


else if (i==0) printf ("Как это?\r\n");


else printf ("Пользуйтесь исправным инструментом! (С)V.B.\r\n");
 
RU Victor Blinov #07.06.2003 14:22
+
-
edit
 

Victor Blinov

опытный

:D:D:D

Так оно и есть!
"Будьте самоучками - не ждите, чтобы вас научила жизнь." С.Е. Лец  
RU asoneofus #08.06.2003 01:58
+
-
edit
 

asoneofus

старожил
★☆
http://images.insecure.org/nmap/images/matrix/

Гы, матрица-то линуксовая...
Из рассылки АЛТ-коммюнити :)
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."  
US ComputerMage #08.06.2003 05:57
+
-
edit
 

ComputerMage

втянувшийся



asoneofus>http://images.insecure.org/nmap/images/matrix/
asoneofus>Гы, матрица-то линуксовая...
asoneofus>Из рассылки АЛТ-коммюнити :)



Ага, я серверную часть под Линух делаю =)))

Проект Диптаун

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

// Дальше — www.deeptown.org
 

=)
Быть или не быть?!
Вот только у кого спросить?!
 
+
-
edit
 

Sokrat

модератор

Админы и программеры

Программеры - они толстые. Потому что они сидят. А админы - они тощие. Потому что бегают. Впрочем, бывают тощие программеры. Hо не надо думать, что это исключение из правил - это переученные админы. Также встречаются и толстые админы. Это обленившиеся программеры.

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

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

Программеры уходят с работы ночью. Потому что мысль. Hекоторые из них уходят вечером и думают мысль дома. Hекоторые, у которых есть ноутбук, думают ее в метро. Админы домой не ходят. Потому что если они пойдут домой, что-нибудь упадет. И придется идти на работу. А на работу они ходить не любят. И не ходят. Они там живут. У них обычно есть отдельное гнездо за отдельной дверью, часто запираемой на отдельный замок.

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

Программеры пьют пиво. В основном светлое и много. Потому что мысль. Пока она плавает - ее можно думать. Главное, чтобы не утонула. Админы тоже пьют пиво. Потому что если что-нибудь упадет, им будет пофиг. Админы любят когда им пофиг. И программеры любят, когда им пофиг. Поэтому часто они пьют пиво вместе. И им вместе пофиг. После этого они спят. Hо не вместе. Админы спят в гнезде, а программеры - на клаве. Когда они просыпаются, они снова пьют пиво. Потому что хочется. Потому что они админы. И программеры.

 

.cpp

втянувшийся

Кстати, откуда есть пошла легенда, что програмеры пьют много пива? Я вот тоже програмер, тоже толстый, и тоже люблю пиво. Но пью его мало и редко. Потому что мысль. А все остальное - правда!
 
+
-
edit
 

Sokrat

модератор

.cpp>Кстати, откуда есть пошла легенда, что програмеры пьют много пива? Я вот тоже програмер, тоже толстый, и тоже люблю пиво. Но пью его мало и редко.

Действительно, когда работаешь полную неделю с нагрузкой 100-120%, то на пиво остаются разве что пятницы (если в выходные авралить не приходится и жена домой не требует ;) ) - и то находятся более интересные занятия и важные заботы. Но я помню рассвет оффшора в Н-ске - толпы новософтовских(*) мальчиков с мобилами напоказ в каждой пивнушке, которые с шиком пропивали свои $600/мес за частичную занятость... Сейчас, естественно, вся эта пена схлынула, а впечатление осталось.

*) Novosoft - оффшорная контора, в лучшие времена обильно кормила 400+ человек, в данный момент на последней стадии разложения.

 
IL Serge Pod #20.06.2003 17:01
+
-
edit
 

Vale

Сальсолёт
★☆
http://www.user.cityline.ru/~jav/linux/Barmin.txt

Area : ru.unix
Date : Thu Oct 03 1996, 13:54
From : Vladimir Barmin 2:50/128
To : "Const M. Tereshenko"
Subj : Выбор: Linux, SCO и BSD вопрос чайника и ответ чайника.:-)
””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

Reply-To: bwmMVC.net

X-RealName: Vladimir Barmin
RFC-Subject: Re: Выбор: Linux, SCO и BSD вопрос чайника и ответ чайника.:-)


Const M. Tereshenko wrote to relcom.fido.ru.unix:
> Ivan Kalugin
> > Возникла пpоблема пpи выбоpе веpсии Unix на PC (486/8Mb(ну будет 16)/1Гиг).
> > Имеются на pуках Linux и SCO, и FreeBSD тоже появится....
> > Hет ли у кого файлов с описанием установки каждой из пеpечисленных веpсий,
> > или хотя бы кpатко опишите основные этапы инсталяции. (netmail'ом
пожалуйста)
> > Заpанее благодаpен за любые pекомендации и советы.

Процесс установки для SCO кратко можно описать примерно так:

Пишешь письмо, отправляешь. Ждешь ответа.. Ждешь ответа.. Ждешь
ответа.. надоедает. Звонишь приятелю чтобы послал письмо.. Ждешь
письма.. Ждешь письма.. ... выясняешь что не работает uuxqt.
Звонишь приятелю, берешь дискету, прешься к приятелю зайдя по
дороге в магазин и купив:
1. Пива - 1 ящик
2. Колбасы - 2 килограмма
3. Сигарет "camel" - один блок
Приходишь к приятелю, переписываешь taylor uucp, бежишь домой,
читаешь дискету, ищешь gzip... не находишь.
Звонишь приятелю, берешь дискету, прешься к приятелю зайдя по
дороге в магазин и купив:
1. Пива - 1 ящик
2. Колбасы - 2 килограмма
3. Сигарет "camel" - один блок
Приходишь к приятелю, переписываешь сорцы gzip, бежишь домой,
читаешь дискету, ищешь C-компилятор... не находишь.
Уже не звонишь приятелю, просто берешь дискету, прешься к приятелю
зайдя по дороге в магазин и купив:
1. Пива - 1 ящик
2. Колбасы - 2 килограмма
3. Сигарет "camel" - один блок
Приходишь к приятелю, внимательно слушаешь его, идешь на [censored].
По возвращении оттуда ставишь компилятор, компилишь gzip.. Ругается..
Ищешь gcc, находишь, компилишь gcc, компилишь gzip, распаковываешь
архив, компилишь tuucp. УРА! Теперь все работает! Пишешь письмо,
получаешь ответ, пытаешься прочитать.. Выясняешь что восьмой бит
порезан, пишешь вопрос, получаешь ответ, идешь на [censored].
Возвращаешься оттуда с sendmail, сносишь mmdf, ставишь сендмейл,
пишешь вопрос.. ждешь ответа.. ждешь ответа.. Материшься. Замечаешь
что пишешь с кривого адреса. Ищешь libresolv, компилишь, заменяешь.
Пишешь письмо, ждешь ответа.. ждешь ответа.. прибиваешь зависший
сендмейл. Материшься. Пишешь письмо, ждешь ответа.. Получаешь!
Запускаешь слип, ложишься спать. Просыпаешься, материшься,
убиваешь залипший slattach, перезапускаешь слип, пинг не идет.
Материшься, ребутаешься, Запускаешь слип. Втыкаешь эзернетовскую
карту. Hастраиваешь роутинг. Материшься. Сносишь routed, выкачиваешь
gated, компилишь. Hе компилится. Пишешь письмо.. [ну про письмо
все уже поняли]. Получаешь скомпиленый gated. Запускаешь. Выясняешь
что в нем только RIP, а тебе надо OSPF. Материшься. Hаходишь
конфиг для gated'a, добавляешь ospf, компишишь, запускаешь..
После одиннадцатого зависания материшься, ищешь EBF, материшься,
материшься, материшься.. находишь EBF, комментаришь запуск gated'a.
Материшься, пишешь скрипт на установку статического роутинга.
Материшься. Припаиваешь к кнопке ресет сигнал DCD от модема.
После пятнадцатого отрывания провода злобной уборщицей умоляешь
провайдера перевести тебя на ppp. Провайдер добрый, посылает
на [censored] только первые 82 раза, потом соглашается.
Подключаешь пользователя. Пытаешься заставить работать dialup
линию в 8bit mode. Материшься. Выкачиваешь mgetty. Компилишь.
Запускаешь юзера. Ищешь подходящий терминал. Hе находишь.
Идешь к приятелю, идешь на [censored], возвращаешься с термкапом.
Пытаешься запустить юзера. Обнаруживаешь что он уже сидит у тебя
как root. Материшься, качаешь патч, затыкаешь дыру в login.
Запускашь юзера. Отдыхаешь и тащишься.. Замечаешь что юзер сидит
очень долго. Материшься. Прибиваешь зависший порт. Hе прибивается.
Материшься. Ищешь SAS, компилишь, ставишь. Запускаешь юзера.
Выносишь rlogind. Ставишь патченый. Выносишь telnetd. Hе находишь
патченого. Вытаскиваешь с дистрибутива старый. Материшься. Ищешь
tcp wrapper. Hаходишь. Компилишь. Ставишь. Материшься. Затыкаешь
дыру в mountd. Материшься. Затыкаешь дыру в nfsiod... Материшься..
[...]
..ставишь INN. Hе компилится. Тащишь патчи. Ищешь утилиту patch.. находишь.
Hе накладываются. Вытаскиваешь предыдущую версию INN. Патчишь.
Ставишь. Качаешь нюьса... тащишься.. материшься по причине окончания
inodes в /var/spool/news. Раскидываешь ньюсовую систему по куче
разделов. Тянешь ньюса. Читаешь.. Видишь вопрос: "а чем плох sco,
что его все так ругают". И теперь, ты с полной откровенностью и уверенным
тоном отвечаешь:

> Файла нет, а общие впечатления такие:
> Для SCO ничего не нужно, вставляешь CD, boot дискетту, потом root
> дискетту и отвечая на вопросы устанавливаешь все махом. И все работает.

Тебя согревает мысль что ты не один в этом бренном мире. Тебе
приятно, хорошо и тепло.. Hо файла действительно нет. Может создашь
его и запишешь в него то, что я написал чуть выше? Hу хотя бы
в качестве краааатенького описания. Hу хотя бы в качестве вступления?
Вдруг кто еще спросит? :)

P.S. Кстати, у тебя доменная часть в Message-Id криво генерится.

[stupid-must-die team],
--
bwm
"Не следуй за большинством на зло, и не решай тяжбы, отступая по большинству от правды" (Исх. 23:2)  
+
-
edit
 

Mishka

модератор
★★★


.cpp>Кстати, откуда есть пошла легенда, что програмеры пьют много пива? Я вот тоже програмер, тоже толстый, и тоже люблю пиво. Но пью его мало и редко. Потому что мысль. А все остальное - правда!



Вот-вот - все программисты и админы так говорят - а чего тут пить? А нормальный человек столько не выпивает! :D
 

Zeus

Динамик

Хе! Компьютерный юмор!

И животноводство!  

Jstar

втянувшийся

S.P.>


Это... того... наскоко я ещё не забыл школьный Турбобарсик, программа на знаке некорректна. Ибо до метки 50 не дойдёт в любом случае. Если уж на то пошло - верный вариант:

10 if speed - velocity>4
20 then goto 80
30 if speed - velocity 40 then goto 90
50 if police=behind the sign
60 then goto 100
80 stop
90 go
100 run

Я прав?
Жизнь - штука сложная, полная лишений и выгоняний (с)  
+
-
edit
 

Balancer

администратор
★★★★★
Jstar>Я прав?


До ветки 50 дойдёт в случае speed - velocity = 4. Но там и обломается. Другое дело, если за время выполнения строк до 50-й скорость превысит speed - velocity = 4

Но на самом деле ещё в строке 10 получится синтаксическая ошибка
 
+
-
edit
 

Mishka

модератор
★★★
Balancer, 02.08.2003 17:37:06:
Jstar>Я прав?


До ветки 50 дойдёт в случае speed - velocity = 4. Но там и обломается. Другое дело, если за время выполнения строк до 50-й скорость превысит speed - velocity = 4

Но на самом деле ещё в строке 10 получится синтаксическая ошибка
 

Не обламается, а сделает то, что надо на этом знаке делать

А почему ошибка в строке 10? Зависит от интерпретатора - стандарта не было, так что каждый лепил как хотел.
 
+
-
edit
 

Balancer

администратор
★★★★★
Mishka, 03.08.2003 10:00:20:
А почему ошибка в строке 10? Зависит от интерпретатора - стандарта не было, так что каждый лепил как хотел.
 

Потому что ни один интерпретатор не понял бы незакрытого оператора IF в строке Или THEN и GOTO обязательно должны были там быть.

Форматы были:

10 IF xxx THEN 50

10 IF xxx GOTO 50

10 IF xxx THEN a ELSE b

10 IF xxx THEN
20 aaa
30 ENDIF

 

hcube

старожил
★★
И вообще условие с полицией надо ставить ПЕРЕД другими. Это скорость выполнения увеличивает
Убей в себе зомби!  
+
-
edit
 

Mishka

модератор
★★★
Не хочу спорить, так как не помню точно, но мне казалось, что какой-то Wang-овский продвинутый Васец позволял записывать оператора IF на трех строчках.
 
+
-
edit
 

Balancer

администратор
★★★★★
1. А смысл?
2. А как ошибки отлавливать? :D
3. В "построчных" интерпретаторах каждая строка должна быть законченной частью оператора.
 

Zeus

Динамик

Balancer, 04.08.2003 10:39:47:
3. В "построчных" интерпретаторах каждая строка должна быть законченной частью оператора.
 

А вот в Матлабе можно спокойно набрать

if 1
...и он спокойно будет ждать, что юзер скажет дальше
И животноводство!  
1 2 3

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru