Что-то ваши объяснения очень далеки от научности. Стиль, как для маленьких детей или передачи на Discovery для домохозяек, прочитавший только эту статью, так и не сможет логично и обосновано объяснить, почему же собственно все так.
— при наведении на mymap подсказка выглядит просто как «std::map», не показывая, какими параметрами инстанцирован шаблон, нужно переходить к месту определения.
2.
std::map<std::string //...
в той же студии или kdevelop — будет подсказка по параметрам шаблона при наборе в духе
std::map<K, <b>T</b>, H = std::hash<K>, A = std::allocator<std::pair<K, T>>>
в QtCreator — ничего. В случае с большими наборами шаблонных параметров (например в boost), которые наизусть не помнишь — такого очень не хватает
Нет ничего плохого в том, что бы заимствовать удачные идеи. И дело тут не в деньгах на мак — его себе может позволить любой, однако остаются на линуксе из множества соображений.
Просто не нужно приводить не приводимое и выдумывать костыли с рядом reinterpret_cast, static_cast, const_cast, что бы потом не говорить что на C++ легко выстрелить себе в ногу. И если не нравится строгая типизируемость, можно писать на языках с динамической типизацией.
public class Program {
public static int Puzzle(String s) {
return s.replaceAll("[^a]", "").length();
}
}
— ничуть не хороший код по сравнению с первым, и приветствовать такое — странно. Серьезный оверхед в виде использования регулярного выражения и создания новой строки там, где нужно просто посчитать символы 'a', ради экономии 3 строчек;
Ну я например использую gnome 3, особых глюков нет (если не считать ими например иногда залипающую на секунду анимацию появления рабочего стола при запуске, но это мелочи). Внешне тоже на мой вкус вполне симпатично (мак не юзал, но по его скриншотам кажется что не хуже чем там)
1.
— при наведении на mymap подсказка выглядит просто как «std::map», не показывая, какими параметрами инстанцирован шаблон, нужно переходить к месту определения.
2.
в той же студии или kdevelop — будет подсказка по параметрам шаблона при наборе в духе
в QtCreator — ничего. В случае с большими наборами шаблонных параметров (например в boost), которые наизусть не помнишь — такого очень не хватает
почти дословно пхпшный вариант
— ничуть не хороший код по сравнению с первым, и приветствовать такое — странно. Серьезный оверхед в виде использования регулярного выражения и создания новой строки там, где нужно просто посчитать символы 'a', ради экономии 3 строчек;