Re[6]: Ада: Сложный язык для сложных программ.
От: FR  
Дата: 31.01.07 09:03
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, FR, Вы писали:


FR>>А лисп и форт системы не чистые?


СГ>А вот пускай лисперы и фортисты это и расскажут. Я за них их работу делать не буду.


Они бы расказали, если бы ты расказал что понимаешь под словом "чистые"
Re[9]: Сложный язык для сложных срограмм.
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.01.07 09:06
Оценка: 17 (4) +3 :))
Здравствуйте, konsoletyper, Вы писали:

E>>Но, как я понял, проекты в миллионы строк в компании с низкоквалифицированными программистами на C++ вам вести не приходилось. Так откуда же такая нелюбовь ожесточенная? Что же в нем такого отталкивающего?


K>ИМХО, язык жутковатый. Я уже приводил здесь конструкцию, необходимую для обеспечения модульности (чтобы один и тот же файл не инклюдился два раза). Есть много маленьких мелочей. Например, почему я должен к статическому члену класса обращаться через "::", а не через "."? Зачем дважды дублировать сигнатуру метода в .h и .cpp файлах? Почему чтобы сделать вложенный неймспейс, я не могу использовать точечную нотацию, а должен вкладывать друг в друга несколько блоков? Почему существуют три различных способа приведения типа?



Эти вопросы из той же серии, что и "Почему французы говорят на французком, а англичане -- на английском". Исторически так сложилось и ничего здесь уже не сделаешь. Тем более, что сила привычки здесь играет решающую роль. Мне, например, было не понятно, почему в Java статический метод класса вызывается через ".", а не через "::". Или почему в большинстве языков используется специальные соглашения для атрибутов класса (вроде префикса m_, суффикса _ или записи this.something), когда есть хороший способ в Ruby -- префикс @ -- и имя автоматически считается именем класса.

Так что здесь уместно применить фразу "Чего ржете? Вы еще остальных не видели" (не помню откуда она)


K>Почему метапрограммные навороты выглядят так жутко?


Потому что язык на них не расчитывался. А тем, кто начал их применять вовремя руки не поотрывали.

K>Почему нет нормального способа прикрутить человеческий GC, свойства, события и т.д.


По поводу GC: Страуструп создавал C++ имея опыт работы на языке с автоматической сборкой мусора. Поэтому он принципиально сделал C++ без таковой. И все последствия именно из этого.

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

K>Наконец, почему, чтобы понять C++, нужно от и до внимательно прочитать Страуструпа, а потом ещё Липпмана?


Вы думаете этого достаточно?
Я сильно сомневаюсь. C++ -- он, имхо, как любой иностранный язык -- можно учить всю жизнь.

K>Но вот беда: есть языки, к которым подобных вопросов не задаётся.


Но, во-первых, вот и славно. Затем же в C++ камнями кидаться. Тем более, что как я понял, C++ вообще лежит далеко в стороне от ваших профессиональных задач и интересов.

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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 09:18
Оценка:
Здравствуйте, eao197, Вы писали:

J>>С++ вполне соответствовал состоянию индустрии на момент его создания.


E>Вот в этом и вся суть!

Ну хоть один человек меня понял Теперь можно и умереть
(Кстати, обещанные фотки, только не мои и трехлетней давности: http://www.pbase.com/pcm/movingin, но принципиально, ясно дело, ничего не поменялось)

J>>Это сейчас все во всех областях приложения программирования рванули в сторону функциональных языков и метапрограммирования.


E>Да ладно тебе! Это здесь, на RSDN такой мощный поток диферамбов в сторону функциональщины и метапрограммирования, а в "обычной жизни" все по другому. Например, вокруг меня люди заняты обычной работой с использованием самой обычной Java и самого обычного C++.

E>А высокий уровень интереса (и, соответственно, шума) на RSDN вокруг ФП и МП обуславливается тем, что пишут сюда, как мне кажется, весьма деятельные программисты/студенты/аспиранты, которые легко осваивают материал и стремяться к изучению нового.

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

J>>Раз, как вы утверждаете, был большой запрос на это дело со стороны индустрии и это считалось "базовой вещью"?


E>Я не утверждаю, что высокий спрос на метапрограммирование был. Просто для восстановления, скажем так, исторической справедливости говорю, что метапрограммирование сущестовало задолго до появления C++.


Да я ж не спорю, что существовало. Я спорю с тем, что это было базовой вещью.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[13]: Сложный язык для сложных срограмм.
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.01.07 09:20
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>С++ вполне соответствовал состоянию индустрии на момент его создания.


E>>Вот в этом и вся суть!

J>Ну хоть один человек меня понял Теперь можно и умереть

Не, давай просто спокойно жить, работать и не обращать внимания на разные buzzword-ы!

J>(Кстати, обещанные фотки, только не мои и трехлетней давности: http://www.pbase.com/pcm/movingin, но принципиально, ясно дело, ничего не поменялось)


Спасибо!


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Ада: Сложный язык для сложных программ.
От: AVC Россия  
Дата: 31.01.07 09:25
Оценка:
Здравствуйте, jazzer, Вы писали:

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


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


P>>>Хех, как Вы хитро сюда к разговору Вирта прикрутили, это намек на Оберон? Его простота в отсутствии "Синтаксического оверхеда"?


AVC>>Просто там вот это

AVC>>http://www.rsdn.ru/Forum/Message.aspx?mid=707886&amp;only=1
AVC>>не нужно.
AVC>>Впрочем, это, наверное, так интересно...

J>Демагогия чистой воды.


Где?
Конкретному человеку на конкретном примере (его собственном — исключительно для доходчивости) показываю, в чем простота Оберона (раз уж ему стало интересно; не я ведь Оберон помянул): в отсутствии самой потребности писать подобный код.

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

Хоар
Re[9]: Сложный язык для сложных срограмм.
От: Yuri Khomic  
Дата: 31.01.07 09:43
Оценка:
Hello, jazzer!
You wrote on Mon, 29 Jan 2007 16:59:04 GMT:

dmz>> На Java был бы валидный код — о памяти позаботился бы GC


j> Вот как раз с GC и была проблема.

j> Он банально не успевал чистить память, в результате все корилось
j> из-за нехватки памяти.

А какой конкретно механизм сборки мусора там использовался?
И не происходило ли это во времена когда еще не было HotSpot?
Posted via RSDN NNTP Server 2.0
Re[10]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 09:46
Оценка:
Здравствуйте, Yuri Khomic, Вы писали:

dmz>>> На Java был бы валидный код — о памяти позаботился бы GC


j>> Вот как раз с GC и была проблема.

j>> Он банально не успевал чистить память, в результате все корилось
j>> из-за нехватки памяти.

YK>А какой конкретно механизм сборки мусора там использовался?

Понятия не имею, я не джавист.

YK>И не происходило ли это во времена когда еще не было HotSpot?

Нет, это было в прошлом году.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[9]: Сложный язык для сложных срограмм.
От: Kisloid Мухосранск  
Дата: 31.01.07 09:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что за работа?


Дипломная работа. Отрывок из введения.
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[13]: Сложный язык для сложных срограмм.
От: rameel https://github.com/rsdn/CodeJam
Дата: 31.01.07 09:51
Оценка: +1
Здравствуйте, dmz, Вы писали:

dmz>Попробуй с его помощью разобрать SQL-запрос в виде строки и добавить в класс поля,

dmz>соответствующие его колонкам.

А в чем собственно проблема, кроме сложности написания парсера SQL запроса?! Макрос в Немерле по сути полноценная программа, доступно все, что доступно обычной программе, а в ней хоть к гуглю обращайся за помощью
... << RSDN@Home 1.2.0 alpha rev. 669>>
Re[6]: Ада: Сложный язык для сложных программ.
От: CreatorCray  
Дата: 31.01.07 09:54
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Конкретному человеку на конкретном примере (его собственном — исключительно для доходчивости) показываю, в чем простота Оберона (раз уж ему стало интересно; не я ведь Оберон помянул): в отсутствии самой потребности писать подобный код.

Странно, мне и на С++ нет ни малейшей потребности писать подобный код. Что я делаю не так?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[11]: Сложный язык для сложных срограмм.
От: Yuri Khomic  
Дата: 31.01.07 10:00
Оценка:
Hello, jazzer!
You wrote on Wed, 31 Jan 2007 09:46:54 GMT:

dmz>>>> На Java был бы валидный код — о памяти позаботился бы GC


j>>> Вот как раз с GC и была проблема.

j>>> Он банально не успевал чистить память, в результате все
j>>> корилось из-за нехватки памяти.

YK>> А какой конкретно механизм сборки мусора там использовался?

j> Понятия не имею, я не джавист.

Сложно тогда о чем-то разговаривать
Posted via RSDN NNTP Server 2.0
Re[11]: Сложный язык для сложных срограмм.
От: rameel https://github.com/rsdn/CodeJam
Дата: 31.01.07 10:04
Оценка: +2
Здравствуйте, CreatorCray, Вы писали:

CC>Открою тебе страшную тайну: микрософт думает только о том, как продать свои творения и подсадить на них еще больше народу.


Открою тебе еще более страшную тайну: любая корпорация, борющаяся за место на рынке, думает о том, как продать свои творения и подсадить на них больше народу.
... << RSDN@Home 1.2.0 alpha rev. 669>>
Re[7]: Сложный язык для сложных срограмм.
От: Kisloid Мухосранск  
Дата: 31.01.07 10:31
Оценка: :))
Здравствуйте, AndreiF, Вы писали:

AF>И усилению самомнения программиста, который продравшись через горы проблем и заморочек, добирается наконец до решения задачи

AF>Никакой другой язык не дает такого удовлетворения — там слишком просто всё делается

Ошибаешься, Лисп на много больше усиливает самомнение
На своем горьком опыте знаю, каждая законченная программа вызывает такой мощный поток эндорфинов, что С++ рядом не валялся
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[7]: Ада: Сложный язык для сложных программ.
От: AVC Россия  
Дата: 31.01.07 10:36
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

AVC>>Конкретному человеку на конкретном примере (его собственном — исключительно для доходчивости) показываю, в чем простота Оберона (раз уж ему стало интересно; не я ведь Оберон помянул): в отсутствии самой потребности писать подобный код.

CC>Странно, мне и на С++ нет ни малейшей потребности писать подобный код. Что я делаю не так?

Фразу о конкретности адресата, наверное, Вы не заметили.
По поводу указанной потребности — можете обсудить это с Plague.
Впрочем, еще проще считать, что конструкцию if(const==var) злые оберонщики придумали.

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

Хоар
Re[9]: Сложный язык для сложных срограмм.
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.01.07 10:46
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Опять не пойму, с чем ты споришь. Ты меня хочешь в какой-то флейм втянуть, что ли?


Re[6]: Сложный язык для сложных срограмм.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 10:51
Оценка:
Здравствуйте, Yuri Khomic, Вы писали:

YK>Hello, jazzer!

YK>You wrote on Wed, 31 Jan 2007 09:46:54 GMT:

dmz>>>>> На Java был бы валидный код — о памяти позаботился бы GC


j>>>> Вот как раз с GC и была проблема.

j>>>> Он банально не успевал чистить память, в результате все
j>>>> корилось из-за нехватки памяти.

YK>>> А какой конкретно механизм сборки мусора там использовался?

j>> Понятия не имею, я не джавист.

YK>Сложно тогда о чем-то разговаривать


Сложно, а как же

Но я исхожу из того, что люди там в команде были достаточно квалифицированные и знали, что делают. И они наверняка знали и про хот спот, и про механизм (я даже не знал, что в JVM им можно управлять, а оно вот как, оказывается).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[10]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 10:54
Оценка:
Здравствуйте, VladD2, Вы писали:

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


J>>Опять не пойму, с чем ты споришь. Ты меня хочешь в какой-то флейм втянуть, что ли?


VD>Re[6]: Сложный язык для сложных срограмм.


А, ну так ты споришь со словами, вырванными из контекста. Прочитай выше. Если все равно будет непонятно, о чем я говорил — прочитай мой разговор с eao197 — он в результате смог понять, что я имел в виду
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[10]: Сложный язык для сложных срограмм.
От: Cyberax Марс  
Дата: 31.01.07 10:59
Оценка: 2 (1)
Yuri Khomic wrote:
> А какой конкретно механизм сборки мусора там использовался?
> И не происходило ли это во времена когда еще не было HotSpot?
Есть такая особенность у Java-вского GC, он может бросать OOM, если
память слишком быстро распределяется (особенно это классно, когда размер
кучи в пару-тройку гигабайт). Лечится тюнингом опций.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[9]: Сложный язык для сложных срограмм.
От: Plague Россия  
Дата: 31.01.07 10:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Gajdalager wrote:

>> В теории .Нет кроссплатформенный, а моноплатформенность .Нета происходит
>> не от каких-либо просчетов в архитектуре или спецификации, а из-за
>> политики МС.
C>Вообще-то, я уже как-то флеймил, что из-за некоторых предположений в
C>модели памяти .NET — его будет сложно портировать на nccNUMA-машины
C>(когда они появятся ).

А чего это за машины? что-то Гугл не слышал... дайте ссылку плиз.
Re[10]: Сложный язык для сложных срограмм.
От: Cyberax Марс  
Дата: 31.01.07 11:07
Оценка:
Plague wrote:
> C>Вообще-то, я уже как-то флеймил, что из-за некоторых предположений в
> C>модели памяти .NET — его будет сложно портировать на nccNUMA-машины
> C>(когда они появятся ).
> А чего это за машины? что-то Гугл не слышал... дайте ссылку плиз.
non-cache-coherent Non-Uniform-Memory-Access (ищется по "ncc NUMA" — с
пробелом). В частности, это некоторые Альфы и Cell в PS3.
Posted via RSDN NNTP Server 2.0
Sapienti sat!