Сначала вообще не мог понять по тексту, о чём пишут: "переключателе методов ввода", "Переключатель способов ввода"...
Потом догадался. ))
Знал одного пользователя 25 лет, которому иногда приходилось помогать с ужасом и дикими проблемами от общения с представителем внеземной цивилизации, который все элементы интерфейса называл " табличка":
— У меня табличка высветилась какая-то и Автокад не работает.
— Что было написано?
— Не знаю, я нажала там на табличку поменьше со словом "да", чтобы она исчезла и не мешала.
...
— Я в узкую табличку (прим. авт.: поле ввода) написала 134 и нажала на табличку "Ок".
В современных условиях на Земле не происходит процессов, способных сформировать новые алмазы.
Это означает, что рынок работает с ограниченным ресурсом, который со временем только уменьшается.
...
Это редкий результат геологических процессов, которые больше не повторяются.
Незатейливая попытка увеличить ценность товара, но нет, спасибо! )))
Геология, конечно, против таких необоснованных утверждений.
Формирование алмазов происходит и сейчас. Вот, вынос пород мантии на поверхность ослабел, формирование кимберлитовых трубок замерло (пока). Но условия формирования (температуры, давления, силикатные расплавы, металлы, магнитные поля...) на глубинах 300—500 км иникуда не делись.
Подобную рекламу надо втюхивать гуманитариям, а не технарям.
Истину глаголете, друг мой: к плюсам отношения не имеет. Просто, нужно понимать, что ООП появился не столько потому, что это приносило какие-то небывалые методологии разработки, сколько позволяло "бить по рукам" нерадивым разработчикам, не позволяя делать нехорошие вещи. Я только пытался показать (возможно, не сильно хорошо), что какое-никакое обобществлённое программирование, наследование кода, точнее, пишем алгоритм один раз, а тип данных может подстроится, можно иметь и в Си. Более углублённые в Си наши товарищи, вероятно, смогут и ещё какие-то штуки из современного Си показать.
Ясно, что Си не Си++, как тут уже пытались Вам написать, но человек промахнулся, а кармы нет, чтобы второй комментарий оставить. Но я-то больше хотел сказать о том, что само по себе ООП для опытного и строгого разработчика не нужно. А, вот, шаблоны и пр. — дело полезное!
Что у нас есть сейчас: 1. typeof для получения типа на основе выражения без его реального выфчисления! Это позволяет такие вещи:
#define max(a,b) \
((void) (&(a) == &(b)), \ // проверка совместимости типов
(typeof(a)) { \
typeof(a) a = (a); \
typeof(b) b = (b); \
a > b ? a : b; \
})
Или с функцией:
#define max(a,b) \
(*(typeof(a) *) { \
typeof(a) a = (a); \
typeof(b) b = (b); \
static typeof(a) res; \
res = a > b ? a : b; \
&_res; \
})
В GCC c statement expressions ({...}) и typeof так:
_Generic — выбор на основе типа — существует, кажется, с C11 и позволяет так:
#include <stdio.h>
#include <math.h>
#define ABS(x) _Generic((x), \
int: abs(x), \
long: labs(x), \
float: fabsf(x), \
double: fabs(x), \
default: _Generic((x)+0.0, double: fabs(x)) \
)
int main() {
int i = -42;
double d = -3.14;
printf("%d, %f\n", ABS(i), ABS(d)); // Вызовет abs() и fabs()
return 0;
}
Довольно неплохо, не так ли?
typeof / typeof_unqual — делают анализ типа и позволяют получить тип выражения на этапе компиляции. typeof получает тип в точности, а typeof_unqual отбрасывает квалификаторы навродеconstили volatile, чтопозволяет использовать типы для объявления новых переменных.
Например так:
#include <stdio.h>
#include <stdlib.h>
#define NEW(T, N) (typeof(T) *)malloc(sizeof(T) * (N))
int main() {
int x = 10;
typeof(x) y = 20; // y — тоже int
typeof_unqual(const int) z = 30; // z — int, без const, что очень важно!!! Ибо позволяет получяить тип без частных ограничений той переменной, откуда мы его схватили
int *arr = NEW(x, 5); // Выделяет память под 5 элементов типа int
if (arr) free(arr);
return 0;
}
auto — вывод типа — наконец стал рабочим инструментои!!! для автоматического вывода типа переменной из её инициализатора. Зело сокращает объявление сложных типов!НАпример, мождно так:
include <stdio.h>
int main() {
auto x = 42; // x — int
auto y = 3.14; // y — double
auto z = &x; // z — int*
// Пример со сложным типом: указатель на функцию
int func(int a, int b) { return a + b; }
auto p = func; // p выводится как int (*)(int, int)
printf("%d, %f, %p\n", x, y, (void*)z);
return 0;
}
Класс?
А, ООП культурный программер и без ООП себе наварганит.
Ясно, что когда разработка ведется в агрессивной и некультурной среде, то возможности бить по рукам на уровне синтаксиса — очень хорошо. Вот, только вопрос: а, получается ли что-то хорошее в такой агрессивной среде, когда разработчиков надо бить по рукам, чтобы они не говнокодили, на уровне самого языка?
Вон, Пайтон никак на уровне языка не защищает кишки классов и объектов, практически, и ничего, вроде. Что-то на нем полезного накодировали уже. По крайней мере, в Пайтон злостный вандал имеет возможность навандалить, но мир там не рухнул.
Делал для Гугла карты по РФ. Теперь их уже годы не обновляли. Сейчас они не актуальны. Дороги старые остались, естественно, но изменений нет, а POI вообще на выброс.
Инструменты с сомнительной зачастую пока пользой (нейросети) уже породили людей, обслуживающих нейросети, трату кучи времени и пр. ресурсов на настройку и свистоперделки для нейросетей и кучу информационного бессодержательно дерьма, обрушившегося на людей.
Думать над жизнью, над собой, полюбоваться 10 мин. бабочкой, севшей на краешек скамейки 99 процентам загнанного стада людей уже некогда.
Надо бежать, выпучив глаза, генерить инфодерьмо, чтобы заработать бесполезные баллы к учётной записи на популярном сайте или бежать поглощать это дерьмо или писать никому ненужные комментарии на этом сайте к никому ненужному инфодерьму.
Цукерберг же в интервью говорил на прямой вопрос, несколько помявшись, когда утекла инфа, что да, мы слушаем выборочно клиентов... Но!!! Недолго (отрывками по 45 секунд) и "исключительноо для улучшения качества сервисов" . )))
Сначала вообще не мог понять по тексту, о чём пишут: "переключателе методов ввода", "Переключатель способов ввода"...
Потом догадался. ))
Знал одного пользователя 25 лет, которому иногда приходилось помогать с ужасом и дикими проблемами от общения с представителем внеземной цивилизации, который все элементы интерфейса называл " табличка":
Ну, великим его никто не считает. Да, забавный был дядька — заряжал своей неуёмной энергией. Но, великий...
"Как не передать свой IP..."
А, если передашь, то что будет?
Ну, пилящий бюджет США и Пентагона СпейсИкс отчитался за прошлый год об убытках в 5 млрд.
Никто, почему-то, ссаными тряпками в него не кидался. ))
Если F2—F8 нет при их двух панельном интерфейсе, то несчитово и не нужно.
Вообще, было бы полезней, если бы они сделали это, как плагин для FAR, IMHO.
Незатейливая попытка увеличить ценность товара, но нет, спасибо! )))
Геология, конечно, против таких необоснованных утверждений.
Формирование алмазов происходит и сейчас. Вот, вынос пород мантии на поверхность ослабел, формирование кимберлитовых трубок замерло (пока). Но условия формирования (температуры, давления, силикатные расплавы, металлы, магнитные поля...) на глубинах 300—500 км иникуда не делись.
Подобную рекламу надо втюхивать гуманитариям, а не технарям.
Истину глаголете, друг мой: к плюсам отношения не имеет. Просто, нужно понимать, что ООП появился не столько потому, что это приносило какие-то небывалые методологии разработки, сколько позволяло "бить по рукам" нерадивым разработчикам, не позволяя делать нехорошие вещи. Я только пытался показать (возможно, не сильно хорошо), что какое-никакое обобществлённое программирование, наследование кода, точнее, пишем алгоритм один раз, а тип данных может подстроится, можно иметь и в Си.
Более углублённые в Си наши товарищи, вероятно, смогут и ещё какие-то штуки из современного Си показать.
Ну, да. Вон коллеге накропал примеров. Тоже гляньте.
Ясно, что Си не Си++, как тут уже пытались Вам написать, но человек промахнулся, а кармы нет, чтобы второй комментарий оставить. Но я-то больше хотел сказать о том, что само по себе ООП для опытного и строгого разработчика не нужно. А, вот, шаблоны и пр. — дело полезное!
Что у нас есть сейчас:
1. typeof для получения типа на основе выражения без его реального выфчисления! Это позволяет такие вещи:
Или с функцией:
В GCC c statement expressions
({...}) и typeofтак:Красота?
_Generic — выбор на основе типа — существует, кажется, с C11 и позволяет так:
Довольно неплохо, не так ли?
typeof / typeof_unqual — делают анализ типа и позволяют получить тип выражения на этапе компиляции. typeof получает тип в точности, а typeof_unqual отбрасывает квалификаторы навродеconstили volatile, чтопозволяет использовать типы для объявления новых переменных.
Например так:
auto — вывод типа — наконец стал рабочим инструментои!!! для автоматического вывода типа переменной из её инициализатора. Зело сокращает объявление сложных типов!НАпример, мождно так:
Класс?
А, ООП культурный программер и без ООП себе наварганит.
Ясно, что когда разработка ведется в агрессивной и некультурной среде, то возможности бить по рукам на уровне синтаксиса — очень хорошо. Вот, только вопрос: а, получается ли что-то хорошее в такой агрессивной среде, когда разработчиков надо бить по рукам, чтобы они не говнокодили, на уровне самого языка?
Вон, Пайтон никак на уровне языка не защищает кишки классов и объектов, практически, и ничего, вроде. Что-то на нем полезного накодировали уже. По крайней мере, в Пайтон злостный вандал имеет возможность навандалить, но мир там не рухнул.
С Си стандарта C23 и C++ уже особо не нужен.
Делал для Гугла карты по РФ. Теперь их уже годы не обновляли. Сейчас они не актуальны. Дороги старые остались, естественно, но изменений нет, а POI вообще на выброс.
Про "центр Вселенной" — это интересно! Можно подробности про его местоположение?
Ну, 9 кубометров жилого пространства на четверых — не сильно просторно, конечно. Но, это лучше, чем вообще ничего за десятки лет до этого.
Доживу ли до базы на Луне? ))
Человек написал годную, полезную статью. В минусах. Только что рядом читал нечитаемый бред, нагенерированный какой-то школотой — куча плюсов.
Аудитория Хабра давно уже не группа яйцеголовых интеллектуалов с налетом некоторого снобизма.
Это почти тот же Пикабу или Фишки, только с претензией на былую интеллектуальность.
Инструменты с сомнительной зачастую пока пользой (нейросети) уже породили людей, обслуживающих нейросети, трату кучи времени и пр. ресурсов на настройку и свистоперделки для нейросетей и кучу информационного бессодержательно дерьма, обрушившегося на людей.
Думать над жизнью, над собой, полюбоваться 10 мин. бабочкой, севшей на краешек скамейки 99 процентам загнанного стада людей уже некогда.
Надо бежать, выпучив глаза, генерить инфодерьмо, чтобы заработать бесполезные баллы к учётной записи на популярном сайте или бежать поглощать это дерьмо или писать никому ненужные комментарии на этом сайте к никому ненужному инфодерьму.
Такова бестолковая жизнь 99 %... :-(
Туповатый маркетинговый прогрев, но до сих пор работающий: написать про скоро появляющийся товар, что его "забыли".
Смотрите, сколько обсуждений этого практического бесполезия. ))
Угу. Один тоже пытался у HALа выдергивать...
Цукерберг же в интервью говорил на прямой вопрос, несколько помявшись, когда утекла инфа, что да, мы слушаем выборочно клиентов... Но!!! Недолго (отрывками по 45 секунд) и "исключительноо для улучшения качества сервисов" . )))
Вы представляете, что такое ЦПК? Бывали там?
Угу. Фильтр для воды еще можно вспомнить.