О языках программирования замолвите слово..
Запись от CoderHuligan размещена 12.02.2025 в 12:06
Показов 6157
Комментарии 54
|
Каждый последующий язык - хуже предыдущего. Это аксиома.. Есть языки, которые уже рождаются мертвыми. Есть языки, которые рождаются в простоте, но умирают, под тяжестью возросшей сложности. Есть языки, которые вечны. C - вечен. Forth - вечен. ---- Языки не могут иметь "версий". Если какой-то язык имеет версию, то это называется диалектом. На диалектах разговаривают сообщества отколовшиеся от основной ветви. Если язык теряет свою основную ветвь в процессе мутации, то он умирает. Мутабельность языков - путь к их вымиранию. Если в процессе времени язык теряет свое былое лицо, то это уже другой язык, который заместил прежний. На прежнем по прежнему можно разговаривать, но тебе не с кем будет поговорить.. Определение функции на C:
Лишние, избыточные вещи только загромождают листинг и отнимают время на их написание. Ясности коду это не добавляет. Лаконичный синтаксис позволяет больше кода разместить в одном экране, что гораздо лучше для его понимания. Ключевое слово "int" перед именем, более естественно для человеческого языка, чем после имени, так как, прилагательное-описатель естественнее ставить перед существительным, а не после него. "Красное яблоко" звучит естественнее, чем "яблоко красное". Вот почему я говорю: каждый язык хуже предыдущего. Go - это лишь один из примеров. Есть языки-выскочки, которые кричат: "возьмите меня, ну возьмите меня", ведь в него пытаются напихать всё, что только можно. На все случаи жизни. Такой швейцарский ножик. Но я хотел бы писать программы на языке, компилятор-инструмент которого, я смог бы написать сам. Я хочу писать на языке, на код которого смотришь с восхищением. Синтаксис которого логичен, непротиворечив и последователен. Например, как возник язык Алгол? Его создавали не профессиональные программисты, а люди пришедшие из академической среды. Собрались в кучку, в комитет, и стали решать, что полезно, а что вредно. Где сейчас Алгол? Кто помнит?. Комитеты губят языки потому, что они оторваны от реальной жизни. А язык, это свободное изъявление своих мыслей. И если мне,какие то незнакомые мне дядечки (а там, интересно, тетечки есть?))), указывают, каким образом я обязан выражать свои мысли, то это кажется странным.. Более того. Комитеты не учитывают, что на языках не только пишут, гораздо больше времени их читают. А вот это как правило не учитывается. Вообще: этот конкретный язык можно читать? Некоторые языки совершенно невозможно читать. Тогда зачем на них писать? Для кого? Для АI? Последний всё проглотит.. | ||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 54
Комментарии
-
"Функция plus, которая возвращает int" звучит естественнее, чем "int возвращает функция plus".
У твоего вечного С есть версии. И у этих версией есть вещи, которые не совместимы с кодом предыдущих версий. Это развитие называется. Язык, которые не развивается, не исправляет ошибки, умирает.Запись от Naydericki размещена 12.02.2025 в 13:01
-
Пиши на своем языке, тогда никто тебе будет не указ.Запись от Naydericki размещена 12.02.2025 в 13:02
-
Ничто не вечно, кроме самой вечности. ПО ОПРЕДЕЛЕНИЮ вечности.
[QUOTE=Naydericki;bt36503]Пиши на своем языке, тогда никто тебе будет не указ.[/QUOTE]
вот к этому, я например, и иду.Запись от Hrethgir размещена 12.02.2025 в 13:15
-
Однако они не ломают обратную совместимость. Есть канонические стандарты. Си не был стандартизирован долгое время. Каждый компилятор добавлял что-то свое - а-ля книжному стандарту KR. То есть язык развивался не стараниями какого-то комитета, а свободно, стараниями сообщества профессионалов. В том же gcc с это лишь расширения не ломающие ядро.
Что считать "развитием" языка? Что считать ошибками? Есть изначальная философия языка. Есть ядро. Это трогать не надо.
Это трудная задача. Но мысля есть.. Просто пост был навеян знакомством с языком Go.Запись от CoderHuligan размещена 12.02.2025 в 13:23
-
Запись от CoderHuligan размещена 12.02.2025 в 13:30
-
И когда языком C взялись комитетчики было внесено много несуразностей. Например, раньше, до комитета, можно было писать:
После того, как за дело взялся комитет:C 1
main()
Раньше была система умолчаний, что так ценится профи. Вот о чем я хотел донести. Когда делом начинают заниматься дилетанты пусть даже со степенями, то получается гниение.C 1
int main(void)
Запись от CoderHuligan размещена 12.02.2025 в 13:40
-
Запись от CoderHuligan размещена 12.02.2025 в 13:54
-
Вы проводили опросы? Собственно "а судьи кто?" Как вы это определили, что выглядит "профессионально" а что "нет"?
Сообщение от CoderHuligan
Запись от voral размещена 12.02.2025 в 14:00
-
И вновь тот же вопрос. Интуитивно не ясно кому? Я, когда увидел первый раз подобную запись, вообще "не споткнулся"
Сообщение от CoderHuligan
Запись от voral размещена 12.02.2025 в 14:03
-
по мне так все очень логично. Читаем слева направо:
1 далее будет функция
2 функция принимает такие то параметры
3. функция возвращает значение такого то типа
4. теперь, если надо, смотрим реализациюЗапись от voral размещена 12.02.2025 в 14:05
-
Запись от CoderHuligan размещена 12.02.2025 в 14:34
-
Как раз ломают. Ты читаешь, что я пишу?
Где почитать про то, что есть для младенцев, а что нет? Кто определяет?
Он даже в твоем любимом Си им не определяется.Запись от Naydericki размещена 12.02.2025 в 19:33
-
Запись от XLAT размещена 13.02.2025 в 05:35
-
[QUOTE=XLAT;bt36525]тяжелейшая дичь.
язык на то он и язык, чтобы его все понимали...
даже если там оно это так, такое, раз такое оно интимное, то откуда взялся тогда смысл об этом рот открывать...
ах, да, смысл есть - потеребить своё я-либидо)[/QUOTE]
НУ РАЗВЕ ЧТО ТОЛЬКО ПОБОЛТАТЬ ЕСЛИ, то да. А вот если подумать - то уже не только. Хотя, в целом, если не выходить за рамки одноклеточного мышления - то согласен. Только мне они кажутся тесноватыми, чтобы в них было комфортно прийдётся употреблять всякое, или теребить чего вам известно, не подходит.
Начать хотя-бы с того, что такое язык. Язык определяется философскими критериями. То-есть если ты как мыслящее ни на ... ни способен, то конечно и критериев тебе новых и понятий - не прийдёт, и стало быть и язык тебе вовсе свой не нужен. А есть ещё в программировании дуализм, это именно не своё где только либидо, а когда функции замыкаются в рекурсии но не по одной, а парно, где парность пожет оборваться в любой момент. Но тебе этого не надо. Поглаживай пузико и думай что самый умный дальше. Только вот дело в том, что согласно указанному мной явлению, в любой момент ты можешь остаться только с пузиком, а думать - пропадёт.Запись от Hrethgir размещена 13.02.2025 в 07:47
-
Запись от voraa размещена 13.02.2025 в 08:02
-
Язык - это баланс мыслимого с возможностью изложения.Запись от Hrethgir размещена 13.02.2025 в 08:06
-
Запись от voraa размещена 13.02.2025 в 10:35
-
Кодер ты никак не поймёшь, профессиональным может быть только КОД, натягивать это качество
на любые другие вещи - это само по себе профанация. Синтаксис может быть лишь удобным или не очень.
Функция на приведённом тобой GO(на котором не пишу) лично для меня выглядит значительно приятнее,
потому что тип идёт после того к чему он относится, т.е. сначала определяется сущность, а потом уже
её тип, это на мой взгляд логично, можно и наоборот, через жопу, как в си))) почему бы и нет, кому как
нравится, это вопрос выбора, религия так сказать. Я вот так привык и мне так удобнее, в этом нет
ничего плохого, оно на сам процесс кодинга никак не влияет, потому что у нормальных людей
весь кодинг проходит за письменным столом и после перебивки из записей\схем, программа, если конечно
человек её формализовал - работает из коробки СРАЗУ, в противном случае мы видим что-то типа
Davinci Resolve, который падает, крешит проекты людей, херит многочасовую работу(трудно сказать сколько
десятков тысяч часов уже похерено, а это время, деньги, нервы, электроэнергия) и всё в таком духе,
я про это говно тысячи раз писал на форуме, о подходе к кодингу, к документации. Отдельно к использованию
отладчика, там где надо вместо него просто усадить свою жопу за стол и просто подумать, посильнее
пораскинув мозгами, в каком месте кода произошёл обсёр и почему он произошёл. Это та работа,
которую как раз профи не должен игнорировать, не потому что я так сказал, а потому что чисто эмпирически,
на большой выборке и большом опыте(в т.ч. опыте коллег) выявлено, что будет закономерный обсёр.
И да ключевое слово func быстро выцепляется глазом - это напрямую влияет на скорость разбора кода,
т.к. когда ты лопатишь исходник и тебе нужно найти конкретную функцию - это очень сильно влияет.
Косметические вещи они не важны, но они могут быть полезны. И точно так же наоборот, раздутый синтаксис
и избыточное кол-во нюансов, которые надо учесть в нём - замедляет сам процесс программирования.
Разница в скорости кодирования может быть огромна даже между диалектами.
Нихрена подобного. В ряде языков скобки ещё и обращение к массиву данных определяют.
Но ты, разумеется, скажешь что это непрофессиональный синтаксис и как у Крылова - "была плутовка такова".
Попытка пролобировать, а не сделать анализ(например, на основе какого-нибудь проекта, написанного
профями на разных ЯП) - имеет смысл лишь для тебя.Запись от Quiet Snow размещена 13.02.2025 в 12:43
-
Компилятор итак может отличить определение от вызова.
Меня наоборот раздражают паскалевские ";", которые обозначают не завершение предписания, а отделение предписаний друг от друга, что ошибочно и приводит к запутыванию. Наоборот, меня устраивают сишные ";". Они позволяют писать функции и строковые литералы на нескольких строках без всяких дополнительных обозначений конца строк, типа косой черты или что-то вроде того.
В плюсах тоже, и в javascript тоже и много где еще.
Как-то до сих пор справлялись. LALR парсеры - великая сила. Однозначность определяется контекстом использования.Запись от CoderHuligan размещена 13.02.2025 в 12:53
-
Но не в с-подобных. Вот почему для обращения и определения массивов выбраны квадратные скобки. Тут нет неоднозначности.
Последовательность синтаксиса также можно увидеть в конструкции приведения:
так как имя типа в определении у нас идет всегда первым. Раньше я это не осознавал. Пара скобок кратче, чем явное приведение черезC 1
val = (type)(expression);
QBasic/QuickBASIC 1
cast()
Синтаксис это эстетика языка. Приятней работать когда твой инструмент красив и опрятен. А вкусы могут быть и извращенными если с детства были привиты не правильные привычки. Меня раздражают скобки в Lisp. а кого-то вдохновляют. Однако я считаю это извращением. Меня раздражают паскалевские begin/end, а кого-то нет. У каждого своя истина? Не думаю. Кто-то всё равно является правее, ибо истина всегда одна.Запись от CoderHuligan размещена 13.02.2025 в 13:12


