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 ★★★★★
()
Ответ на: комментарий от Reset

На **понятный** синтаксис не тянет =)

wandrien ★★★★
()
Ответ на: комментарий от 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.