olezha_:
sevenstreet:
Давайте мухи отдельно, а котлеты отдельно
вот язык, а вот некая реализация его компилятора,
а рядом - другая реализация компилятора того же языка
это разные вещи.
пользователю неинтересно, как имплементирована та или иная конструкция языка (даже если он сам ее и имплементировал час назад), а вот возможность строить абстракции высокого уровня пользуясь конструкциями языка и не привлекая к этому компилятор - это интересно и актуально
вот в том-то и дело, что в нормальном языке foreach позволяет обрабатывать любой тип, любой.
в С++ у templates очень много своих собственных ограничений, любой ли тип данных можно положить в STL container?
даже несмотря на то, что C++ templates Turing-complete, очень ограничены
реализуйте на С++ парсер регулярного выражения пользуясь только средствами языка
причем все должно работать быстро - линейное время выполнения
регулярное выражение задано в виде константной строки
Уже все давно реализовано в Boost::Regex.
В Вашем случае котлеты из мух...как вы можете отделять компилятор от конструкций языка? на каждый язык есть стандарт, по которому и работает компилятор либо интерпретатор. Сначала парсит, а потом реализовывает в машинных кодах или IL.
И вы снова меня не слушаете. foreach не работает с ЛЮБЫМ типом данных...ну не с любым
тип должен быть перечисляемым, это обязательное условие. Поверьте, я это очень хорошо знаю. В питоне нет привычного for, там только foreach. И работает он там, где есть итератор, способный проходить по элементам объекта. отсюда и типы - итерируемые. Вот именно с ними foreach и работает.
А что касается популярности языков...я уже писал выше, сегодня главный критерий - наличие фреймворков и развитого сообщества.
про Boost::Regex - смотрим например сюда http://lh3lh3.users.sourceforge.net/reb.shtml
из таблицы видно, что правильный Perl православный интерпретируемый побивает буста-регекспа
и тикль его побивает и практически все лучше, чем буст-регексп
Буст регексп не используется в серьезных задачах, типа data mining
"Поверьте, я это очень хорошо знаю" - похоже на заклинание шамана.
не верю
лист(ну или список по-русски) в нормальном (читай, функциональном) языке состоять может из чего угодно, из таких же списков, из чисел, структур в понимании "С", строк, данных любого типа. В каком порядке эти элементы списка подаются на вход foreach - неважно, неупорядоченно подаются, главное - все они проходят через foreach. Именно эти особенности позволяют оптимизировать и выполнить foreach параллельно.
"как вы можете отделять компилятор от конструкций языка?" для разного железа с разными возможностями будут компиляторы разные
язык один, вход на компилятор один, а выхлоп разный, ассемблерный и машинный код разный, время исполнения разное, все разное. Поэтому компилятор/интерпретатор - это одна сущность, а язык другая. На чем по-Вашему написана столь любимая Java? Не на Java ли?
Добавлено спустя 5 минут 23 секунды
Vadim1242:
sevenstreet,
Вы тут пытаетесь религиозную войну вести?
olezha_:
где естественно Java не канает [а в правильных местах и С++ тоже не канает]
Меня это типа должно расстроить?
Я работаю и получаю за это деньгу. Работы хватает. И будет хватать еще долго. Если вдруг станет мало, переучусь на тот язык, который востребован. Мне все равно, что это будет.
при чем тут Вы?
тема посвящена выбору первого языка программирования
Вы свой выбор сделали
может, кто-то прочтет эту тему и С++ выучит для того, чтобы знать, как НЕ НАДО программировать
и обратит внимание на хорошие, годные, но не столь разрекламированные языки высокого уровня
деньгу Вы получаете сейчас, а что будет через год или два или пять? не задумывались, что Вас можно заменить более молодыми и дешевыми молодыми выпускниками?