![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Нет, нет. Мы сразу абсолютно однозначно (и я это подчёркивал) обсуждаем алголопожобные языки. То есть императивные. Поэтому не надо нам ни (никому ненужной ![]() Конечно, если включить в рассмотрении какой-нибудь функциАнальный язык, то синтаксис уже вторичен не будет. При таком сравнении уже нужно понимать, что синтаксис будет определять уже сам способ мышления программиста. Поэтому, повторюсь, мы ограничимся императивными языками, когда синтаксис (до какой-то степени) будет вторичен. Благо, мы можем наложить такое ограничение на дискуссию с чистой совестью и почти без последствий, ибо о(б)суждаемые ЯП (C, C++, Pascal, Oberon, Java) императивны.
Безусловно. Но мы говорим только за Java. Это один язык. То, что впоследствии (благодаря популярности Java) появилось множество языков под JVM не меняет дело. Изначально JVM писалась чисто и только под Java. И, кстати, многие идеосинкрозии JVM отсюда и растут. Поэтому, кстати ![]() Но, повторюсь, с JVM была совсем иная история.
Опять же, не думаю, что это имеет какое-то отношение к нашему разговору. Интерепретатор он на то и интерпретатор, что там не нужно ни промежуточное представление кода, ни виртуальная машина для его исполнения. Дык о том и речь, что не имеет. Это же ключевое различие, а Вы его сразу отметаете. И как Вы собираетесь сравнивать Java в отрыве от платформы? Это бессмысленно. Там останется только синтаксис. А он мало того, что вторичен, он банально (почти) одинаков. И сравнивать то особо нечего. Нет, нет, нет и ещё раз нет. С точностью до наоборот. Java существенно ближе к Оберону, чем к С++ с точки зрения идеалогия, чтобы Вы под ней не понимали. Вот, смотрите. Первой будет идти характеристика общая для Java и Oberon, затем характеристика C++.
Хватит для начала? -------------------- |
||||||
|
|||||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
ну собственно все расхождение в этом. я когда-то пытался (безуспешно) приобрести книгу по C#, где был бы описан в первую очередь язык, а CRL во вторую (или вообще не описан). я понимаю, почему не нашел. понимаю, насколько сильна связь подобных языков с платформой. понимаю исторические причины вида java (как и C++). но когда я пишу на языке, неважно каким образом исполняемым, я думаю на этом языке. а встроенные структуры/алгоритмы воспринимаю как прилагаемые библиотеки (что вполне естественно, т.к. часть структур и алгоритмов мы таки пишем сами). что касается раздельной/независимой компиляции, я все безусловно понимаю. это, пожалуй, действительно серьезный аргумент, и я его пропустил. но опять же, на определенном уровне по большому счету неважно, что писать - import, #include или uses, точнее, что при этом думать. Добавлено через 2 минуты и 54 секунды ![]()
далеко не всегда предсказуемым, и уж не настолько определенным. боль-менее точно определены цели, а уж результат.... ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
солидарен, платформы надо сравнивать вне сравнений языков )) так его выразителеность и есть суть языка, все остальное возможности/особенности среды выполнения.. потому яву как язык надо сравнивать с другими языками ява-машины.. шарп с с++ сравнивается только в cli-шном исполнении.. в противном случае паскаль с с++ одно и то же , ибо отличаются только синтаксисом ![]() при всем этом выразительность одного языка может быть неприемлимой/неудобной как для другой платформы, так и области программированния... потому это тоже должно быть уточнено перед спором.. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Фантом, может и служит )
|
|||
|
||||
drug007 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Не уверен, но вроде как наличие миксинов в языке никак не влияет на полноту по Тьюрингу (ну если только в compile-time), однако в некоторых ситуациях позволяет элегантно решить задачу. Т.е. позволяет программисту выразить свою мысль просто и доступно, ближе к терминам прикладной задачи, а не языка. Т.к. программы пишутся для людей в первую очередь, это позволяет код сделать читабельным, а значит легким для сопровождения, а значит более эффективным. Ассемблер-то тоже тьюринг полный. Чем больше язык позволяет оперировать ближе к терминам прикладной задачи, тем он эффективнее - вот в этом я уверен на 100%. А тут тьюринг-полноты не достаточно. Да и функциональщина имеет хорошие перспективы на мой взгляд. Это же замечательно, если компилятор будет знать, что данные функции чистые с функциональной точки зрения - он сможет оптимизировать порядок их вызова, возможно даже где-то закэшировать вызов (ну вот такой умный компилятор попался ![]() |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
Это совершенно правильно. Но это не "выразительность" в терминологии mes, она определяется совсем не тем, описываются операторные скобки как begin..end или {..}. ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
drug007 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Как я понял, Вы считаете за выразительность способность языка каким-либо образом (не важно, каким - лишь бы был) выразить все возможные варианты - поэтому Вы и опираетесь на тьюринг-полноту. А мне показалось, что mes имел в виду, что выразительность языка это его способность кратко, емко и по существу выразить то, что нужно программисту (например, я именно так представляю выразительность). Я правильно вас обоих понял? И чтобы не писать второй пост - у меня сложилось впечатление, что именно из-за выразительности в понимании Фантом хвалят С++ его сторонники, когда говорят, что это мощный язык (и это так). И именно из-за не очень высокой выразительности в понимании Mes (в силу излишней сложности синтаксиса - тут, я думаю, никто не будет спорить) ругают С++ его противники. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
С точностью до наоборот. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
кажется все тут выразительность понимают по разному. если выразительность синоним возможности реализовать вычислимую функцию, то и brainfuck выразителен. однако традиционно под выразительностью ЯП понимают его синтаксические возможности, т.е. удобство для человека. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
В том и проблема, что удобство для человека может быть разным. Можно сделать так, чтобы удобно было писать код, а можно так, чтобы его удобно было читать и поддерживать. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
можно пример, когда удобно писать, но неудобно читать и наоборот?
|
|||
|
||||
drug007 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
По-моему это одно и то же. Как можно удобно писать код, который неудобно читать и поддерживать? ![]() ![]() |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |