Как стать автором
Обновить
27
0

Пользователь

Отправить сообщение

Насчёт третьего не скажу, не могу придумать, зачем это может быть нужно.

нет типа данных int24_t int13_t и т.п.

А в каких языках они есть из коробки?

нет встроенных в язык абстрактных типов данных: FiFo, LiFo, Set, HasSet, AVLtree и т. п.

Такой себе недостаток, на си все эти структуры уже написаны, просто не входят в стандартную библиотеку. Да, придётся немного потрудиться и добавить себе в проект нужную структуру, но это не сложно ведь.

У си есть куда более серьёзные недостатки, я их в своём комменте описал

Язык Си по сравнению с другими языками простой как ножик. Одни только функции и переменные.

Очевидно имелась в виду сложность написания программ. На си сложнее писать многие вещи чем, скажем, на том же python, просто потому что приходится думать об управлении памятью, работать с указателями, самому освобождать все выделенные ресурсы. В си так же очень неудобно работать со строками в отличие от того же python. Также приходится думать о том, приведёт ли твой код к UB или нет. Я, скорее всего, о чём-то забыл, но, думаю, мысль донёс.

Язык си не опирается на системные вызовы, это в стандартной библиотеке для конкретной ОС и архитектуры они используются. При написании ОС или любой другой программы, работающей на голом железе, вы должны свою библиотеку написать со всем необходимым, и для этого не нужны системные вызовы. И это не какая-то особенность языка си, точно такая же ситуация будет при написании программы, работающей на голом железе, на любом другом языке, например, на расте.

emacs мне больше нравится, чем vim. Как минимум он с LSP работает лучше, но пришлось отказаться от него, потому что настроить автоматическое выравнивание для haskell в нём оказалось очень сложно. Буквально у всех такие проблемы возникают, в коментах советую отключить автоматическое выравнивание и самому табы нажимать. А в vim выравнивание почти всегда работает идеально из коробки. Это я к тому, что не всегда можно заменить IDE на тот же emacs банально из проблем с выравниванием для некоторых языков.

По факту, кстати. Я помню мне с мака надо было срочно прошить телефон, оказалось, что это только на винде можно сделать. Пришлось ставить VB с 7 виндой и через виртуалку прошивать.

Имеется в виду, что на Scratch написали эмулятор riscv, а на эмуляторе уже запустили ядро. На вопрос "зачем?" ответ очевиден - Just for fun.

У меня в neovim настроена работа с lsp, однако я всё равно не в курсе, как это всё работает. Для настройки этого знать не нужно от слова совсем. Отличие от ide в том, что нужно десяток строк на lua написать, чтобы оно заработало.

coc.nvim + language server вполне справляются с переименованием метода/функции, нахождением мест, где этот метод/функция используется. Плюсом идёт автодополнение и возможность посмотреть справку на функцию или метод или только её сигнатуру. Но я хз, со всеми ли языками это нормально работает, я только с хаскелем и сями пробовал.

А что конкретно плохого в старлинке? Мне только известно, что спутники мешают телескопам. Это пока до словосочетания "повсеместно гадить" не дотягивает

Тогда перефразирую - я бы не ушёл от врача, который обучался через интернет

Статья прямо рекламная до мозга костей. Никаких подробностей. Но возникают вопросы: сколько будет стоить подключение, в каких странах всё это будет работать, в каких странах люди могут себе позволить оплатить подключение и оборудование, нужное для этого самого подключения? Плюс нет информации, чем уже имеющийся спутниковый интернет плох (я знаю, только что скорость ниже, но вы её не привели). Ну и проблемы, которые вы описали, ни одним отсутствием связи вызваны:

Врачи и медицинский персонал в отдаленных клиниках получают доступ к мировой экспертизе и медицинскому образованию.

Возможно, я чего-то не понимаю, но я бы не пошёл ко врачу, который обучался через интернет. Я к тому, что в этом деле роль играет перенимание опыта у старших товарищей, а через интернет этого не достичь в полной мере.

Бизнесмены в отдаленных районах теперь могут расширяться и налаживать более широкую сеть клиентов

Если у них проблемы со связью, значит это мелкие бизнесмены. Полагаю, если решить проблемы со связью, то проблемы со стоимостью доставки из отдалённых регионов остануться, потому что мелкий бизнесмен не потянет такую цену.

Молодые люди могут обучаться удаленно в университетах и получать высокое образование, не покидая своих родных деревень.

Всё-таки высшее. И не всякое образование можно через интернет получить, тут всё как с врачами. Например, инженерную специальность вы вряд ли освоите без доступа к оборудованию. Но да, это позволит некоторым самородкам из отдалённых мест получить знания, тут я не спорю.

Страсть и миссия экипажа Starlink состоит в том, чтобы дать возможность
людям жить в синхронизированном мире, где доступ к знаниям и
возможностям не будет ограничен границами и социальным статусом

А как они решат проблему того, что не всякое образование можно получить дистанционно, а также необходимость платить за онлайн-образование? А возможность оплатить учёбу зависит от социального статуса.

Планы Starlink направлены на обеспечение бесплатного доступа к интернету для тех мест, где он не доступен или сильно ограничен.

Прямо-таки бесплатного, я уверен, что за доступ всё-таки придётся платить. Никто ничего бесплатно делать не будет.

В лабораторных работах можно, но в реальных проектах лучше его не использовать. Там куча не очевидных вещей, можно подробнее здесь прочитать

scanf вообще лучше не использовать. А какие могут быит проблемы с printf, если сейчас компиляторы выводят предупреждения о несоответствии заявленного формата вывода и переданных аргументов?

попробуйте zig или odin

Пока zig не выйдет в релиз, смотреть на него особо не хочется. В последний раз я столкнулся с тем, что мне приходилось вместо документации читать исходники, потому что в документации нужной мне информации не было. А вот на odin надо будет посмотреть

Не писать на си иногда не вариант, я вот понял, что всякую низкоуровневую фигню ни на плюсах, ни на расте я писать не желаю. Можно, кстати, упороться и писать доказуемо корректные программы на си. А тавтология - это использование одного и того же слова в предложении, разве нет?

Я добрался до gcc, он и правда не выводит предупреждение, если не указать void вместо списка аргументов, причём даже с флагами -Wall и -Wextra. У меня, если что, gcc версии 13.2.1

Да, нужно для каждого блока указывать язык, чтобы подсветка работала.

Вообще, если не указать void, значит функция может принимать сколько угодно параметров.

Этот пример компилируется:

#include <stdio.h>

static void print_hello() {
    puts("Hello World");
}

int main(void) {
    print_hello();
    print_hello("lol", "kek");
}

clang выводит предупреждение:

test.c:9:29: warning: too many arguments in call to 'print_hello'
    print_hello("lol", "kek");
    ~~~~~~~~~~~             ^
1 warning generated.

До gcc пока не добрался, но, по-моему, он не выводит предупреждение в таких случаях.

Если же добавить void, пример не скомпилируется:

test.c:9:17: error: too many arguments to function call, expected 0, have 2
    print_hello("lol", "kek");
    ~~~~~~~~~~~ ^~~~~~~~~~~~
test.c:3:13: note: 'print_hello' declared here
static void print_hello(void) {
            ^
1 error generated.

А можете привести пример вызова функции sum, полученной из вашего кода на си, а то я не очень понял?

Я перепутал название функции. Я имел в виду вызов sum в коде на си.

int arr[12] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
// Тут произойдёт выход за границу массива
int result = sum(arr, 15);

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Backend Developer
Middle