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

а у меня такое есть:

Можно наблюдать транслит и нормальные названия (еще не все поменял)

почувствуй разницу :)

[dikiy@localhost dikiy]$ tree -d ~/music/all_stuff/Ленинград
/home/dikiy//music/all_stuff/Ленинград
├── _1_PULYA
├── 2001 - Пуля+ (диск 1)
├── 2001 - Пуля+ (диск 2)
├── _2_MAT_BEZ_ELECTRICHESTVA
├── _3_DACHNIKI
├── _4_MADE_IN_JOPA
├── _5_PITATI_20_GO_VEKA
├── _6_TOCHKA
├── _7_SSHNUROV_VTOROY_MAGADANSKIY
├── _8_DLYA MILLIONOV
├── _9_BABAROBOT
├── Images
├── Texts
│   ├── 1999 - Мат без электричества
│   ├── 1999 - Пуля
│   ├── 2000 - Дачники
│   ├── 2001 - Маде Ин Жопа
│   ├── 2001 - Пуля+ (диск 1)
│   ├── 2001 - Пуля+ (диск 2)
│   ├── 2002 - Пираты XXI века
│   ├── 2002 - Точка
│   └── Bonus
└── VIDEO

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

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

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

каждую неделю два раза в поезде по 3 часа нахожусь.

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

ну так тебе он не нужен походу :)

А кроме музыки есть еще и документы, которые тоже называть надо. Или книги. Например:

[dikiy@localhost Documents]$ ls |tail -6
ТЕРМЕН-ЦЕНТР | THEREMIN CENTER.mht
топология
треклятый Floyd Rose - Музыкальный форум.html
Уведомление о безопасности: SEC Consult SA-20071012-0 :: Madwifi xrates element remote DOS - ошибки и эксплоиты.html
УМЗЧ ВВ Сухова
Чернов - Формирование смены меха в работе над полифонией, Ястребов - Уральское трио, Имханицкий - Творчество Репникова для баяна.djvu
[dikiy@localhost Documents]$ 

а теперь представь, какая порнография была бы в случае транслита. А если учесть еще, что транслитерация неоднозначна, а тебе надо искать что-то по ФС... Ощущения непередаваемые %)

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

Тебе скрипт дать, который извращенные имена в нормальные переводит (заменяет пробелы подчеркиваниями, а русские буквы — транслитом)?

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

Тебе скрипт дать, который извращенные имена в нормальные переводит (заменяет пробелы подчеркиваниями, а русские буквы — транслитом)?

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

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

каждую неделю два раза в поезде по 3 часа нахожусь

Вот это тебя жизнь мотыляет!

А что, между этой поездатой жизнью залить музыку на плеер не можешь?

ну так тебе он не нужен походу :)

Когда-то думал, что буду слушать, ездя на велике. Когда фура чуть не придавила, понял, что нафиг этот график!

А кроме музыки есть еще и документы, которые тоже называть надо. Или книги.

Для документов есть ноутбук. Для книг — читалка. При чем здесь плеер?

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

А, ты про названия?

Лучше уж такая "порнография", чем черт-те какие значочки. А то, знаем мы этих любителей: захожу к кому-то на компьютер, а у него (!!!) юникод! Да еще и имена файлов по-русски! Хорошо, что mc умеет перекодировку на-лету.

А если учесть еще, что транслитерация неоднозначна

Однозначна. Неоднозначна только обратная.

Eddy_Em ☆☆☆☆☆
()

Ладно, развлекайтесь тут сами. Скучно у вас. Не кормите.

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

каждую неделю два раза в поезде по 3 часа нахожусь

Вот это тебя жизнь мотыляет!

ну надо же как-то зарабатывать.

А что, между этой поездатой жизнью залить музыку на плеер не можешь?

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

ну так тебе он не нужен походу :)

Когда-то думал, что буду слушать, ездя на велике. Когда фура чуть не придавила, понял, что нафиг этот график!

и это правильно. Сам грешу иногда таким, но стараюсь очень внимательно ездить. И только по тротуарам.

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

А, ты про названия?

Лучше уж такая «порнография», чем черт-те какие значочки. А то, знаем мы этих любителей: захожу к кому-то на компьютер, а у него (!!!) юникод! Да еще и имена файлов по-русски!

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

А если учесть еще, что транслитерация неоднозначна

Однозначна. Неоднозначна только обратная.

навскидку.

Х = Kh | H | Ch, Ы = Y | I, Ж = G | ZH, Ц = C | Ts

И не надо говорить, что существуют правило и т.д. Эти правила знают 3.5 секретутки в ОВИРе, остальной интернет делает как хочет.

dikiy ★★☆☆☆
()

Да ладно, просто троллинг ООП и программистов, которые его используют неправильно.

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

подчеркивания на пробелы заменил

Ну ты и ССЗБ!

И как ты с этими пробелами в именах файлов работаешь?

запросто. Использую кавычки :) иногда бэкслеш. Зависит от случая. А в 99% все равно шелл сам дополняет.

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

только по тротуарам

У трасс проблема в том, что тротуаров там нет. А по тротуарам ездить между четырьмя домами — скучно как-то.

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

Мне больше нравится порядок: имена файлов — только латинницей, никаких пробелов.

Х = Kh | H | Ch, Ы = Y | I, Ж = G | ZH, Ц = C | Ts

Ничуть:

    "y/йукенгзхъфывапролдэсмитьбЙУКЕНГЗХЪФЫВАПРОЛДЭСМИТЬБ/jukengzh'fyvaproldesmit'bJUKENGZH'FYVAPROLDESMIT'B/"\
    -e "s/ц/tz/g"	\
    -e "s/ш/sh/g"	\
    -e "s/щ/sch/g"	\
    -e "s/ж/zh/g"	\
    -e "s/ч/ch/g"	\
    -e "s/ю/yu/g"	\
    -e "s/я/ya/g"	\
    -e "s/ё/yo/g"	\
    -e "s/Ё/YO/g"	\
    -e "s/Ц/TZ/g"	\
    -e "s/Ш/SH/g"	\
    -e "s/Щ/SCH/g"	\
    -e "s/Ж/ZH/g"	\
    -e "s/Ч/CH/g"	\
    -e "s/Ю/YU/g"	\
    -e "s/?/_/g"	\
    -e "s/Я/YA/g"`

остальной интернет делает как хочет

А ты тут при чем?

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

Мне он просто не нужен, т.к. С хватает на все случаи жизни.

На все случаи жизни? Да... Тяжела жизнь неосилятора. Не осилил многобайтовые кодировки в си - объявлю-ка их ненужным дерьмом (превед виндорасам с их CP1251). Не осилил HTML - латех во все поля. Не осилил отличный от сишного синтаксис - всё, можно питон закапывать и весь серверсайд на си переводить, не задумываясь, почему сейчас всё так, а не иначе. Аргументов ноль, пафоса уйма.

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

Использую кавычки :) иногда бэкслеш

В скриптах же лишний геморрой!

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

остальной интернет делает как хочет

А ты тут при чем?

тоже верно. Но так или иначе, мне намного приятнее и удобней видеть и работать с названиями файлов на родном языке происхождения файлов. О таком раньше можно было только мечтать: http://ompldr.org/vaHBsYw

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

В скриптах же лишний геморрой!

А потом скрипт падает от пробела в имени, из-за того, что какой-то Эдик говнокодер.

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

Разные, но кое-кто считает идеальный веб латеховой разметкой + сишной динамикой с зоопарком недокодировок вместо юникода.

border-radius
()
Ответ на: комментарий от border-radius

Не ты ли выступал за перевод веб-верстки на латех?

Я, потому как html — говно. Годится только для разметки элементарнейших текстов. Сложную верстку им не сделать.

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

Я свои скрипты в "продакшн" не выставляю. А если у меня в имени файла будет пробел, я сам себе по башке кирпичом тресну!

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

Внутренние файлы твоей же программы - одно, а обработка внешних файлов - другое. Если пользователь вводит имя файла с пробелом и программа его не хавает, то ССЗБ - не пользователь, а погромист.

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

Не, я не к этому, можешь писать на чем угодно. Просто ты одним своим высказыванием продолжил тред на 5 страниц ;-).

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

На кой хрен мне эта параша?

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

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

А пробел в имени — из-за какого-то быдлокодера-песца ☺

[dikiy@localhost usr]$ find ./ -name *\ * 2>/dev/null|wc -l
1996
[dikiy@localhost usr]$ 

все - файлы из дистра :)

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

не отрицаю. Я и сам хотел тебе возразить, но все же читать этот тред интереснее, чем в него писать.

rikardoac
()
Ответ на: комментарий от border-radius

угрёбищные юзерстайлы

У меня просто настройка браузера. userstyle я лишь для ЛОРа использую и для быдлохабры (там без userstyle непонятно, куда щелкать, чтобы инкремент/декремент сделать).

на кой хрен всем остальным параша в виде кои8 и прочих окаменелостей?

Да мне на вас, честно говоря, наплевать.

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

256 символов в имени файла. Мне хватает.

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

Мсье упоролся? Вроде libastral.so еще не релизнулась.

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

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

Тебе уже в который раз говорю: разве что libastral.so угадает имя несуществующего файла при нажатии [TAB]

ну тогда touch my\ filename

или тебе один лишний символ жить мешает?

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.