Здравствуйте, Mamut, Вы писали:
M>Это, в частности, подтверждает тезис о том, что C++ не нужен: современные языки с GC и JIT просто уделывают его на традиционных для C/C++ задачах.
Boost.Xpressive?
re2c?
С ними бы сравнить, а то получается сравнение интерпретатора (C++) с компилятором (Java) (да, забавно).
Здравствуйте, gandjustas, Вы писали:
C>>И оно как бы на С++ написано и прекрасно с ним интерфейсится. G>Не все что написано на С++ прекрасно с ним интерфейсится. G>Хотелось бы на примеры такого посмотреть. http://github.com/ianloic/llvm-fnmatch — как раз для регэкспов.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, gandjustas, Вы писали:
C>>>И оно как бы на С++ написано и прекрасно с ним интерфейсится. G>>Не все что написано на С++ прекрасно с ним интерфейсится. G>>Хотелось бы на примеры такого посмотреть. C>http://github.com/ianloic/llvm-fnmatch — как раз для регэкспов.
Здравствуйте, gandjustas, Вы писали:
C>>>>И оно как бы на С++ написано и прекрасно с ним интерфейсится. G>>>Не все что написано на С++ прекрасно с ним интерфейсится. G>>>Хотелось бы на примеры такого посмотреть. C>>http://github.com/ianloic/llvm-fnmatch — как раз для регэкспов. G>А где же там C++?
А на нём всё так же, питоновский API его повторят один-в-один.
CLang можно посмотреть. Из него люди сделали встраиваемый компилятор C++ недавно — это к вопросу о JIT'е для С++
Здравствуйте, gandjustas, Вы писали:
C>>И оно как бы на С++ написано и прекрасно с ним интерфейсится. G>Не все что написано на С++ прекрасно с ним интерфейсится. G>Хотелось бы на примеры такого посмотреть.
примеры есть в самом LLVM, скачай и посмотри. Я лично использовал LLVM как jit-кодогенератор для транслятора паскалеподобного языка (интерпретатор написан на С++), лет эдак пять назад. Rocket-science в этом обнаружено не было, осилит любой студент знающий C++ и основы компиляторостроения.
Здравствуйте, gandjustas, Вы писали:
G>>>>>Подход с компиляцией регэкспов в машинный код на С++ невозможен (или очень проблематичен). CC>>>>С какого перепугу то? CC>>>>Если компиляция в байт код возможна то почему вдруг невозможно сгенерить машинный код? CC>>>>Это будет банальный JIT. G>>>Ну так напиши. G>>>Говорить можно что угодно, а JIT для С++ пока еще никто не изобрел. CC>>А нам и не надо JIT для компилируемого языка. Нам надо JIT для байт кода, который сгенерит regex по строке паттерна.
G>Да пофигу. Даже гугл неспособен такое сделать, не надо мне доказывать что это несложная задача.
Подозреваю что им просто нафиг не упало это делать. Для их задач производительности и интерпретируемого regex хватило.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
C++ перестанет быть нужен, когда на управляемых языках можно будет писать драйвера и другие низкоуровневые штучки-дрючки, т.е. ядро ОС будет написано на управляемом языке.
Мнится мне, в ближайшие несколько лет какая-нить из виртуальных машин будет реализована в процессоре на аппаратном уровне.
Здравствуйте, Codechanger, Вы писали:
C>C++ перестанет быть нужен, когда на управляемых языках можно будет писать драйвера и другие низкоуровневые штучки-дрючки, т.е. ядро ОС будет написано на управляемом языке.
Если посмотреть выше по теме то там различают Си и С++. Си ближайшие десятилетия точно ничто не грозит
Хотя я думаю C++ за него тоже крепко вцепится
На управляемом языке в ближайшие десяток-другой лет OS кроме нишевых не будет, слишком гигантский объем как самой работы по написанию OS
так и еще на порядки больший существующего прикладного кода, это тысячи человеко лет и десятки миллиардов долларов, просто не окупится.
C>Мнится мне, в ближайшие несколько лет какая-нить из виртуальных машин будет реализована в процессоре на аппаратном уровне.
Игрались и с lisp машинами и forth машинами и java машинами начиная с 60 годов.
В результате по цене/производительности выиграл универсальный процессор + хороший оптимизатор.
M>Это, в частности, подтверждает тезис о том, что C++ не нужен: современные языки с GC и JIT просто уделывают его на традиционных для C/C++ задачах.
Все это, конечно хорошо, но с каких это пор разбор текстов по гибким правилам стал традиционной для C++ задачей? Для этого другие, более подходящие средства есть.
Мамут, бросай курить то что куришь, это явно не табак
А если серьезно, то c++ переживет все ваши дотнеты, хаскели и прочие эрланги, ибо с++ уже классика. Проверенная временем. А то, что с него уходят, так это просто от того что на новомодных языках можно быстрее нарисовать софт, чем на с++. Все упирается в деньги: быстрее нарисуешь — больше получишь.
S>Мамут, бросай курить то что куришь, это явно не табак
S>А если серьезно, то c++ переживет все ваши дотнеты, хаскели и прочие эрланги, ибо с++ уже классика. Проверенная временем. А то, что с него уходят, так это просто от того что на новомодных языках можно быстрее нарисовать софт, чем на с++. Все упирается в деньги: быстрее нарисуешь — больше получишь.
Не только быстрее. Часто — и эффективнее. См., например Facebook Chat, ссылки сам найдешь.
Здравствуйте, Sheridan, Вы писали:
S>А если серьезно, то c++ переживет все ваши дотнеты, хаскели и прочие эрланги, ибо с++ уже классика. Проверенная временем.
Ага, примерно как фортран и кобол.
Естественно настанет время когда на С++ писать будут единицы, но будут еще мегатонны кода, который еще надо будет саппортить.
Кстати Lisp в этом плане гораздо круче C++. И существует дольше, и развиваться продолжает, и проекты на нем пишутся.
Здравствуйте, gandjustas, Вы писали:
G>Кстати Lisp в этом плане гораздо круче C++. И существует дольше, и развиваться продолжает, и проекты на нем пишутся.
С++ тоже развиваться продолжает и проекты на нём пишутся. Получается по-твоему лисп гораздо круче С++ лишь потому что он существует дольше?
Здравствуйте, Хвост, Вы писали:
Х>Здравствуйте, gandjustas, Вы писали:
G>>Кстати Lisp в этом плане гораздо круче C++. И существует дольше, и развиваться продолжает, и проекты на нем пишутся. Х>С++ тоже развиваться продолжает и проекты на нём пишутся. Получается по-твоему лисп гораздо круче С++ лишь потому что он существует дольше?
У тебя какая-то странная манера читать сообщение. Ты в них видишь исключительно то что хочешь видеть.
S>>Мамут, бросай курить то что куришь, это явно не табак
S>>А если серьезно, то c++ переживет все ваши дотнеты, хаскели и прочие эрланги, ибо с++ уже классика. Проверенная временем. А то, что с него уходят, так это просто от того что на новомодных языках можно быстрее нарисовать софт, чем на с++. Все упирается в деньги: быстрее нарисуешь — больше получишь.
M>Не только быстрее. Часто — и эффективнее. См., например Facebook Chat, ссылки сам найдешь.
Шеридан, ты бы хоть раз в жизни бы почитал то, о чем тебе говорят, хоть бы понял, о чем тебе говорят.
Здравствуйте, gandjustas, Вы писали:
CC>>А нам и не надо JIT для компилируемого языка. Нам надо JIT для байт кода, который сгенерит regex по строке паттерна.
G>Да пофигу. Даже гугл неспособен такое сделать, не надо мне доказывать что это несложная задача.
Ну на джаве же решили? Там же, насколько я понял, тоже генерация байт-кода, а не исходника, как в питоне. Из дотнета для C++ TypeBuilder доступен как COM-объект (вернее, наоборот, этот COM доступен в дотнете как "родной класс", но не суть), в общем точно так же можно его через COM дергать из нейтива для генерации байт-кода. Загрузкой этого байт-кода тоже можно управлять, т.е. затребовать, чтобы определенный метод был заджиттен, получить его слот/адрес — и вперед.
Здравствуйте, Codechanger, Вы писали:
C>C++ перестанет быть нужен, когда на управляемых языках можно будет писать драйвера и другие низкоуровневые штучки-дрючки, т.е. ядро ОС будет написано на управляемом языке. C>Мнится мне, в ближайшие несколько лет какая-нить из виртуальных машин будет реализована в процессоре на аппаратном уровне.
Это давно происходит, например популярны очень-многоядерные Форт-процессоры (заметь, исполнительные модели джавы и дотнета тоже смахивают на форт-машину). Там прикол в том, что у таких "высокоуровневых" процов гораздо большая отдача вычислительной мощности на ватт энергии, чем у традиционных. А с развитием минюатиризации только этот показатель и будет являться решающим/ограничивающим. Т.е. все к этому идет, про что ты говоришь. К тому же, уже сейчас у этих байт-кодов есть возможность оперировать абсолютными адресами, поэтому на них писать драйвера в принципе можно, например, используя C# unsafe, и не пользуясь GC. Запись/чтение портов все-равно будет через некий аналог hal.dll.
G>Естественно настанет время когда на С++ писать будут единицы, но будут еще мегатонны кода, который еще надо будет саппортить.
Это вряд ли случится. Компилятор С можно написать на С. .NET машину нельзя написать на .NET. Следовательно, С не умрет никогда. Ну а формоклепатели и кнопкотаскатели конечно гораздо более заметны, чем тихие харкдорщики.