Плюсы воинствующие
Запись от CoderHuligan размещена 19.04.2022 в 11:38
Показов 4388
Комментарии 42
|
Так, ремарка по ходу.. Отдельный раздел (форум) по языку Си упразднили перенеся его в виде подкатегории раздела c++. При этом исчез отдельный раздел под профессиональный Си, который теперь слит в один раздел с c++. Короче говоря: Белеет мой парус в краю одиноком на фоне больших кораблей... Не красит это вас, плюсовики.. ![]() Ваша агрессия говорит против вас, против вашего языка. Жили бы отдельно - да мы так и жили, и никого не трогали. И поста этого не было бы, и многих будущих проблем... ![]() Печально. Всё течет, всё меняется не аргумент. Не грузитесь - могу бурчать в блоге сколько хочу. ![]() Наверно по языку Си буду писать в этом блоге. В раздел плюсовиков входить западло: это было так задумано?. Так, чтобы меньше стало сишников? Не обломайтесь, господа.
|
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 42
Комментарии
-
Запись от Алексей1153 размещена 22.04.2022 в 13:19
-
1)
Сообщение от Алексей1153
если я правильно понял, это значит, что при вычислении квадратного корня из отрицательного числа функция ничего не возвращает. Но ведь эту функцию можно заставить выдать сообщение "подкоренное выражение отрицательно", либо функция может просто проигнорировать то, что под корнем и считать дальше. Так к примеру можно нарисовать график y =на интервале (-10; 10) и отрицательные числа не будут здесь помехой.
Может я неправильно понял? И всё гораздо сложнее?Запись от das1 размещена 22.04.2022 в 13:35
-
Запись от Алексей1153 размещена 22.04.2022 в 13:41
-
Бейсик довольно высокоуровневый язык. А Си это как бы макроассемблер, т.е. довольно низкоуровневый. Он многое не понимает, поэтому ему это надо объяснять явно. void удобен тем, что позволяет как бы отключить проверку типов компилятором. Но относится это только к указателям. В некоторых случаях это необходимо.Запись от CoderHuligan размещена 22.04.2022 в 15:54
-
Запись от Croessmah размещена 23.04.2022 в 14:45
-
Запись от Croessmah размещена 23.04.2022 в 14:49
-
Croessmah,
Сообщение от Croessmah
спасибо! А вот интересно, стоило ли превращать процедуру в функцию, которая возвращает void? По-моему это ничего не даёт. Или я что-то не понимаю?Запись от das1 размещена 23.04.2022 в 15:22
-
Запись от Croessmah размещена 23.04.2022 в 22:41
-
Процедуры, как часть повторяющегося кода, появились раньше функций. И лишь потом, ради удобства (привычки) из процедур выделили функции, которые несли что-то важное (нужное). А видимо с появление Си непонятно какой гений ввёл вообще одни функции. Вот и пришлось придумывать void. Первым языком высокого уровня был Fortran. Basic - внук Фортрана, а Си - непонятно кто...
Сообщение от Croessmah
Запись от das1 размещена 24.04.2022 в 06:46
-
Вообще не имеет никакой разницы что и когда появились. Например, ЭЛТ-мониторы появились раньше ЖК мониторов, но что-то особой тяги народа к ним не видно. Прогресс неизменно идет вперед, появляются новые практики, подходы, инструменты. Всё это приводит к пересмотру сложившихся "традиций". Вот и тут - нафига лепить отдельно процедуры и функции? Ничего кроме геморроя в C это бы не принесло.
Планкалкюль
Сообщение от das1
Запись от Croessmah размещена 24.04.2022 в 09:17
-
Спасибо! Я этого не знал. Да и откуда? Если о Фортране говорили, что он первый и лучший...
Сообщение от Croessmah
Запись от das1 размещена 24.04.2022 в 10:44
-
Прогресс = ? Тут я вот обратил внимание, что в некоторых языках появилась такая вот форма записи функций. Например синус от икс записывают как math.sin(x). Это прогресс? Это скорее всего Регресс!!! Вот интересно, как вы к этому относитесь?
Сообщение от Croessmah
Запись от das1 размещена 24.04.2022 в 10:56
-
К
Сообщение от 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
-
Да, вы правы. Никогда не сталкивался. А такая функция, как sin(x), вошла в мою плоть и кровь. Никогда её не забуду! И всё-таки, мне кажется, что программист используюший sin как идентификатор переменной занимается не своим делом. Кто не знает математики - тот неполноценный программист.
Сообщение от Croessmah
Запись от das1 размещена 24.04.2022 в 12:57
-
Запись от CoderHuligan размещена 24.04.2022 в 13:09
-
Запись от CoderHuligan размещена 24.04.2022 в 13:11
-
Да. Ничего удивительного в этом нет. И это касается не только функции sin, а вообще любой именованной сущности.
Сообщение от CoderHuligan
Разные библиотеки могут реализовывать как разные функции, так и одинаковые.
И когда в одной не хватает, подрубаем еще дополнительную - а там есть функции с такими же названиями.
В нашем случае, одна пришла из сторонней библиотеки, другая из cmath (sin + std::sin, точнее, у нас была не sin, а hypot, но суть одна).
Результат - всё нормально, т.к. всё разложено по пространствам имен и никто никому не мешает.Запись от Croessmah размещена 24.04.2022 в 13:30
-
Да дело не в функциях с одинаковыми названиями, а в функциях, которые реализуют один и тот же функционал, пускай даже с разными именами. Не могу придумать примера где бы это понадобилось в ОДНОМ модуле. Хотя, может я мыслю в категориях Си, а в нем две библиотеки могут конфликтовать если имеют одинаковые имена. Но если это нужно, пусть будет. В ОБерон это реалзовано именно так. А java была слизана с Оберона (кстати!).Запись от CoderHuligan размещена 24.04.2022 в 15:01
-
Две библиотеки могут притащить одинаковый функционал под одним или разными именами.
Сообщение от CoderHuligan
Если они притаскивают это под разными именами - проблем нет.
Если же под одним, то начинаются проблемы.
Например, если вы берете библиотеку для работы с графикой, то там могут быть свои функции работы с векторами,
а еще вы притаскиваете математическую библиотеку и там тоже свои функции работы с векторами.
Каждая библиотека делает одну и ту же работу над объектами своих типов.
Вот и получили одинаковый функционал из двух библиотек.
И вот для решения это проблемы вводя всякие пространства имен. Уточняя имя, мы снижаем риск конфликтов.
Сообщение от CoderHuligan
В Си это решают добавляя префиксы или суффиксы ко всем именам.Запись от Croessmah размещена 24.04.2022 в 15:26
-
Мода на void пошла с нелёгкой руки изобретателей АЛГОЛ-68, если я не ошибаюсь.
Сообщение от das1
Запись от politoto размещена 26.04.2022 в 15:57






