Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Может не новость, но я только сейчас наткнулся 
:(
    Опции темы
sidiakin
Дата 5.1.2013, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 16.10.2005

Репутация: нет
Всего: нет



Вот ссылка
PM MAIL   Вверх
feodorv
Дата 5.1.2013, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



И что? Первое апреля растянулось до 25 мая...


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
EvilsInterrupt
Дата 5.1.2013, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



sidiakin
Видя такие сообщения я сразу достаю wget и отключаю на итоговую папку антивирус. В надежде скачать новый сампл для реверсинга. Очень обижаюсь если его там нету...
PM MAIL WWW ICQ Jabber   Вверх
kemiisto
Дата 5.1.2013, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Всё так и было. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
volatile
Дата 6.1.2013, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Что то там программа в виде пикчера - невозможно проверить компилируемость.
хотя на С можно конечно и не такое написать (как впрочем и на любом другом языке), при желании

вот это точно компилируецца, и достаточно полезную вещь кстати делает.
Код

int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c
-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

как вы думаете что?
(не заглядывая сюда )
PM MAIL   Вверх
NoviceF
Дата 6.1.2013, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: нет
Всего: 2



Цитата(volatile @  6.1.2013,  02:45 Найти цитируемый пост)
как вы думаете что?


я думал квадратик нарисует  smile 
PM MAIL   Вверх
mes
Дата 6.1.2013, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(volatile @  6.1.2013,  00:45 Найти цитируемый пост)
 невозможно проверить компилируемость.

возможно )) не копипастом единым жив программист ))



--------------------
PM MAIL WWW   Вверх
volatile
Дата 6.1.2013, 23:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mes @  6.1.2013,  15:45 Найти цитируемый пост)
возможно )) не копипастом единым жив программист ))

Вряд-ли кому взбредет в голову набирать это вручную.
Думаю, именно поэтому там и приведена пикча.
Из того что приведено текстом -  - бред сивой кобылы, например:

Цитата
Мы остановились, добившись успешной компиляции следующего: 
for(;P("n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2); 

Это не скомпилируецца! И даже не потому что здесь не определено что такое P(),R и еще куча других переменных
а потому что оператор R- это ошибка по любому!
Похоже статью писал какой-то двоечник-паскалевец, 2-ой день изучающий С.
И писано это (судя по паскалю, и другим названиям) еще во времена МS-DOS'a. 
В те далекие времена, кое-кому казалось, что паскаль мог составить конкуренцию С.

PM MAIL   Вверх
kemiisto
Дата 7.1.2013, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(volatile @  6.1.2013,  22:40 Найти цитируемый пост)
В те далекие времена, кое-кому казалось, что паскаль мог составить конкуренцию С.

Вы так говорите "казалось", как будто... smile 

Си сейчас "на коне". Но это эпоха уже заканчивается. Си, Лэди Гага и прочая низкопробная дрянь приходит и уходит. А Pascal ещё всех нас переживёт. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
bsa
Дата 8.1.2013, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



kemiisto, паскаль сейчас используется только в качестве основы для Delphi и, возможно, для обучения программированию начинающих инженеров. На сколько я знаю, нынче популярны языки, производные от Си: C, C++, C#, Java/JavaScript, PHP... А вот производную паскаля на слуху я знаю только одну - Delphi. Не исключено, что Паскаль будет жить долго. Но только мне не верится, что он станет таким же популярным, как производные от C.
PM   Вверх
kemiisto
Дата 8.1.2013, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(bsa @  7.1.2013,  23:22 Найти цитируемый пост)
Но только мне не верится, что он станет таким же популярным, как производные от C. 

Я и не говорил, что он станет популярнее. Лишь переживёт. То есть С и прочие исчезнут как динозавры, а потомки Паскаля останутся. 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
EvilsInterrupt
Дата 8.1.2013, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



Прошу kemiisto.restart() smile
PM MAIL WWW ICQ Jabber   Вверх
Фантом
Дата 8.1.2013, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(bsa @  8.1.2013,  01:22 Найти цитируемый пост)
На сколько я знаю, нынче популярны языки, производные от Си: C, C++, C#, Java/JavaScript, PHP... А вот производную паскаля на слуху я знаю только одну - Delphi. 

Вы только определитесь, что считать "производными".  smile Например, Java унаследовала от C в основном вид синтаксиса, по идеологии этот язык ближе к Паскалю.
PM   Вверх
baldina
Дата 8.1.2013, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(Фантом @  8.1.2013,  01:09 Найти цитируемый пост)
по идеологии этот язык ближе к Паскалю

как может чисто ОО язык быть идеологически ближе к чисто процедурному? естественно, в предположении заимствований Java от C++ а не С.

обычно считается, что язык Java заимствовал у C++, SmallTalk, Scheme и повлиял на C#.
C++ - у С и Simula.
Pascal повлиял на Modula, Ada

и у них всех есть общий предок - Algol.

Добавлено через 3 минуты и 39 секунд
впрочем, есть и более ранний, повлиявший на всех (прямо или косвенно) - старый добрый фортран
PM MAIL   Вверх
kemiisto
  Дата 8.1.2013, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
как может чисто ОО язык быть идеологически ближе к чисто процедурному? естественно, в предположении заимствований Java от C++ а не С.

Очевидно, что речь шла о том, что Java заимствовала идеи не столько из самого Паскаля, сколько из его потомка Оберона. Java - это Оберон с сишным синтаксисом и слитыми в едином экстазе концепциями модуля и класса. От С там только синтаксис. Унылый маркетинговый ход, который обеспечил достаточную популярность на ранних этапах.

Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
обычно считается, что язык Java заимствовал у C++, SmallTalk, Scheme и повлиял на C#.

Ещё раз - в Java заимствован из С только синтаксис. Никаким Смолтолком и Схемой там и не пахнет.

Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
C++ - у С и Simula.

Это верно.

Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
Pascal повлиял на Modula, Ada

Pascal - прямой предок Modula, хоть и не единственный, поэтому, он очевидно на неё повлиял. А вот на Аду Паскаль повлиял крайне опосредованно.

Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
и у них всех есть общий предок - Algol.

Да, все современные хоть сколь-нибудь заметные императивные языки растут из Алгола.

Цитата(baldina @  8.1.2013,  00:42 Найти цитируемый пост)
впрочем, есть и более ранний, повлиявший на всех (прямо или косвенно) - старый добрый фортран 

А вот здесь - нет. Старый-"добрый" ФОРТРАН был как раз почти полной противоположностью АЛГОЛа. Собственно АЛГОЛ изначально создавался в противовсе ФОРТРАНу, который и алгоритмическим то языком назвать, простите за тавтологию, язык не поворачивался. Что собственно, в названии АЛГОЛа и отражено.

Так что нет. Только АЛГОЛ, только императив! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Фантом
Дата 8.1.2013, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  8.1.2013,  02:42 Найти цитируемый пост)

как может чисто ОО язык быть идеологически ближе к чисто процедурному? естественно, в предположении заимствований Java от C++ а не С.


Точно так же, как "Java потомок C".  smile Потомок, но не непосредственный. На самом деле Java - это Оберон (с некоторыми элементами Модулы-2, более раннего виртовского языка), снабженный C-образным синтаксисом. В принципе, во многом те же идеи использовались и при создании Delphi (точнее, тогда еще Object Pascal), так что и на него Java похож куда больше, чем на C++.

Цитата(baldina @  8.1.2013,  02:42 Найти цитируемый пост)

Pascal повлиял на Modula, Ada


На Модулы - да, а вот на Аду - не очень. Внешнее сходство синтаксиса есть, а вот идеологически он ближе к PL/1.

Цитата(baldina @  8.1.2013,  02:42 Найти цитируемый пост)

впрочем, есть и более ранний, повлиявший на всех (прямо или косвенно) - старый добрый фортран 

Разве что в качестве образца "как делать не надо".  smile Фортран - великолепный язык, но для других целей.

P.S. М-да, похоже, что я почти дословно повторил то, что написал kemiisto.  smile  

Это сообщение отредактировал(а) Фантом - 8.1.2013, 14:09
PM   Вверх
baldina
Дата 8.1.2013, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Фантомkemiisto, я с вами согласен, пожалуй. мне лишь не нравится сентенция об идеологии pascal в java.

Цитата(kemiisto @  8.1.2013,  02:13 Найти цитируемый пост)
АЛГОЛ изначально создавался в противовсе ФОРТРАНу

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

впрочем, я не настаиваю) часто авторы сами не знают, какие влияния имели место)

Добавлено через 11 минут и 43 секунды
 smile а может мне просто лениво спорить  smile 
PM MAIL   Вверх
Фантом
Дата 8.1.2013, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  8.1.2013,  16:20 Найти цитируемый пост)
Фантом, kemiisto, я с вами согласен, пожалуй. мне лишь не нравится сентенция об идеологии pascal в java.


Увы, это факт.  smile Кстати, поскольку C# - это очередной "наш ответ Чемберлену" от MS, то и он является потомком C в основном в маркетинговом смысле.
PM   Вверх
EvilsInterrupt
Дата 8.1.2013, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



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

Сколько раз видел споры о том что лучше чистый С или С++ ? 
А между тем сам Страуструп очень тесно взаимодействовал с Денисом Ричи и при обсуждении. В книге "Б.Страуструп. Дизайн и эволюция C++ (2006).djvu" очень ясно на стр. 70 Страуструп пояснил в какой атмосфере рождался С++ , а на стр. 37 пояснил роль и стремления языка и почему нету Framework-ов!

Не меньше споров вижу и между лагерем Linux и FreeBSD пользователями. Хотя сами разработчики то не ограничиваются какой-либо одной системой и очень часто работают в разных проектах и ведь успешно!!!

К чему нужны хУливары? Какая конкретно от них польза?
PM MAIL WWW ICQ Jabber   Вверх
baldina
Дата 8.1.2013, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(Фантом @  8.1.2013,  15:39 Найти цитируемый пост)
Увы, это факт.

боюсь, факт тут лишь обида Вирта, который дал исходники оберона посмотреть)))
оберон не вполне ОО язык, вся ОО в Java от C++. дык в чем идеология? в чистоте средств? допустим, но этого слишком мало. в сборщике мусора? это технологический прием, больше связанный с платформой, чем с языком. а больше ничего я не вижу.
PM MAIL   Вверх
bsa
Дата 8.1.2013, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Ну я и тролль... smile 
PM   Вверх
Фантом
Дата 8.1.2013, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  8.1.2013,  17:23 Найти цитируемый пост)
в чистоте средств? допустим, но этого слишком мало. в сборщике мусора? это технологический прием, больше связанный с платформой, чем с языком. а больше ничего я не вижу. 

Начнем, например, с самой идеи платформы, к которой привязан язык.  smile 
PM   Вверх
volatile
Дата 8.1.2013, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Наверное стоит пожалеть фанатов паскаля, раз уж им приходицца упавать на java, в качестве приемника..
Дескать это только внешне сын похож на соседа, но глубоко в душе весь в отца...
Мда уж....

PM MAIL   Вверх
kemiisto
Дата 8.1.2013, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



baldina, как Вам уже написали, идея некоторого промежуточного представления кода, которое переносимо, так как исполняется некой виртуальной машиной, была реализована Виртом уже для языка Pascal. Промежуточный язык именовался p-code, а виртуальная машина (внезапно!) p-code machine. 

А на самом деле эта идея была реализована примерно на 10 лет раньше для языков Euler (кстати, Виртом с коллегами) и BCPL. Последнее крайне занятно, так как язык B, который позже выльется в язык С, был всего-навсего урезанной версией BCPL. Урезали BCPL только по той причине, что в распоряжении у Томпсона и Ричи были крайне слабые машинки DEC PDP-7 и (позже) PDP-11 с очень маленьким объёмом памяти. Среди прочего отказались и от идеи промежуточного представления кода и исполнения его виртуальной машиной. Именно таким образом, B а вслед за ним и C оказались жёстко привязанными к железу. Показательный, кстати, момент. Язык C не проектировался как переносимый. Он вообще не проектировался. Он рождался в муках по выпиливанию из одного языка всего невмешяющегося в пямать совершенно определённого компьютера. И если Вы думаете, что таким образом можно было создать что-то хорошее... Я тебя слепила из того, что было... Ну, да ладно.

Добавлено через 5 минут и 20 секунд
Цитата(volatile @  8.1.2013,  22:20 Найти цитируемый пост)
Наверное стоит пожалеть фанатов паскаля, раз уж им приходицца упавать на java, в качестве приемника..

Никто Java приемником Pascal не называл. Речь о том, что Java значительно ближе к потомкам Pascal, чем к C. У неё только синтаксис С-шный, а он (в определённым смысле) вторичен. И потом, где Вы уведили упавание?

Вам самому никак фанатизм мешает увидеть, что до Вас пытаются донести.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
alexSl
Дата 9.1.2013, 09:34 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


проходил мимо



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 22.2.2008

Репутация: нет
Всего: нет



Цитата(kemiisto @  8.1.2013,  23:26 Найти цитируемый пост)
Он рождался в муках по выпиливанию из одного языка всего невмешяющегося в пямать совершенно определённого компьютера. И если Вы думаете, что таким образом можно было создать что-то хорошее... 

Я беру камень и отсекаю всё лишнее. (В ответ на вопрос: «Как вы делаете свои скульптуры?») - http://ru.wikiquote.org/wiki/%D0%9C%D0%B8%...%BE%D1%82%D0%B8
PM MAIL   Вверх
kemiisto
Дата 9.1.2013, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(alexSl @  9.1.2013,  08:34 Найти цитируемый пост)
Я беру камень и отсекаю всё лишнее.

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

Начнём с того, почему же эта цитата не к месту. Дело в том, что у слова "лишний" есть несколько значений.
Цитата

1. Избыточный, остающийся сверх известного количества.
2. Ненужный, бесполезный.
...


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

А в контексте нашей беседы о проектировании языков программирования "лишний" столь же очевидно означает "ненужный". Бритва Оккама шлёт нам пламенный привет. Так вот, есть две большие разницы между ситуацией, когда с целью упрощения языка ведёться многолетняя целенаправленная работа по идентификации и уничтожению лишних (сиречь ненужных) сущностей и когда этот процесс происходит абсолютно неконтролируемо под давлением внешних обстоятельств (малый объём ОЗУ). В первом случае имеем дело с проектированием, во втором - ни о каком проектировании и речи быть не может.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
alexSl
Дата 9.1.2013, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


проходил мимо



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 22.2.2008

Репутация: нет
Всего: нет



Цитата(kemiisto @  9.1.2013,  11:09 Найти цитируемый пост)
Так вот, есть две большие разницы между ситуацией, когда с целью упрощения языка ведёться многолетняя целенаправленная работа по идентификации и уничтожению лишних (сиречь ненужных) сущностей и когда этот процесс происходит абсолютно неконтролируемо под давлением внешних обстоятельств (малый объём ОЗУ). В первом случае имеем дело с проектированием, во втором - ни о каком проектировании и речи быть не может. 

Первый случай я бы назвал селекцией, а второй - естественным отбором. И да, я утверждаю, что в результате естественного отбора может появится нечто жизнеспособное. Привет бритве Оккама.
PM MAIL   Вверх
bsa
Дата 9.1.2013, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



alexSl, вообще-то, и то, и то селекция. А естественный отбор - это то, что происходит со времен первых компьютеров и языков программирования. Одни языки приходят, другие уходят, а третьих существуют только в узких кругах... Надо признать, что в свое время С выиграл естественный отбор. А что будет в будущем - никто не знает.
PM   Вверх
baldina
Дата 9.1.2013, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(kemiisto @  8.1.2013,  23:26 Найти цитируемый пост)
baldina, как Вам уже написали, идея некоторого промежуточного представления кода, которое переносимо,

идея некоторого промежуточного представления кода и язык вещи сильно разные. сравните например Java, C#, F#, Scala.
идея язык+унифицированная платформа как единого целого интересна, не спорю, хотя (см. выше) на одной платформе может быть несколько языков. 
заметьте, любой интерпретируемый язык имеет плаформу (часто индивидуальную), однако и такие языки сравнивают. языки, а не платформы.

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

язык это идеология, подход. с такой точки зрения java и oberon, не говоря уж о pascal, весьма далеки. а java и C++ близки. имхо, конечно, так что с удовольствием выслушаю нечто конструктивное.

Добавлено через 2 минуты и 13 секунд

Цитата(kemiisto @  8.1.2013,  23:26 Найти цитируемый пост)
Никто Java приемником Pascal не называл.

Цитата(Фантом @  8.1.2013,  01:09 Найти цитируемый пост)
Java унаследовала от C в основном вид синтаксиса, по идеологии этот язык ближе к Паскалю


PM MAIL   Вверх
kemiisto
Дата 9.1.2013, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(alexSl @  9.1.2013,  12:25 Найти цитируемый пост)
Первый случай я бы назвал селекцией, а второй - естественным отбором.

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

Акцент я не случайно делаю именно на том, что это инженерная деятельность - деятельность не просто с предсказуемым, а с заранее определённым результатом. В нашем первом случае результатом должен стать язык с минимальным количеством лишних (ненужных) сущностей.

А в случае с С не было такой цели. Там была чисто практическая цель портирования BCPL на слабые машины. В итоге это всё вылилось в создание языка B, а затем и C. Я вообще не уверен можно ли тут говорить об отборе...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
kemiisto
Дата 9.1.2013, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(baldina @  9.1.2013,  12:30 Найти цитируемый пост)
идея некоторого промежуточного представления кода и язык вещи сильно разные. сравните например Java, C#, F#, Scala.

Нет, нет. Мы сразу абсолютно однозначно (и я это подчёркивал) обсуждаем алголопожобные языки. То есть императивные. Поэтому не надо нам ни (никому ненужной smile ) функциАнальщины, ни монструозных гибридов. Вот и сравни Java и какой-нибудь другой императивный язык под JVM. Разница тут будет чисто синтасическая. Синтаксис в данном случае как раз будет вторичен.

Конечно, если включить в рассмотрении какой-нибудь функциАнальный язык, то синтаксис уже вторичен не будет. При таком сравнении уже нужно понимать, что синтаксис будет определять уже сам способ мышления программиста. Поэтому, повторюсь, мы ограничимся императивными языками, когда синтаксис (до какой-то степени) будет вторичен. Благо, мы можем наложить такое ограничение на дискуссию с чистой совестью и почти без последствий, ибо о(б)суждаемые ЯП (C, C++, Pascal, Oberon, Java) императивны.

Цитата(baldina @  9.1.2013,  12:30 Найти цитируемый пост)
идея язык+унифицированная платформа как единого целого интересна, не спорю, хотя (см. выше) на одной платформе может быть несколько языков.

Безусловно. Но мы говорим только за Java. Это один язык. То, что впоследствии (благодаря популярности Java) появилось множество языков под JVM не меняет дело. Изначально JVM писалась чисто и только под Java. И, кстати, многие идеосинкрозии JVM отсюда и растут. Поэтому, кстати smile , при разработке своей JVM с пасьянсом и куртизанками MS так сильно концентрировалась на том, чтобы платформа была максимально независима от (пускай и основного) языка, что отразилось даже в названии CLR.

Но, повторюсь, с JVM была совсем иная история.
 
Цитата(baldina @  9.1.2013,  12:30 Найти цитируемый пост)
заметьте, любой интерпретируемый язык имеет плаформу (часто индивидуальную), однако и такие языки сравнивают. языки, а не платформы.

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

Цитата(baldina @  9.1.2013,  12:30 Найти цитируемый пост)
я полагал речь таки идет о сравнении языков без учета платформы, хотя бы потому, что С/С++ таковой не имеют, а программист, по большому счету, о платформе может и не быть в курсе.

Дык о том и речь, что не имеет. Это же ключевое различие, а Вы его сразу отметаете. И как Вы собираетесь сравнивать Java в отрыве от платформы? Это бессмысленно. Там останется только синтаксис. А он мало того, что вторичен, он банально (почти) одинаков. И сравнивать то особо нечего.

Цитата(baldina @  9.1.2013,  12:30 Найти цитируемый пост)
язык это идеология, подход. с такой точки зрения java и oberon, не говоря уж о pascal, весьма далеки. а java и C++ близки. имхо, конечно, так что с удовольствием выслушаю нечто конструктивное.

Нет, нет, нет и ещё раз нет. С точностью до наоборот. Java существенно ближе к Оберону, чем к С++ с точки зрения идеалогия, чтобы Вы под ней не понимали.

Вот, смотрите. Первой будет идти характеристика общая для Java и Oberon, затем характеристика C++.
  • Промежуточное представление кода и исполняющая его виртуальная машина против компиляции в машинный код на каждой платформе.
  • Раздельная компиляция (separate compilation) против независимой компиляции (independent compilation). Разница существенная, между прочим. Вот тут можете посмотреть, о чём речь. Впрочем, я именно Вам уже это пытался объяснить, как мне кажется.
  • Динамическое связывание против статического связывания.
  • Только процедурное и ОО программирование против всего, что пожелаете. Да, в Java есть процедурное программирование. Из-за того, что класс выполняет функции модуля оно просто скрыто. Каждый раз, когда Вы пишете статическую функции и, не зная куда её деть, создаёте какой-то недокласс - это и есть процедурное программирование на Java. smile 
  • Только полностью автоматическое управление памятью (сборка мусора) против ручного и (всё-таки) полуавтоматического (умные указатели).

Хватит для начала?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
baldina
Дата 9.1.2013, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(kemiisto @  9.1.2013,  16:59 Найти цитируемый пост)
Это же ключевое различие, а Вы его сразу отметаете.

ну собственно все расхождение в этом.

я когда-то пытался (безуспешно) приобрести книгу по C#, где был бы описан в первую очередь язык, а CRL во вторую (или вообще не описан).
я понимаю, почему не нашел. понимаю, насколько сильна связь подобных языков с платформой. понимаю исторические причины вида java (как и C++).
но когда я пишу на языке, неважно каким образом исполняемым, я думаю на этом языке. а встроенные структуры/алгоритмы воспринимаю как прилагаемые библиотеки (что вполне естественно, т.к. часть структур и алгоритмов мы таки пишем сами).

что касается раздельной/независимой компиляции, я все безусловно понимаю. это, пожалуй, действительно серьезный аргумент, и я его пропустил. но опять же, на определенном уровне по большому счету неважно, что писать - import, #include или uses, точнее, что при этом думать.

Добавлено через 2 минуты и 54 секунды
 smile 
Цитата(kemiisto @  9.1.2013,  16:20 Найти цитируемый пост)
инженерная деятельность - деятельность не просто с предсказуемым, а с заранее определённым результатом

далеко не всегда предсказуемым, и уж не настолько определенным. боль-менее точно определены цели, а уж результат....  smile 
PM MAIL   Вверх
mes
Дата 9.1.2013, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  9.1.2013,  15:59 Найти цитируемый пост)
 И как Вы собираетесь сравнивать Java в отрыве от платформы? Это бессмысленно. 

солидарен, платформы надо сравнивать вне сравнений языков ))
Цитата(kemiisto @  9.1.2013,  15:59 Найти цитируемый пост)
 Там останется только синтаксис.

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

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

при всем этом выразительность одного языка может быть неприемлимой/неудобной как для другой платформы, так и области программированния... потому это тоже должно быть уточнено перед спором.. 



--------------------
PM MAIL WWW   Вверх
Фантом
Дата 9.1.2013, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  9.1.2013,  21:39 Найти цитируемый пост)

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

У всякого тьюринг-полного языка (а все обсуждаемые к этой категории относятся) выразительность максимально возможная. Так что критерием это служить не может.
PM   Вверх
mes
Дата 10.1.2013, 00:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Фантом, может и служит )


--------------------
PM MAIL WWW   Вверх
drug007
Дата 17.1.2013, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(Фантом @  9.1.2013,  23:02 Найти цитируемый пост)
У всякого тьюринг-полного языка (а все обсуждаемые к этой категории относятся) выразительность максимально возможная. Так что критерием это служить не может.

Не уверен, но вроде как наличие миксинов в языке никак не влияет на полноту по Тьюрингу (ну если только в compile-time), однако в некоторых ситуациях позволяет элегантно решить задачу. Т.е. позволяет программисту выразить свою мысль просто и доступно, ближе к терминам прикладной задачи, а не языка. Т.к. программы пишутся для людей в первую очередь, это позволяет код сделать читабельным, а значит легким для сопровождения, а значит более эффективным. Ассемблер-то тоже тьюринг полный. Чем больше язык позволяет оперировать ближе к терминам прикладной задачи, тем он эффективнее - вот в этом я уверен на 100%. А тут тьюринг-полноты не достаточно.

Да и функциональщина имеет хорошие перспективы на мой взгляд. Это же замечательно, если компилятор будет знать, что данные функции чистые с функциональной точки зрения - он сможет оптимизировать порядок их вызова, возможно даже где-то закэшировать вызов (ну вот такой умный компилятор попался smile ) - чем не шаг к декларативному программированию? Держать под контролем все аспекты выполнения кода становится все труднее и дороже. На первый план выходит способность кода к сопровождению - в принципе, по этой же причине появились всевозможные убийцы плюсов. А наличие в языке возможностей к совместному невзаимоисключающему смешению различных парадигм - и императивщины, и функциональщины, например - дает возможность программисту использовать именно то, что наиболее оптимально для конкретной задачи. В части межпоточного взаимодействия функциональщина даст фору императивному подходу, имхо.
PM MAIL   Вверх
Фантом
Дата 17.1.2013, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(drug007 @  17.1.2013,  07:17 Найти цитируемый пост)
Не уверен, но вроде как наличие миксинов в языке никак не влияет на полноту по Тьюрингу (ну если только в compile-time), однако в некоторых ситуациях позволяет элегантно решить задачу. Т.е. позволяет программисту выразить свою мысль просто и доступно, ближе к терминам прикладной задачи, а не языка. Т.к. программы пишутся для людей в первую очередь, это позволяет код сделать читабельным, а значит легким для сопровождения, а значит более эффективным. Ассемблер-то тоже тьюринг полный. Чем больше язык позволяет оперировать ближе к терминам прикладной задачи, тем он эффективнее - вот в этом я уверен на 100%. А тут тьюринг-полноты не достаточно.


Это совершенно правильно. Но это не "выразительность" в терминологии  mes, она определяется совсем не тем, описываются операторные скобки как begin..end или {..}.  smile 
PM   Вверх
mes
Дата 17.1.2013, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  17.1.2013,  18:23 Найти цитируемый пост)
Но это не "выразительность" в терминологии  mes, она определяется совсем не тем, описываются операторные скобки как begin..end или {..}.

 smile позвольте уточнить, "выразительность" в терминологии mes, это описание операторных скобок через {...} ?  а то я русский подзабыл..


--------------------
PM MAIL WWW   Вверх
drug007
Дата 18.1.2013, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(Фантом @  17.1.2013,  19:23 Найти цитируемый пост)
Это совершенно правильно. Но это не "выразительность" в терминологии  mes, она определяется совсем не тем, описываются операторные скобки как begin..end или {..}.  

Как я понял, Вы считаете за выразительность способность языка каким-либо образом (не важно, каким - лишь бы был) выразить все возможные варианты - поэтому Вы и опираетесь на тьюринг-полноту. А мне показалось, что mes имел в виду, что выразительность языка это его способность кратко, емко и по существу выразить то, что нужно программисту (например, я именно так представляю выразительность).
Я правильно вас обоих понял?

И чтобы не писать второй пост - у меня сложилось впечатление, что именно из-за выразительности в понимании Фантом хвалят С++ его сторонники, когда говорят, что это мощный язык (и это так). И именно из-за не очень высокой выразительности в понимании Mes (в силу излишней сложности синтаксиса - тут,  я думаю, никто не будет спорить) ругают С++ его противники.
PM MAIL   Вверх
Фантом
Дата 18.1.2013, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(drug007 @  18.1.2013,  07:36 Найти цитируемый пост)
Как я понял, Вы считаете за выразительность способность языка каким-либо образом (не важно, каким - лишь бы был) выразить все возможные варианты - поэтому Вы и опираетесь на тьюринг-полноту. А мне показалось, что mes имел в виду, что выразительность языка это его способность кратко, емко и по существу выразить то, что нужно программисту (например, я именно так представляю выразительность).
Я правильно вас обоих понял?

С точностью до наоборот. 
PM   Вверх
baldina
Дата 18.1.2013, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(Фантом @  9.1.2013,  23:02 Найти цитируемый пост)
У всякого тьюринг-полного языка (а все обсуждаемые к этой категории относятся) выразительность максимально возможная

кажется все тут выразительность понимают по разному. если выразительность синоним возможности реализовать вычислимую функцию, то и brainfuck выразителен.
однако традиционно под выразительностью ЯП понимают его синтаксические возможности, т.е. удобство для человека.
PM MAIL   Вверх
Фантом
Дата 18.1.2013, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  18.1.2013,  12:35 Найти цитируемый пост)
однако традиционно под выразительностью ЯП понимают его синтаксические возможности, т.е. удобство для человека. 

В том и проблема, что удобство для человека может быть разным. Можно сделать так, чтобы удобно было писать код, а можно так, чтобы его удобно было читать и поддерживать.
PM   Вверх
baldina
Дата 18.1.2013, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



можно пример, когда удобно писать, но неудобно читать и наоборот?
PM MAIL   Вверх
drug007
Дата 18.1.2013, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(Фантом @  18.1.2013,  17:02 Найти цитируемый пост)
В том и проблема, что удобство для человека может быть разным. Можно сделать так, чтобы удобно было писать код, а можно так, чтобы его удобно было читать и поддерживать. 

По-моему это одно и то же. Как можно удобно писать код, который неудобно читать и поддерживать?

 smile  одно предположение - тупо фигачить наугад по клавиатуре десятью пальцами - писать удобно, но сопровождать...  smile 
PM MAIL   Вверх
Фантом
Дата 18.1.2013, 19:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  18.1.2013,  18:47 Найти цитируемый пост)
можно пример, когда удобно писать, но неудобно читать и наоборот? 

Два классических примера: Perl и Ada.
PM   Вверх
baldina
Дата 19.1.2013, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



позиция ясна, но согласиться трудно. 

поясню:
Код

x = a ? b : c;

удобно как писать, так и читать. последнее с оговоркой: для тех, кто в теме. ну а если кто не в теме, ему писать/читать рано.

Код

x = (a < b) || (b > c) && (a < d) ? a=c-b, ++b : a -= d, --c;

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

Добавлено через 3 минуты и 40 секунд
Думаю г....код можно выдавать и на Ада, и вообще любом языке
PM MAIL   Вверх
volatile
Дата 19.1.2013, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(Фантом @  18.1.2013,  19:03 Найти цитируемый пост)
Perl и Ada. 

Аду на самом деле очень трудно читать.
Растекаясь мыслью по древу, простая функция может легко разбухнуть до непотребных размеров
Смысловая разряженность мешает охватить суть задачи одним мысленным взглядом.
Дочитав один из таких "протоколов судебных заседаний" до конца, уже трудно впомнить чем же собственно все начиналось, и для чего...
Приходицца читать еще и еще раз сначала, постоянно одергивая себя от посторонних мыслей, и пытаясь разглядеть
за природо-описательным пустословием не великое зерно смысла.

Добавлено через 20 секунд
 smile 
PM MAIL   Вверх
Фантом
Дата 19.1.2013, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  19.1.2013,  20:57 Найти цитируемый пост)

Думаю г....код можно выдавать и на Ада, и вообще любом языке 


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

Цитата(volatile @  20.1.2013,  00:29 Найти цитируемый пост)

Аду на самом деле очень трудно читать.


Цитата(baldina @  19.1.2013,  20:57 Найти цитируемый пост)
последнее с оговоркой: для тех, кто в теме. ну а если кто не в теме, ему писать/читать рано.

 smile 
PM   Вверх
volatile
Дата 19.1.2013, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Фантом, Читаемость кода - вещь очень субъективная...
Возможно кто-то скажет что ему удобно читать пёрл, и кстати, будет прав.
Ну удобно ему читать пёрл и что? Вам Аду удобно? да ради бога!
Не нужно лишь это выдавать за непреложную истину, в последней инстанции. smile 
PM MAIL   Вверх
Фантом
Дата 20.1.2013, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(volatile @  20.1.2013,  00:51 Найти цитируемый пост)
Читаемость кода - вещь очень субъективная...

Гениально. А теперь отмотайте эту ветку форума назад на пару страниц и посмотрите, с чего именно началась эта ветвь дискуссии: с того, что мне старательно пытались доказать, что "синтаксическая выразительность" (будем для определенности называть это так) является характерным и универсальным свойством языка, позволяющим даже классифицировать языки .  smile 

Цитата(volatile @  20.1.2013,  00:51 Найти цитируемый пост)

Не нужно лишь это выдавать за непреложную истину, в последней инстанции. 

Вот именно.
PM   Вверх
mes
Дата 20.1.2013, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  19.1.2013,  23:59 Найти цитируемый пост)
 посмотрите, с чего именно началась эта ветвь дискуссии: с того, что мне старательно пытались доказать, что "синтаксическая выразительность"

нет, нет и нет. Ветка начиналась перечислениями плюсов платформы, которыми Ява красовалась перед С++.. На что был ответ, что не плюсы платформы, а именно выразительные свойства языка красят его. Что, как я позже понял, было воспринято, что сила выразительности определяется возможностью оперирования скобками.. 
Нет, нет и еще раз нет.. конечно наличие загромождающих конструкций, могут отвлекать внимание.. но в данном вопросе это действительно дело вкуса.. 
А вот к примеру С и С++ обладают обсолютно одинаковой "синтаксической выразительностью" однако выразительность языков совершенно разная..
Чтоб эффективно реализовать/выразить мысль на этих двух с виду похожих языках, нужно перестроить ход мыслей.... 
И речь была именно об этом ))



--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  20.1.2013,  14:54 Найти цитируемый пост)
А вот к примеру С и С++ обладают обсолютно одинаковой "синтаксической выразительностью" однако выразительность языков совершенно разная..


Ой ли? В C++ несколько больше языковых конструкций. И, как хорошо известно, действительно можно писать на C++ как на "C с классами", а можно - как на C++. Во втором случае код даже визуально будет сильно отличаться от кода на C.
PM   Вверх
mes
Дата 20.1.2013, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
Ой ли? В C++ несколько больше языковых конструкций.

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

Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
 действительно можно писать на C++ как на "C с классами", а можно - как на C++.

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

Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
Во втором случае код даже визуально будет сильно отличаться от кода на C. 

ага, и это как раз то, что отличает один язык от другого..  Другой ход мыслей,  а не иные наименования определяют язык.

Это сообщение отредактировал(а) mes - 20.1.2013, 19:05


--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  20.1.2013,  20:03 Найти цитируемый пост)
Другой ход мыслей,  а не иные наименования определяют язык.


Именно. Только вот не Вы ли ранее писали вот это:

Цитата(mes @  9.1.2013,  21:39 Найти цитируемый пост)

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


PM   Вверх
mes
Дата 20.1.2013, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  18:19 Найти цитируемый пост)
Именно. Только вот не Вы ли ранее писали вот это:

ну и ?  вполне возножно, что я не точно сформулировал, ибо русским, окромя этого сайта практически и не пользуюсь. Давайте разберем, с учетом контекста :
Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)

Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)
Там останется только синтаксис.


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


я так понимаю проблема во второй части цитаты, ибо первая как раз и говорит о сравнении языков в одной плоскости.. 
"В противном случае.." это опровержении цитаты собеседника, который настаивал, что без  учета возможностей платформы, в языках останется лишь синтаксис.. На что и было приведено сравнение языков, которые не являются диалектами одного языка. Т.е. подобной фразой я пытался натолкнуть на мысль, что не синтаксисом отличаются С++ и Паскаль...
при этом даже если тут загвоздка, следующая фраза того поста, по идеи, расставляет все на свои места :

Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)
при всем этом выразительность одного языка может быть неприемлимой/неудобной как для другой платформы, так и области программированния... потому это тоже должно быть уточнено перед спором.. 

именно выразительная способность, а не синтаксис. Не представляю, как синтаксис может быть нe приемлим для какой то платформы smile


Это сообщение отредактировал(а) mes - 20.1.2013, 22:41


--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Так, собственно, и так уже понятно, что сошлись.   smile Итог такой:
1) Различие и сходство языков определяется не синтаксисом (это к вопросу о родственности Java и C);
2) удобство пользования языком от синтаксиса существенно зависит (но не только от него), однако этот фактор в основном субъективен (это к вопросу о преимуществе синтаксически-С-подобных языков над остальными).

Добавлено через 1 минуту и 51 секунду
Цитата(mes @  20.1.2013,  23:40 Найти цитируемый пост)
Не представляю, как синтаксис может быть нe приемлим для какой то платформы


Кстати, при желании исхитриться и представить можно.  smile  Именно это было одной из основных причин, погубивших APL.
PM   Вверх
mes
Дата 26.1.2013, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  22:21 Найти цитируемый пост)
 Различие и сходство языков определяется не синтаксисом (это к вопросу о родственности Java и C);

зачастую к синтаксису приписывают морфологию,  так как морфология имеет сильное влияние на синтаксис, и сопутствуют друг другу.. 
вот например конструкции :
Код

1. if (true) {}
2. IF(True) Then Begin End;

синтаксически разные , но морфологически схожи, а
Код

1. for(int i=0; i>-10 &&  i<10; ++i){...}
2. For i=0 To 10 Begin ... End

отличаются не только синтаксически, но и морфологически.. но видно что синтаксис конструкции 2. немного избыточен для реализации морфологии 1.
так если в конструкцию 1. добавить To, Step, Begin, End, но при этом сохранить морфологию, то конструкции останется родственной, в отличие синтаксически похожей констукции 2..

Добавлено @ 13:46
Цитата(Фантом @  20.1.2013,  22:21 Найти цитируемый пост)
удобство пользования языком от синтаксиса существенно зависит (но не только от него), 

тут опять же, смысл не в том что удобнее && или AND, это действительно дело вкуса , a о том, каким синтаксисом удобнее отразить логику языка.. 
Так например опять те же Begin с End добавить в С не сложно.. но зачем они там нужны ?

Это сообщение отредактировал(а) mes - 26.1.2013, 19:40


--------------------
PM MAIL WWW   Вверх
volatile
Дата 26.1.2013, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mes @  26.1.2013,  13:42 Найти цитируемый пост)
1. for(int i=0; i &&  i<10; ++i){}
2. For i=0 To 10 Begin End

Цитата(mes @  26.1.2013,  13:42 Найти цитируемый пост)
синтаксис конструкции 2. немного избыточен для реализации морфологии 1.

сама конструкция 1 избыточна, ибо цикл ни разу не выполницца.
mes, Щас фанаты паскаля набегут и скажут что в паскале это запишецца как
Код

;



Это сообщение отредактировал(а) volatile - 26.1.2013, 19:29
PM MAIL   Вверх
volatile
Дата 26.1.2013, 17:46 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Код

somenumericvalue ++;

Разбудите в 3 часа ночи, в дупель пьяного программера С/С++ и спросите что это такое. Он ответит что это инкремент, и будет прав!

Код

somenumericvalue := somenumerivcalue + 1;


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

(Это по поводу легкого прочтения ады, паскакаля и прочих)
И кстати личные предпочтения здесь не причем.
Код объективно неудобно ни писать, ни тем более читать !

PM MAIL   Вверх
mes
Дата 26.1.2013, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(volatile @  26.1.2013,  16:28 Найти цитируемый пост)
ама конструкция 1 избыточна, ибо цикл ни разу не выполницца.

не выполнится из ошибки... бывает.. концентрировался на мысли, а нe коде.. исправил как оно хотелось.. 
volatile,  спасибо за внимательность smile

Цитата

Щас фанаты паскаля набегут и скажут

под конструкцией в моем посте подразумевается не приведенная законченная конструкция с циклом до 10, а конструкция языка for  smile

Добавлено через 5 минут и 59 секунд
Цитата(volatile @  26.1.2013,  16:46 Найти цитируемый пост)
Код объективно неудобно ни писать, ни тем более читать !

ну так, наверняка вместо
Цитата(volatile @  26.1.2013,  16:46 Найти цитируемый пост)
Код

somenumericvalue := somenumerivcalue + 1;

пишут Inc(somenumericvalue); или ?

Это сообщение отредактировал(а) mes - 26.1.2013, 19:46


--------------------
PM MAIL WWW   Вверх
volatile
Дата 26.1.2013, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mes @  26.1.2013,  19:43 Найти цитируемый пост)
концентрировался на мысли, а нe коде.. исправил как оно хотелось.. 

mes, я то вас понял. Просто фанатам п., им палец в рот не клади, откусят smile 

Цитата(mes @  26.1.2013,  19:43 Найти цитируемый пост)
пишут Inc(somenumericvalue); или ?

Inc - это уже  позднее наслоение, неуклюжая попытка подражать С.
и вообще это функция, а не языковая конструкция.

И вы же понимаете , что я говорю не только об инкременте :
somenumericvalue  *= n;
somenumericvalue  += n;
somenumericvalue  -= n;
somenumericvalue  /= n;
somenumericvalue  %= n;

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2355 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.