- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Чем обусловлена течка по сильной типизации, если она крайне неудобна?
К примеру, в "PHP" я могу спокойно написать код, подобный приведённому ниже,
и не надо будет придумывать всё новые и новые названия для переменных:
$count='microsoft,apple,amazon';
$count=explode(',', $count);
$count=count($count);
$count=$count.' шт.';
Переведи на "PHP".
Это как в сишке написа́ть:
И хранить в data разные значения в зависимости от того, какое число лежит в поле current_type.
Только в дельфятине ещё был синтаксический сахарок, чтобы самому не заполнять и не проверять дескриптор типа.
прочитаешь первое поле и поймешь, что лежит во втором
не тупи
когда ты не можеш написать 22 + "пиво"
питонячя тупизация строга, но не статическа
вот и вся строгая тупизация в петоне.
в питоне нельзя строку неявно кастнуть к инту
"1" не равно 1
нельзя из "1" вычесть 1
в питоне типизация строгая (в отличие от джс и пхп и перла)
и у луа
так что я за луа, питон и руби
Потому что $count неявно преобразовывается в строку, чтобы оператор кокококонкатенации имел смысл.
В шестой, в седьмой и в восьмой пример динамической: $count на лету меняет тип.
Но луше бы была строковововоая итерплоляция
вот скажем в коко тупизация статическая и строгая, но
val age = 99;
print("Мне {age} лет")
неявный каст
у Int в коко toString() есть, а кастануть его в строку нельзя
это в жаве у примитивов методов нету, у коко сахар завезли
так что там правда вызывается toString
методы у инта есть много где
и в сишарп, и в руби
жаль что в жабе их нет
https://www.freepascal.org/docs-html/current/ref/refch10.html
Пример:
http://ideone.com/lelkC1
А в языке «D» вообще есть «Uniform Call Syntax» для текучего междумордия.
В D вообще много чего есть, только никто им не пользуется почему-то
Языком «D» никто не пользуется, потому что «Фейсбук» и «ВКонтакте» написаны на «PHP».
Хелпер же позволяет добавлять методы в чужой класс, не наследуясь от него.
> Хелпер же позволяет добавлять методы в чужой класс, не наследуясь от него.
- чот не вижу разницы, если говорить про семантику
Хелперы, экстеншны же позволяют привязывать методы к существующему классу без необходимости создавать новое имя класса.
Зачем всё это?
Технические проблемы обсуждают сисадмины и заправщики картриджей.
А программисты обсуждают разницу между миксином и трейтом.
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." И именно поэтому они не нужны.
Может, ты имеешь в виду конкретно пхп.
Но вообще это очень сильно зависит от ЦЯ. Я когда-то любил говорить, что экстеншены, трейты и миксины это одно и то же, пока не прочитал документацию. Так шо в чём-то ты прав
Это просто модуль, который запихнули в класс
Есть они и в Python,но там они реализованы просто с помощь. множественново наследования, как и в С++
Отдельново синтаксису нет
UML устарел, вот что я хочу сказать
Зачем, блядь, что-то показывать? Зачем, блядь, что-то малевать? Просто пиши процедурный код, коноёб твою мать.
Вместо vcs тетрадка в клеточку.
Вместо IDE - карандаш и ластик.
Дебажу прямо на бумаге.
Когда надо сделать билд и выкатить в продакшен, навожу ручкой то, что раньше написал карандашом.
Чтобы отдать заказчику продукт, вырываю листок, комкаю и бросаю в форточку.
По итогу езжу на мазерати, ебу хрюш и топ-моделей, конярду недавно нанял за еду чистить туалеты на моей вилле. Иногда, сидя на толчке, слышу его вскукареки из канализации про последовательный процедурный код, написанный говном пальцем на кирпичной кладке.
Так что да, другого там ничегонет.
UML вообще редко юзают, зачем что-то рисовать если надо хуяк=-хуяк?
Это ещё что за хуйня? Бляяяя, сколько говна понапридумывали...
Например sequence диаграммы я иногда юзаю.
Вообще есть UML2, там есть то, чего не былодо этого
про класс-диаграммы там одна глава
вот тут проще
см 3.4 Inheritance Relationships
Это значит, что на каждый тип диаграммы в книжке не менее 15 страниц. Лев Толстой писал эту книгу, да.
По ссылке слишком тривиальный пример, что ты хотел им сказать?
Я хотел сказать что есть референс без книжки
Интересно, что в книге про UML 1 были коты и котята, а в книге про UML 2 были уже обе3ьяны (как в книге про VB програмированне под Win32API).
Вот например книга где обезьяна (!) сама себе дрочит (!!) ногой (!!!)
И это книга про UML!!!
—– А мне не надо, чтобы вам было удобнее. Мне надо, чтобы вы заебались.
В мире архитектуры есть два понятия:
IS-A
и
HAS-A
они и отражены в UML. А как этот сраный IS-A реализуется в твоем языке это уже не важно
Если я хочу сказать что Конардо это частный случай копрофила и частный случай гея и частный случай педофила, то я просто рисую от него три стрелочки к этим сущностям, и мне совершенно не важно как именно оно реализовано: множественным-ли наследованием или миксинами
Куда важнее понять ЧТО, чем понять КАК.
Я вообще даже не всегда знаю, на чем буду писать программу заранее
Совершенно не важно на самом деле, является-ли контракт формальным (как интерфейс в джаве) или неформальным (как, например, в утке)
Не важно так же как именно он 0писан, и как реализован,
Более того: ООП вообще не обязано тут быть.
Контракт "приложение Win32API" имеет реализцию "пасьянс", а "клиент фейсбука п0д иос" это реализация контракта Mach-O, а у контракта ELF есть реализация nginx.
У контракта "веб бров3ер" реализация Chrome
ну ты понел
Глист солитёр
В Lua тоже ООП не классическое (во всех смыслах) и тоже протопопоное как в джс
Атлантическая миксина обитает в восточной Атлантике от западной части Средиземного моря и Португалии до Северного моря, Скагеррака, Каттегата и Варангер-фьорда[2]. В западной Атлантике — от острова Баффинова Земля на юг до Северной Каролины[3].
Длина тела достигает 76 см. Недоразвитые глаза скрыты под кожей. Спинного плавника нет. Вокруг рта расположено 6 усиков. На боковых сторонах тела одна жаберная щель[3]. На поверхности тела в общей сложности от 88 до 102 пор, из которых сочится слизь[2].
Атлантическая миксина — хищник, она выедает внутренности и мышцы у ослабевших рыб, вгрызаясь в жертву с помощью мощного языка с роговыми зубцами[2][3].
Что это и нахуй оно въеблось?
тебе правда интересно?
Из-за вас, блядей, я вынужден каждый раз, сталкиваясь с очередным ООП-проектом, по часу-по два искать в Интернетах, как конкретно в этом фреймворке (или его конкретной версии) выполнить ссаный запрос к базе данных, ибо они не допускают такой роскоши, как "mysql_query" - там обязательно надо использовать какую-то поебень типа "$db->table(...)->where(...)->first()" или "DBO::Query(...)", и вся эта абракадабра совершенно непредсказуема. Если же документацию найти не удаётся, я, опять же, часами вынужден искать, где в этом фреймворке зарыт файл с классом базы данных, чтобы понять, как, блядь, здесь выбрать одну запись из таблицы.
Бляди, дети блядей и внуки блядей.
* Наследование реализации это почти всегда плохо
* Наследование реализации с со стоянием это почти всегда очень-очень плохо
* Виртуальные методы это почти всегда плохо
* Невозможность использовать метод без привязки к данным и невозможность использовать ево с другими данными (как в джаве например) это плохо
* Мысль хранить данные вместе с методом для их обработки это далеко не всегда хорошо
Все остальное в ООП -- ок
- нормально ты щас ObjC приложил.
Я скорее джаву приложил:) но я согласен что и в обжс дипатчица метод в рантайме и зависит от
Все методы виртуальные
Ты прав
профит!
А уж в руби так это вообще используют в хвост и в гриву.
Хорошо решает вопрос дискаверабилити.
Допустим, у меня есть класс Petuh, и я хочу найти как сделать из него жареные крылышки
Очевидно, у питуха метода такого нет
Как быть в жабе? Искать всё, что работает с питухом
Как быть в кокок? Сказать pituh., и IDE найдет все экстеншен методы
В "си" таких проблем нет, и именно по этому я за "си"
В асемблере есть байт, врот, дубльврот, куворт
Это про вас
воще без всяких переменных
это джс
Учитесь у отца всех ваших скриптоподелок: Perl. Тут не только смена типа на ходу, тут еще и контекст меняется.
Никакого триумфа Красной армии в «крупнейшем танковом сражении Второй мировой войны» под Прохоровкой 12 июля 1943 года, которое якобы стало кульминацией грандиозной стратегической операции, вошедшей в историю, как Курская битва, в действительности не было, сообщает Die Welt, ссылаясь на историков, обнаруживших немецкие разведывательные фотоснимки.
«Результаты последних исследований, основанных на подлинных фотографиях, подтверждают: под Прохоровкой не было ни советской победы, ни мощного танкового сражения в целом. На самом деле, на поле к западу от Памятника Победы (звонницы на Прохоровском поле, увенчанной позолоченной фигурой Богородицы), более 200 танков 29-го танкового корпуса совершили атаку в стиле камикадзе», - говорится в статье. И там же делается вывод, что теперь этот памятник «в сущности должен бы быть снесен».
О том, что никакой победы русских в том сражении не было не раз уже говорил немецкий военный историк Карл-Хайнц Фризер, а теперь его версию подтвердил и британский ученый Бен Уитли, обнаруживший в американском Национальном архиве Колледж-Парка (штат Мэриленд) немецкие разведывательные фотографии с восточного фронта. Они «с максимальной ясностью доказывают катастрофическое поражение Красной армии под Прохоровкой», - говорится в статье Die Welt, которую цитирует InoPressa.
В статье Die Welt утверждается, что командующий 5-й гвардейской танковой армией генерал Павел Ротмистров при наступлении игнорировал наличие естественного препятствия в виде рва глубиной 4,5 метра, и в результате советские танки столпились перед узким мостом, став идеальной мишенью для двух батальонов 2-го танкового корпуса СС.
«Это был ад из огня, дыма, горящих Т-34, убитых и раненых», - писал участвовавший в сражении Рудольф фон Риббентроп, сын рейхсминистра иностранных дел. Только 4 тяжелых танка «Тигр» под командованием Михаэля Виттманна уничтожили 55 советских танков.
Через несколько дней в район боя были направлены немецкие самолеты-разведчики, который засняли место боя 14 и 16 июля 1943 года. На них видны рядом с глубоким рвом более 100 разбитых средних танков Т-34 и легких Т-70. Чуть вдалеке - еще 55 уничтоженных «Тиграми» танков (32 Т-34, 12 Т-70 и 11 британских «Черчиллей».
кстати, а ты ведь вершн контролем тоже не пользуешься?
Такая концепция подошла бы для стекового языка. В воображаемом стековом языке пример кода выглядел бы так:
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.
А чего добился ты?
в 14 лет
Я в 14 лет мог написать только вот такой скринсейвер:
Новохопёрск был упомянут в романе И. Ильфа и Е. Петрова Двенадцать стульев: в записке, адресованной мадам Грицацуевой, Остап Бендер сообщил, что именно в этот город он должен срочно выехать с докладом[18] (в фильме — «в Новохопёрск с докладом на заседание Малого Совнаркома»). Видимо, уже тогда город воспринимался как символ, и мог претендовать на титул «столицы российской провинции», как и расположенный неподалеку Урюпинск.
Возле Новохопёрска разворачиваются события романа А. Платонова «Чевенгур».
Глава 15 повести А. Гайдара «Школа» начинается с фразы «Уже несколько дней шли бои под Новохопёрском».
На форте есть проекты:
На счет остальных незна.
ну ничего себе! У меня есть пдфка на 1500 страниц с картинками, чем не крупный проект?
<<ga>> --- MOu OTBET.
CKa}|{u MHE <<ga>>,
HE roBopu <<HET>>.
Ведь радуги моей так не надeжен свет,