что Вы подразумеваете под «этими вещами» (если можно, конкретно)?
1. файлы? Я что-то там кроме stdin/stdout не наблюдаю.
std::ifstream/std::ofstream отменили уже?
2. Сеть? Мы в 21ом веке живём, а не в двадцатом.
можно брать обычные bsd sockets, в сокетах различия реально небольшие, и сокеты для начального обучения явно не нужны
3. ГУЙ? Ну или там вебинтерфейс например.
Qt, wt, вообще про веб-интерфейс и С++ - это ржака
4. Shared lib (DLL), к примеру OpenSSL, zlib. Самому писать?
разница только внутри, и то не то чтобы сильно большая, подключай и пользуйся - никто не мешает
проблема в указанных Вами пунктах, и вообще в ОС-специфичных вещах, в том что они никак не помогают освоить язык на начальном этапе, особенно такой сложный как С++, короче проблема в том, что у Вас целеполагание сбилось
нет, однако в разных системах даже слеши в разные стороны. Я уж не говорю о более тонких деталях, таких как буферизация потоков.
можно брать обычные bsd sockets, в сокетах различия реально небольшие, и сокеты для начального обучения явно не нужны
в прошлом веке были не нужны. А сейчас компьютер без интернета — нонсенс. Практически любая программа умеет в Сеть выходить, даже те, которым интернет и не нужен(e.g. xfce4-screenshooter умеет скриншоты в Сеть выкладывать).
Qt, wt, вообще про веб-интерфейс и С++ - это ржака
да-да, конечно. 95% ПО с гуем готовят именно на C++.
разница только внутри, и то не то чтобы сильно большая, подключай и пользуйся - никто не мешает
ты вообще в курсе, как so подключаются?
проблема в указанных Вами пунктах, и вообще в ОС-специфичных вещах, в том что они никак не помогают освоить язык на начальном этапе
что-бы освоить любой ЯП, нужно на нём читать и писать. И не только Helloworld`ы.
Да, ещё я забыл про fork сказать, в маздае всё сделано совершенно иначе. Или многозадачность не нужна?
Страуструп написал отличную книгу для тех, кто знает Си. Да-да, не «какой-нибудь ещё ЯП», а именно Си.
Поэтому я для начала порекомендовал бы что-нибудь попроще. А ещё лучше сначала потратить пару месяцев на изучение обычного Си, без классов и шаблонов. Простейшие задачки на ввод-вывод и на численные методы типа решения дифуров по Рунге-Кутту. В противном случае можно забацать красивый пример с десятком классов, а потом долго недоумевать, почему компилятор выдаёт сообщение о дублирующемся имени или наоборот.
Тебе ТС настолько крепко насолил, что в качестве первого ЯП ты ему советуешь аморфное отступозависимое (привет дедушке Фортрану) говно?
Джава ещё куда ни шло. А вообще, думаю, учиться надо начинать с Паскаля (с консольных приложений) или Оберона. Но поскольку автор планирует освоение плюсов, я ему и рекомендую компромиссный вариант - начать с обычного Си.
Я имею в виду ту, которая наиболее известна, и на которой набито большинство шишек. Так получилось, что в России она появилась первой, и до сих пор, говоря «книга Страуструпа», имеют в виду именно её. (Она, вроде, и написана была раньше, хотя тут могу ошибаться.)
Но ты прав, мне следовало привести полное название.
Ну, согласен со всем что ты написал (мелкие детали не в счет). Потому и рекомендую ТС'у до С++ поучить что-то попроще. Все равно то, что он выучит, будет применимо в С/С++, просто с нюансами.
почему же? Есть вполне реальные места, в которых UB очень вероятно, классическое класс → void* → класс. Ну или точки следования, вроде не менее известного x++ + ++x;. Конечно можно набивать свои шишки, либо штудировать говнокод.ру. Но лучше прочитать об этом в учебнике. Потому что в реальном коде этого очень мало, а если и есть, то очень плохо заметно.
тебе. Ты сам начал со мной спорить с аргументом «спервадобейся». Я утверждал, что книжка говно, да и вообще не для *nix'ов, и что в отрыве от системы писать на C++ невозможно, всё равно привязки будут. Это IRL, а не в теории. Потому очень плохо, когда автор книги не уделил должного системе, причём той, которая у читателя.
да, изучать язык программирования С++ целенаправленно с платформозависимых, вторичных по отношению к идеологии языка, кусков не зная толком ни основ, которые лежат в основе языка, ни синтаксиса, ни стандартной библиотеки - верный путь к тому чтобы стать ССЗБ
Аморфное? Для обучения нужен кремень? Мне кажется, что Пайтон неплохо для обучения. Не сложный, распространенный, современный (знания приводятся, можно найти работу), много библиотек (можно писать делающие дело программы быстро и не особо вникая).
Паскаль неплохо, сам долго писал на Дельфи. Но сейчас я бы отдал предпочтение змею.
Есть вполне реальные места, в которых UB очень вероятно, классическое класс → void* → класс.
это не UB, браза
Но лучше прочитать об этом в учебнике.
на начальном этапе гораздо лучше и правильнее понять как писать правильно, и что такое конструктор, деструктор, конструктор копирования, оператор присваивания и т.д., а не изучать тонну kewlzyz0p'ских конструкций, которые к тому же в реальной жизни лучше не использовать
да, изучать язык программирования С++ целенаправленно с платформозависимых, вторичных по отношению к идеологии языка, кусков не зная толком ни основ
основы там простые, 95% синтаксиса можно за день осилить ИМХО. А вот «подводных камней» Over9000. Даже стандарт не всегда внятно раскрывает суть происходящего в коде. Потому начинать ИМХО придётся с «C++ на моём локалхосте», а уж потом разбираться, как оно сделано в Windows и т.п. Сложность C++ ещё и в том, что там даже Hello World делается на шаблонном классе std::cout, который, в свою очередь, ЕМНИП является обёрткой над fwrite(3) из glibc, а последняя обёртка для read(2). Куда как проще тот же пхп, в котором тупо есть echo, причём в самом языке, а не где-то сбоку, как STL.
Мы сейчас говорим про обучение будущего программиста или макаки-быдлокодера «на языке NNN»?
ТС хочет в будущем в плюсы, значит, я предполагаю, что у него серьёзные намерения. А если намерения серьёзные, то 1) одного языка мало; 2) в качестве первого языка нужно брать что-то фундаментальное.
ТС, плюсы - страшенный язык.
Не то чтобы плохой, но слишком в нем дофига всего уже - вот недавно и функциональщину приплели. Плюс здоровенные библиотеки типа буста или кутов, используемые дофига где.
И начинать с них большая ошибка.
Имхо, лучше всего начинать с чистого Си (чтобы потом понимать откуда вся эта плюсота пришла) и какого-нибудь sicp(в идеале)/питона(сойдет)/хаскелла(специфично, для математиков)
ТС, плюсы - страшенный язык.
Не то чтобы плохой, но слишком в нем дофига всего уже - вот недавно и функциональщину приплели. Плюс здоровенные библиотеки типа буста или кутов, используемые дофига где.
И начинать с них большая ошибка.
Имхо, лучше всего начинать с чистого Си (чтобы потом понимать откуда вся эта плюсота пришла) и какого-нибудь sicp(в идеале)/питона(сойдет)/хаскелла(специфично, для математиков)