История изменений
Исправление www_linux_org_ru, (текущая версия) :
Любой тюринг-полный язык ничего не может дать, чего не даст другой тюринг-полный язык.
ну чувак ты выдал... ладно перечислю, что он может дать:
1. синтаксис (в качестве примера — си по сравнению с брейнфаком, или та же перегрузка операторов для с++ vs. c, или возможность задать свои операторы, как в scala vs. c++)
2. че-то в рантайме, что трудно прикрутить к другому языку (вроде Mark-compact algorithm для сборщика мусора в с++)
3. проверки во время компиляции (например, что элемент коллекции имеет тип int, а не какой-то Object)
4. оптимизации на основе знания типов во время компиляции (можно не выяснять в рантайме, какой у объекта тип, а сразу хреначить по нему нужной, известной во время компиляции, функцией); заодно можно optimize out все лишнее или известное
5. знание того, что компилятор знает (например, того, что поток управления выходит из блока — это с++ vs. старый си)
Исходная версия www_linux_org_ru, :
Любой тюринг-полный язык ничего не может дать, чего не даст другой тюринг-полный язык.
ну чувак ты выдал... ладно перечислю, что он может дать:
1. синтаксис (в качестве примера — си по сравнению с брейнфаком, или та же перегрузка операторов для с++ vs. c, или возможность задать свои операторы, как в scala vs. c++)
2. че-то в рантайме, что трудно прикрутить к другому языку (вроде Mark-compact algorithm для сборщика мусора в с++)
3. проверки во время компиляции (например, что элемент коллекции имеет тип int, а не какой-то Object)
4. оптимизации на основе знания типов во время компиляции (можно не выяснять в рантайме, какой у объекта тип, а сразу хреначить по нему нужной, известной во время компиляции, функцией); заодно можно optimize out все лишнее или известное