Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: Самый красивый язык
Assembler 17 7.23%
Basic 7 2.98%
C 12 5.11%
C# 31 13.19%
C++ 42 17.87%
CoffeeScript 2 0.85%
Delphi 12 5.11%
Haskell 11 4.68%
Java 12 5.11%
JavaScript 6 2.55%
Lisp 11 4.68%
Pascal 11 4.68%
Perl 2 0.85%
PHP 3 1.28%
Prolog 4 1.70%
Python 21 8.94%
Ruby 3 1.28%
Objective-C 0 0%
SmallTalk 1 0.43%
Другой 27 11.49%
Голосовавшие: 235. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.53/137: Рейтинг темы: голосов - 137, средняя оценка - 4.53
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556

Самый красивый язык

18.10.2014, 23:17. Показов 30102. Ответов 295
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет

Я сейчас активно пишу на CoffeeScript, и просто наслаждаюсь этим языком, синтаксическим сахаром и прочими плюшками которые в него вложили... Но есть конечно и минусы.
Последний раз я так радовался когда писал код на Ruby.

Так вот, какой язык на ваше мнение самый красивый и элегантный?

PS. имеется ввиду именно элегантность языка, а не применимость и прочее...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2014, 23:17
Ответы с готовыми решениями:

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

Самый простой язык программирования
Какой самый простой язык программирования для написания программ? Решил начать изучать программирование, и думаю с чего начать, нужно самое...

Самый востребованный язык программирования
Всем привет! Давайте обсудим кое-какие вопросы: 1) Какой сейчас язык программирования самый востребованный 2) Какую область...

295
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
27.10.2014, 19:42
Студворк — интернет-сервис помощи студентам
ассемблер самый красивый, но никому не нужен
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 19:12
Цитата Сообщение от pro_100_gram Посмотреть сообщение
никому не нужен
Неправда.
И вообще, красота и элегантность языка программирования заключается не в синтаксисе, а в простоте и скорости реализации задачи. Асм в этом смысле предоставляет просто бесконечные возможности.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.10.2014, 19:16
Цитата Сообщение от SAq Посмотреть сообщение
Асм в этом смысле предоставляет просто бесконечные возможности.
Бесконечные возможности «в простоте и скорости реализации задач»? Не мог бы ты развернуть мысль?
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 19:25
Цитата Сообщение от Nameless One Посмотреть сообщение
Не мог бы ты развернуть мысль?
И какой ты подразумеваешь развернутый ответ? Вопрос слишком абстрактный.
Давай поставим эксперимент: сформируем простой цикл-миллионник и посмотрим на каком языке программа затратит меньше всего времени на прохождение в мс. Затем оценим читабельность и элегантность.
Ok?

ЗЫ. Размер проги измерять не предлагаю, т.к. у асма конкурентов в этом смысле нет.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.10.2014, 19:39
Цитата Сообщение от SAq Посмотреть сообщение
на каком языке программа затратит меньше всего времени на прохождение в мс
Ты же изначально про скорость реализации задачи говорил, не?

Цитата Сообщение от SAq Посмотреть сообщение
Давай поставим эксперимент: сформируем простой цикл-миллионник
Не, это несерьёзно. На такой детской задаче никак нельзя оценить ни простоту, ни читабельность с элегантностью, ни скорость, потраченную на написание программы.

Предлагаю более реальную задачу: написание интерпретатора или (лучше) компилятора какого нибудь игрушечного языка. Оцениваем по следующим критериям:
  1. Скорость реализации, а именно: сколько времени затрачено на написание компилятора.
  2. Простота реализации: лаконичность, читабельность, «элегантность» написанного кода.
  3. Скорость работы компилятора: какое время будет затрачено на компиляцию тестовой программы.
  4. Скорость скомпилированной тестовой программы (эффективность сгенерированного компилятором кода).

Ты берешь язык ассемблера, я беру язык на выбор.

Вот такая задача позволит тебе в полной мере показать «бесконечные возможности языков ассемблера в простоте и скорости реализации задач».

В качестве языка, компилятор которого нужно реализовать, предлагаю C-подобный язык с типом int, с арифметическими операциями, циклами и возможностью определять функции.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.10.2014, 19:45
Цитата Сообщение от SAq Посмотреть сообщение
Давай поставим эксперимент: сформируем простой цикл-миллионник и посмотрим на каком языке программа затратит меньше всего времени на прохождение в мс. Затем оценим читабельность и элегантность.
Ok?
Ой, да за милую душу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <Windows.h>
 
void show_time()
{
    SYSTEMTIME st;
    GetLocalTime(&st);
    printf("%lu.%lu.%lu.%lu\r\n", st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
}
 
#define COUNT 4000000000
 
void test_asm()
{
    __asm
    {
        mov eax, COUNT
label:
        dec eax
        jnz label
    }
}
 
void test_cpp()
{
    for (unsigned int i = 0; i < COUNT; ++i)
    {
    }
}
 
int main()
{
    show_time();
    test_asm();
    show_time();
    test_cpp();
    show_time();
 
    return 0;
}
Результат:
> 19.37.39.740
> 19.37.41.590
> 19.37.41.590
Функция на асме выполнялась ~2 секунды, а на C++ - вообще ни одной.
Ну и for/do/while почитабельнее dec/jnz будет.

А если без шуток, Nameless One прав: все "преимущества" ассемблера
очень быстро улетучиваются, как только на нем начинаешь писать более-менее
сложный проект.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.10.2014, 19:50
Цитата Сообщение от Убежденный Посмотреть сообщение
Функция на асме выполнялась ~2 секунды, а на C++ - вообще ни одной.
Ну это ж читерство ☺

Добавлено через 3 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
Оцениваем по следующим критериям:
Ещё можно оценивать корректность компилятора. Генерирует ли он корректный код для корректных программ? Отказывается ли он компилировать неправильную с точки зрения языка программу?
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 19:57
Цитата Сообщение от Nameless One Посмотреть сообщение
Не, это несерьёзно. На такой детской задаче никак нельзя оценить ни простоту, ни читабельность с элегантностью, ни скорость, потраченную на написание программы.
Во как! Оказывается, одна большая задача состоит не из набора малых задач, а из набора "детских задач, на примере которых ничего нельзя увидеть"? Мне кажется, что ты ошибаешься. Пренебрежение даже 1 тактом в часто повторяющейся процедуре, может повлечь за собой просто эпические тормоза. Согласен?

Цитата Сообщение от Nameless One Посмотреть сообщение
Предлагаю более реальную задачу
Извини, но я пока не готов к решению такой задачи. Последний раз я серьезно сидел за асмом в 2000 году. Сейчас тихонько вспоминаю и нарабатываю набор необходимых самописных функций для реализации одной интересной задачи.
Ориентировочно через год-полтора я буду готов.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.10.2014, 19:59
Цитата Сообщение от Убежденный Посмотреть сообщение
все "преимущества" ассемблера
очень быстро улетучиваются, как только
типовую задачу решаешь на другой платформе
простейший пример из жизни
получаю по УСАРТ данные и обрабатываю
раньше работал с 51 процессорами
первый вариант писан на асме, потом когда попался нормальный компилятор переписал на Си
с тех пор код, с маленькими исправлениями, перекочевал с 51 на AVR потом на ARM
на ассемблере мне пришлось бы выучит язык и только потом писать

Цитата Сообщение от SAq Посмотреть сообщение
Давай поставим эксперимент: сформируем простой цикл-миллионник и посмотрим на каком языке программа затратит меньше всего времени на прохождение в мс.
давай
камень выбираю я
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 20:03
Цитата Сообщение от Убежденный Посмотреть сообщение
Ой, да за милую душу
Так я и знал, что меня уделают.
А поменяй местами вызов асма и си.

Добавлено через 3 минуты
Цитата Сообщение от Убежденный Посмотреть сообщение
label:
dec eax
jnz label
И что это такое вообще?

Assembler
1
2
3
Mov ecx, 4000000000
@@:
loop @@
Разве так нельзя? И наглядно и быстро.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.10.2014, 20:07
Поменял:
> 20.0.54.633
> 20.0.54.633
> 20.0.56.473
Как видишь, от перестановки "слагаемых" результат не изменился.
В обоих случаях компилятор C++ просто посчитал, что функция
ничего не делает, и выкинул ее за борт.

Добавлено через 2 минуты
Цитата Сообщение от SAq Посмотреть сообщение
Разве так нельзя? И наглядно и быстро.
Сделал так.
Время выполнения функции на асме увеличилось до ~7 секунд.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.10.2014, 20:09
Цитата Сообщение от SAq Посмотреть сообщение
Разве так нельзя? И наглядно и быстро.
а что это меняет?
все равно будет крутится
а Си компилятор просто выбросил цикл как ненужный
Цитата Сообщение от SAq Посмотреть сообщение
Последний раз я серьезно сидел за асмом в 2000 году.
за это время много что изменилось
например распараллеливание процессов, перестановка местами команд для оптимизации конвеера
да и много чего
так что нужно кроме асма знать еще и камень
например многие компиляторы заменяют деление умножением код разбухает но выполнение 9 тактов в отличии от div около 40 тактов,
многие ли ассемблерщики так делают ?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.10.2014, 20:12
Цитата Сообщение от SAq Посмотреть сообщение
Во как! Оказывается, одна большая задача состоит не из набора малых задач, а из набора "детских задач, на примере которых ничего нельзя увидеть"? Мне кажется, что ты ошибаешься. Пренебрежение даже 1 тактом в часто повторяющейся процедуре, может повлечь за собой просто эпические тормоза. Согласен?
Ты не понимаешь. Дело не в том, что большая задача состоит из мелких задач. Дело в том, что сравнивая язык А и язык Б по некоторым критериям на «детской» задаче, ты не сможешь сказать, что язык А по этим критериям заруливает язык Б; единственное, что ты сможешь выяснить, это то, что на языке А почти так же удобно писать циклы-миллионники, как и на языке Б, и при этом эти циклы выполняются примерно с одной скоростью.

Цитата Сообщение от SAq Посмотреть сообщение
Извини, но я пока не готов к решению такой задачи.
Жалко-то как. Ну тогда может просто вычисление арифметических выражений?

Цитата Сообщение от SAq Посмотреть сообщение
Последний раз я серьезно сидел за асмом в 2000 году.
А чем ты занимался последние 14 лет?

Цитата Сообщение от SAq Посмотреть сообщение
Сейчас тихонько вспоминаю и нарабатываю набор необходимых самописных функций для реализации одной интересной задачи.
Судя по вопросам в том топике, ты вряд ли знаешь язык ассемблера настолько хорошо, чтобы писать на нём код более оптимальный, чем генерируют современные компиляторы C/С++.
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 20:17
Цитата Сообщение от ValeryS Посмотреть сообщение
простейший пример из жизни
Ну, я согласен с тобой в этом смысле. Но мы же говорим (насколько я понял) о принципиальной красоте и элегантности языка, а не о житейском его применении.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.10.2014, 20:20
Цитата Сообщение от SAq Посмотреть сообщение
Но мы же говорим (насколько я понял) о принципиальной красоте и элегантности языка
Опять же, как задача типа «сформировать цикл-миллионник» показывает красоту и элегантность языка?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.10.2014, 20:23
Цитата Сообщение от SAq Посмотреть сообщение
о принципиальной красоте
а критерии красивости?
(посему и не голосовал)
Во времена Рубенса красивыми считались полные женщины, сейчас худые,сто лет назад бородатые мужчины сейчас бритые
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 20:56
Цитата Сообщение от Убежденный Посмотреть сообщение
Время выполнения функции на асме увеличилось до ~7 секунд.
Странно, а у меня выполнялось 5171 мс.

Добавлено через 3 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
Опять же, как задача типа «сформировать цикл-миллионник» показывает красоту и элегантность языка?
OK. Ну, давай усложним. Напиши на крестах простой алгоритм кнопки переключения напряжения 220 - 0.
А я на асме напишу.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.10.2014, 21:06
Цитата Сообщение от SAq Посмотреть сообщение
Напиши на крестах простой алгоритм кнопки переключения напряжения 220 - 0.
C++
1
2
int button=0;
button^=220;


Добавлено через 5 минут
второй вариант
C++
1
button=220*(button==0);
ну и самый тупой, но самый наглядный
C++
1
2
3
4
if(button==0)
  button=220;
else
  button=0;
0
 Аватар для SAq
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.10.2014, 21:19
Цитата Сообщение от ValeryS Посмотреть сообщение
многие ли ассемблерщики так делают ?
Поэтому я и извинился, что не готов сейчас принимать участие в большом соревновании. Мне нужно догонять.

Цитата Сообщение от Nameless One Посмотреть сообщение
и при этом эти циклы выполняются примерно с одной скоростью.
Цитата Сообщение от Nameless One Посмотреть сообщение
Судя по вопросам в том топике, ты вряд ли знаешь язык ассемблера настолько хорошо, чтобы писать на нём код более оптимальный, чем генерируют современные компиляторы C/С++.
Не, они физически не могут выполняться с одной скоростью, т.к. внутри циклов будет скомпилирован стандартный код, неоптимизированный под конкретную задачу.

Цитата Сообщение от Nameless One Посмотреть сообщение
Ну тогда может просто вычисление арифметических выражений?
Оставим.

Цитата Сообщение от Nameless One Посмотреть сообщение
А чем ты занимался последние 14 лет?
Стоит ли об этом? Но если интересно, то у меня маленькая интернет-конторка по обслуживанию сайтов\блогов\форумов. Профессиональные коментаторы, интересные дискуссии, легкий срач. Но все интересно.
Но, теперь не об этом.

Нен, я ведь не утверждаю, что абсолютный (или даже относительный) гуру в асме. Но я буду стараться. Уж больно проект интересный.

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
int button=0;
button^=220;
Спасибо. А что означает этот символ "^"? Сорри за нубский вопрос.

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
а критерии красивости?
Щас будут.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.10.2014, 21:26
Цитата Сообщение от SAq Посмотреть сообщение
Не, они физически не могут выполняться с одной скоростью, т.к. внутри циклов будет скомпилирован стандартный код, неоптимизированный под конкретную задачу.
скомпилируй и посмотри
иногда логика меняется полностью
вместо switch таблица смещений
ненужные куски выбрасываются
например
C++
1
2
3
sum=0
for(int i=1; i<10;i++)
 sum+=i;
заменится на
sum=45;
а от такой мелочи как умножение деление на степень двойки заменить сдвигом, я и не говорю
давно так делают
начинающим ассемблерщикам можно многому поучится у современных компиляторов

Добавлено через 2 минуты
Цитата Сообщение от SAq Посмотреть сообщение
Спасибо. А что означает этот символ "^"?
"исключающие или", заменится в ассемблере на xor
что то типа
Assembler
1
xor eax,220
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2014, 21:26

Какой самый востребованный язык ?
Какой самый востребованный язык программирования или специальность ?

Самый популярный язык программирования - java.
Вот собственно ссылка - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Но ведь язык c++ лучше и удобнее! Как же так?

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

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

Язык по программированию какой самый универсальный
Меня интересует самый универсальный язык программирования на котором можно написать всё что я захочу


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
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. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru