Вчера ночью смотрел на
Windows Powershell. Красивый, мощный, удобный язык командной строки («песню о пиве» я уже
написал). Очень понравился, изучается очень быстро, позволяет многое. Основная идея — конвееры, по которым ходят не строки (как в Linux/Unix), а объекты. То есть вы можете получить список процессов, отфильтровать их не как текстовые строки, а как набор объектов — по свойствам, дальше, ну, к пример, отсортировать по какому-то свойству и выгрузить в XML.
Очень хорошо называются командлеты, например, «Get-Process», правда, сразу понятно что делает эта команда. Причём, у команд есть алиасы, которые порадуют любителей Unix: можно написать «Get-Help Get-Process» или «man ps». Где «man» — алиас для «Get-Help», «ps» — алиас для «Get-Process».
Язык слаботипизированный, но можно и жёстко задавать тип (например, в параметрах функций), если хочется.
Кардинально решена проблема с безопасностью (язык мощный, сразу спровоцирует написание вирусов) — файлы этого языка (расширение — .ps1)
не запускаются, а открываются в блокноте. Запуск команд возможен или из оболочки руками или довольно нетривиальными способами (простой юзер не справится).