Re[12]: PHP: a fractal of bad design
От: dimgel Россия https://github.com/dimgel
Дата: 14.04.12 17:38
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Голосовалка абсолютно корректная, потому что проверяет ровно одно конкретное утверждение.


Это если тебе чисто к словам докопаться, а не по сути.

AVK>Кому надо?


Гы, в предложении выше слово "если" можно убрать.
Re[13]: PHP: a fractal of bad design
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.04.12 18:00
Оценка:
Здравствуйте, dimgel, Вы писали:

AVK>>Голосовалка абсолютно корректная, потому что проверяет ровно одно конкретное утверждение.


D>Это если тебе чисто к словам докопаться, а не по сути.


Мне чисто "проверить ровно одно конкретное утверждение".

AVK>>Кому надо?

D>Гы, в предложении выше слово "если" можно убрать.

Т.е. кому надо ты не знаешь.
... << RSDN@Home 1.2.0 alpha 5 rev. 31 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[6]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 15.04.12 13:39
Оценка: +2
SV.>

SV.>6 самых популярных языков (в том числе и PHP!) обладают ярко выраженными си-подобием. Причем, суммарная их доля составляет (примерно) две трети.


SV.>По-моему, этого достаточно, чтобы отказаться от дальнейших споров. Пусть oldjackal накопает хотя бы какую-то фактуру, чтобы что-то показать, не говоря уж — доказать, а потом я продолжу. А так, он пять минут на свой постинг тратит, а я два часа за фактами бегаю. Нечестно получается.



Классическое "путаем причину со следствием". Причина популярности этих языков заключается не только (и не столько) в их С-подобности. Выбор синтаксиса часто продиктован банальными маркетинговыми воображениями. С популярен? Делаем следующий язык похожим на него (С++). С++ популярен, делаем следующий язык похожим н него, чтобы можно было переманивать программистов (Java, PHP (в котором больше Перла, чем С)). Java и С++ популярны, делаем следующий язык похожим н них (C#) и т.п.

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


dmitriid.comGitHubLinkedIn
Re[7]: PHP: a fractal of bad design
От: SV.  
Дата: 15.04.12 18:30
Оценка: 6 (1) +2 -1 :)
Здравствуйте, Mamut, Вы писали:

M>Выбор синтаксиса часто продиктован банальными маркетинговыми воображениями. С популярен? Делаем следующий язык похожим на него (С++).


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

http://rsdn.ru/res/book/cpp/cppdesign.xml
Автор(ы): Бьерн Страуструп

В книге, написанной создателем языка C++ Бьерном Страуструпом, представлено описание
процесса проектирования и разработки языка программирования C++. Здесь изложены цели,
принципы и практические ограничения, наложившие отпечаток на структуру и облик C++,
обсужден дизайн недавно добавленных в язык средств: шаблонов, исключений, идентификации
типа во время исполнения и пространств имен. Автор анализирует решения, принятые в ходе
работы над языком, и демонстрирует, как правильно применять реальный
объектно-ориентированный язык программирования.




Читайте и не придумывайте. Создатель языка близко не имел никаких маркетинговых "воображений". Он вообще делал язык исключительно для себя. Все это подробно описано. Вначале он писал докторскую диссертацию, в ходе которой ему пришлось запрограммировать некий симулятор работы программ в распределенной системе. Симулятор писался на Симуле и Симула чуть не погубила проект: в силу "фундаментальных и неустранимых недостатков" симулятор не мог эффективно работать и давать полезные данные. Одним из этих недостатков было автоматическое управление памятью (80+% времени занимала сборка мусора). Чтобы не бросать работу, Страуструп переписал свой симулятор на BCPL, который оказался другой крайностью: он был низкоуровневым даже по сравнению с C. Из этих мытарств был сделан вывод, что не имея адекватного инструмента — то есть, языка — за задачи браться нельзя.

Далее — и этого в условно-бесплатном куске на RSDN уже нет — он в R&D-отделе Bell Labs работал над двумя задачами: писал анализатор сетевого трафика и разбивал униховое ядро на модули. Памятуя о полученном уроке, он начал решение свой частной задачи с того, что создал язык и библиотеку, сочетающие объектность Симулы и скорость Си. Так родился всем известный C++.

В те времена о маркетинге никто не думал. По одной простой причине: маркета не было и предприниматели этой темой не интересовались. Языки рождались либо в инженерных, либо в академических кругах, либо в пересечении этих кругов, как у Страуструпа. Пройдет еще несколько лет, и начнутся первые войны коммерческих компиляторов (не языков). До маркета (и, соответственно, маркетинга) языков еще лет 15.

История та же, что с мегапопулярностью Визуального Бейсика, который доказывает мою неправоту — безответственные утверждения, основанные на незнании фактов, из которых выводится все, что душе угодно.
Re[8]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 16.04.12 10:01
Оценка:
SV.>http://rsdn.ru/res/book/cpp/cppdesign.jpg

SV.>Читайте и не придумывайте. Создатель языка близко не имел никаких маркетинговых "воображений".


Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?


dmitriid.comGitHubLinkedIn
Re[9]: PHP: a fractal of bad design
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.04.12 13:03
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?


Для того, чтобы опровергнуть теорию, достаточно ровно одного факта.
... << RSDN@Home 1.2.0 alpha 5 rev. 31 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[9]: PHP: a fractal of bad design
От: SV.  
Дата: 16.04.12 14:44
Оценка:
Здравствуйте, Mamut, Вы писали:

SV.>>http://rsdn.ru/res/book/cpp/cppdesign.jpg


SV.>>Читайте и не придумывайте. Создатель языка близко не имел никаких маркетинговых "воображений".


M>Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?


Так вам одного пункта мало показалось? Еще добавить? Пожалуйста: к моменту, когда Страуструп приступил к созданию своей будущей нетленки, Си еще не был настолько популярен, чтобы брать его за основу на этом основании.

Воспоминания одного из ветеранов, Jerry Coffin ("Started programming on a Control Data mainframe in FORTRAN IV, back when that was still a new thing"):

At least for people outside universities, C only started to become a reasonable choice around the mid-1980's or so. Early on you have Mark Williams, Datalight, and so on -- lots of companies that are long gone now. Then Borland came out with Turbo C, Microsoft answered with Quick C, and programmers could (and did) debate endlessly about the relative merits of a dozen different compilers.


Другие пишут примерно то же самое. Страуструп работал в Bell Labs, где до этого были созданы C/Unix, и задача, под которую создавался его новый язык, была напрямую связана с унихом. Университеты получали уних от Bell Labs и университетские круги приобщались к сишно-юниховой культуре. За пределами университетов в конце семидесятых люди пользовались Фортраном, Паскалем, Бейсиком, ассемблером, Коболом и PL/I. И всем остальным. Кстати, Страуструп, как он пишет, рассматривал Паскаль, но нашел его... как он там выразился... бесполезной смирительной рубашкой, или типа. Короче, сами посмотрите.

Короче говоря. Переформулируйте ваше возражение так, чтобы в нем не осталось фактических ошибок (если сможете), и мы посмотрим, что от него вообще останется. Тогда по существу возражения я и отвечу. И это вам обойдется дешевле всего, потому, что я ведь могу и продолжить. Про другие языки в том числе.
Re[8]: PHP: a fractal of bad design
От: SV.  
Дата: 16.04.12 14:55
Оценка:
Здравствуйте, netch80, Вы писали:

N>Единственным упоминаемым фактором близости к архитектуре считается автоинкремент и автодекремент, и вот явно про них:


N>

N>People often guess that they were created to use the auto-increment and auto-decrement address modes provided by the DEC PDP-11 on which C and Unix first became popular. This is historically impossible, since there was no PDP-11 when B was developed.


N>Отсюда. От одного из авторов и с сайта конторы-разработчика, то есть авторитетнее уже некуда.


N>Если Вы видите какой-то иной признак близости к архитектуре именно машин DEC (а не любой тогдашней железяки), я вполне послушаю, но до сих пор такого не встречалось.


N>(Всё это Вы и сами могли нагуглить за минуту (у меня ушло ровно столько), но если хотите, чтобы Вам разжевали и положили в рот... ok, я с утра подозрительно добрый.)


Пишут, что все дело в адресации единичных байтов:

The initial developments towards C occurred on the nascent Unix operating system in 1969. When the need was felt for a system programming language, Unix co-inventor Ken Thompson designed and implemented the language B, derived from BCPL, which is the descendent of CPL, and ultimately of Algol 60. The name "B" was chosen as the first letter of "BCPL". Like BCPL, B is a typeless word-oriented language, and B inherits BCPL's block structure. However, B had to be stripped down to fit into the DEC PDP-7 on which Unix was being developed. Its syntax is therefore largely novel, and very terse.

In 1970, the Unix project moved to the DEC PDP-11, a byte-oriented machine. Although B was ported to the PDP-11, its architectural assumptions made it an inconvenient language to use. Starting in 1971, Unix co-inventor Dennis Ritchie extended the B language to support bytes as well as words. The later addition of structures, more conventional array semantics, and later generalizations of the type system, yielded the earliest incarnation of C. Ritchie deliberately left unanswered the question of whether the name "C" was chosen as the next letter of the alphabet after "B" or as the next letter of "BCPL".


http://www.fysh.org/~zefram/gne/c_programming_language/
Re[10]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 16.04.12 14:58
Оценка:
M>>Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?

SV.>Так вам одного пункта мало показалось? Еще добавить? Пожалуйста: к моменту, когда Страуструп приступил к созданию своей будущей нетленки, Си еще не был настолько популярен, чтобы брать его за основу на этом основании.


Действительно, ведь я говорил только и исключительно про С и С++, ага ага


dmitriid.comGitHubLinkedIn
Re[10]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 16.04.12 14:58
Оценка:
M>>Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?

AVK>Для того, чтобы опровергнуть теорию, достаточно ровно одного факта.


Вообще-то, недостаточно


dmitriid.comGitHubLinkedIn
Re[11]: PHP: a fractal of bad design
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.04.12 15:04
Оценка:
Здравствуйте, Mamut, Вы писали:

AVK>>Для того, чтобы опровергнуть теорию, достаточно ровно одного факта.


M>Вообще-то, недостаточно


Это что то новенькое в формальной логике.
... << RSDN@Home 1.2.0 alpha 5 rev. 31 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[11]: PHP: a fractal of bad design
От: SV.  
Дата: 16.04.12 15:31
Оценка:
Здравствуйте, Mamut, Вы писали:

M>>>Ну да, ну да. Из всего того, что я написал, зациклится только и исключительно на одном пункте — это хороший прием, отличающий самых завязтых троллей. Ничего, что я не только про С++ писал?


SV.>>Так вам одного пункта мало показалось? Еще добавить? Пожалуйста: к моменту, когда Страуструп приступил к созданию своей будущей нетленки, Си еще не был настолько популярен, чтобы брать его за основу на этом основании.


M>Действительно, ведь я говорил только и исключительно про С и С++, ага ага


Я все сказал:

>Переформулируйте ваше возражение так, чтобы в нем не осталось фактических ошибок (если сможете), и мы посмотрим, что от него вообще останется.
Re[12]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 16.04.12 15:36
Оценка:
>>Переформулируйте ваше возражение так, чтобы в нем не осталось фактических ошибок (если сможете), и мы посмотрим, что от него вообще останется.

Ну так смотрите, смотрите. Целых два гигантских сообщения, пылая гневом, про С++, и ни слова про Java, PHP, Go, D, которые упомянуты в одном с ними сообщении. Я так понимаю, против них возражений никаких?


dmitriid.comGitHubLinkedIn
Re[12]: PHP: a fractal of bad design
От: Mamut Швеция http://dmitriid.com
Дата: 16.04.12 15:36
Оценка: -2
AVK>>>Для того, чтобы опровергнуть теорию, достаточно ровно одного факта.

M>>Вообще-то, недостаточно


AVK>Это что то новенькое в формальной логике.


Да нет, старенькое. В этом, как его, научном методе


dmitriid.comGitHubLinkedIn
Re[14]: PHP: a fractal of bad design
От: Sorc17 Россия  
Дата: 16.04.12 17:53
Оценка: 6 (1) :)
Мне языки программирования сильно напоминают ММОРПГ, а программисты — ММОРПГ сообщество. Все постоянно ждут какую-то новую игру, которая выйдет/взлетит и все остальные похоронит (го, питон, д, ...), но продолжают играть в WoW (писать на си++, сишарп, ява, пхп, ...) Время идёт, появляются всё новые и новые убийцы WoW, а он всё не помирает и не помирает
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[9]: PHP: a fractal of bad design
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 17.04.12 06:15
Оценка:
Здравствуйте, SV., Вы писали:

N>>Если Вы видите какой-то иной признак близости к архитектуре именно машин DEC (а не любой тогдашней железяки), я вполне послушаю, но до сих пор такого не встречалось.

SV.>Пишут, что все дело в адресации единичных байтов:

Если это про "support bytes as well as words", то формально такой ответ нельзя принять, потому что
* PDP-7 тоже DEC
* адресация байтами — не новшество в компьютерах вообще, она была уже в S/360, если не раньше
* C не единственный язык, в котором допускалась адресация байтами — уже в Фортране она была (хотя реализована была не открытым текстом — а как адская смесь из типов logical*1 и холлеритовых констант)

С другой стороны, вынужден согласиться, что именно для B/BCPL/C добавление байтовой адресации вызвано пересадкой на PDP-11; не могу найти в 18-битной линии возможности адресации порций меньших, чем слово. Нельзя считать, что PDP-11 тут была необходимой — скорее всего, байтовая адресация победила бы так или иначе, для неё было очень много аргументов "за" и всего лишь надо было индустрии дорасти до неё. Согласен, что она это резко ускорила. (Но и испохабила, за счёт little endian.)
The God is real, unless declared integer.
Re[10]: PHP: a fractal of bad design
От: SV.  
Дата: 17.04.12 07:36
Оценка:
Здравствуйте, netch80, Вы писали:

N>Если это про "support bytes as well as words", то формально такой ответ нельзя принять, потому что

N>* PDP-7 тоже DEC
N>* адресация байтами — не новшество в компьютерах вообще, она была уже в S/360, если не раньше
N>* C не единственный язык, в котором допускалась адресация байтами — уже в Фортране она была (хотя реализована была не открытым текстом — а как адская смесь из типов logical*1 и холлеритовых констант)

Изначально S. написал: "его близость к архитектуре процессоров DEC", не уточняя, каких именно деков, так что я бы особо не придирался. Другое дело, что он не показал, в чем эта близость состояла и сам, видимо, не знал (раз вместо того, чтобы дать пруф на свой тезис затребовал пруф на опровержение — каждый раз, когда такое вижу, тихо фигею). Я, кстати, тоже не знал, но наткнулся на эссе и поделился.
Re[13]: PHP: a fractal of bad design
От: SV.  
Дата: 17.04.12 07:44
Оценка:
Здравствуйте, Mamut, Вы писали:

>>>Переформулируйте ваше возражение так, чтобы в нем не осталось фактических ошибок (если сможете), и мы посмотрим, что от него вообще останется.


M>Ну так смотрите, смотрите. Целых два гигантских сообщения, пылая гневом, про С++, и ни слова про Java, PHP, Go, D, которые упомянуты в одном с ними сообщении. Я так понимаю, против них возражений никаких?


Я за вас должен ваше возражение править и потом на него отвечать?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.