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

О языках программировани­­­­­­­­­я замолвите слово..

Запись от CoderHuligan размещена 12.02.2025 в 12:06
Показов 6157 Комментарии 54

Каждый последующий язык - хуже предыдущего. Это аксиома..
Есть языки, которые уже рождаются мертвыми.
Есть языки, которые рождаются в простоте, но умирают, под тяжестью возросшей сложности.
Есть языки, которые вечны. C - вечен. Forth - вечен.
----
Языки не могут иметь "версий". Если какой-то язык имеет версию, то это называется диалектом. На диалектах разговаривают сообщества отколовшиеся от основной ветви. Если язык теряет свою основную ветвь в процессе мутации, то он умирает.
Мутабельность языков - путь к их вымиранию. Если в процессе времени язык теряет свое былое лицо, то это уже другой язык, который заместил прежний. На прежнем по прежнему можно разговаривать, но тебе не с кем будет поговорить..

Определение функции на C:
C
1
2
3
int plus(int a, int b) {
    return a + b;
}
Определение функции на go:
Go
1
2
3
func plus(a int, b int) int {
    return a + b
}
Последнее определение имеет непрофессиональный синтаксис. Профи никогда не будут писать лишние вещи типа: "func", потому что скобки после имени являются идентификатором того, что это есть функция. Это типичный verbose синтаксис. Чувствуется, что люди пришли из паскаль-сообщества.
Лишние, избыточные вещи только загромождают листинг и отнимают время на их написание. Ясности коду это не добавляет. Лаконичный синтаксис позволяет больше кода разместить в одном экране, что гораздо лучше для его понимания.
Ключевое слово "int" перед именем, более естественно для человеческого языка, чем после имени, так как, прилагательное-описатель естественнее ставить перед существительным, а не после него. "Красное яблоко" звучит естественнее, чем "яблоко красное". Вот почему я говорю: каждый язык хуже предыдущего. Go - это лишь один из примеров.

Есть языки-выскочки, которые кричат: "возьмите меня, ну возьмите меня", ведь в него пытаются напихать всё, что только можно. На все случаи жизни. Такой швейцарский ножик. Но я хотел бы писать программы на языке, компилятор-инструмент которого, я смог бы написать сам. Я хочу писать на языке, на код которого смотришь с восхищением. Синтаксис которого логичен, непротиворечив и последователен.
Например, как возник язык Алгол? Его создавали не профессиональные программисты, а люди пришедшие из академической среды. Собрались в кучку, в комитет, и стали решать, что полезно, а что вредно. Где сейчас Алгол? Кто помнит?.
Комитеты губят языки потому, что они оторваны от реальной жизни. А язык, это свободное изъявление своих мыслей. И если мне,какие то незнакомые мне дядечки (а там, интересно, тетечки есть?))), указывают, каким образом я обязан выражать свои мысли, то это кажется странным..
Более того. Комитеты не учитывают, что на языках не только пишут, гораздо больше времени их читают. А вот это как правило не учитывается. Вообще: этот конкретный язык можно читать? Некоторые языки совершенно невозможно читать. Тогда зачем на них писать? Для кого? Для АI? Последний всё проглотит..
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 54
Комментарии
  1. Старый комментарий
    "Красное яблоко" звучит естественнее, чем "яблоко красное"
    "Функция plus, которая возвращает int" звучит естественнее, чем "int возвращает функция plus".
    Если какой-то язык имеет версию, то это называется диалектом.
    Есть языки, которые вечны. C - вечен
    У твоего вечного С есть версии. И у этих версией есть вещи, которые не совместимы с кодом предыдущих версий. Это развитие называется. Язык, которые не развивается, не исправляет ошибки, умирает.
    Запись от Naydericki размещена 12.02.2025 в 13:01 Naydericki вне форума
  2. Старый комментарий
    И если мне,какие то незнакомые мне дядечки (а там, интересно, тетечки есть?))), указывают, каким образом я обязан выражать свои мысли, то это кажется странным..
    Пиши на своем языке, тогда никто тебе будет не указ.
    Запись от Naydericki размещена 12.02.2025 в 13:02 Naydericki вне форума
  3. Старый комментарий
    Ничто не вечно, кроме самой вечности. ПО ОПРЕДЕЛЕНИЮ вечности.
    [QUOTE=Naydericki;bt36503]Пиши на своем языке, тогда никто тебе будет не указ.[/QUOTE]
    вот к этому, я например, и иду.
    Запись от Hrethgir размещена 12.02.2025 в 13:15 Hrethgir вне форума
  4. Старый комментарий
    Аватар для CoderHuligan
    У твоего вечного С есть версии.
    Однако они не ломают обратную совместимость. Есть канонические стандарты. Си не был стандартизирован долгое время. Каждый компилятор добавлял что-то свое - а-ля книжному стандарту KR. То есть язык развивался не стараниями какого-то комитета, а свободно, стараниями сообщества профессионалов. В том же gcc с это лишь расширения не ломающие ядро.
    Язык, которые не развивается, не исправляет ошибки, умирает.
    Что считать "развитием" языка? Что считать ошибками? Есть изначальная философия языка. Есть ядро. Это трогать не надо.
    Пиши на своем языке, тогда никто тебе будет не указ.
    Это трудная задача. Но мысля есть.. Просто пост был навеян знакомством с языком Go.
    Запись от CoderHuligan размещена 12.02.2025 в 13:23 CoderHuligan вне форума
  5. Старый комментарий
    Аватар для CoderHuligan
    "Функция plus, которая возвращает int" звучит естественнее, чем "int возвращает функция plus".
    Повторяю: это непрофессионально. Это для младенцев))
    Тип функции определяется её возвращаемым значением. Параметрами в меньшей степени. "Целочисленная" plus() гораздо лучше.
    Запись от CoderHuligan размещена 12.02.2025 в 13:30 CoderHuligan вне форума
  6. Старый комментарий
    Аватар для CoderHuligan
    И когда языком C взялись комитетчики было внесено много несуразностей. Например, раньше, до комитета, можно было писать:
    C
    1
    
    main()
    После того, как за дело взялся комитет:
    C
    1
    
    int main(void)
    Раньше была система умолчаний, что так ценится профи. Вот о чем я хотел донести. Когда делом начинают заниматься дилетанты пусть даже со степенями, то получается гниение.
    Запись от CoderHuligan размещена 12.02.2025 в 13:40 CoderHuligan вне форума
  7. Старый комментарий
    Аватар для CoderHuligan
    В таком синтаксисе:
    Go
    1
    2
    3
    
    func plus(a int, b int) int {
        return a + b
    }
    int зажат между () и {} и интуитивно не ясно что оно означает. Когда язык проектируют из под палки, по заказу, а не по совести, вот оно так и выходит..
    Про Питон я уж помолчу, хай дети резвятся.
    Запись от CoderHuligan размещена 12.02.2025 в 13:54 CoderHuligan вне форума
  8. Старый комментарий
    Цитата Сообщение от CoderHuligan
    что так ценится профи
    Вы проводили опросы? Собственно "а судьи кто?" Как вы это определили, что выглядит "профессионально" а что "нет"?
    Запись от voral размещена 12.02.2025 в 14:00 voral вне форума
  9. Старый комментарий
    Цитата Сообщение от CoderHuligan
    В таком синтаксисе:
    int зажат между () и {} и интуитивно не ясно что оно означает.
    И вновь тот же вопрос. Интуитивно не ясно кому? Я, когда увидел первый раз подобную запись, вообще "не споткнулся"
    Запись от voral размещена 12.02.2025 в 14:03 voral вне форума
  10. Старый комментарий
    по мне так все очень логично. Читаем слева направо:
    1 далее будет функция
    2 функция принимает такие то параметры
    3. функция возвращает значение такого то типа
    4. теперь, если надо, смотрим реализацию
    Запись от voral размещена 12.02.2025 в 14:05 voral вне форума
  11. Старый комментарий
    Аватар для CoderHuligan
    Причем здесь логично не логично? Процесс варки каши из топора, тоже можно назвать логичным.
    Запись от CoderHuligan размещена 12.02.2025 в 14:34 CoderHuligan вне форума
  12. Старый комментарий
    Однако они не ломают обратную совместимость.
    Как раз ломают. Ты читаешь, что я пишу?
    И у этих версией есть вещи, которые не совместимы с кодом предыдущих версий.
    Повторяю: это непрофессионально. Это для младенцев))
    Где почитать про то, что есть для младенцев, а что нет? Кто определяет?
    Тип функции определяется её возвращаемым значением.
    Он даже в твоем любимом Си им не определяется.
    Запись от Naydericki размещена 12.02.2025 в 19:33 Naydericki вне форума
  13. Старый комментарий
    Аватар для XLAT
    Цитата Сообщение от Hrethgir
    Пиши на своем языке, тогда никто тебе будет не указ.
    вот к этому, я например, и иду.
    тяжелейшая дичь.

    язык на то он и язык, чтобы его все понимали...

    даже если там оно это так, такое, раз такое оно интимное, то откуда взялся тогда смысл об этом рот открывать...
    ах, да, смысл есть - потеребить своё я-либидо)
    Запись от XLAT размещена 13.02.2025 в 05:35 XLAT вне форума
  14. Старый комментарий
    [QUOTE=XLAT;bt36525]тяжелейшая дичь.

    язык на то он и язык, чтобы его все понимали...

    даже если там оно это так, такое, раз такое оно интимное, то откуда взялся тогда смысл об этом рот открывать...
    ах, да, смысл есть - потеребить своё я-либидо)[/QUOTE]
    НУ РАЗВЕ ЧТО ТОЛЬКО ПОБОЛТАТЬ ЕСЛИ, то да. А вот если подумать - то уже не только. Хотя, в целом, если не выходить за рамки одноклеточного мышления - то согласен. Только мне они кажутся тесноватыми, чтобы в них было комфортно прийдётся употреблять всякое, или теребить чего вам известно, не подходит.

    Начать хотя-бы с того, что такое язык. Язык определяется философскими критериями. То-есть если ты как мыслящее ни на ... ни способен, то конечно и критериев тебе новых и понятий - не прийдёт, и стало быть и язык тебе вовсе свой не нужен. А есть ещё в программировании дуализм, это именно не своё где только либидо, а когда функции замыкаются в рекурсии но не по одной, а парно, где парность пожет оборваться в любой момент. Но тебе этого не надо. Поглаживай пузико и думай что самый умный дальше. Только вот дело в том, что согласно указанному мной явлению, в любой момент ты можешь остаться только с пузиком, а думать - пропадёт.
    Запись от Hrethgir размещена 13.02.2025 в 07:47 Hrethgir вне форума
  15. Старый комментарий
    Аватар для voraa
    Последнее определение имеет непрофессиональный синтаксис. Профи никогда не будут писать лишние вещи типа: "func", потому что скобки после имени являются идентификатором того, что это есть функция. Это типичный verbose синтаксис. Чувствуется, что люди пришли из паскаль-сообщества.
    Вы не знаете Go.
    В Go есть анонимные функции. Просто скобки без имени может быть усложнят парсер, а то и вовсе будут неоднозначны.
    В Go функция может возвращать несколько значений. И список типов перед именем функции также усложнит синтаксис по сравнению со списком типов между ) и {
    Запись от voraa размещена 13.02.2025 в 08:02 voraa на форуме
  16. Старый комментарий
    Язык - это баланс мыслимого с возможностью изложения.
    Запись от Hrethgir размещена 13.02.2025 в 08:06 Hrethgir вне форума
  17. Старый комментарий
    Аватар для voraa
    Более того. Комитеты не учитывают, что на языках не только пишут, гораздо больше времени их читают.
    Раньше была система умолчаний, что так ценится профи.
    Вот это плохо сочетается.

    C
    1
    
    main()
    Ну не должно определение функции выглядеть как вызов.

    Лишние, избыточные вещи только загромождают листинг и отнимают время на их написание. Ясности коду это не добавляет.
    Странно, что вас не раздражают ";" везде где можно в C. Другие языки как то без них обходятся в большинстве случаев
    Запись от voraa размещена 13.02.2025 в 10:35 voraa на форуме
  18. Старый комментарий
    Аватар для Quiet Snow
    Последнее определение имеет непрофессиональный синтаксис.
    Кодер ты никак не поймёшь, профессиональным может быть только КОД, натягивать это качество
    на любые другие вещи - это само по себе профанация. Синтаксис может быть лишь удобным или не очень.
    Функция на приведённом тобой GO(на котором не пишу) лично для меня выглядит значительно приятнее,
    потому что тип идёт после того к чему он относится, т.е. сначала определяется сущность, а потом уже
    её тип, это на мой взгляд логично, можно и наоборот, через жопу, как в си))) почему бы и нет, кому как
    нравится, это вопрос выбора, религия так сказать. Я вот так привык и мне так удобнее, в этом нет
    ничего плохого, оно на сам процесс кодинга никак не влияет, потому что у нормальных людей
    весь кодинг проходит за письменным столом и после перебивки из записей\схем, программа, если конечно
    человек её формализовал - работает из коробки СРАЗУ, в противном случае мы видим что-то типа
    Davinci Resolve, который падает, крешит проекты людей, херит многочасовую работу(трудно сказать сколько
    десятков тысяч часов уже похерено, а это время, деньги, нервы, электроэнергия) и всё в таком духе,
    я про это говно тысячи раз писал на форуме, о подходе к кодингу, к документации. Отдельно к использованию
    отладчика, там где надо вместо него просто усадить свою жопу за стол и просто подумать, посильнее
    пораскинув мозгами, в каком месте кода произошёл обсёр и почему он произошёл. Это та работа,
    которую как раз профи не должен игнорировать, не потому что я так сказал, а потому что чисто эмпирически,
    на большой выборке и большом опыте(в т.ч. опыте коллег) выявлено, что будет закономерный обсёр.

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

    потому что скобки после имени являются идентификатором того, что это есть функция.
    Нихрена подобного. В ряде языков скобки ещё и обращение к массиву данных определяют.
    Но ты, разумеется, скажешь что это непрофессиональный синтаксис и как у Крылова - "была плутовка такова".
    Попытка пролобировать, а не сделать анализ(например, на основе какого-нибудь проекта, написанного
    профями на разных ЯП) - имеет смысл лишь для тебя.
    Запись от Quiet Snow размещена 13.02.2025 в 12:43 Quiet Snow вне форума
  19. Старый комментарий
    Аватар для CoderHuligan
    Ну не должно определение функции выглядеть как вызов.
    Компилятор итак может отличить определение от вызова.
    Странно, что вас не раздражают ";"
    Меня наоборот раздражают паскалевские ";", которые обозначают не завершение предписания, а отделение предписаний друг от друга, что ошибочно и приводит к запутыванию. Наоборот, меня устраивают сишные ";". Они позволяют писать функции и строковые литералы на нескольких строках без всяких дополнительных обозначений конца строк, типа косой черты или что-то вроде того.
    В Go есть анонимные функции.
    В плюсах тоже, и в javascript тоже и много где еще.
    Просто скобки без имени может быть усложнят парсер, а то и вовсе будут неоднозначны.
    Как-то до сих пор справлялись. LALR парсеры - великая сила. Однозначность определяется контекстом использования.
    Запись от CoderHuligan размещена 13.02.2025 в 12:53 CoderHuligan вне форума
  20. Старый комментарий
    Аватар для CoderHuligan
    В ряде языков скобки ещё и обращение к массиву данных определяют.
    Но не в с-подобных. Вот почему для обращения и определения массивов выбраны квадратные скобки. Тут нет неоднозначности.
    Последовательность синтаксиса также можно увидеть в конструкции приведения:
    C
    1
    
    val = (type)(expression);
    так как имя типа в определении у нас идет всегда первым. Раньше я это не осознавал. Пара скобок кратче, чем явное приведение через
    QBasic/QuickBASIC
    1
    
    cast()
    Синтаксис может быть лишь удобным или не очень.
    Функция на приведённом тобой GO(на котором не пишу) лично для меня выглядит значительно приятнее,
    Синтаксис это эстетика языка. Приятней работать когда твой инструмент красив и опрятен. А вкусы могут быть и извращенными если с детства были привиты не правильные привычки. Меня раздражают скобки в Lisp. а кого-то вдохновляют. Однако я считаю это извращением. Меня раздражают паскалевские begin/end, а кого-то нет. У каждого своя истина? Не думаю. Кто-то всё равно является правее, ибо истина всегда одна.
    Запись от CoderHuligan размещена 13.02.2025 в 13:12 CoderHuligan вне форума
 
Новые блоги и статьи
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru