LINUX.ORG.RU
ФорумTalks

Программистский мир окончательно скатился.


2

3

!Ъ: http://habrahabr.ru/post/172119/

Ъ:

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

Скажем, чтобы выполнить простую операцию сложения, нашим отцам приходилось писать: 1+1. Да, серьезно.

Но теперь-то у нас есть PHP 5.3 с отличной имплементацией ООП! Представляем библиотеку SimplePHPEasyPlus! SimplePHPEasyPlus позволит вам складывать два числа современным способом, с использованием ООП. Он быстрый, простой, гибкий и оттестированный. Чтобы добавить 1 к 1, нужно всего лишь выполнить следующее:

use SimplePHPEasyPlus\Number\NumberCollection;
use SimplePHPEasyPlus\Number\SimpleNumber;
use SimplePHPEasyPlus\Number\CollectionItemNumberProxy;
use SimplePHPEasyPlus\Parser\SimpleNumberStringParser;
use SimplePHPEasyPlus\Iterator\CallbackIterator;
use SimplePHPEasyPlus\Operator\AdditionOperator;
use SimplePHPEasyPlus\Operation\ArithmeticOperation;
use SimplePHPEasyPlus\Operation\OperationStream;
use SimplePHPEasyPlus\Engine;
use SimplePHPEasyPlus\Calcul\Calcul;
use SimplePHPEasyPlus\Calcul\CalculRunner;


$numberCollection = new NumberCollection();

$numberParser = new SimpleNumberStringParser();

$firstParsedNumber = $numberParser->parse('1');
$firstNumber = new SimpleNumber($firstParsedNumber);
$firstNumberProxy = new CollectionItemNumberProxy($firstNumber);

$numberCollection->add($firstNumberProxy);

$secondParsedNumber = $numberParser->parse('1');
$secondNumber = new SimpleNumber($secondParsedNumber);
$secondNumberProxy = new CollectionItemNumberProxy($secondNumber);

$numberCollection->add($secondNumberProxy);

$addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');

$operation = new ArithmeticOperation($addition);

$engine = new Engine($operation);

$calcul = new Calcul($engine, $numberCollection);

$runner = new CalculRunner();

$runner->run($calcul);

$result = $calcul->getResult();
$numericResult = $result->getValue(); // 2

Библиотека годится для применения с продакшене. Наслаждайтесь!

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

Я в печали.

Ответ на: комментарий от Eddy_Em

В сях код четкий, однозначный и красивый. Баги ловить легко. Это тебе не пыхпых какой-нибудь.

это от рук зависит. быдлокодер и на сях быдлокод писать будет.

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

Когда я вижу слово «абстракция» - мне хочется убивать того, кто его написал, желательно головой об унитаз.

AlexCones ★★★
() автор топика
Ответ на: комментарий от x3al

В сях нет ни строк, ни юникода.

на самом деле в сях нет проблем со строками и с юникодом. а в твоём пистоне/пыхе - есть. Причём в самых неожиданных местах, причём если в версии X.Y.5 их не было, то в версии X.Y.6 - уже есть. ВНЕЗАПНО.

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

А если бы не было геев, то компьютер не изобрели, ага.

компьютеры-бы изобрели. Разве что с 68000/макинтош были-бы проблемы. Ну что поделать… Они всё равно никому кроме геев не нужны.

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

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

почему си подходит для sed? В sed кроме строк что-то есть? (кстати, с юникодом sed дружит, и получше твоего пыха).

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

Я рнр не пользуюсь, не надо тут.

почему си подходит для sed?

Потому что sed в этих ваших юниксах сидит слишком глубоко, чтобы писать его не на ц.

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

Да и то, не факт. указатели там - это мрак полный.

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

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

Когда я вижу слово «абстракция» - мне хочется убивать того, кто его написал, желательно головой об унитаз.

ембеддщик-ассемблерный что-ли?

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

Я рнр не пользуюсь, не надо тут.

тогда ради прикола, посчитай число букв в слове «жопа». У меня в sed и в сях четыре получилось.

Потому что sed в этих ваших юниксах сидит слишком глубоко, чтобы писать его не на ц.

в этих ваших маздаях он точно там же. Аргумент не принимается.

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

насчет имено файлов уже не повозражаешь, да? :)

в смысле?

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

dikiy ★★☆☆☆
()
Ответ на: комментарий от PolarFox

Обычные плееры — это 1 микросхемка + аккумулятор + флешка + децльный экранчик.

А если делать самому, то придется паять как минимум 2 микросхемки (контроллер + звуковой цап на 2 канала), да и с экранчиком проблематично будет. Ну и корпус. И аккумулятор… В общем, получится хрень размером с телефон!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dikiy

На железячном mp3-плеере? o_O

У него на плеер нет денег. Ему плеер не нужен.

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

Синтаксис PHP слизан с C чуть менее, чем полностью. Там даже функции типа substr и printf одинаково называются.

В этой цепочке был упущен Perl.

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

ЦАП в любом приличном мк уже имеется и многие смогут им на 44100гц управляться, понадобится разве что фильтр.

Аккумуляторы маленькие имеются (у всяких любителей вертолётиков к примеру), и умные контроллеры заряда в виде мелких таракашек к ним тоже.

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

Единственная проблема — под diy трудно найти подходящий экран.

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

ЦАП в любом приличном мк уже имеется

Ты будешь сам писать mp3-декодер? Оно тебе надо? Берешь готовую микросхемку. А мкшка нужна лишь для работы с флешкой.

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

На железячном mp3-плеере? o_O

А, ты про железячный!

Там теги нафиг не нужны!

то есть база данных там тоже не нужна?

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

то есть база данных там тоже не нужна?

Тут кто-то уже рассказывал про плееры, которые играют в том порядке, в котором ты залил файлы на FAT.

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

файлы на русском называть

Это должно пресекаться кирпичом по рукам.

это почему?

тебе приятно вот такое видеть:

01 - Divchyna.mp3  
02 - Malo meni.mp3
03 - Kholodno.mp3  
?

мне например не приятно.

dikiy ★★☆☆☆
()
Ответ на: комментарий от PolarFox

то есть база данных там тоже не нужна?

Тут кто-то уже рассказывал про плееры, которые играют в том порядке, в котором ты залил файлы на FAT.

это был я :)

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

то есть база данных там тоже не нужна?

Зачем? Это же железячный плеер — скинул пару-тройку гигов музыки и пошел себе…

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

У меня тупо: 0001, 0002, 0003 … И все зашибись!

это неудобно. тем более русские имена я использую очень часто для документов. Да вообще везде. например

[dikiy@localhost aur-gzdoom-svn]$ file ~/толстый_скайп.txt 
/home/dikiy//толстый_скайп.txt: ASCII text
[dikiy@localhost aur-gzdoom-svn]$ 

dikiy ★★☆☆☆
()
Ответ на: комментарий от Eddy_Em

то есть база данных там тоже не нужна?

Зачем? Это же железячный плеер — скинул пару-тройку гигов музыки и пошел себе…

я ее не подряд слушаю. Сегодня хочется одно, завтра другое. Послезавтра третье. А через неделю вообще какую-то конкретную песню.

dikiy ★★☆☆☆
()
Ответ на: комментарий от drBatty

А, врубился. Да, в случае этой недокодировки `wc -c` и `wc -m` покажут разные результаты.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dikiy

Дык, элементарно: сегодня заливаешь на плеер одно, завтра — другое…

// а я "подарил на восьмомарта" жене (считай, как тот спиннинг ☺ ) SD-магнитолу, собственно 8 марта ее и воткнул. Класс! Теперь надо сшить для SD-карточек хранилку, чтобы можно было перебирать "мое"/"жинкино"/"шустрое"/"медленное"/"дочке".

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

Дык, элементарно: сегодня заливаешь на плеер одно, завтра — другое…

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

короче - это все кактус.

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

А, ты про компьютер, а не плеер?

У меня, например, так:

tree -d /Music/Avantasia 
/Music/Avantasia
|-- 1-The_metal_opera_2001
|-- 2-The_metal_opera-2002
|-- 3-The_wicked_trilogy-I-The_Scarecrow-2008
|-- 4-The_wicked_trilogy-II-The_wicked_symphony-2010
|-- 5-The_Flying_Opera-2011
|-- 5-The_wicked_trilogy-III-Angel_Of_Babylon-2010
|-- Avantasia_-_Lost_In_Space-Part_1&2_(www.heavytorrents.org)_BY_RODGUY
`-- Clips

9 directories

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dikiy

Не, не кактус, это потребительский стиль жизни. :)

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

когда ты в пути нет возможности перезалить

Фигасе у тебя путь…

Я железячный карманный плеер слушаю от силы раз в 3 месяца (в самолете). Больше негде же! А в машине, как я уже говорил, будет флешкография.

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