С++ulture [опубликована в КТ № 22]
От: Зверёк Харьковский  
Дата: 11.06.04 09:30
Оценка: 1009 (118) +14 -5 :))) :))) :))) :)))
#Имя: FAQ.philosophy.culture
Такой вещи, как идеальный текст, не существует. Как не существует идеального отчаяния.
Харуки Мураками, «Слушай песню ветра»


Что такое хороший язык программирования и каким он должен быть? Всякое люди говорят – тут тебе и дуракоустойчивость (прошу прощение, «защита от новичка»), и Тьюринг-полнота, и формализуемость, и еще 1024 критерия. Ерунда. Все нижеследующее просьба рассматривать как эссе в вольном стиле, а не научную статью.

Бывают языки красивые, бывают строгие, бывают такие, которым легко обучиться, бывают такие, на которых легко писать. Их не используют.
Бывают такие, в которых черт ногу сломит – и на них пишет полмира(сноска: Программистского мира, естественно, раз уж мы о языках программирования.), но никто не любит.
Бывают языки сложные и неочевидные: чтобы писать на них хорошие программы, нужно учиться несколько лет и прочесть кучу книг. В них влюбляются, им посвящают стихи, о них спорят до хрипоты, визга и метания в собеседника банановой кожуры.
***
Я – программист. Я знаю пять языков – и верен одному. Я прочел два десятка книг только об этом языке – а хотел бы две сотни. Я могу математически доказать правильность своей программы – и скрещиваю пальцы на удачу, когда запускаю ее на компиляцию. Я могу переписать одну строку восьмью разными способами – но работает только девятый. Я безнадежен.
***
Один мой коллега (и все профессора в моем институте) верят, что главное – это научиться программированию. Мол, человек, умеющий программировать вообще, за пару недель освоит новый язык и будет писать на нем великолепные программы. Поэтому в университетских курсах огромное количество сухой(сноска: Ну, черт с ней, полусухой.) теории, а языки преподаются на уровне пресловутого «Хелло Ворлд». Но это все равно, что научить стихосложению вообще – а потом студент за пару недель осваивает финский или хинди и выдает первоклассные стихи, входит в историю поэзии и энциклопедический словарь. Вроде абсурд получился.
Каждый язык программирования – из тех, в которые влюбляются – порождает свою культуру. Совершенно так же, как человеческий язык. У него есть свой букварь(сноска: Кафедра Программного обеспечения, курс «Язык С++», 48 часов. (с) расписание 2-го курса.). Но это – только самое-самое начало. Есть лексика – и даже нецензурная(сноска: Скажите любому опытному С++-программисту магическое слово goto. Только с безопасного расстояния.) (как и в естественном языке, иногда она бывает к месту). Есть синтаксис. Это все вещи понятные, относительно легко изучаемые и относительно легко формализуемые. Именно поэтому можно автоматизировать проверку синтаксической и лексической правильности как программы, так и данной статьи.
Но и это все – лишь начало. Ни «Война и мир», ни «безбашенная» проза Харуки Мураками, ни «Linux» – не являются математически стройными системами. Их нельзя назвать написанными «правильно» или «неправильно». Более того, и то, и другое, и третье можно было написать несчетным(сноска: В математическом, а не поэтическом значении этого слова.) количеством различных способов – но написаны (и ценны) они именно такими.
Нельзя «научить» писать эпиграммы, сказки или статьи, которые нравятся редакторам «Компьютерры». Каждое такое произведение – это результат творческого переосмысления опыта предыдущих поколений + немножко вдохновения + владение языком + собственный стиль. Нельзя научить писать программы на C++ – это результат [см. выше].
***
У этого языка есть свои идиомы – краткие, но очень емкие конструкции. Есть традиции – и возможность плевать на них. Есть свобода выбора стиля. Есть возможность различными словами написать одну и ту же фразу. Есть классика – и есть классики: Бьярн Страуструп, Джефф Элджер, Герб Саттер, Николай Джосаттис. На этом языке можно сказать двусмысленность – и не получить линейкой по рукам от компилятора(сноска: …а трое суток искать, почему программа вылетает, когда i=17.). Здесь есть место творчеству – здесь есть место спорам – здесь есть место 48-часовым марафонам по отладке программ. Есть тонкости, доступные только снобам. Здесь нет только одного – места, где можно было бы остановиться и сказать: все, ничего нового для меня в этом мире не осталось.
***
Поймите меня правильно – пользователю, в общем-то, плевать, на каком языке написана программа и насколько освоился в этом языке ее автор. В отличие от написания текстов, в программировании конечный продукт очень слабо связан со стилем и культурой автора текста(сноска: Естественно, связан сильно, но совершенно неочевидно для конечного потребителя.). Тем не менее, программа, которой «еще жить и жить» от версии к версии, просто обязана быть красивой – а не то в следующей версии никто уже не поймет, куда там дописывать новый кусок и почему старый до сих пор работает и «черт побери, кто вообще это писал?!» Но я вам другое скажу – программа, написанная с любовью и вдохновением, все же немножко другая. Не такая, как вышедшая из-под клавиатуры человека, любимая фраза которого «Надо сидеть и педалить код».
***
Поймите меня правильно еще раз. С++, будучи изначально и по определению промышленным языком, является крайне неудачным выбором для промышленного производства. Там нужен язык другой – пригодный для производства штампованных программ штампованными программистами. Язык, который подразумевает только один вариант выражения мысли. Язык, на котором десять разных программистов по одному и тому же заданию напишут практически идентичный код(сноска: Кстати, это уже шаг в сторону автоматической генерации программ или «Цель деятельности всех программистов – чтобы их деятельность стала не нужна».). Язык, в котором шаг влево, а равно и шаг вправо просто нельзя выразить средствами языка.
Язык, который никто и никогда не будет любить.
***
Я – программист. Мой любимый язык – С++. Это отвратительный язык. Я могу сказать на нем любую глупость. Мне не помогут и двести книг. Девятый вариант строчки тоже не сработал. Я безнадежен.


11.06.04 18:06: Перенесено модератором из 'C/C++'. TK (42) в Философия программирования Kubera (4) в Философия программирования Twirl (0) оставить как есть — Павел Кузнецов
FAQ — це мiй ай-кью!
Re: С++ulture [опубликована в КТ № 22]
От: Denwer Россия  
Дата: 11.06.04 10:03
Оценка: -7 :)))
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Я – программист. Я знаю пять языков – и верен одному. Я прочел два десятка книг только об этом языке – а хотел бы две сотни. Я могу математически доказать правильность своей программы – и скрещиваю пальцы на удачу, когда запускаю ее на компиляцию. Я могу переписать одну строку восьмью разными способами – но работает только девятый. Я безнадежен.


А ты не задувмывался над тем, почему тебе 20 книг не хватает, а не проблема ли тут в самом языке. Действительно по С++ можно написать кол-во книг стремящихся к бесконечности.

ЗХ>***

ЗХ>Один мой коллега (и все профессора в моем институте) верят, что главное – это научиться программированию. Мол, человек, умеющий программировать вообще, за пару недель освоит новый язык и будет писать на нем великолепные программы. Поэтому в университетских курсах огромное количество сухой(сноска: Ну, черт с ней, полусухой.) теории, а языки преподаются на уровне пресловутого «Хелло Ворлд». Но это все равно, что научить стихосложению вообще – а потом студент за пару недель осваивает финский или хинди и выдает первоклассные стихи, входит в историю поэзии и энциклопедический словарь. Вроде абсурд получился.
Действительно, человек, знающий ооочень хорошо архитектуру ПК, ООП, и представляет как работает ОС, сможет достаточно быстро разобраться в языке программирования. Меньше всего это относиться к С++, потому что вот так все запущенно. Но всеже, если знаешь С++, то писать на жабе не составит труда уже через 1 месяц.
ЗХ>Каждый язык программирования – из тех, в которые влюбляются – порождает свою культуру. Совершенно так же, как человеческий язык. У него есть свой букварь(сноска: Кафедра Программного обеспечения, курс «Язык С++», 48 часов. (с) расписание 2-го курса.). Но это – только самое-самое начало. Есть лексика – и даже нецензурная(сноска: Скажите любому опытному С++-программисту магическое слово goto. Только с безопасного расстояния.) (как и в естественном языке, иногда она бывает к месту). Есть синтаксис. Это все вещи понятные, относительно легко изучаемые и относительно легко формализуемые. Именно поэтому можно автоматизировать проверку синтаксической и лексической правильности как программы, так и данной статьи.
Культуру пораждает все старое и в свое время очень популярное, например битлс. Это не говорит о том что он будет таким популярным как и прежде.
ЗХ>Но и это все – лишь начало. Ни «Война и мир», ни «безбашенная» проза Харуки Мураками, ни «Linux» – не являются математически стройными системами. Их нельзя назвать написанными «правильно» или «неправильно». Более того, и то, и другое, и третье можно было написать несчетным(сноска: В математическом, а не поэтическом значении этого слова.) количеством различных способов – но написаны (и ценны) они именно такими.
Говоришь как специалист по ОС, и плиз расшифруй понятие матиматически сторойная ОС, а уж тем более Война и мир.
ЗХ>Нельзя «научить» писать эпиграммы, сказки или статьи, которые нравятся редакторам «Компьютерры». Каждое такое произведение – это результат творческого переосмысления опыта предыдущих поколений + немножко вдохновения + владение языком + собственный стиль. Нельзя научить писать программы на C++ – это результат [см. выше].
ЗХ>***
ЗХ>У этого языка есть свои идиомы – краткие, но очень емкие конструкции. Есть традиции – и возможность плевать на них. Есть свобода выбора стиля. Есть возможность различными словами написать одну и ту же фразу. Есть классика – и есть классики: Бьярн Страуструп, Джефф Элджер, Герб Саттер, Николай Джосаттис. На этом языке можно сказать двусмысленность – и не получить линейкой по рукам от компилятора(сноска: …а трое суток искать, почему программа вылетает, когда i=17.). Здесь есть место творчеству – здесь есть место спорам – здесь есть место 48-часовым марафонам по отладке программ. Есть тонкости, доступные только снобам. Здесь нет только одного – места, где можно было бы остановиться и сказать: все, ничего нового для меня в этом мире не осталось.
Все это относиться и к АСМу. А вот тут ты явно не прав: На этом языке можно сказать двусмысленность – и не получить линейкой по рукам от компилятора. Для этого есть стандарт, или другое развитие событий: компилятор глючит, а это везде может быть.
ЗХ>***
ЗХ>Поймите меня правильно – пользователю, в общем-то, плевать, на каком языке написана программа и насколько освоился в этом языке ее автор. В отличие от написания текстов, в программировании конечный продукт очень слабо связан со стилем и культурой автора текста(сноска: Естественно, связан сильно, но совершенно неочевидно для конечного потребителя.). Тем не менее, программа, которой «еще жить и жить» от версии к версии, просто обязана быть красивой – а не то в следующей версии никто уже не поймет, куда там дописывать новый кусок и почему старый до сих пор работает и «черт побери, кто вообще это писал?!» Но я вам другое скажу – программа, написанная с любовью и вдохновением, все же немножко другая. Не такая, как вышедшая из-под клавиатуры человека, любимая фраза которого «Надо сидеть и педалить код».
Действительно пользователю плевать на язык, но у него есть свои предрассудки: красиво, без тормазов, плюс много всего. Но для реализации этого программисту не плевать на чем писать.
ЗХ>***
ЗХ>Поймите меня правильно еще раз. С++, будучи изначально и по определению промышленным языком, является крайне неудачным выбором для промышленного производства. Там нужен язык другой – пригодный для производства штампованных программ штампованными программистами. Язык, который подразумевает только один вариант выражения мысли. Язык, на котором десять разных программистов по одному и тому же заданию напишут практически идентичный код(сноска: Кстати, это уже шаг в сторону автоматической генерации программ или «Цель деятельности всех программистов – чтобы их деятельность стала не нужна».). Язык, в котором шаг влево, а равно и шаг вправо просто нельзя выразить средствами языка.
ЗХ>Язык, который никто и никогда не будет любить.
ЗХ>***
ЗХ>Я – программист. Мой любимый язык – С++. Это отвратительный язык. Я могу сказать на нем любую глупость. Мне не помогут и двести книг. Девятый вариант строчки тоже не сработал. Я безнадежен.

Всех нас ждет платформа НЕТ, а там уж сам выбирай(я уж точно на С++|CLI не перейду). Так что или писать под математически не стройные системы типа линукс, либо Windows+C#.
Re: С++ulture [опубликована в КТ № 22]
От: MaximE Великобритания  
Дата: 11.06.04 10:07
Оценка: 55 (8) +3 :))
Зверёк Харьковский wrote:

> ***
> Поймите меня правильно – пользователю, в общем-то, плевать, на каком языке написана программа и насколько освоился в этом языке ее автор. В отличие от написания текстов, в программировании конечный продукт очень слабо связан со стилем и культурой автора текста(сноска: Естественно, связан сильно, но совершенно неочевидно для конечного потребителя.). Тем не менее, программа, которой «еще жить и жить» от версии к версии, просто обязана быть красивой – а не то в следующей версии никто уже не поймет, куда там дописывать новый кусок и почему старый до сих пор работает и «черт побери, кто вообще это писал?!» Но я вам другое скажу – программа, написанная с любовью и вдохновением, все же немножко другая. Не такая, как вышедшая из-под клавиатуры человека, любимая фраза которого «Надо сидеть и педалить код».


С выделенным можно не согласиться.

(Conway's Law) В 1968г. Mel Conway постулировал, что структура любой информационной систеы изоморфна структуре организации построившей эту систему. Одним из замечательных следствий этого законо является то, что продукт всегда выражает ценности, интересы, таланты и цели создателей продукта и нет способа этого избежать.

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 alpha
Re[2]: С++ulture [опубликована в КТ № 22]
От: Зверёк Харьковский  
Дата: 11.06.04 10:16
Оценка: 13 (2) +1
Здравствуйте, MaximE, Вы писали:

ME>Зверёк Харьковский wrote:


ME>

>> ***
>> Поймите меня правильно – пользователю, в общем-то, плевать, на каком языке написана программа и насколько освоился в этом языке ее автор. В отличие от написания текстов, в программировании конечный продукт очень слабо связан со стилем и культурой автора текста(сноска: Естественно, связан сильно, но совершенно неочевидно для конечного потребителя.). Тем не менее, программа, которой «еще жить и жить» от версии к версии, просто обязана быть красивой – а не то в следующей версии никто уже не поймет, куда там дописывать новый кусок и почему старый до сих пор работает и «черт побери, кто вообще это писал?!» Но я вам другое скажу – программа, написанная с любовью и вдохновением, все же немножко другая. Не такая, как вышедшая из-под клавиатуры человека, любимая фраза которого «Надо сидеть и педалить код».


ME>С выделенным можно не согласиться.


ME>(Conway's Law) В 1968г. Mel Conway постулировал, что структура любой информационной систеы изоморфна структуре организации построившей эту систему. Одним из замечательных следствий этого законо является то, что продукт всегда выражает ценности, интересы, таланты и цели создателей продукта и нет способа этого избежать.


Не стану спорить. Но в скобках замечу, что твое высказывание опровергает одну мою фразу, при этом подтверждая мою правоту в целом.
ы?
FAQ — це мiй ай-кью!
Re: С++ulture [опубликована в КТ № 22]
От: adontz Грузия http://adontz.wordpress.com/
Дата: 11.06.04 10:28
Оценка: 24 (3) :))) :))) :))
Здравствуйте, Зверёк Харьковский, Вы писали:

Круто! Офигительная пропаганда C#! Особеннно это

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


А как завуалированно!

Браво! Просто Браво! Я в восторге!

Напомнило вот это Виталий Пищенко — Рекламный проспект
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: С++ulture [опубликована в КТ № 22]
От: MaximE Великобритания  
Дата: 11.06.04 10:30
Оценка:
Зверёк Харьковский wrote:

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

> ы?

Ъ !

Действительно, я писал именно о той фразе.

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 alpha
Re[2]: С++ulture [опубликована в КТ № 22]
От: _Obelisk_ Россия http://www.ibm.com
Дата: 11.06.04 10:33
Оценка: 1 (1) +1
Здравствуйте, Denwer, Вы писали:


D>Всех нас ждет платформа НЕТ, а там уж сам выбирай(я уж точно на С++|CLI не перейду). Так что или писать под математически не стройные системы типа линукс, либо Windows+C#.


Не Net-ом единым жив программист.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[3]: С++ulture [опубликована в КТ № 22]
От: Denwer Россия  
Дата: 11.06.04 10:36
Оценка: -2
Здравствуйте, _Obelisk_, Вы писали:

_O_>Здравствуйте, Denwer, Вы писали:



D>>Всех нас ждет платформа НЕТ, а там уж сам выбирай(я уж точно на С++|CLI не перейду). Так что или писать под математически не стройные системы типа линукс, либо Windows+C#.


_O_>Не Net-ом единым жив программист.


Вот я и сказал либо linux либо windows+net.
Re[2]: С++ulture [опубликована в КТ № 22]
От: Зверёк Харьковский  
Дата: 11.06.04 10:38
Оценка: :))) :)))
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, Зверёк Харьковский, Вы писали:


A>Круто! Офигительная пропаганда C#! Особеннно это


A>

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


A>А как завуалированно!


А я так надеялся, что никто не догадается

A>Браво! Просто Браво! Я в восторге!


A>Напомнило вот это Виталий Пищенко — Рекламный проспект
FAQ — це мiй ай-кью!
Re: С++ulture [опубликована в КТ № 22]
От: davenger  
Дата: 11.06.04 11:10
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>***

ЗХ>Я – программист. Мой любимый язык – С++. Это отвратительный язык. Я могу сказать на нем любую глупость. Мне не помогут и двести книг. Девятый вариант строчки тоже не сработал. Я безнадежен.

До слёз пробирает... :`-|
Re[4]: С++ulture [опубликована в КТ № 22]
От: _Obelisk_ Россия http://www.ibm.com
Дата: 11.06.04 11:10
Оценка: 1 (1)
Здравствуйте, Denwer, Вы писали:

D>>>Всех нас ждет платформа НЕТ, а там уж сам выбирай(я уж точно на С++|CLI не перейду). Так что или писать под математически не стройные системы типа линукс, либо Windows+C#.


_O_>>Не Net-ом единым жив программист.


D>Вот я и сказал либо linux либо windows+net.


Помимо Linux-а и виндов есть другие ОСы и платформы. Одних embedded систем куча всяких разных.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re: С++ulture [опубликована в КТ № 22]
От: jazzer Россия Skype: enerjazzer
Дата: 11.06.04 11:14
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

все-таки по поводу девяти разных строчек — это скорее про perl :)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: С++ulture [опубликована в КТ № 22]
От: e-Xecutor Россия  
Дата: 11.06.04 11:16
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, Зверёк Харьковский, Вы писали:


J>все-таки по поводу девяти разных строчек — это скорее про perl

Ха! Девять.. Мелко берёте
Одних только Japh-ов уже не одна сотня
Re[3]: С++ulture [опубликована в КТ № 22]
От: jazzer Россия Skype: enerjazzer
Дата: 11.06.04 11:18
Оценка:
Здравствуйте, e-Xecutor, Вы писали:

EX>Здравствуйте, jazzer, Вы писали:


J>>Здравствуйте, Зверёк Харьковский, Вы писали:


J>>все-таки по поводу девяти разных строчек — это скорее про perl :)

EX>Ха! Девять.. Мелко берёте :)
EX>Одних только Japh-ов уже не одна сотня :)
Просвети темного, що це таке?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: С++ulture [опубликована в КТ № 22]
От: Denwer Россия  
Дата: 11.06.04 11:19
Оценка: 1 (1) +1 -1
Здравствуйте, _Obelisk_, Вы писали:

_O_>Здравствуйте, Denwer, Вы писали:


D>>>>Всех нас ждет платформа НЕТ, а там уж сам выбирай(я уж точно на С++|CLI не перейду). Так что или писать под математически не стройные системы типа линукс, либо Windows+C#.


_O_>>>Не Net-ом единым жив программист.


D>>Вот я и сказал либо linux либо windows+net.


_O_>Помимо Linux-а и виндов есть другие ОСы и платформы. Одних embedded систем куча всяких разных.


Много конечно, простоя под линуксом подразумевал все оставшееся. Но это очень маленькая часть от всех ОС. А большая то windows. И скоро все бедет сводиться к следующему: либо ты получаешь хорошую ЗП, и всегда есть возможность сменить работу, либо ты становишься реликвией, программируешь на С++, постоянно думаешь на что поесть, и все такое. Вот сам посмотри каково сейчас чистым сишникам живется, с работой всегда напряг(не надо приводить токо единичные случаи ), а что разве все что сейчас пишется нельзя написать на чистом С? Конечно можно, но не рационально. Поэтому и не пишется. Я сам сторонник С++(всеми руками и ногами), но такова реальность.И от этого не уйти. За нас выбор сделан майкрософтом.
Re: С++ulture [опубликована в КТ № 22]
От: uw  
Дата: 11.06.04 12:01
Оценка: -1
Здравствуйте, Зверёк Харьковский, Вы писали:

Интересный текст, но несколько(сильно) сумбурный.

ЗХ>Бывают языки сложные и неочевидные: чтобы писать на них хорошие программы, нужно учиться несколько лет и прочесть кучу книг. В них влюбляются, им посвящают стихи, о них спорят до хрипоты, визга и метания в собеседника банановой кожуры.


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

Проблема в том, что на C++(равно как и на других языках) пишут программы и без (n+куча) лет и книг. И даже (n+куча)^2 книг и лет не гарантируют хорошесть програм. А вот нацеленность на написание хороших програм гарантирует это на 80-90% в не зависимости от используемых языковых средств.

ЗХ>Я – программист. Я знаю пять языков – и верен одному. Я прочел два десятка книг только об этом языке – а хотел бы две сотни. Я могу математически доказать правильность своей программы – и скрещиваю пальцы на удачу, когда запускаю ее на компиляцию.


А может стоило прочесть 5 книг о C++ и узнать два десятка языков?

ЗХ> Я могу переписать одну строку восьмью разными способами – но работает только девятый. Я безнадежен.


Это мне напомнило Evolution of a Haskell Programmer из раздела Haskell Humor на haskell.org. Там правда 20+ способов и работают все. Тоже фанатичные люди писали.


ЗХ> Именно поэтому можно автоматизировать проверку синтаксической и лексической правильности как программы, так и данной статьи.


Не все так просто. Статья на русском,а там сложная морфология и прочие безобразия. Потом "синтаксис" ЯП != синтаксис НЯ, это на самом деле грамматика. Грамматика в русском очень серьезно зависит от контекста, т.е. конкретного смысла слов и словосочетаний. В общем на данный момент полностью реализуема только лексическая(орфографическая) проверка.


ЗХ>Поймите меня правильно еще раз. С++, будучи изначально и по определению промышленным языком, является крайне неудачным выбором для промышленного производства. Там нужен язык другой – пригодный для производства штампованных программ штампованными программистами. Язык, который подразумевает только один вариант выражения мысли. Язык, на котором десять разных программистов по одному и тому же заданию напишут практически идентичный код(сноска: Кстати, это уже шаг в сторону автоматической генерации программ или «Цель деятельности всех программистов – чтобы их деятельность стала не нужна».).


По твоему признанию язык C++ это язык на котором из девяти вариантов только один будет правильным. Следовательно десять штампованных программистов напишут правильный код, а среди десяти программистов C++ восемь напишут абсолютно
неправильный, один напишет штампованный, а последний окажется гением и напишет экстра-террестриальный реюзабельный шаблон обходящий недочеты C++ при помощи заимствованной из языков парадигмы X концепции + 75% макросов + два десятка грязных хаков для того чтобы внедрить идею в жизнь на всех трех-четырех высоко-совместимых со стандартом C++ компиляторов, каждый из которых совместим с ним по другому.

Какова мораль? C++ — плохой промышленный язык? Да нет же, каждый десятый C++ программист — гений.

ЗХ>Язык, в котором шаг влево, а равно и шаг вправо просто нельзя выразить средствами языка.


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

ЗХ>Я – программист. Мой любимый язык – С++. Это отвратительный язык. Я могу сказать на нем любую глупость. Мне не помогут и двести книг. Девятый вариант строчки тоже не сработал. Я безнадежен.


Видимо ты все же не гений. Есть же еще десятый вариант.
Re[6]: С++ulture [опубликована в КТ № 22]
От: _Obelisk_ Россия http://www.ibm.com
Дата: 11.06.04 12:04
Оценка: 5 (2) -1
Здравствуйте, Denwer, Вы писали:

D>Много конечно, простоя под линуксом подразумевал все оставшееся. Но это очень маленькая часть от всех ОС. А большая то windows. И скоро все бедет сводиться к следующему: либо ты получаешь хорошую ЗП, и всегда есть возможность сменить работу, либо ты становишься реликвией, программируешь на С++, постоянно думаешь на что поесть, и все такое. Вот сам посмотри каково сейчас чистым сишникам живется, с работой всегда напряг(не надо приводить токо единичные случаи ), а что разве все что сейчас пишется нельзя написать на чистом С? Конечно можно, но не рационально. Поэтому и не пишется. Я сам сторонник С++(всеми руками и ногами), но такова реальность.И от этого не уйти. За нас выбор сделан майкрософтом.


Linux — это отнюдь не все остальное. Есть куча разных специфических ОС.
Вообще говоря, когда занимаешься созданием языков программирования (или чем-то с этим связанным), то смотреть на все эти споры о том, какой язык круче и что будет, когда его не будет, становится не интересно и скучно.
Нет существенной разницы на чем писать, если знаешь что писать. Особенности и ограничения данного конкретного языка
изучаются довольно быстро.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[4]: С++ulture [опубликована в КТ № 22]
От: e-Xecutor Россия  
Дата: 11.06.04 12:15
Оценка: :))
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, e-Xecutor, Вы писали:


EX>>Здравствуйте, jazzer, Вы писали:


J>>>Здравствуйте, Зверёк Харьковский, Вы писали:


J>>>все-таки по поводу девяти разных строчек — это скорее про perl

EX>>Ха! Девять.. Мелко берёте
EX>>Одних только Japh-ов уже не одна сотня
J>Просвети темного, що це таке?
Japh=Just another perl hacker

Програмка, которая не совсем тривиальным образом выводит эту надпись
Правда далеко не все one liner, но встречаются весьма красивые варианты

Типа:
$\='`'|"'";$\++;$;='/'|'`';$;++;$;++;$;++;$,=$;;$,++;$/=$,;$/++;
$:=$/;$:++;$_='%'|'`';$_.='`'|'#';$_.=$\;$_.='`'|'/';$_.=$".'';
$_.='@'|'*'&~'!';$_.="$:$,$/".$";$_.='`'|'!';$_.='`'|'.';
$_.='/'|'`';$_.=$/.$\;$_.='%'|'`';$_.=$;.$";$_.='@'|':'&~'*';
$_.='`'|'%';$_.=$;;$_.='`'|',';$_.=$".$\;$_.='`'|'!';$_.='#'|'`';
$_.='+'|'`';$_.='`'|'%';$_.=$;.','.$".'>&';$_.=$,&':';`$_`;


Это перловый код. Выводит строку "Just another Perl hacker,"
Re[4]: С++ulture [опубликована в КТ № 22]
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 11.06.04 12:25
Оценка: 9 (1)
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, e-Xecutor, Вы писали:


EX>>Здравствуйте, jazzer, Вы писали:


J>>>Здравствуйте, Зверёк Харьковский, Вы писали:


J>>>все-таки по поводу девяти разных строчек — это скорее про perl

EX>>Ха! Девять.. Мелко берёте
EX>>Одних только Japh-ов уже не одна сотня
J>Просвети темного, що це таке?

http://www.perl.com/CPAN/misc/japh
Re[2]: С++ulture [опубликована в КТ № 22]
От: misha_sk Россия  
Дата: 11.06.04 12:47
Оценка: +1 :)
Здравствуйте, uw, Вы писали:

uw>А вот есть такой скромный маленький язык C. О нем не спорят до хрипоты, а чтобы писать на нем хорошие програмы нужно учиться месяц-два, да и книг можно вообще не читать. При этом хорошие програмы на нем пишут уже более тридцати лет. Вот ведь непорядок.


uw>Проблема в том, что на C++(равно как и на других языках) пишут программы и без (n+куча) лет и книг. И даже (n+куча)^2 книг и лет не гарантируют хорошесть програм. А вот нацеленность на написание хороших програм гарантирует это на 80-90% в не зависимости от используемых языковых средств.


Мне кажется, что вся прелесть языка С++ (которая и притягивает столько программистов) в глубоких и далеко идущих концепциях заложенных в нем, развитие которых приводит к пониманию совершенно новых неординарных идей и их эффективному применению сейчас и в будущем. Самый яркий пример этого библиотеки Boost, в частности метапрограммирование.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.