Здравствуйте, Sinclair, Вы писали:
SV.>>Имело бы смысл спросить, как так получилось, что "нечитабельное нагромождение скобочек" стало так популярно (изначально). То есть, популярность PHP можно отнести на си-подобие, а сам Си с чего вдруг стал так популярен? Если вот так поставить вопрос, я могу с облегчением ответить: не знаю. Наверное, есть в нем что-то такое, чего вы не видите за "нечитабельным нагромождением скобочек".
S>Я вам помогу. На самом C был написан Unix. Именно это, а также его близость к архитектуре процессоров DEC, обеспечило ему популярность среди системных программистов. Не нужно думать, что там какой-то особенно тёплый ламповый синтаксис.
Во-первых, не написан, а переписан. В 1972 году. До этого он был написан на асме. Это не возражение, а уточнение.
Во-вторых, мейнфреймы и миникомпьютеры были отдельным доменом. Микромпьютеры и микрософт для них появились позднее, в 80-х. Начинали они, насколько можно судить, с чистого листа. Apple Lisa OS была написана на Паскакале и асме. Последовавшая затем MacOS унаследовала паскакальский codebase. Мне удалось найти такие цифры: встроенное в MacOS приложение MacPaint содержало 5804 строки на Паскале и 2738 строк ассемблера 68000 (см.
http://en.wikipedia.org/wiki/Macpaint). По более системным кускам MacOS мне конкретных цифр найти не удалось, но все в один голос говорят, что оси и остальной софт в Apple в те дни писали на Паскале и асме.
Теперь, что касается производителей микрософта для микрокомпьютеров. Есть такой Тэнди Трувер, который проработал в MS 28 лет и (первое время) заведовал там всеми языками (As a result I had been given the overall responsibility for managing Microsoft’s programming languages, which included FORTRAN, Pascal, COBOL, 8086 Macro Assembler, and its first C compiler for MS-DOS).
Вот что он
пишет:
While Microsoft had its own version of Pascal, it had been groomed as a professional developer’s tool, and in fact was the core language Microsoft wrote many of its own software products in before it was displaced by C.
Отсюда, кстати, и пошли потом макросы PASCAL, знакомые каждому WinAPI-программисту.
На двух микрокомпьютерных платформах, которые потом задавили всех остальных — MS на IBM PC и Macintosh — Паскаль имел самую большую фору среди всех языков высокого уровня. Он был не только core language внутри компаний, но еще и насаждался среди софтверных вендоров (см. воспоминания ветеранов-яблочников). Это исторический факт. Факт также и то, что он был затем вытеснен "нечитабельным нагромождением скобочек". Остальное — домыслы. В частности, было ли вытеснение обусловлено нахлынувшими с DEC'ов сишниками, или не было. Если вы в самом деле хотите помочь, можете рассказать что-нибудь о трудовых мигрантах тех времен. Это я действительно не знаю, о чем честно и написал. Про то, что Unix и Си, как партия и Ленин, вы расскажите кому-нибудь, кто кроме теплого лампового лукоморья в своей жизни ничего не читал.
Лично я склонен думать, что Pascal был тогда святым граалем, серебрянной пулей и всем остальным. Академический стройный язык, а не какой-нибудь a fractal of bad design, типа PHP. 8-P Затем оказалось, что... да я вот лучше процитирую (некого анонима, не Трувера — уточняю, чтобы вопросов не возникло о достоверности, ее нет, это просто мнение):
Windows was originally an application written in Pascal that ran on top of DOS. Pascal was popular in the eighties because it embodied the principles of structured programming. It was a very restrictive language since it was intended to channel the programmer into good programming practice and forbid the bad. It was a real nanny language. Very frustrating. It was overtaken by C which gave the programmer greater freedom especially with hardware.
Видите, мнений сколько угодно. В том числе, несовпадающих с вашим. Еще раз: я покопал-покопал вокруг да около, плюнул и написал — "не знаю". Тридцать лет спустя, сам черт не разберет, что у них там творилось.
Ладно, на этом я возвращаюсь в XXI век и если кто-то хочет поспорить/уточнить/добавить/помочь и так далее, пусть копнет глубже.
SV.>>Кто такие не-программисты и как вы померили у них популярность языков с C-подобной грамматикой?
S>Например, финансовые аналитики, которые пишут бизнес-правила в ERP системах типа Оракловых.
Например?! Я просто зверею! Делаются такие утверждения, как "Очень мало популярных среди не-программистов языков с C-подобной грамматикой", а просишь показать, откуда яйца растут — "например". Я не имею ничего против самого тезиса (кроме того, что он к теме не относится, поскольку нуб — начинающий профессионал, а не-программист — профессионал в другой области, типа дизайна игровых уровней или финансовой аналитики), но надо или самому провести исследовательскую работу, или сослаться на готовую, чтобы такое писать. А не выводить из единичного примера.
SV.>>С этого места все желание отвечать пропало. Ладно, я лучше netch'а подожду. На каждый чих не наздравствуешься.
S>Отож. Вот уж ткнули так ткнули.
И, раз уж начал, закончу. Отвечать я не захотел примерно поэтому же. Вот с какого места я не стал это делать:
Да и тот же VB.NET настолько популярен, что самим своим существованием доказывает вашу неправоту.
О, если бы было в принципе возможно
доказать (не)правоту такого утверждения, как "популярность языка зависит от его си-подобия"! Или вообще
доказать, что популярность чего-то зависит от чего-то! Те, кто понимает, что такое доказательство никогда такого не написали бы. Сравните с тем, как выразился я: "Эта моя теория замечательно
подкрепляется тем фактом...". Разницу видите? Не знаю про вас, но теплые ламповые 95% видеть не должны. Если видите, то какие могут быть вопросы, почему я не хочу продолжать?
Ладно, допустим, oldjackal заберет назад слово "доказывает" и напишет вместо него "показывает" или "подкрепляет".
Я, сославшись на индекс TIOBE, понимаю, что это не идеальный инструмент. Но это хоть какое-то обоснование статистикой. Не голословные утверждения типа "настолько популярен". Настолько это насколько? Согласно индексу TIOBE на апрель 2012 года, это менее одного процента. Старый VB более, чем в пять раз его превосходит. И обоих вместе взятых обходит C#, который... процитирую-ка я другого работника Микрософта, который профессионально занимался в этой компании языками:
And along came .NET. This was a grand project, the super-duper unifying project to clean up the whole mess once and for all. It would have memory management, of course. It would still have Visual Basic, but it would gain a new language, one which is in spirit virtually the same as Visual Basic but with the C-like syntax of curly braces and semicolons. And best of all, the new Visual Basic/C hybrid would be called Visual C#, so you would not have to tell anyone you were a "Basic" programmer any more.
Написано там буквально следующее: к Visual Basic'у не только прикрутили "нечитабельное нагромождение скобочек", но и добавили Си в название. Результат:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Apr 2012 Apr 2011 Programming Language Ratings Delta Status
--------------------------------------------------------------------
5 4 C# 7.348% +0.16% A
...
7 7 (Visual) Basic 4.962% +0.28% A
..
14 35 Visual Basic .NET 0.978% +0.64% A
Слово Visual в скобках видите? Это все бейсики мира. Не только Visual. И это при том, что я выше написал:
6 самых популярных языков (в том числе и PHP!) обладают ярко выраженными си-подобием. Причем, суммарная их доля составляет (примерно) две трети.
По-моему, этого достаточно, чтобы отказаться от дальнейших споров. Пусть oldjackal накопает хотя бы какую-то фактуру, чтобы что-то показать, не говоря уж — доказать, а потом я продолжу. А так, он пять минут на свой постинг тратит, а я два часа за фактами бегаю. Нечестно получается.