А что вам нравится в языках программирования (???)
От: b0r3d0m  
Дата: 18.09.16 11:56
Оценка:
Нередко слышу вокруг себя субъективные (и не очень) мнения о том, что такой-то язык г#вно и писать на нём в современном мире -- моветон.

Разумеется, в таком тоне говорится абсолютно обо всём -- PHP, JS, 1С etc. Как известно, языки делятся на два типа -- те, которые ненавидят, и те, на которых никто не пишет.

А что для вас определяет "вкус" языка? Наличие синтаксического сахарка в виде лямбд и прочей функциональщины? Огромная стандартная библиотека? Коммьюнити?

Короче, дискасс.
Re: Статическая типизация
От: Mihas  
Дата: 18.09.16 12:03
Оценка: 2 (2) +15
Сабж
Re: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 12:24
Оценка: +4 :)
Здравствуйте, b0r3d0m, Вы писали:

B>Короче, дискасс.


Лаконичность, но не у ущерб читаемости. Наличие кучи ключевых слов, и необходимость в различных приседаниях, как в паскале — это минус. Лаконичность, как у C-образных языков — плюс.
Статическая типизация — плючище
Хорошая стандартная библиотека — плюс.
Лямбды и прочий сахарок — плюсик.
Навязывание одного определенного стиля форматирования — минусище
Re[2]: Статическая типизация
От: b0r3d0m  
Дата: 18.09.16 12:28
Оценка:
M>Сабж
TypeScript же.
Re[2]: А что вам нравится в языках программирования (???)
От: b0r3d0m  
Дата: 18.09.16 12:29
Оценка:
У>Навязывание одного определенного стиля форматирования — минусище
???
Re[3]: Статическая типизация
От: Mihas  
Дата: 18.09.16 12:34
Оценка:
Здравствуйте, b0r3d0m, Вы писали:

M>>Сабж

B>TypeScript же.
Еще не вникал. Но придется, похоже. Больно часто стал упоминаться.
Re[3]: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 12:39
Оценка: +1
Здравствуйте, b0r3d0m, Вы писали:

У>>Навязывание одного определенного стиля форматирования — минусище

B>???

Python
Re: А что вам нравится в языках программирования (???)
От: vsb Казахстан  
Дата: 18.09.16 12:51
Оценка: 3 (1) +3
1. Статическая типизация. Но тут нужен баланс, хаскель лесом.

2. Простота. Язык должен познаваться на 99% за пару часов. Чем меньше WTF-ов, тем лучше.

3. Выразительность. Язык должен предоставлять возможность абстрагировать повторяющийся код. И чем лучше он это делает, тем лучше он.

4. Понятность. В языке должно быть как можно меньше магии. Посмотрев на код должно быть понятно, что он делает на 100%.

5. Скорость. К языку непосредственно, конечно, не относится, но обычно каждый язык ассоциируется с конкретным компилятором, в общем результат должен выполняться не медленнее, чем код на C. В крайнем случае не на порядок медленней. То же про занимаемую память.
Re[4]: А что вам нравится в языках программирования (???)
От: b0r3d0m  
Дата: 18.09.16 13:21
Оценка: +2
У>Python
Я не об этом. Что плохого в навязывании стиля? Уж лучше пусть все в одном стиле пишут, чем как попало.
Re[5]: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 13:30
Оценка: +2 :))
Здравствуйте, b0r3d0m, Вы писали:

У>>Python

B>Я не об этом. Что плохого в навязывании стиля? Уж лучше пусть все в одном стиле пишут, чем как попало.

Мне не нравится, что это вызывает ошибку компиляции, как минимум. Или в рантайме что-нибудь вылетит, из-за того, что где-то не так пробел стоит.
Re[6]: А что вам нравится в языках программирования (???)
От: b0r3d0m  
Дата: 18.09.16 14:22
Оценка: +2
У>Мне не нравится, что это вызывает ошибку компиляции, как минимум
Это же наоборот круто! Единый стиль для всех программ, написанных на этом языке!

У>Или в рантайме что-нибудь вылетит, из-за того, что где-то не так пробел стоит.

Прогонять каким-нибудь PEP verifier'ом или lint'ом перед запуском.
Re[7]: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 14:54
Оценка:
Здравствуйте, b0r3d0m, Вы писали:

У>>Мне не нравится, что это вызывает ошибку компиляции, как минимум

B>Это же наоборот круто! Единый стиль для всех программ, написанных на этом языке!

И мне этот стиль не удобен


У>>Или в рантайме что-нибудь вылетит, из-за того, что где-то не так пробел стоит.

B>Прогонять каким-нибудь PEP verifier'ом или lint'ом перед запуском.

Ну, pep'ом, да. А смысл тогда в динамике, если всё равно нужно какие-то прогоны типа компиляции делать? Тогда бы уж и типизацию бы статическую прикрутили бы, всяко больше пользы, как сейчас.
Re: А что вам нравится в языках программирования (???)
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 18.09.16 15:02
Оценка: +1
Здравствуйте, b0r3d0m, Вы писали:

B>А что для вас определяет "вкус" языка?


Возможность лаконично выражать на этом языке свои мысли, по минимуму отвлекаясь при этом на решение проблем, обусловленных спецификой языка.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: А что вам нравится в языках программирования (???)
От: T4r4sB Россия  
Дата: 18.09.16 15:13
Оценка: +1
Здравствуйте, утпутуук, Вы писали:

У>Наличие кучи ключевых слов, и необходимость в различных приседаниях, как в паскале — это минус.


По ключевым словам и приседаниям Паскаль не отличается от сишки, по-моему. Разве что напортачить сложнее. Вот Ада уже поинтереснее. Даже указатель на переменную так просто не взять. Но это плюс скорее.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[3]: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 15:24
Оценка:
Здравствуйте, T4r4sB, Вы писали:

У>>Наличие кучи ключевых слов, и необходимость в различных приседаниях, как в паскале — это минус.


TB>По ключевым словам и приседаниям Паскаль не отличается от сишки, по-моему. Разве что напортачить сложнее. Вот Ада уже поинтереснее. Даже указатель на переменную так просто не взять. Но это плюс скорее.


Begin/End? Еще и какие-то мутные правила, когда блоки вложенвы. Раздел описания констант/переменных/типов в каждой процедуре? Мелочь конечно, но напрягает при регулярном использовании. Как это мешает портачить —
Re[4]: А что вам нравится в языках программирования (???)
От: T4r4sB Россия  
Дата: 18.09.16 15:28
Оценка: :)
Здравствуйте, утпутуук, Вы писали:

У>Begin/End?


А какие с ними проблемы?

>Еще и какие-то мутные правила, когда блоки вложенвы.


???

> Раздел описания констант/переменных/типов в каждой процедуре?


Нефиг большие процедуры делать.

> Как это мешает портачить —


Это не особо мешает, а вот то, что массивы изначально с вшитым ассертом, или что := вместо = не напишешь в заголовке ифа, это уже помогает. У нормальных людей, конечно, включены предупреждения, и ещё у них за
T a[N]

вместо
std::array<T,N> a

принято вешать люлей, но нормальных людей мало.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: А что вам нравится в языках программирования (???)
От: утпутуук  
Дата: 18.09.16 15:37
Оценка:
Здравствуйте, T4r4sB, Вы писали:

У>>Begin/End?


TB>А какие с ними проблемы?


Писать дольше и захламляют код


>>Еще и какие-то мутные правила, когда блоки вложенвы.


Ну там где-то точку надо ставить, где-то не надо. Не помню, давно не откушивал


>> Раздел описания констант/переменных/типов в каждой процедуре?


TB>Нефиг большие процедуры делать.


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

TB>Это не особо мешает, а вот то, что массивы изначально с вшитым ассертом, или что := вместо = не напишешь в заголовке ифа, это уже помогает. У нормальных людей, конечно, включены предупреждения, и ещё у них за

TB>
TB>T a[N] 
TB>

TB>вместо
TB>
TB>std::array<T,N> a 
TB>

TB>принято вешать люлей, но нормальных людей мало.

Хм, кто-то еще использует сейчас массивы, а не вектора?
:= vs =/== — спасибо, что напомнил. Отдельный луч поноса за эту фишку. На знак = вместо == — натыкаюсь регулярно, да. Раз в пару лет. И компилятор не дает так сделать (не помню, ошибка или варнинг, скорее всеже второе), если уж приспичило что-то именно приравнять, приходится доп скобки ставить
Re[2]: А что вам нравится в языках программирования (???)
От: jazzer Россия Skype: enerjazzer
Дата: 18.09.16 15:58
Оценка: +1
Здравствуйте, vsb, Вы писали:

vsb>1. Статическая типизация. Но тут нужен баланс, хаскель лесом.

Э.... А что не так с типизацией в Хаскеле? По сравнению, скажем, с С++?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: А что вам нравится в языках программирования (???)
От: T4r4sB Россия  
Дата: 18.09.16 17:03
Оценка: -1
Здравствуйте, утпутуук, Вы писали:

У>Писать дольше и захламляют код




У>Ну там где-то точку надо ставить, где-то не надо. Не помню, давно не откушивал


Про точку с запятой после } я до сих пор запомнить не могу. А в Паскале точка нужна лишь после мейна.

У>Большие не большие, а объявлять переменные по мере нужды гораздо удобнее, и опять же лишние ключевые слова.


Одно слово var. Фишка с объявлением в начале действительно бесит, но лишь когда говнокод жёсткий лепишь.

У>Хм, кто-то еще использует сейчас массивы, а не вектора?


Вектор это лишняя индирекция. И он кучу дёргает, сейчас ты скажешь про специальные аллокаторы, да кто ими пользуется.

У>:= vs =/== — спасибо, что напомнил. Отдельный луч поноса за эту фишку.


А, ещё свич, в котором по умолчанию выполнение "протекает" в следующий блок, и надо ставить бряк, чтоб этого не было. Это просто пипец какой-то. Возможность делать перечисления и диапазоны в метках свича убивает 95% применения протекания, а на остальные 5% случаев (которые все говнокод) добавили б слово "континуе" для принудительного протекания.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re: А что вам нравится в языках программирования (???)
От: chaotic-kotik  
Дата: 18.09.16 20:35
Оценка: -1 :)
Здравствуйте, b0r3d0m, Вы писали:

B>Короче, дискасс.



Мне в языках нравится культура. Если она практичная и более прикладная (python, Go) то язык нравится. Если вещь в себе с некоторыми странностями (С++, Java) — то не очень, хотя на обоих языках можно писать практично, ядовитого комьюнити, которое будет тебе объяснять важность DI или template metaprogramming не избежать. Мне не нравятся языки, которые пытаются защищать от ошибок ценой verbosity и меньшей выразительности (С++, Scala, Rust). Нравятся языки которые позволяют выстрелить себе в ногу, но на которых очень легко создавать/комбинировать/описывать и тд, т.е. выразительные языки вроде питона или С. В общем, языки в которых есть набор простых строительных блоков из комбинации которых все строится, как в сишечке например, или в Go, или в питоне.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.