LINUX.ORG.RU
ФорумTalks

Язык программирования с самым приятным и понятным синтаксисом

 , ,


0

2

Привет, друзья!

У меня Python основной язык для работы и развлечения. К его синтаксису давно привык, мне он нравится. Но не считаю его идеальным. Сразу не приведу примеры, но время от времени какие-то конструкции вызывают раздражение.

Здесь на форуме нередко ругаются на синтаксис C. Я также когда-то изучил его основы, так, чтобы достаточно было читать исходники, если придётся. Иногда приходится разбирать, как работает плохо документированный опенсорсный софт. Но и о C я не могу сказать, что он прям вырвиглазный. Привыкнуть можно.

На днях пришлось разобраться с синтаксисом Objective-C, чтобы кое-что поправить в используемой программе. Вот это настоящее Г..о, придуманное из ненависти к человечеству! До сих пор тошнит.

Изучаю Rust, но у него синтаксис довольно запутанный местами. Он точно никогда не будет в лидерах рейтинга. JS просто жертва необходимости расширяться, при этом поддерживая работу старого кода.

А какой язык Вы считаете в части синтаксиса самым приятным, продуманным, логичным, лёгким для чтения и восприятия?

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

★★
Ответ на: комментарий от einhander

В голосину xD

Я обычно про питонистов так думаю.

wandrien ★★
()

Лучший синтаксис – это его отсутствие. Точнее языки позволяющие писать DSL. Т.ч. поставлю свечку за Forth.

beastie ★★★★★
()

Я как изучил D, использую его для всех личных проектов. На Rust перейти не смог.

unDEFER ★★★★★
()
Ответ на: комментарий от einhander

Может у меня моск неправильный, но ничего проще тикля я не встречал. Усвоив несколько базовых правил читаешь любой код как стихи. Другие скриптовые языки намного сложнее и запутаннее (про сишки-плюсишки я уж молчу). Но когда сам пишешь, то с тиклем получается слишком многабукф, это утомляет.

bread
()

какой язык Вы считаете в части синтаксиса самым приятным, продуманным, логичным, лёгким для чтения и восприятия?

язык умеющего выражать свои мысли

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

olelookoe ★★★
()
Ответ на: комментарий от bread

Плюсую Ruby. Не понимаю, почему Crystal не становится более популярным. Компилируемый Ruby по сути.

Swift тоже хорош.

C
()
Ответ на: комментарий от Bfgeshka

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

ugoday ★★★★★
()
Ответ на: комментарий от C

Не понимаю, почему Crystal не становится более популярным.

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

bread
()
Ответ на: комментарий от C

Плюсую Ruby. Не понимаю, почему Crystal не становится более популярным. Компилируемый Ruby по сути.

Тут сам Ruby-то не взлетел, не то что Crystal.

Вместо это взлетел python, на котором работа с кодом похожа на поездку в такси на разваливающийся Гранте.

wandrien ★★
()
Ответ на: комментарий от bread

Усвоив несколько базовых правил читаешь любой код как стихи.

Возможно это я такой, но читать стихи не люблю)

Хотя tcl мне нравится за переносимость, но читать его особенно вместе с tk не люблю.

einhander ★★★★★
()
Ответ на: комментарий от wandrien

Тут сам Ruby-то не взлетел

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

bread
()
Ответ на: комментарий от einhander

Мне в tcl/tk не нравится отсутствие цельности предоставленных инструментов, что ли. «Натолкаем всего побольше как придётся».

А так идея интересная. Будь батарейки более удачно спроектированы, может быть взлетел бы в своё время. Сейчас уже время упущено.

wandrien ★★
()
Ответ на: комментарий от wandrien

С таким синтаксисом вряд ли. Люди отравлены сишкой.

bread
()
Ответ на: комментарий от einhander

Тогда не было особо вариантов с кроссплатформенным гуём. Ну и кодеры другие были, на всяких лиспах взращенные. Хотя я вот лисп не осилил, но тикль люблю.

bread
()
Ответ на: комментарий от wandrien

Вместо это взлетел python, на котором работа с кодом похожа на поездку в такси на разваливающийся Гранте

Очень точное сравнение. Даже аннотации типов не особо спасают ситуацию, зато ухудшают читабельность.

Еще в Python много ad-hoc фич, которые ну не очень вписались в оригинальную концепцию. Но зато есть огромная база кода, которая еще лет 50 минимум будет использоваться, если сингулярность не наступит.

C
()

Ruby и его синтаксические потомки: Crystal и Elixir.

OSBuster
()
Ответ на: комментарий от C

Плюсую Ruby. Не понимаю, почему Crystal не становится более популярным. Компилируемый Ruby по сути.

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

В итоге, последнее оказалось важнее.

OSBuster
()
Последнее исправление: OSBuster (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

Нет, Visual Basic

я лично считаю, что Visual Basic сделал для программирования больше, чем объектно-ориентированные языки
-- Линус Товальдс

MOPKOBKA ★★★★★
()
Ответ на: комментарий от wandrien

В Forth на уровне языка

: add10 10 + ;
5 add10 add10 5 +
= 30

MOPKOBKA ★★★★★
()

На днях пришлось разобраться с синтаксисом Objective-C, чтобы кое-что поправить в используемой программе. Вот это настоящее Г..о, придуманное из ненависти к человечеству! До сих пор тошнит.

На вкус и цвет, я с objective-с кайфовал максимально

slyjoeh ★★★
()
Ответ на: комментарий от LINUX-ORG-RU

красивый и лаконичный и гибкий синтаксис

kek

thunar ★★★★★
()

Самым простым считается сферический васик.

anc ★★★★★
()
Ответ на: комментарий от OSBuster

Потому что статическая типизация, пусть даже и с хорошим автоматическим выводом типов, резко усложнила метапрограммирование и сузило возможности

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

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от Nervous

Примерно да, TS на первый взгляд калька с C# (т.к. создатели те же). Но точно не проще, потому что бывает вот такое

inb4 «не бывает на практике» - бывает. Один из двух популярных роутеров для реакта - tanstack router - примерно так и сделан, на абьюзе системы типов и компилятора/автодополнятора. От сигнатур в редакторе отклеиваются обои, а сам код библиотеки не сразу и поймешь на каком языке, даже зная заранее.

Жаба сильно проще даже C#, т.к. меньше нюансов и синтаксического сахара.

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от bread

Мне кажется, на данном этапе эволюции пока что попытки динамически типизированный язык превратить в статически типизированный рождают монстров. В первую очередь я имею в виду TS.

wandrien ★★
()
Ответ на: комментарий от Midael

бывает вот такое

Он читор, у него там свой интерпретатор синтаксиса объявлений типов Typescript — теоретически можно такой же запилить и для типов жабы с шарпом.

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

Но можно не значит нужно, не так ли?

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Ответ на: комментарий от AKonia

Да просто Паскаль мой «первый» язык, школьная пора и т.д., поэтому априори для меня его синтаксис очень приятен, ТС собственно интересовался как я его понял личным мнением нашим субьективным. А так понимаю о чем вы и правда ваша.

Seifulla
()
Ответ на: комментарий от AKonia

мне он на удивление зашел как раз из-за своей мелкости и недопиленности, которая из-за чистого си позволяет его собрать статически на практически всем где есть Си чуть старше 70-го года, кинуть его бинарь в папку и использовать хоть как cgi, купаясь в сахаре! автор судя по всему его подзабросил, так что я даже думаю его форкнуть ибо народ шлет пуллреквесты

nerfur ★★★
()
Ответ на: комментарий от wandrien

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

bread
()

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

imul ★★★★★
()

Лично мой топ такой: C#, JS, Python.

В синтаксисе для меня главное, чтобы не было перебора с сахаром. Потому что вместо того, чтобы разбираться в логике и батарейках приходится разбираться с языком (пример - Wolfram Mathematica).

Но первое по приоритету - понятная и стабильная платформа. .Net в этом плане очень комфортен, тк если у тебя есть проект с зависимостями только из NuGet, то он соберется с вероятностью близкой к 100% без траты часов и дней на разборки с зависимостями.

JS - пример того, как должен выглядеть динамический ЯП. У него есть родовые травмы типа == и ===, но сейчас это мелочи. Геморройнее с ограниченностью предметной области и дурацкими пакетами в npm которые плодят на каждых чих и тянут тоннами зависимостей.

Python нравится простотой и лаконичностью, но от работы с пакетами и версиями я не в восторге (постоянно натыкаешься на то, что приходится разбираться с версионированием под систему и тп фигней).

ИМХО, как не должны выглядеть языки:

Haskell, Wolfram Mathematica - много сахара, сложные макросы, кодовая база в разных проектах может выглядеть как разные языки.

Rust - куча намешанных концепций, сахар где придется, пакетная система смахивающая на npm (давайте тянуть зависимости прямо с гитхаба - гениальная идея, чтобы через полгода простоя по проекту он просто не смог собраться при чистовом развертывании).

Norgat ★★★★★
()
Ответ на: комментарий от snizovtsev

Ой, вот сколько раз ко мне в проекты его завозили, но реальной пользы от этого было ноль. Результат всегда был одинаков - потрачено время на написание системы типов (что фронтендеры умеют плохо, тк базы, зачастую, не хватает), кода стало раза в два больше, а багло как было в проекте, так и осталось. Ну и теперь компилируется это еще дольше.

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

Norgat ★★★★★
()

На фоне си-подобных и паскале-подобных языков резко выделяется Python, очень люблю его за эргономичный синтаксис. У него беда с проверкой типов, что затрудняет написание больших программ, но это уже не к синтаксису относится..

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Нет, Visual Basic

Я имел в виду Visual Basic.NET, - это мой самый любимый ЯП.

я лично считаю, что Visual Basic сделал для программирования больше, чем объектно-ориентированные языки – Линус Товальдс

Visual Basic.NET поддерживает ООП уже более 20-и лет (с самого рождения). Но соглашусь, что даже legacy VBA и VB5/6 были просто бесподобны для своего времени, по уровню лёгкости использования и по почти полной БЕЗглючности в 90-ые годы, в то время как Delphi мог крашнуться из-за малейшего неверного движения.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 3)
Ответ на: комментарий от LINUX-ORG-RU

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

Вот бы больше языков его использовали… Особенно bash надоел со своими fi или done.

egzakharovich
()
Последнее исправление: egzakharovich (всего исправлений: 1)

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

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

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

Что касается С, то он не должен быть удобен, красив или любим. Это молоток, который мастхев в доме, которым надо уметь пользоваться хотя бы на базовом уровне любому человеку. И не только для того чтобы знать сам С, а чтобы расширить склад ума. Хотя лично мне в нем очень многого не хватает: и операторов, и инклудов в рантайме, и конечно же человеческой работы со строками.

А вообще каждый язык по-своему хорош и красив.

windows10 ★★★★★
()

У меня Python основной язык для работы и развлечения

Душишь питона ради развлечения и работы?

BceM_IIpuBeT ★★☆☆☆
()
  • zig
  • hare
  • nim
  • crystal
  • haxe

Они интересные, синтаксис неплохой. Но всё же самое лучшее:

  • Lua
InterVi ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)