Извиняюсь, но когда писал думал, что "бред" в данном контексте это исконно литературное выражение но никак не ругательная форма. Если что, то простите пожалуйста, намерения мои были совершенно безобидно - образовательные, но никак не иронической направленности.
Насчёт педагога. Язык C++ придуман был Бьярном Страуструпом в начале 1980-х годах не у нас в России. Вся техническая информация на то время по большому счёту доставалась нам из уст в уста и методом научного тыка, которая в дальнейшем конспектировалась и иногда выливалась в учебные пособия некоторых профессоров в качестве очередной галочки. В качестве компилятора для того времени был стандартом де-факто - borland c. Других компиляторов просто боялись, т.к. в те времена компиляторы разных фирм и даже версий не блестали совместимостью между собой. К сожалению, погрязнув в 90-х Россия не продвинулась в плане инноваций в образовании и не блещет актуальностью курса в образовательных процессах особенно в сфере информационных технологий, направление развития которых меняется чуть ли не каждый год. Но с того времени уже много воды утекло и было принято два международных стандарта, один в 1998 году (ISO/IEC 14882:1998 C++), другой в 2003 году (ISO/IEC 14882:2003 C++). И вот-вот уже на подходе новая версия стандарта (кодовое имя - C++0X). Но к сожалению, образовательные курсы никто переписывать не собирается и педагогический состав в силу своего категорического отрицания всего нового, редко от него отступает. Так и приходится метаться между обязательным неактуальным курсом и самообучением по текущим реалиям. Хорошо, что на данный момент в некоторых учебных заведениях текущие реалии начинают наконец-то пробивать железный занавес.
Если смотреть с современной стороны, то по тому коду следующие комментарии:
1. Namespaces является частью стандарта с момента его первого опубликования.
2. Стандарт гласит: "All library entities are defined within namespace std.", что в переводе означает: "Все сущности стандартной библиотеки C++ должны быть заключены в пространство имён std". Поэтому, например в отношении cout нужно либо использовать глобальное (в пределах одной копмилируемой единицы) объявление use namespace std либо использовать оператор расширения видимости, например std::cout.
3. У заголовков стандартной библиотеки расширения .h по стандарту нет. Но некоторые компиляторы оставляют на своё усмотрение возможность использования .h на конце имени заголовка стд. библиотеки.
4. Функция main() всегда должна возращать int.
Пруфлинк с отсылкой на стандарт.
А вот если чуток подправить...
#include <iostream>
using namespace std;
int main()
{
cout <<"Учимся программировать на языке C++!";
}
то компиляция проходит, но на экран требуемый текст все равно не выводится??
Всё правильно поправлено. И компилируется и работает:
mamon@mamon-desktop:~/tmp/rrr$ cat tst.cxx
#include <iostream>
using namespace std;
int main()
{
cout <<"Учимся программировать на языке C++!";
}
mamon@mamon-desktop:~/tmp/rrr$ g++ tst.cxx -o tst -Wall
mamon@mamon-desktop:~/tmp/rrr$ ./tst
Учимся программировать на языке C++!
Я думаю, что стоит начинать изучать с++ не сразу с IDE а с самих основ. Например используя простой текстовый редактор, компилятор. В дальнейшем make-файлы. А потом браться уже за IDE. Ведь не зная основ можно в IDE запутаться конкретно.
зы. Видел я недавно, программу банк-клиента, написанную на MS Access, с некоторыми модулями работающими в режиме MS-DOS. Написана она кстати была во времена, когда уже про Windows XP потихоньку стали забывать. Вот это и есть результат нашего современного образования.