|
|
3.5, Аноним (5), 14:34, 09/06/2023 [^] [^^] [^^^] [ответить]
| +10 +/– |
php4 это худший язык программирования, хотя даже языком полноценным это трудно назвать, так hypertext preprocessor, не более
| |
|
4.6, Кровосток (ok), 14:43, 09/06/2023 [^] [^^] [^^^] [ответить]
| +9 +/– |
Слушай, ну в то время когда был php4 - он был вполне себе даже адекватный для уровня его использования.
| |
4.17, Аноним (17), 16:15, 09/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
если программа начинается с метки <?, то это не язык программирования, а препроцессор. В языках программирования компилятор/интерпретатор еще до чтения первого байта находится в состоянии "читаем стейтменты на ЯП". А в препроцессорах наоборот: интерпретатор по умолчанию находится в режиме "выводим исходники как есть", и длится это до тех пор, пока ему явно не скажут, что "всё, начались стейтменты на ЯП".
| |
|
5.20, Anton (??), 16:33, 09/06/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Ну так себе аргумент. Так можно договориться, что com-файл сразу выполняется, а exe-файл начинается с MZ.
| |
|
6.22, Аноним (22), 16:53, 09/06/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
А большинство скриптов начинаются с #!, и что?
Метку формата и внутренняя разметка файла - это разные вещи.
| |
|
|
|
7.67, Аноним (17), 19:56, 10/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
У JavaScript отлично спроектированный апи, в отличие от пыха, который является франкенштейном из перла, явы и... си. А <script> вставляешь только в HTML, и то только потому, что он в вебе является entry point-ом. В самом js-файле он не нужен, включая браузеры, Node.JS, JScript (Windows 95), DAZ Script, Qt Script, скрипты GNOME, правила polkit... (Любопытно, что JS нашел свое применение далеко за пределами веба и браузера, а пых так и остался "персонал-хоум-пейджем")
| |
|
8.86, swarus (?), 02:10, 12/06/2023 [^] [^^] [^^^] [ответить] | +/– | сразу видно что костыльный JavaScript глубоко знаешь вот скажи что означает th... большой текст свёрнут, показать | |
|
9.87, Аноним (17), 02:39, 12/06/2023 [^] [^^] [^^^] [ответить] | +/– | this 8212 неявный аргумент наряду с arguments Если ты про потерю this , то ... большой текст свёрнут, показать | |
|
10.89, swarus (?), 05:41, 12/06/2023 [^] [^^] [^^^] [ответить] | +/– | Бесит не бесит, но отлично спроектированным js не назавешь Отлично спроектирова... большой текст свёрнут, показать | |
|
11.97, b00by (?), 20:19, 13/06/2023 [^] [^^] [^^^] [ответить] | +/– | Ахах, будто существуют отлично спроектированные языки, к которым ни одна пaдла... текст свёрнут, показать | |
|
|
9.96, b00by (?), 20:16, 13/06/2023 [^] [^^] [^^^] [ответить] | +/– | 1 у меня за 8 лет опыта в повседневной работе с JS никаких проблем c этим злосч... текст свёрнут, показать | |
|
|
|
|
5.74, Аноним (74), 03:03, 11/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Он таким был когда-то.
В современном PHP есть оператор ?>, означающий "print до <?". При этом каждый файл как бы неявно начинается с ?> - такой вот костыль для обратной совместимости.
| |
|
|
|
2.7, Иваня (?), 14:53, 09/06/2023 [^] [^^] [^^^] [ответить]
| –10 +/– |
Golang лучший, а это уже устарело. Писал на php ещё школьником, а теперь у меня уже сыну 7 лет.
| |
|
3.8, Аноним (8), 15:05, 09/06/2023 [^] [^^] [^^^] [ответить]
| +7 +/– |
>>> а это уже устарело. <<<
Да, да! так же как и С/C++/Java, - нет серьезно, вам самим эту шарманку не надоело крутить? Идите лучше хлебните чашечку смузи и расслабтесь.
| |
|
4.11, Аноним (11), 15:18, 09/06/2023 [^] [^^] [^^^] [ответить]
| +10 +/– |
Человек для себя принял мысль, что он эволюционировал замнив одно дерьмо другим дерьмом.
Отстань от него ... пусть почешет свое самолюбие об OpenNET.
| |
|
3.10, Аноним (10), 15:17, 09/06/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ещё скажи С, С с плюсами устарели. Помню как почти 20 лет назад читал, что это мертвые языки)))
А PHP переживет тебя, меня и твои внуки его увидят в новых проектах.
| |
|
4.12, Аноним (12), 15:34, 09/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Старый Си действительно устарел. Следует использовать редакцию 2011 года.
Кроме того, само наличие типов нефиксированной длины не есть хорошо.
| |
4.28, Аноним (28), 19:52, 09/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если увижу си у внуков, то смирюсь что ничего лучшего не придумали.
Если увижу у внуков php, то разочаруюсь в человечестве.
| |
|
3.14, simplefied (?), 15:39, 09/06/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
У голанга проблем своих много, типа слабенькой системы packages, неочевидных штук типа сабслайсов указывающих на ту же память что и родительский слайс, тормозной интерфейс к сишным либам cgo, отсутствие деструкторов. В общем голанг уже устарел, сейчас все про раст говорят, там этих проблем нет:)
| |
|
2.30, Аноним (30), 19:56, 09/06/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Оболваненный фанат оболваненного Ленина, пытающийся оболванивать анонимов. Фу таким быть!
| |
|
1.15, Аноним (15), 15:55, 09/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
>DateMalformedIntervalStringException
Ооо, ну теперь пхп похоже серьёзно решил джаву подсидеть
| |
1.18, Онуфрий (?), 16:22, 09/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Никак не могу перейти с процедурного стиля на ООП. Посоветуйте, что делать?..
| |
|
|
3.31, Аноним (-), 20:53, 09/06/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Выучил Scheme, возненавидел ООП, присмотрелся к лисповому ООП и понял, что возненавидел мейнстримное ООП, как жить теперь?
| |
|
4.43, Аноним (21), 04:08, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Писать на Лиспе, а в свободное время заниматься хобби. Я вот люблю нехитрую мебель мастерить простым инструментом. Оно и для тела полезно, и продаётся неплохо.
| |
|
5.90, пох. (?), 08:14, 12/06/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Писать на Лиспе, а в свободное время заниматься хобби. Я вот люблю
> нехитрую мебель мастерить простым инструментом. Оно и для тела полезно, и
> продаётся неплохо.
Да, гробы подорожали, говорят, процентов на 40.
Есть где развернуться мастеру.
И никакого тебе пехепе с объектами.
| |
|
|
|
2.23, Аноним (23), 17:25, 09/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Когда вспомнишь про Дуньку Кулакову, также вспомни, что взаимодействуешь с объектом, а не субъектом.
| |
2.34, YetAnotherOnanym (ok), 23:35, 09/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Перечитать по три раза первую часть "Анти-Дюринга" и "Материализм и эмпириокритицизм", после чего, уединившись, медитировать над понятием "отражения".
В какой-то момент на тебя снизойдёт озарение и ты осознаешь, что классы, объекты, методы и вот это всё - суть отражение реальных объектов материального мира.
После этого ты сможешь легко и непринуждённо писать в стиле ООП.
| |
2.37, _kp (ok), 23:55, 09/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
>>Никак не могу перейти с процедурного стиля на ООП
Возможно задачи такие, куда ООП можно только за уши притянуть, а те куда ООП сам напрашивается.
Например на микроконтроллерах редко ООП используют, разве что статические объекты. И не потому что ресурсов мало, сейчас их достаточно, а потому что решаемые контроллерами задачи редко сочетаются с ООП.
| |
|
3.41, Аноним (41), 03:39, 10/06/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Все там сочетается. Каждая ножка, каждый управляющий бит в регистре - объект. Еще и посторонним закрываем доступ
| |
|
4.50, _kp (ok), 10:05, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
>>Каждая ножка, каждый управляющий бит в регистре - объект.
Ну это уже маразм.
Во первых переписывать работу, того что и так реализовано в библиотеках, и тем более если переписывать не на Руст, то это 6апрасная трата времени, вместо решения задач.
А во вторых не эффективно, ч что то рабочих примеров не встречал. ;)
А вот протоколы связи вполне изящно вписываются в ООП.
| |
4.59, Tron is Whistling (?), 13:39, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я обычно семантический блок в объект собираю. У меня не микроконтроллеры конечно, но в вашем случае это будет набор регистров, отвечающий за _сущность_ (сиречь как раз _объект_). Разбивать регистры на объекты - это сильно.
| |
4.88, swarus (?), 02:45, 12/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Файловый дискрептор - число, неудобно можно, сдуру сложить, или в файловую функцию другое число подкинуть, среда разработки даже не вякнет, что ты не то пихаешь.
А вот вместо файлового дискрептора объект и все становится на место.
А вот порядок ножек мне складывать приходилось для эмуляция lpt, да и регистр для яркость плавно менять приходилось. Объекты тут лишние и только затрудняют отладку-понимание.
| |
|
5.91, Поле Name не забыто и не прощено (?), 14:19, 12/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Всё, кроме одного... вместо 4 допустим байт файлового дескриптора ты получаешь 8 байт на поинтер + 4 на дескриптор. Если там их полторы штуки - дело одно, но если как там описано каждой ноге свой объект, а ног миллиона полтора - тут уже эмбедовка может и не вытянуть :D
| |
|
|
|
2.72, Прохожий (??), 02:14, 11/06/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Всё, что я озвучу - это, конечно, банальщина Но раз человек спрашивает, почему ... большой текст свёрнут, показать | |
2.78, Аноним (74), 14:17, 11/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Забыть на время про наследование, сконцентрироваться на том, что объекты - это такие мини-программы (класс), которые имеют внутреннее состояние (private), а друг с другом общаются по определенному протоколу (public-методы, реализующие интерфейс). При этом разные мини-программы, реализующие тот же интерфейс, полностью взаимозаменяемы без внешних изменений.
Когда начнет получаться, но в классах, реализующих общие интерфейсы, начнется копипаста, тогда уже подключатся абстрактные классы и наследование.
| |
|
1.32, Tron is Whistling (?), 22:23, 09/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Переопределение readonly-свойств допускается только внутри функции "__clone"
О, костылики поехали. Любители стройных извращений ради мaкакеров наступают на заботливо самостоятельно расстеленные грабли, а весь этот бесполезный сахар по сути можно выкинуть.
| |
1.36, YetAnotherOnanym (ok), 23:39, 09/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> // Ранее для извлечения константы BAR нужно было вызывать
> constant(Foo::class . '::' . $name);
> // А теперь достаточно указать
> Foo::{$name};
Фля... А с самого начала так нельзя было сделать?
| |
|
2.44, Анонус (?), 06:57, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Интуитивно и понятно было бы так: ClassName::$ConstantName без всякого дрочева с фигурными скобочками и ::class.
| |
|
|
4.81, Анонус (?), 18:17, 11/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Понятно.
Не могу себе представить какой-то реальный юзкейс когда одновременно будут объявлены статическое свойство и константа класса с одинаковым именем.
С этой точки зрения можно было бы запретить такое, и выдавать по запросу ClassName::$classOrConstantName то, что объявлено.
| |
|
3.102, Ананий (?), 16:59, 14/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Интуитивно понятно это А.B c А:B,як в Lua, а не А::B с A->B
Но из-за идиотского legacy c объединением строк приходится смотреть на это убожество.
| |
|
|
|
2.45, Анонус (?), 06:59, 10/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Пока ещё нет, дженерики не доехали, чтобы <всякое, T> появилось.
| |
|
1.42, Аноним (42), 03:57, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
ООП - это неудачная попытка замаскировать процедурный стиль.
Использование ООП приводит к выгоранию и шизофрении.
| |
|
2.47, YetAnotherOnanym (ok), 09:12, 10/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это если пихать его туда, где он не нужен. ООП здорово облегчает создание сложных программ, но использование его для простых задач даёт просто ненужное усложнение.
| |
2.73, Прохожий (??), 02:24, 11/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Неудачная? Огромное количество разработчиков, которое использует ООП - сплошь идиоты или шизофреники? Очень смелое заявление.
Такое ощущение, что ты просто не понимаешь, что это такое, и зачем это нужно.
| |
|
1.46, Дед Анон (?), 07:53, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не могу никак изучить какой либо фреймворк. Раз 10 пытался начать писать с помощью laravel, но так ничего и не вышло. В итоге проекты по 7тс строк кода написаны на чистом php. Работают хорошо, написал кучу своих классов, мне всё нравится, но без знания фреймворком я такой никому не нужен на рынке труда)
| |
|
|
3.56, пох. (?), 13:13, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Так ему зарплату хочется, а не чтоб нахаляву другие получали зарплаты. Так он этого слона не продаст.
| |
|
4.62, YetAnotherOnanym (ok), 19:11, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Иногда можно Дорогому Мирозданию заплатить опенсорсным кодом, и тогда оно, может быть, не заберет ногу.
| |
|
|
|
7.66, пох. (?), 19:55, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Эээ... это кто?
Был такой, тоже очень нужный и полезный сотрудник уважаемого (очень!) банка, сам Максут признал полезным.
Интегрировал карту мир, да не выинтегрировал - получил "золотое письмо" и мироздание забрало голову.
| |
|
|
|
|
|
2.51, Tron is Whistling (?), 11:06, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
А, не заморачивайся - нужен. Просто плохо искал.
У меня по 30-80к строк несколько проектов есть, без внешних фреймворков - всё норм.
Даже в одну морду (если припёрло, было дело...) поддерживаются очень легко.
| |
2.52, Gemorroj (ok), 11:14, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
попробуй через composer по компонентам подтягивать (тот же symfony), так со временем втянешься.
| |
2.57, пох. (?), 13:18, 10/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
а зачем ты выбрал самый бестолковый и неповоротливый? Yii вроде вполне еще можно осилить какой-нибудь и вполне сможешь конкурировать с 500рублевыми аутсорсерами из одной запрещенной страны.
| |
2.68, mmm (??), 21:19, 10/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
На мой взгляд весь фокус с фрэймоворками в совместной работе. Только тогда понимаешь всю прелесть SOLID, шаблонов проектирования и фреймворков
| |
|
|
4.80, пох. (?), 17:50, 11/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Там не про разгребать а про наваливать. В целом да, похоже он прав. Т.е. когда надо вдевятером выносить ребенка за один месяц во что бы то ни стало - фреймворк поможет (при условии что его все девять знают), а в твоей либе я буду этот месяц разбираться, прежде чем смогу что-то дописать.
А поддерживать это потом... да ипппись оно конем. Следующий заказчик есть уже!
| |
|
5.83, Tron is Whistling (?), 23:16, 11/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ды ладно, либа с нормальной докой и очевидными паттернами применения :)
Куда проще монструозных ларавелов, где надо рулоны кривой-косой документации вычитать, прежде чем юзать.
А в остальном всё так.
| |
|
6.85, пох. (?), 00:31, 12/06/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ды ладно, либа с нормальной докой и очевидными паттернами применения
ее читать надо. И каждый раз выяснять - вот это вот не вписалось в паттерны и надо дописывать самому или забыли документировать.
Причем любой произвольно взятый васян с улицы ее видит в первый раз.
> Куда проще монструозных ларавелов, где надо рулоны кривой-косой документации вычитать
некогда читать, спринт не ждет! (Я уж не знаю как сейчас принято - копипастить из вопроса на стеке или просто спрашивать чятгпт "напиши мне код". А про твою либу ни тот ни другой не в курсе.)
Но вообще-то предполагалось что HR наловил нам рыбов у которых в перках "уже прочитал" и именно на то с чем мы тут работаем (потому что этих м@к@к-мутантов мильены с тыщами и всегда можно найти с нужными галочками в профиле) и они сразу приступят к вынашиванию.
| |
|
7.95, Tron is Whistling (?), 09:30, 13/06/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ды там читать нечего, обёртка сделана так, чтобы конечному юзеру вообще ни на что почти, кроме своего кода, заморачиваться не приходилось.
class MyTask extends \TaskLib\Task
{
...
public function main()
{
...
yield true;
...
$store = new \MyCode\ModelStore();
$item = $store['myItem'];
$item->lastChanged = time();
$item->update();
...
yield true;
...
$subTaskResult = yield new \MyCode\MySubtask('arg1', 'arg2');
...
$subTask1 = $this->addSubTask(new \MyCode\MySubtask('arg3', 'arg4'));
$subTask2 = $this->addSubTask(new \MyCode\MySubtask('arg5', 'arg6'));
yield new \TaskLib\Task\WaitOnAll($subTask1, $subTask2);
$subTaskResult1 = $subTask1->taskResult;
$subTaskResult2 = $subTask2->taskResult;
...
yield true;
...
return 'Task result';
}
}
Понятно, что чуть-чуть разобраться в основах всё равно надо, но сия база очень простая, и рулонов документации по каждому недоклассу из 5 строк в целом не требует.
| |
|
|
|
|
|
|
1.53, Tron is Whistling (?), 11:24, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Лучше бы перегрузку операторов и ещё типизированные варианты для функций-методов добавили, чтобы if в них не фигачить, вместо вот этого всего бессмысленного сахара для макaкинга.
| |
|
2.104, ш (?), 19:38, 01/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
не нужно этого всего. там только один тип - юнион структура звал
| |
|
|