- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Чем обусловлена течка по сильной типизации, если она крайне неудобна?
К примеру, в "PHP" я могу спокойно написать код, подобный приведённому ниже,
и не надо будет придумывать всё новые и новые названия для переменных:
$count='microsoft,apple,amazon';
$count=explode(',', $count);
$count=count($count);
$count=$count.' шт.';
guest8 13.07.2019 13:55 # −999
guest8 13.07.2019 13:57 # −999
SteadfastTinCock 13.07.2019 14:07 # −1
Переведи на "PHP".
bormand 13.07.2019 14:13 # −1
TEH3OPHblu_nemyx 14.07.2019 20:05 # 0
TEH3OPHblu_nemyx 13.07.2019 15:06 # −1
OlegUP 26.07.2019 21:32 # 0
TEH3OPHblu_nemyx 13.07.2019 15:42 # 0
Это как в сишке написа́ть:
И хранить в data разные значения в зависимости от того, какое число лежит в поле current_type.
Только в дельфятине ещё был синтаксический сахарок, чтобы самому не заполнять и не проверять дескриптор типа.
guest8 13.07.2019 16:21 # −999
666_N33D135 14.07.2019 10:32 # +1
guest8 13.07.2019 15:11 # −999
guest8 13.07.2019 15:14 # −999
guest8 13.07.2019 15:17 # −999
guest8 13.07.2019 15:22 # −999
guest8 13.07.2019 15:24 # −999
666_N33D135 14.07.2019 10:36 # 0
вот и вся строгая тупизация в петоне.
guest8 15.07.2019 12:45 # −999
guest8 15.07.2019 12:45 # −999
guest8 15.07.2019 12:46 # −999
inseminator 15.07.2019 13:12 # 0
guest8 15.07.2019 18:57 # −999
TEH3OPHblu_nemyx 13.07.2019 15:36 # −1
Потому что $count неявно преобразовывается в строку, чтобы оператор кокококонкатенации имел смысл.
В шестой, в седьмой и в восьмой пример динамической: $count на лету меняет тип.
SteadfastTinCock 13.07.2019 15:40 # −1
guest8 13.07.2019 16:27 # −999
SteadfastTinCock 14.07.2019 20:13 # 0
guest8 13.07.2019 15:50 # −999
Desktop 13.07.2019 16:06 # −1
guest8 13.07.2019 16:09 # −999
Desktop 13.07.2019 16:43 # −1
guest8 13.07.2019 16:46 # −999
Desktop 13.07.2019 16:52 # −1
guest8 13.07.2019 16:57 # −999
TEH3OPHblu_nemyx 13.07.2019 18:18 # −1
https://www.freepascal.org/docs-html/current/ref/refch10.html
Пример:
http://ideone.com/lelkC1
А в языке «D» вообще есть «Uniform Call Syntax» для текучего междумордия.
Desktop 13.07.2019 18:20 # −1
В D вообще много чего есть, только никто им не пользуется почему-то
TEH3OPHblu_nemyx 13.07.2019 18:24 # −1
Языком «D» никто не пользуется, потому что «Фейсбук» и «ВКонтакте» написаны на «PHP».
Desktop 13.07.2019 18:30 # −1
TEH3OPHblu_nemyx 13.07.2019 18:35 # −1
Хелпер же позволяет добавлять методы в чужой класс, не наследуясь от него.
Desktop 13.07.2019 18:54 # −1
> Хелпер же позволяет добавлять методы в чужой класс, не наследуясь от него.
- чот не вижу разницы, если говорить про семантику
TEH3OPHblu_nemyx 13.07.2019 19:05 # −1
Хелперы, экстеншны же позволяют привязывать методы к существующему классу без необходимости создавать новое имя класса.
guest8 13.07.2019 19:11 # −999
TEH3OPHblu_nemyx 13.07.2019 19:14 # −1
guest8 13.07.2019 19:23 # −999
TEH3OPHblu_nemyx 13.07.2019 19:50 # 0
Технические проблемы обсуждают сисадмины и заправщики картриджей.
А программисты обсуждают разницу между миксином и трейтом.
guest8 13.07.2019 19:52 # −999
TEH3OPHblu_nemyx 13.07.2019 19:59 # −1
Desktop 13.07.2019 19:27 # 0
Rust:
https://doc.rust-lang.org/rust-by-example/trait.html
Swift:
defailt implementation, уже много раз про них писал здесь
Dlang:
https://dlang.org/articles/mixin.html - это вообще кодогенерация вперемешку с препроцессингом
Special guest - Go:
https://github.com/golang/go/issues/16254
- гобляди рассказывают, что "Mixins, traits used in OOP. Also I know that in Go language there are no such thing as OOP and inheritance." И именно поэтому они не нужны.
Может, ты имеешь в виду конкретно пхп.
Но вообще это очень сильно зависит от ЦЯ. Я когда-то любил говорить, что экстеншены, трейты и миксины это одно и то же, пока не прочитал документацию. Так шо в чём-то ты прав
guest8 13.07.2019 19:34 # −999
TEH3OPHblu_nemyx 13.07.2019 19:42 # −1
Desktop 13.07.2019 19:45 # −1
guest8 13.07.2019 19:47 # −999
Desktop 13.07.2019 19:50 # −1
UML устарел, вот что я хочу сказать
SteadfastTinCock 13.07.2019 19:51 # +1
Зачем, блядь, что-то показывать? Зачем, блядь, что-то малевать? Просто пиши процедурный код, коноёб твою мать.
Desktop 13.07.2019 19:57 # +1
Вместо vcs тетрадка в клеточку.
Вместо IDE - карандаш и ластик.
Дебажу прямо на бумаге.
Когда надо сделать билд и выкатить в продакшен, навожу ручкой то, что раньше написал карандашом.
Чтобы отдать заказчику продукт, вырываю листок, комкаю и бросаю в форточку.
По итогу езжу на мазерати, ебу хрюш и топ-моделей, конярду недавно нанял за еду чистить туалеты на моей вилле. Иногда, сидя на толчке, слышу его вскукареки из канализации про последовательный процедурный код, написанный говном пальцем на кирпичной кладке.
guest8 13.07.2019 19:52 # −999
TEH3OPHblu_nemyx 13.07.2019 19:56 # −1
Desktop 13.07.2019 20:00 # −1
SteadfastTinCock 13.07.2019 20:03 # 0
Это ещё что за хуйня? Бляяяя, сколько говна понапридумывали...
guest8 13.07.2019 20:08 # −999
Desktop 13.07.2019 20:09 # 0
guest8 13.07.2019 20:11 # −999
Desktop 13.07.2019 20:16 # 0
Это значит, что на каждый тип диаграммы в книжке не менее 15 страниц. Лев Толстой писал эту книгу, да.
По ссылке слишком тривиальный пример, что ты хотел им сказать?
guest8 13.07.2019 21:28 # −999
Desktop 13.07.2019 21:36 # −1
TEH3OPHblu_nemyx 13.07.2019 22:04 # −1
—– А мне не надо, чтобы вам было удобнее. Мне надо, чтобы вы заебались.
guest8 13.07.2019 20:13 # −999
SteadfastTinCock 13.07.2019 20:16 # −1
Desktop 13.07.2019 20:20 # −1
SteadfastTinCock 13.07.2019 20:22 # 0
guest8 13.07.2019 21:26 # −999
Desktop 13.07.2019 21:40 # −1
guest8 13.07.2019 21:46 # −999
Desktop 13.07.2019 21:58 # −1
SteadfastTinCock 13.07.2019 22:28 # 0
guest8 13.07.2019 23:20 # −999
guest8 10.08.2019 21:14 # −999
guest8 13.07.2019 19:56 # −999
guest8 13.07.2019 19:46 # −999
SteadfastTinCock 13.07.2019 19:52 # −1
Что это и нахуй оно въеблось?
guest8 13.07.2019 19:54 # −999
SteadfastTinCock 13.07.2019 19:37 # 0
Из-за вас, блядей, я вынужден каждый раз, сталкиваясь с очередным ООП-проектом, по часу-по два искать в Интернетах, как конкретно в этом фреймворке (или его конкретной версии) выполнить ссаный запрос к базе данных, ибо они не допускают такой роскоши, как "mysql_query" - там обязательно надо использовать какую-то поебень типа "$db->table(...)->where(...)->first()" или "DBO::Query(...)", и вся эта абракадабра совершенно непредсказуема. Если же документацию найти не удаётся, я, опять же, часами вынужден искать, где в этом фреймворке зарыт файл с классом базы данных, чтобы понять, как, блядь, здесь выбрать одну запись из таблицы.
Бляди, дети блядей и внуки блядей.
Desktop 13.07.2019 19:38 # −1
guest8 13.07.2019 19:46 # −999
Desktop 13.07.2019 19:51 # −1
- нормально ты щас ObjC приложил.
TEH3OPHblu_nemyx 13.07.2019 19:52 # −1
guest8 13.07.2019 19:54 # −999
Desktop 13.07.2019 19:58 # −1
guest8 13.07.2019 20:04 # −999
SteadfastTinCock 13.07.2019 20:05 # 0
guest8 13.07.2019 20:11 # −999
guest8 13.07.2019 19:39 # −999
SteadfastTinCock 13.07.2019 19:54 # 0
guest8 13.07.2019 18:41 # −999
Desktop 13.07.2019 18:51 # −1
guest8 13.07.2019 18:54 # −999
TEH3OPHblu_nemyx 13.07.2019 19:11 # −1
guest8 13.07.2019 19:12 # −999
666_N33D135 14.07.2019 10:48 # 0
guest8 13.07.2019 16:49 # −999
guest8 13.07.2019 16:55 # −999
SteadfastTinCock 13.07.2019 17:21 # −1
666_N33D135 14.07.2019 10:51 # 0
666_N33D135 14.07.2019 10:56 # +1
Elvenfighter 16.07.2019 01:14 # +2
Учитесь у отца всех ваших скриптоподелок: Perl. Тут не только смена типа на ходу, тут еще и контекст меняется.
TEH3OPHblu_nemyx 18.07.2019 05:50 # 0
guest8 13.07.2019 22:43 # −999
guest8 13.07.2019 22:43 # −999
TEH3OPHblu_nemyx 14.07.2019 04:04 # 0
666_N33D135 14.07.2019 10:57 # 0
guest8 14.07.2019 19:03 # −999
666_N33D135 15.07.2019 01:19 # 0
TEH3OPHblu_nemyx 15.07.2019 01:24 # 0
guest8 14.07.2019 04:53 # −999
TEH3OPHblu_nemyx 14.07.2019 04:54 # 0
guest8 14.07.2019 21:21 # −999
guest8 14.07.2019 22:04 # −999
inseminator 14.07.2019 22:10 # +1
guest8 14.07.2019 22:11 # −999
inseminator 14.07.2019 22:14 # 0
guest8 14.07.2019 22:14 # −999
inseminator 14.07.2019 22:16 # 0
TEH3OPHblu_nemyx 14.07.2019 22:10 # −1
Такая концепция подошла бы для стекового языка. В воображаемом стековом языке пример кода выглядел бы так:
inseminator 14.07.2019 22:19 # 0
TEH3OPHblu_nemyx 14.07.2019 22:39 # −1
https://ru.wikipedia.org/wiki/Форт_(язык_программирования)
https://ru.wikipedia.org/wiki/PostScript
https://ru.wikipedia.org/wiki/Factor_(язык_программирования)
https://ru.wikipedia.org/wiki/Joy_(язык_программирования)
https://ru.wikipedia.org/wiki/Cat_(язык_программирования)
Плюс ассемблеры для JVM и .NET.
inseminator 14.07.2019 22:43 # 0
guest8 14.07.2019 23:31 # −999
inseminator 14.07.2019 23:33 # 0
guest8 14.07.2019 22:47 # −999
bormand 14.07.2019 22:47 # −1
guest8 14.07.2019 22:52 # −999
TEH3OPHblu_nemyx 14.07.2019 22:58 # −1
Я в 14 лет мог написать только вот такой скринсейвер:
guest8 14.07.2019 23:03 # −999
guest8 14.07.2019 23:25 # −999
TEH3OPHblu_nemyx 15.07.2019 10:04 # 0
TEH3OPHblu_nemyx 15.07.2019 10:23 # 0
guest8 15.07.2019 12:39 # −999
guest8 15.07.2019 12:45 # −999
inseminator 15.07.2019 12:40 # 0
guest8 14.07.2019 22:57 # −999
TEH3OPHblu_nemyx 14.07.2019 23:26 # 0
guest8 14.07.2019 23:42 # −999
666_N33D135 15.07.2019 01:04 # 0
Desktop 15.07.2019 01:25 # 0
guest8 14.07.2019 23:32 # −999
inseminator 14.07.2019 23:35 # 0
guest8 14.07.2019 23:36 # −999
inseminator 15.07.2019 00:00 # −1
666_N33D135 15.07.2019 01:28 # +1
На форте есть проекты:
На счет остальных незна.
guest8 15.07.2019 11:17 # −999
666_N33D135 15.07.2019 11:26 # 0
guest8 15.07.2019 11:32 # −999
guest8 15.07.2019 12:22 # −999
guest8 15.07.2019 12:32 # −999
guest6 20.06.2024 12:49 # 0
guest8 15.07.2019 12:20 # −999
guest8 15.07.2019 12:31 # −999
666_N33D135 15.07.2019 02:35 # +1
Desktop 19.06.2024 14:21 # 0
666_N33D135 20.06.2024 12:43 # 0
guest6 20.06.2024 12:48 # 0
guest6 20.06.2024 13:14 # 0
guest6 20.06.2024 13:56 # 0
<<ga>> --- MOu OTBET.
CKa}|{u MHE <<ga>>,
HE roBopu <<HET>>.
guest6 20.06.2024 14:25 # 0
Ведь радуги моей так не надeжен свет,
guest8 15.07.2019 10:44 # −999
inseminator 15.07.2019 10:52 # 0