|
2.6, Аноним (6), 23:07, 12/06/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
Меня всегда удивляло как можно словить исполнение произвольного кода на разборе печенек или заголовков.
| |
|
1.8, Аноним (8), 23:18, 12/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> call_user_func
Эх, помню эту фигню. А еще помню, что в пыхе нельзя было вызывать функцию и тут же обратиться к элементу возвращенного массива. Вот так делать было нельзя: hello()[42]. Нужно было сначала сохранить массив в переменную, а потом уже обращаться по индексу. Это было в году скажем 2010. В это время, напоминаю, уже лет 40 как человек ступил на Луну. Строились небоскребы. Соорудили большой адронный коллайдер. А пых не осилил доставание элемента возвращенного массива.
| |
|
2.64, Онаним (?), 09:31, 13/06/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
hello()[42]
Ну надо сказать, очень хорошо, что было нельзя.
В плотном коде - плохо читабельная конструкция, хоть и очевидная.
Не, когда весь код очередного интернет-магазинчика сводится к последовательным вызовам фреймворка - терпимо наверное.
| |
2.88, Аноним (88), 12:31, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
В то время, как человеку понадобились десятки тысяч лет развития, php за не полных 30 лет развития держит львиную долю веб-сайтов. Не осилил аноним в разработку, ничего тут не поделать.
| |
|
|
2.23, Аноним (8), 01:31, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Тип -- это множество допустимых значений. Тип false имеет единственно допустимое значение: false. Тип boolean является юнионом типов true и false. Другое дело, зачем понадобилась настолько тонкая система типов во всего лишь шаблонизаторе Personal Home Page...
| |
|
3.63, YetAnotherOnanym (ok), 09:31, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Тип -- это множество допустимых значений.
Эээ... в мире PHP распространено такое толкование термина "тип"? Это многое объясняет.
| |
|
4.65, Онаним (?), 09:33, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
В мире PHP нет стойких типов. Есть попытка подкостылить подобие, но она, как ни странно, только снижает производительность в итоге.
| |
4.148, Аноним (147), 07:36, 15/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
IEEE 31320-2:2012
3.1.45
data type:
A set of values and operations on those values.
То есть в "мире php" просто почитали стандарт.
| |
|
|
2.134, Аноним (147), 00:09, 14/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
NoneType это отдельный тип в python? Афегедь!
FalseClass и NilClass отдельные типы п ruby. Что же такое в мире творится, дайте другую планету, Я сойду.
null ещё и в js отдельный тип
| |
2.135, Аноним (147), 00:16, 14/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Что ожидать от языка, у программистов на котором IQ лишь на 2-3 пункта выше чем у программистов на js (по исследованиям посетителей opennet)
| |
|
1.14, Аноним (-), 00:31, 13/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Какой-то пхп стал слишком сложным, в чем тогда выгода его использовать? Популярные социальные сети написаны на варианте пхп 4, а не на ооп с типизацией и фреймворками
| |
|
2.16, Аноним (16), 00:40, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Индустрия радуется и просит добавки. Хочет код бизнес логики иметь почти как на джаве, но платить за пхп.
| |
|
|
4.53, Аноним (53), 08:15, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
У них PHP работает на фронтенде. Проходим мимо, они и за миллион никого не найдут. Место такое.
| |
|
5.100, Наноним (?), 14:31, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
"В проекте PHP работает на фронтенде к высоконагруженному сервису хранения данных."
За "фронтенд" может считаться бэкенд к вебморде управления облаком. Для сервиса хранения данных это действительно фронтенд.
Правда наивно полагать что из вилки 200-500 т.р. будут платить ближе к 500. Скорее всего на собесе будут давить и унижать, доказывая что разработчик - говно, так чтобы снизить до нижней планки. Такой разлёт в вилке вообще говорит о том что работодатель не совсем понимает кто ему нужен и какого качества.
| |
|
6.124, Аноним (123), 21:46, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Как я тебя понимаю, давай обнимемся. Абьюзивный работодатель это всегда плохо.
| |
|
|
|
3.19, penetrator (?), 01:01, 13/06/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
а получит очередное говно типа JS, только разве что там, где доступны более приятные в использовании языки
| |
|
4.55, Аноним (53), 08:19, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так какая разница индустрии факлии это или нет? Если пипол ака потребитель хавает надо ему еще больше насыпать.
| |
|
|
2.77, Аноним (77), 10:39, 13/06/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
> пхп 4
Это было золотое время для языка, тот самый баланс между простотой, стабильностью и скоростью. А потом пошло сплошное усложнение ради усложнения. Я всегда задаю оппонентам лишь один вопрос, от которого у них взрывается пятая точка: "что можно написать на пхп8, чего нельзя было сделать на 4 пыхе".
| |
|
3.90, Аноним (88), 12:41, 13/06/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Всё усложнили, да. Говнокодить стало сложнее, понимаю. Но вы не переживайте, кто-нибудь изобретёт машину времени и вы вернётесь в свое любимое золотое время.
| |
3.95, Онанистмус (?), 13:42, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Глянь исходный код Битрикса и вопросы по поводу php 4 должны отпасть сами собой. Чего стоит повсеместное использование ассоциативных массивов вместо классов с типизированными переменными.
Я бы сказал зачем писать на php если есть python.
| |
|
4.103, Аноним (77), 14:36, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> использование ассоциативных массивов вместо классов
Что в этом плохого? И, кстати, я вообще ярый противник ООП, т.к. за более чем 20 лет программирования и работы с совершенно разными инструментами и языками, так и не нашел оправдания для использования этой методологии, если проект не лютый Ынтерпрайз на пару миллионов строк кода.
| |
|
5.111, Аноним (111), 16:06, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
А с другой стороны, чего плохого в ООП? Хорошо подобранные абстракции с внятным интерфейсом работают одинаково при любом количестве строк в проекте. Оформление в класс уже как-то документирует логику данных.
| |
5.114, Аноним (114), 17:11, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> так и не нашел оправдания для использования этой методологии
Зачем ты так жестоко ломаешь скрепы свидетелю ООП, ему всю жизнь всякие "авторитетные" дяденьки вдалбливали, что ООП есть православный канон, и нет жизни за пределами ООП, теперь у него БСОД
| |
|
|
|
|
1.22, Аноним (22), 01:30, 13/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
все эти языки достигли своего потолка, уже не знают что бы туда прикрутить эдакого. Шляпа все это, в конечном счете все вернется на плюсы и к большему времени провождения у костра за кружкой кофе. а эти все технологии и новые версии яп, дичь это все для молодых и глупых с огнем в глазах которых эксплуатируют взрослые умные дяди.
| |
|
|
|
4.45, leap42 (ok), 05:50, 13/06/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Как там с кроссплатформенностью?
Прекрасно, тыкаю иногда на Fedora. Не работает чисто виндовый стаф аля тамошний GUI. Но во-первых, GUI в 2022 никому кроме хелло вордеров не нужен, во-вторых есть переносимые варианты.
| |
|
5.54, Аноним (53), 08:18, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты прям серьёзно? Сам же говоришь что работает он плохо, какие-то мутные «переносимые варианты», Гуя нет, но работает конечно же «Прекресно». Даже непонятно это когнитивное искажение или уже недалекий ум?
| |
|
6.59, Самый Лучший Гусь (?), 09:00, 13/06/2022 [^] [^^] [^^^] [ответить]
| –3 +/– |
Гуй существует лишь для секретарш, домохозяек и быдлокодеров, удовлетворяющих их потребности. Лишь в воспалённом телевидением, алкоголем и прочими веществами надолго засиживается идея о графическом представлении интерфейсов. Эта идея столь же абсурдна, сколь отказ языка в пользу наскальной живописи или неконтекстуальных жестов. Это одна из немногих линий трендов постмодернистской деградации. А светлое будущее за CLI!
| |
|
7.69, Онаним (?), 09:42, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Гуй ныне прекрасно средствами браузеров реализуется.
За исключением очень специфичных вещей, таких как CAD и игры.
| |
|
6.153, leap42 (ok), 03:57, 22/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Ты прям серьёзно? Сам же говоришь что работает он плохо, какие-то мутные
> «переносимые варианты», Гуя нет, но работает конечно же «Прекресно».
> Даже непонятно это когнитивное искажение или уже недалекий ум?
Серьёзно. Работает хорошо. Какой GUI нужен бэкендам для REST и Web? В крайнем случае есть web-морда. Недалекий ум - считать, что кросплатформенный GUI не может быть от сторонних разработчиков.
| |
|
|
|
|
2.46, Бывалый смузихлёб (?), 06:05, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Однажды достался в поддержку сайт, серверная часть которого была на плюсах и полностью самописной
Причём, там не выдавалась отдельно просто статика включая html и сервак на плюсах отвечал на небольшие запросы с сайта каким-нибудь json’ом, а был он там именно вместо пыха - т.е генерировал html и был сделан с тоннами багов
А началось всё с того что типам нужно было на сайте отображать показания с какого-то датчика и не придумали ничего лучше как вообще весь бэк запилить на пюсах
Всё-таки, сишка и плюсы годятся далеко не для всего
Ну а я тогда обрел первый седой волос
| |
|
|
|
5.98, Аноним (85), 14:01, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Двойное лицензирование? Не, не слышал...
Wt есть в репозиториях всех популярных дистров, плюс элементарно собирается из исходников, ставь и юзай.
| |
|
|
7.136, Аноним (85), 02:55, 14/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Юзал Wt для создания микросервиса для специфической обработки данных, естественно, с соответствующим API. Возможности Wt по генерации html там использовались тоже, для веб-морды микросервиса с описанием, онлайн-справкой к API и т.п. Отличная чтука, очень удобно. Собственно, от пыхового бэкенда это отличается очень сильно по идеологии, в случае Wt юзер оперирует со stateful аппликухой. Так что ты, родной, по всем пунктам попал пальцем в небо, с чем и спешу поздравить.
| |
|
|
|
|
|
2.57, Аноним (57), 08:40, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
когда будет с++50 тогда может быть, хотя к этому моменту с++ уже превратится в раст:)🤦
Имхо, лучше уж вернуться к мощному и элегантному lisp, а там где нужно, по минимуму использовать обычный Си!
| |
|
3.62, n00by (ok), 09:27, 13/06/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Филипп Гринспен, здравствуйте. Ваше 10-е правило известно в России. Не надо тут писать ИМХО - сразу объявят нубом и заклюют, поскольку не знают расшифровки.
| |
3.102, Наноним (?), 14:34, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Плюсы не смогут превратиться в Раст ни по какому сценарию, т.к. есть очень существенная идеологическая разница в языках.
| |
|
|
|
2.82, OpenEcho (?), 11:51, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Пришло то время, когда пхп стал сложнее джавы
Если спецификация языка будет описанна более чем в 750 страниц, как у жабы, то может быть :)
| |
|
1.47, Аноним (47), 06:11, 13/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Непонимаю почему они не запилят алиасы функций из стандартной библиотеки чтобы избавить от уродливого_неконститентного_неймина_в_ стиле_Си. Со временем все на них перейдут и будет красивый код почти как на джаве.
| |
|
2.48, Аноним (8), 06:26, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Тогда будут два способа вызвать одно и то же. Тут не просто алиас нужен, а единый консистентный дизайн апи, в том числе в вопросе обработки ошибок. А то видишь ли, одни функции в духе си - сигналят об ошибке через return ошибочное_значение. А другие - через throw. Вот где неконсистентность. Пых - это франкенштейн из си, явы и перла.
| |
|
|
4.80, Аноним (79), 11:43, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Знаем мы один язык, который много чего задеприкетил во третьей версии. Питон с тех времен никто не любит (нет все любят питон)
| |
|
|
2.72, Онаним (?), 09:50, 13/06/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
В последнее время и так слишком пытаются пых в жабу превратить.
Вот зачем, спрашивается, делается попытка убрать создание динамических пропертей _изнутри_ класса.
Со снаружи всё понятно. А изнутри... опять же, только для того, чтобы опечатки у макак детектились быстрее.
Хорошо хоть через очередной костыль-атрибут оставлена возможность класс объявить работающим с динамическими пропертями - у меня допустим сложная схема-модель на таковых построена, и если убрать - __get() будет запускаться на каждое обращение к проперти, что уронит производительность модели данных в разы, она очень часто используемая.
| |
|
3.92, Аноним (88), 12:45, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Что мешает изнутри использовать более логичный массив? Или неопечатывающейся макаке не солидно в массивы?
| |
3.93, Аноним (111), 13:29, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Например затем, что используемое в родителе динамическое в наследнике может быть неявно использовано еще раз или объявлено и использовано, то есть это не класс, а черте что.
Ваша проблема в том, что у вас один и тот же код работает на разных данных за счет динамической природы скриптового языка, сходство с ООП у вас чисто внешнее. В классическом ООП у вас будут классы моделей на каждую сущность, и соответственно вы будете обращаться к определенным в классе свойствам.
| |
|
4.104, Онаним (?), 14:38, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Не надо путать PHP с классическими языками, компилируемыми языками, общая модель тут - per request.
Совершенно другая парадигма, совершенно другие подходы.
В классических языках нет накладных расходов на ту же сборку приложения в рантайме.
В JIT'овых есть, но там редко используется модель per request, и это чуточку спасает.
А здесь загрузка 100500 файлов и создание классов - берёшь какую-нибудь Doctrine и быстро о***шь от того, сколько начинает занимать старт/сборка приложения.
Да и модели здесь очень удобно как раз с "не классики" реализовывать - можно сделать один универсальный класс на всю модель, и экстендить его только логикой.
| |
|
5.112, Аноним (111), 16:51, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Опкод кэшировать научились еще черте когда, а с 5.5 оно стало из коробки.
Эксперт без экспертизы очередной.
| |
|
4.106, Онаним (?), 14:39, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Но да, вот это меня как раз и напрягает - в динамический язык пытаются притащить сахар для тех, кто может в классику, но совершенно не осиляет смену парадигмы. Не проще сразу Java взять тогда, и не мучать PHP?
| |
|
5.110, Аноним (111), 15:27, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Наверняка проще. Но тут наверно исторические причины, в т.ч. кадровые. Всевозможным вебстудиям, которые 10 лет разрабатывали на пхп, проще внедрить стандарты, не меняя инструмент.
Массовый заказчик уже привык, что веб пишут на пхп.
Опять же, на словах у всех солид ддд кококо, а на практике толстые контроллеры, где все по старинке.
| |
|
6.126, Аноним (123), 21:48, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Потому что фреймворки старые и в них то уж точно никому не хочется ничего менять.
| |
|
|
|
3.97, Gemorroj (ok), 13:59, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
возможность создавать динамические проперти негативно на производительности сказывается. когда-то никита попов это объяснял.
| |
|
4.101, Онаним (?), 14:32, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Угу. Но гораздо меньше, чем вызовы методов, накладные расходы на вызов в PHP - это ад, треш и угар.
| |
4.109, Онаним (?), 14:45, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Там и дополнительная типизация в теории могла производительность улучшить.
Но на деле - как только мы начинаем типы аргументов фиксировать - появляется проверка типа при вызове, и мы имеем совершенно обратный эффект.
| |
|
|
2.91, Аноним (88), 12:42, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Фреймворки справляются с этой задачей. У каждого, вон, свой набор строк классов есть.
| |
|
|
2.58, onanim (?), 08:54, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> PHP потихоньку превращается в труъ ынтырпрайз язык программирования
пофиксил
> "Hello ${world}"; Deprecated: Using ${} in strings is deprecated
а вот это жаль, было удобно.
| |
|
3.119, Аноним (119), 19:55, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> превращается в труъ ынтырпрайз язык программирования
Вам без PHP "труъ ынтырпрайз" языков было недостаточно?
Кажется, PHP взлетел как раз не из-за своей "труъ ынтырпрайзности", а наоборот.
| |
|
|
1.66, Аноним (66), 09:33, 13/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Радует, что язык всё же развивается в правильно направлении, хоть и хотелось бы, чтобы подобные изменения происходили быстрее.
А кто знает почему не добавили тип 'true' в дополнение к 'false', чем он провинился?
| |
|
|
3.137, Аноним (34), 05:37, 14/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> true добавят в master ветке
К чему такая спешка? Слишком быстрая разработка к добру не приведёт. Надо поотлаживать версий 5 хотя бы.
| |
|
2.75, Аноним (53), 10:01, 13/06/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ты ведь сейчас предлагаешь заняться преждевременной оптимизацией, да? Так знай же что то это известный антипаттерн.
| |
|
3.120, Аноним (119), 19:59, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> преждевременной оптимизацией
> известный антипаттерн
Это случайно не ты пишешь тормозной говнософт, который еле ворочается на распоследних воркстейшнах?
| |
|
2.105, Наноним (?), 14:39, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
"Правильное направление" - очень субъективное понятие.
Они так и не пытаются убрать тонны говна в именовании функций и порядке аргументов. Хотя это нужно было сделать ещё в седьмой версии.
Вместо того чтобы добавлять малонужный сахарок лучше бы сконцентрировались на том чтобы выработать чёткую картину языка и оптимизировали ядро.
| |
|
3.117, Онаним (?), 17:26, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Да ладно, не гони, ядро офигенно оптимизировали в 7, а JIT в 8 - вообще конфетка.
Другое дело, что если в PHP пытаться говнокодить "классический ООП" с тысячами классов на каждые 3 строчки - никаких оптимизаций не хватит.
| |
3.121, Анончек (?), 20:05, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> "Правильное направление" - очень субъективное понятие.
Эта простая истина мало до кого доходит, если вообще доходит.
При этом все поголовно считают, что их интеллект выше среднего.
| |
|
|
1.84, OpenEcho (?), 11:58, 13/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Интересная наблюдение, - в типизированных языках хайпают дженерики, а в не типизированных гнутся к типам, и где оно то место, где они посередине встретятся
| |
|
2.89, Аноним (111), 12:34, 13/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не встретятся, это движение в одном направлении, где нетипизированные догоняют. Мальчики выросли, сбрили патлы и перелезли из футболок Slayer и Metallica в рубашечки и пиджачки.
В ололо промышленной разработке типизация стандарт. Разработка консолидируется, все меньше рядовых скриптописателей и все больше команд разработки, следующих стандартам.
Уже сейчас в скриптовых языках рулит типизация. Примеры - PHP и TypeScript (языки не типизированные по факту, но код пишут, как если бы они были типизированными).
| |
|
3.116, Онаним (?), 17:23, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Я тут недавно в нутро Yii залез, офигел, и вылез обратно.
Как правильно выше заметили - у всех стройнота только на словах, а на деле костыль на костыле, лучше бы даже не пытались всё это городить, и писали так, как PHP предполагает.
| |
|
4.130, Аноним (130), 22:20, 13/06/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
За стройноту приходится платить часами ожидания обработки очередного реквеста.
На Ларавеле "Hello World" без подключения к БД выдает аж 30 requests/sec. Зато фасады с контрактами
в каждом файле.
| |
4.133, Аноним (133), 23:27, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так китайский код же.
Советую залезть в нутра разрабатывающегося сейчас Yii 3. Китаец отошел от дел, костылить некому уже.
| |
|
3.127, Анончек (?), 22:06, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Мальчики выросли, сбрили патлы и перелезли из футболок Slayer и Metallica в рубашечки и пиджачки.
...Обзавелись брюшком, геморроем, мозг заплыл жирком....
Не, спасибо, предпочту спеца в футболке.
| |
|
2.99, Gemorroj (ok), 14:02, 13/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
в пхп тоже дженерики одна из самых запрашиваемых фич. но нормальная поддержка породит проблемы с производительностью, т.к. проверки в рантайме будут.
| |
|
1.141, Балабол (?), 10:06, 14/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Хых. Недавно поймал себя на мысли, что на Java писать приятней и интересней, чем на >= php7
Зачем делать из языка яву, если есть ява?!
| |
|
2.143, Варенье (?), 14:35, 14/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Зачем делать из языка яву, если есть ява?!
Чтобы не иметь дел с Oracle
| |
|
|