Здравствуйте, metaprogrammer, Вы писали:
VD>>А на что она нужна? Ну, как покажи мне хотя бы один востребованный АПИ который был бы только C++-ым?
M> LLVM M> В особенности — CLang
Серьезно? Вот психи. То-то я смотрю для ОКамла там обертку написали.
И как же его используют из других языков?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Игoрь, Вы писали:
И>Только троллишь тут в основном ты.
Ты конечно не тролишь. По крайней мере с виду так не кажется. Ты просто живешь догмами одного выученного инструмента и не хочешь понять, что в нем не все замечательно.
Тебе интересно почему я не привожу аргументов или не бросаюсь тебя убеждать как окружающие?
Это бесполезно. Пока ты сам не захочешь понять, то никто тебе не объяснит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Erop, Вы писали:
E>Для чисел же мы не нуждаемся в NumberBuildere? Чем строки так сильно отличаются?..
Ты сам почти ответил на свой вопрос. Осталось только подумать в чем схожесть и в чем различие строк и чисел.
Потом можно помедитировать над тем в чем различие строк и массивов чисел.
Когда начнет появляться прозрение, то надо спросить себя зачем в С++ есть массивы фиксированной длинны и зачем классы вроде std::vector.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Ты конечно не тролишь. По крайней мере с виду так не кажется. Ты просто живешь догмами одного выученного инструмента и не хочешь понять, что в нем не все замечательно.
Так и хочется спросить, а ты не живешь догмами? Со стороны не сильно заметно, правда последнее время я сюда редко захожу, может что-то и изменилось в этом королевстве. А я, конечно, живу догмами одного инструмента, только ничего, что на этом инструменте я уже года два ничего серьезного не писал? В основном вся разработка у нас сейчас идет под WPF/SL... Но мнение про StringBuilder у меня не изменилось — костыль, крайне неудобный костыль. Это все уже обсуждалось в этой ветке и повторяться не хочется, и введение в Java дополнительной имплементации строк через ропы — подтверждение тому, что реально есть проблемы со связкой String + StringBuilder.
VD>Тебе интересно почему я не привожу аргументов или не бросаюсь тебя убеждать как окружающие?
Нет, мне не интересно, мне просто скуШно, думаю, как и тебе.
Здравствуйте, Игoрь, Вы писали:
И>Так и хочется спросить, а ты не живешь догмами?
Стараюсь не жить, но конечно получается не всегда.
И>Это все уже обсуждалось в этой ветке и повторяться не хочется, и введение в Java дополнительной имплементации строк через ропы — подтверждение тому, что реально есть проблемы со связкой String + StringBuilder.
Что за роппы?
Что касается проблем, то ты их явно из пальца высосал.
VD>>Тебе интересно почему я не привожу аргументов или не бросаюсь тебя убеждать как окружающие? И>Нет, мне не интересно, мне просто скуШно, думаю, как и тебе.
ОК
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Что за роппы?
В данном случае я имел в виду Rope — структуру данных (Ropes: Theory and practice)
A rope data structure represents an immutable sequence of characters, much like a Java String. But ropes' highly efficient mutations make ropes — unlike Strings and their mutable StringBuffer and StringBuilder cousins — ideal for applications that do heavy string manipulation, especially in multithreaded environments.
VD>Что касается проблем, то ты их явно из пальца высосал.
Как сказать. StringBuilder предназначен исключительно для конструирования строк. Если возникает необходимость в редактировании больших объемов данных, то обычный String не подходит из-за эффективности, а StringBuilder крайне неудобен, так как у него отсутствует интерфейс для этого (поиск подстроки, к примеру). Как результат пишутся свои велосипеды над StringBuilder. Собственно, строки на основе ropes и были введены для устранения этого недостатка в Java.
Здравствуйте, VladD2, Вы писали:
M>> LLVM M>> В особенности — CLang
VD>Серьезно? Вот психи. То-то я смотрю для ОКамла там обертку написали.
Плохо смотришь. Там написали C wrappers для очень ограниченного подмножества функциональности LLVM. Эти врапперы постоянно отстают от развития С++-ной части кода, часто ломаются. OCaml и прочие биндинги строятся уже поверх Си, добавляя свои сложности.
Для CLang никаких Си-врапперов нет вообще.
VD>И как же его используют из других языков?
С трудом. И только очень небольшую часть возможностей.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>2. Я не знаю, что придет ему на замену, но это не будет управляемая среда. Это будет язык чисто компилируемый .
Singularity видел?
PD>3. Я перейду на этот новый язык при двух условиях 1) на него перейдет мир и 2) я доживу.
Тю... Не понимаю такого подхода. Ещё более не понимаю тех, кто считает возможным использование одного единственного языка.
Здравствуйте, metaprogrammer, Вы писали:
M> Singularity видел?
Видеть не видел, но мне WolfHound о ней уже столько раз говорил, что почти что и видел. Но это вроде ОС, а не язык ?
PD>>3. Я перейду на этот новый язык при двух условиях 1) на него перейдет мир и 2) я доживу.
M> Тю... Не понимаю такого подхода.
Ну что же, имеешь право. Но для реальной деятельности (а не пионерских упражнений, вроде той же Сингуларити, или Немерле и т.д.) есть маса факторов, определяющих целесообразность использования того или иного языка для тех или иных задач. Никто не призывает использовать С++ для написания сайтов, или Java — для написания драйверов. Но и С++ и Java имею области, где именно их стоит употреблять. И в той области, где С++, ему альтернативы сейчас нет.
>Ещё более не понимаю тех, кто считает возможным использование одного единственного языка.
А разве я утверждал, что надо использовать именно один язык ? Вообще-то я знаю около десяти языков, одни лучше, другие хуже. Но для тех задач, которые я решаю , есть сейчас потенциально 2 языка — С++ и Паскаль. И не потому, что они хорошие, а другие хуже, а потому, что они компилируются в машинный код, а другие нет.
Здравствуйте, Pavel Dvorkin, Вы писали:
M>> Singularity видел?
PD>Видеть не видел, но мне WolfHound о ней уже столько раз говорил, что почти что и видел. Но это вроде ОС, а не язык ?
ОС, да, но я говорю именно про язык. Подмножество C# с аннотациями, компилируемый в нейтив. Так что, разница между managed и native давно уже размыта начисто.
PD>>>3. Я перейду на этот новый язык при двух условиях 1) на него перейдет мир и 2) я доживу.
M>> Тю... Не понимаю такого подхода.
PD>Ну что же, имеешь право. Но для реальной деятельности (а не пионерских упражнений, вроде той же Сингуларити, или Немерле и т.д.) есть маса факторов, определяющих целесообразность использования того или иного языка для тех или иных задач.
Не стоит предполагать, что я ничего не знаю о "реальной деятельности". Всё, что я о ней знаю, весь мой опыт, просто кричит, что С++ — это всегда ОГРОМНЫЕ ПРОБЛЕМЫ. Никто другой столько не навредил, ни Fortran, ни PL/I, ни plain C, ни прочее, в реальной деятельности употреблявшееся.
PD> Никто не призывает использовать С++ для написания сайтов, или Java — для написания драйверов. Но и С++ и Java имею области, где именно их стоит употреблять. И в той области, где С++, ему альтернативы сейчас нет.
Примерчики можно? Кроме использования существующих C++ API. Я таких областей не знаю, при том, что знаю я очень много всякого разного.
>>Ещё более не понимаю тех, кто считает возможным использование одного единственного языка.
PD>А разве я утверждал, что надо использовать именно один язык ? Вообще-то я знаю около десяти языков, одни лучше, другие хуже. Но для тех задач, которые я решаю , есть сейчас потенциально 2 языка — С++ и Паскаль.
Паскаль? Его то вообще уже давно нет, и уж тем более хорошо компилирующегося. И уж если кто и маргинальный язык, так это Паскаль, его не используют вообще нигде. Сейчас существуют десятки языков, эффективно компилирующихся в нейтив, и сейчас всё меньше и меньше задач, требующих непосредственной компиляции в нейтив. Так что странно говорить о том, что язык для таких задач есть только один, и альтернатив ему нет.
Вот, например, как можно было забыть про старую добрую Аду?!?
PD> И не потому, что они хорошие, а другие хуже, а потому, что они компилируются в машинный код, а другие нет.
Как нет? С каких пор? Фортран уже не компилируется? Ада не компилируется? Common Lisp не компилируется? Да блин, даже Прологи многие, и те компилируются.
Извини, но нет решительно никакого желания вести это флейм. Я уже десятки раз эти аргументы слышал и столько же раз отвечал. Если хочешь — поищи в моих постингах.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Извини, но нет решительно никакого желания вести это флейм. Я уже десятки раз эти аргументы слышал и столько же раз отвечал.
Искать влом. Очень интересно, что же такое убойное можно вообще ответить на аргумент (странно, что только десятки раз услышанный, а не сотни), что Ада — компилируемый и низкоуровневый язык.
PD> Если хочешь — поищи в моих постингах.
Здравствуйте, metaprogrammer, Вы писали:
M> Искать влом. Очень интересно, что же такое убойное можно вообще ответить на аргумент (странно, что только десятки раз услышанный, а не сотни), что Ада — компилируемый и низкоуровневый язык.
Ничего. Ада — хороший язык. У него масса преимуществ и только один недостаток — его нет, кроме как в МО США.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Ничего. Ада — хороший язык. У него масса преимуществ и только один недостаток — его нет, кроме как в МО США.
Здравствуйте, Pavel Dvorkin, Вы писали:
M>> Искать влом. Очень интересно, что же такое убойное можно вообще ответить на аргумент (странно, что только десятки раз услышанный, а не сотни), что Ада — компилируемый и низкоуровневый язык.
PD>Ничего. Ада — хороший язык. У него масса преимуществ и только один недостаток — его нет, кроме как в МО США.
Это как раз Паскаля нет, кроме как в некоторых особо диких регионах планеты. А Ада — есть, ещё как. Более того, она есть под все платформы, во всех разнообразных видах, есть и open source. Есть огромное количество специалистов на рынке труда. Есть десятилетия наработок. Есть литература. Как это "нет ады"?!?
Да и Фортран — есть он, очень даже есть. Нельзя говорить, что нет его, когда вот он, тут, с миллионами и миллионами строк постоянно поддерживаемого кода. Живее всех живых.
Здравствуйте, metaprogrammer, Вы писали:
M> Всё, что я о ней знаю, весь мой опыт, просто кричит, что С++ — это всегда ОГРОМНЫЕ ПРОБЛЕМЫ. Никто другой столько не навредил, ни Fortran, ни PL/I, ни plain C, ни прочее, в реальной деятельности употреблявшееся.
Это из серии: трудное детство, скользкий подоконник? И почему мой опыт об этом не кричит? Кстати, можно расшифровать — какой такой вред нанес С++?
M> Примерчики можно? Кроме использования существующих C++ API. Я таких областей не знаю, при том, что знаю я очень много всякого разного.
C++ отлично подходит для околосистемных вещей, всевозможные системные сервисы, фильтры. Или, например, когда сам драйвер режима ядра пишется на С, а в пользовательском режиме обвязка с логикой пишется на С++. Управляемые языки здесь слишком громоздки и не достаточно предсказуемы. Эту нишу С++ занял с самого своего появления и никто его отсюда выбить пока не сумел.
Здравствуйте, Игoрь, Вы писали:
M>> Всё, что я о ней знаю, весь мой опыт, просто кричит, что С++ — это всегда ОГРОМНЫЕ ПРОБЛЕМЫ. Никто другой столько не навредил, ни Fortran, ни PL/I, ни plain C, ни прочее, в реальной деятельности употреблявшееся. И>Это из серии: трудное детство, скользкий подоконник? И почему мой опыт об этом не кричит?
Может, его просто маловато, или просто слишком в жизни везло? Я видел разные проекты, в диапазоне от плохих до кошмарных. Многие были весьма древними, и в таких обычно употреблялось сразу много языков. Самой проблемной частью было всегда то, что написано на C++.
И> Кстати, можно расшифровать — какой такой вред нанес С++?
Самый разнообразный. Главная проблема C++-проектов в их неподдерживаемости. Главная проблема C++ как языка в практической невозможности его автоматизированного анализа. Он слишком мощный и разнообразный, это для промышленного языка недопустимо.
M>> Примерчики можно? Кроме использования существующих C++ API. Я таких областей не знаю, при том, что знаю я очень много всякого разного. И>C++ отлично подходит для околосистемных вещей, всевозможные системные сервисы, фильтры.
А я так не считаю. Я думаю, что C++ абсолютно для таких вещей не подходит, есть гораздо лучшие и значительно более надежные и безопасные решения.
И> Или, например, когда сам драйвер режима ядра пишется на С, а в пользовательском режиме обвязка с логикой пишется на С++.
Тем более — зачем тут C++ со всей его неуклюжей и бессистемной мощью?
И> Управляемые языки здесь слишком громоздки и не достаточно предсказуемы.
Ничем не обоснованное утверждение. Да и неуправляемых языков предостаточно, и многие для этих целей лучше подошли бы.
И> Эту нишу С++ занял с самого своего появления и никто его отсюда выбить пока не сумел.
Пытаться разбираться во вкусовых пристрастиях миллионов мух я не хочу. Мне достаточно того, что все они, в этой нише, имели превеликое множество проблем, вызванных неудачным выбором языка.
Здравствуйте, Юрий Жмеренецкий, Вы писали:
ЮЖ>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>> Ада — хороший язык. У него масса преимуществ и только один недостаток — его нет, кроме как в МО США.
ЮЖ>Таки есть: Who's Using Ada? Real-World Projects Powered by the Ada Programming
Ну не надо же все понимать буквально . Я же не говорю, что ее вообще нет. Реально в мире ПО для рабочих станций ее крайне мало, если вообще есть. Зайди на любые сайты, где предлагают работу — сколько там С++, C#, Java, даже Питон или Перл — и сколько Ады ?
Здравствуйте, Pavel Dvorkin, Вы писали:
ЮЖ>>Таки есть: Who's Using Ada? Real-World Projects Powered by the Ada Programming
PD>Ну не надо же все понимать буквально . Я же не говорю, что ее вообще нет. Реально в мире ПО для рабочих станций ее крайне мало, если вообще есть.
Это не показатель при выборе инструмента для решения своей конкретной задачи.
PD> Зайди на любые сайты, где предлагают работу — сколько там С++, C#, Java, даже Питон или Перл — и сколько Ады ?
А это тем более не показатель. Вот если по CV поискать, то знающих Аду найдётся очень даже много. Так что проект на Аде никаких проблем с поддержкой иметь не будет.