Форум программистов, компьютерный форум, киберфорум
CoderHuligan
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Плюсы воинствующие

Запись от CoderHuligan размещена 19.04.2022 в 11:38
Показов 4388 Комментарии 42

Так, ремарка по ходу.. Отдельный раздел (форум) по языку Си упразднили перенеся его в виде подкатегории раздела c++. При этом исчез отдельный раздел под профессиональный Си, который теперь слит в один раздел с c++. Короче говоря:
Белеет мой парус в краю одиноком
на фоне больших кораблей...

Не красит это вас, плюсовики..
Ваша агрессия говорит против вас, против вашего языка. Жили бы отдельно - да мы так и жили, и никого не трогали. И поста этого не было бы, и многих будущих проблем...
Печально. Всё течет, всё меняется не аргумент. Не грузитесь - могу бурчать в блоге сколько хочу.
Наверно по языку Си буду писать в этом блоге. В раздел плюсовиков входить западло: это было так задумано?. Так, чтобы меньше стало сишников? Не обломайтесь, господа.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 42
Комментарии
  1. Старый комментарий
    Аватар для Алексей1153
    das1, по крайней мере два применения:
    1) обозначить, что функция не возвращает значение. По умолчанию компилятор считает, что возвращается int (в Си)
    2) можно создать указатель на любой тип данных void* без указания самого типа
    Запись от Алексей1153 размещена 22.04.2022 в 13:19 Алексей1153 на форуме
  2. Старый комментарий
    Цитата Сообщение от Алексей1153
    das1, по крайней мере два применения:
    1) обозначить, что функция не возвращает значение. По умолчанию компилятор считает, что возвращается int (в Си)
    2) можно создать указатель на любой тип данных void* без указания самого типа
    1)
    если я правильно понял, это значит, что при вычислении квадратного корня из отрицательного числа функция ничего не возвращает. Но ведь эту функцию можно заставить выдать сообщение "подкоренное выражение отрицательно", либо функция может просто проигнорировать то, что под корнем и считать дальше. Так к примеру можно нарисовать график y = https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{x} на интервале (-10; 10) и отрицательные числа не будут здесь помехой.
    Может я неправильно понял? И всё гораздо сложнее?
    Запись от das1 размещена 22.04.2022 в 13:35 das1 вне форума
  3. Старый комментарий
    Аватар для Алексей1153
    das1, почитай в любой книжке для начинающих, что такое функция в C/C++
    Запись от Алексей1153 размещена 22.04.2022 в 13:41 Алексей1153 на форуме
  4. Старый комментарий
    Аватар для CoderHuligan
    Зачем нужен void? Вот к примеру в бейсике его нет и я прекрасно обхожусь без него
    Бейсик довольно высокоуровневый язык. А Си это как бы макроассемблер, т.е. довольно низкоуровневый. Он многое не понимает, поэтому ему это надо объяснять явно. void удобен тем, что позволяет как бы отключить проверку типов компилятором. Но относится это только к указателям. В некоторых случаях это необходимо.
    Запись от CoderHuligan размещена 22.04.2022 в 15:54 CoderHuligan вне форума
  5. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от Алексей1153
    По умолчанию компилятор считает, что возвращается int (в Си)
    Это уже выпилено из языка в C99.
    Запись от Croessmah размещена 23.04.2022 в 14:45 Croessmah вне форума
  6. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от das1
    1) если я правильно понял
    Если перенести на Basic, то функция, возвращающая void - это Sub (subroutine, procedure), а не Function
    Запись от Croessmah размещена 23.04.2022 в 14:49 Croessmah вне форума
  7. Старый комментарий
    Цитата Сообщение от Croessmah
    Если перенести на Basic, то функция, возвращающая void - это Sub (subroutine, procedure), а не Function
    Croessmah,
    спасибо! А вот интересно, стоило ли превращать процедуру в функцию, которая возвращает void? По-моему это ничего не даёт. Или я что-то не понимаю?
    Запись от das1 размещена 23.04.2022 в 15:22 das1 вне форума
  8. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от das1
    А вот интересно, стоило ли превращать процедуру в функцию, которая возвращает void?
    Я задам аналогичный вопрос. А стоило ли из-за такой мелочи делить "функции" на функции и процедуры?
    Запись от Croessmah размещена 23.04.2022 в 22:41 Croessmah вне форума
  9. Старый комментарий
    Цитата Сообщение от Croessmah
    А стоило ли из-за такой мелочи делить "функции" на функции и процедуры?
    Процедуры, как часть повторяющегося кода, появились раньше функций. И лишь потом, ради удобства (привычки) из процедур выделили функции, которые несли что-то важное (нужное). А видимо с появление Си непонятно какой гений ввёл вообще одни функции. Вот и пришлось придумывать void. Первым языком высокого уровня был Fortran. Basic - внук Фортрана, а Си - непонятно кто...
    Запись от das1 размещена 24.04.2022 в 06:46 das1 вне форума
  10. Старый комментарий
    Аватар для Croessmah
    Вообще не имеет никакой разницы что и когда появились. Например, ЭЛТ-мониторы появились раньше ЖК мониторов, но что-то особой тяги народа к ним не видно. Прогресс неизменно идет вперед, появляются новые практики, подходы, инструменты. Всё это приводит к пересмотру сложившихся "традиций". Вот и тут - нафига лепить отдельно процедуры и функции? Ничего кроме геморроя в C это бы не принесло.

    Цитата Сообщение от das1
    Первым языком высокого уровня был Fortran
    Планкалкюль
    Запись от Croessmah размещена 24.04.2022 в 09:17 Croessmah вне форума
  11. Старый комментарий
    Цитата Сообщение от Croessmah
    Спасибо! Я этого не знал. Да и откуда? Если о Фортране говорили, что он первый и лучший...
    Запись от das1 размещена 24.04.2022 в 10:44 das1 вне форума
  12. Старый комментарий
    Цитата Сообщение от Croessmah
    Прогресс неизменно идет вперед, появляются новые практики, подходы, инструменты. Всё это приводит к пересмотру сложившихся "традиций".
    Прогресс = ? Тут я вот обратил внимание, что в некоторых языках появилась такая вот форма записи функций. Например синус от икс записывают как math.sin(x). Это прогресс? Это скорее всего Регресс!!! Вот интересно, как вы к этому относитесь?
    Запись от das1 размещена 24.04.2022 в 10:56 das1 вне форума
  13. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от das1
    Вот интересно, как вы к этому относитесь?
    К math.sin? Замечательно отношусь к подобным вещам.
    Разделение по неким пространствам - это замечательно.
    Например, если я захочу написать свою математическую библиотеку,
    я могу её обозвать по-другому, а не math и использовать естественные имена.
    Code
    1
    2
    
    math.sin(x); //некая sin из math
    fastmath.sin(x); //некая sin из fastmath
    Code
    1
    2
    3
    4
    5
    6
    
    что-то типа
    using math;
    sin(x);//некая sin из math
    |-------------------------------|
    using fastmath;
    sin(x);//некая sin из fastmath
    Вы, наверное, еще не сталкивались проблемами, возникающими из-за конфликтов имен в больших проектах.
    Запись от Croessmah размещена 24.04.2022 в 11:59 Croessmah вне форума
  14. Старый комментарий
    Цитата Сообщение от Croessmah
    К math.sin? Замечательно отношусь к подобным вещам.

    Вы, наверное, еще не сталкивались проблемами, возникающими из-за конфликтов имен в больших проектах.
    Да, вы правы. Никогда не сталкивался. А такая функция, как sin(x), вошла в мою плоть и кровь. Никогда её не забуду! И всё-таки, мне кажется, что программист используюший sin как идентификатор переменной занимается не своим делом. Кто не знает математики - тот неполноценный программист.
    Запись от das1 размещена 24.04.2022 в 12:57 das1 вне форума
  15. Старый комментарий
    Аватар для CoderHuligan
    math.sin(x); //некая sin из math
    fastmath.sin(x); //некая sin из fastmath
    Вы лично видели реальный случай использования в одном файле(модуле) двух функций sin из разных библиотек/модулей/классов?
    Запись от CoderHuligan размещена 24.04.2022 в 13:09 CoderHuligan вне форума
  16. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от das1
    Кто не знает математики - тот неполноценный программист.
    Математика понятие растяжимое. Эта наука настолько обширна, что среди математиков появилась специализация в какой то одной области. Для программистов достаточно знать элементарную арифметику, алгебру, тригонометрию.
    Запись от CoderHuligan размещена 24.04.2022 в 13:11 CoderHuligan вне форума
  17. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от CoderHuligan
    Вы лично видели реальный случай использования в одном файле(модуле) двух функций sin из разных библиотек/модулей/классов?
    Да. Ничего удивительного в этом нет. И это касается не только функции sin, а вообще любой именованной сущности.
    Разные библиотеки могут реализовывать как разные функции, так и одинаковые.
    И когда в одной не хватает, подрубаем еще дополнительную - а там есть функции с такими же названиями.
    В нашем случае, одна пришла из сторонней библиотеки, другая из cmath (sin + std::sin, точнее, у нас была не sin, а hypot, но суть одна).
    Результат - всё нормально, т.к. всё разложено по пространствам имен и никто никому не мешает.
    Запись от Croessmah размещена 24.04.2022 в 13:30 Croessmah вне форума
  18. Старый комментарий
    Аватар для CoderHuligan
    Да дело не в функциях с одинаковыми названиями, а в функциях, которые реализуют один и тот же функционал, пускай даже с разными именами. Не могу придумать примера где бы это понадобилось в ОДНОМ модуле. Хотя, может я мыслю в категориях Си, а в нем две библиотеки могут конфликтовать если имеют одинаковые имена. Но если это нужно, пусть будет. В ОБерон это реалзовано именно так. А java была слизана с Оберона (кстати!).
    Запись от CoderHuligan размещена 24.04.2022 в 15:01 CoderHuligan вне форума
  19. Старый комментарий
    Аватар для Croessmah
    Цитата Сообщение от CoderHuligan
    а в функциях, которые реализуют один и тот же функционал
    Две библиотеки могут притащить одинаковый функционал под одним или разными именами.
    Если они притаскивают это под разными именами - проблем нет.
    Если же под одним, то начинаются проблемы.

    Например, если вы берете библиотеку для работы с графикой, то там могут быть свои функции работы с векторами,
    а еще вы притаскиваете математическую библиотеку и там тоже свои функции работы с векторами.
    Каждая библиотека делает одну и ту же работу над объектами своих типов.
    Вот и получили одинаковый функционал из двух библиотек.

    Цитата Сообщение от CoderHuligan
    а в нем две библиотеки могут конфликтовать если имеют одинаковые имена
    И вот для решения это проблемы вводя всякие пространства имен. Уточняя имя, мы снижаем риск конфликтов.
    В Си это решают добавляя префиксы или суффиксы ко всем именам.
    Запись от Croessmah размещена 24.04.2022 в 15:26 Croessmah вне форума
  20. Старый комментарий
    Цитата Сообщение от das1
    с появление Си непонятно какой гений ввёл вообще одни функции. Вот и пришлось придумывать void.
    Мода на void пошла с нелёгкой руки изобретателей АЛГОЛ-68, если я не ошибаюсь.
    Запись от politoto размещена 26.04.2022 в 15:57 politoto вне форума
 
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru