Основы С++. Урок 1.

Основы С++. Урок 1.
Вы смотрите срез комментариев. Показать все
DELETED
Автор поста оценил этот комментарий
Автор ты конечно молодец, но ты бы лучше описал какая от этого всего польза простому рядовому пикабушнику?

ЗЫ: директива include - не подключает библиотеку, а импортирует синтаксические конструкции, библиотека подключается линковщиком, о котором ты не слова не сказал. Без опыта работы с компиляторами большинство людей зафейлят все примеры.
раскрыть ветку (53)
Автор поста оценил этот комментарий
По-хорошему, надо бы тогда начать с самых основ: представление данных в памяти, принципы работы с указателями, потом про С(а не сразу плюсы), затем отдельно про ООП, и вот после этого можно нормально ботать С++. Ибо у него есть over9000 нюансов, про которые классиками написаны здоровенные книженции.
раскрыть ветку (43)
Автор поста оценил этот комментарий
Меня с самого начала учили плюсам, а про указатели рассказывали только тогда, когда они реально понадобились.
раскрыть ветку (34)
2
Автор поста оценил этот комментарий
Самый тупой подход к обучению - учить, не объясняя, почему и для сего делается то или иное. Скажем, я никогда не программировал - какой, бл@, компилятор? О чём вы вообще? Библиотеку подключить? Какую библиотеку? Зачем они? А у меня компьютер виндовс
раскрыть ветку (4)
Автор поста оценил этот комментарий
Как-то самодовольно и безапелляционно. Я, как и многие мои знакомые программисты, начинали сразу с плюсов. Преподавать можно по-разному. Хотя в посте слишком трудно подано для новичка, я считаю.
раскрыть ветку (3)
Автор поста оценил этот комментарий
Я не говорю, что с плюсов плохо начинать. Я вообще начинал с башорга компьютеры меня не интересовал , когда натыкался на непонятный юмор на итхаппенсе, запоминал и со временем всё вставало на свои места :) Спасибо, башорг, благодаря тебе я стал былокодером:)
раскрыть ветку (2)
Автор поста оценил этот комментарий
Хах , я не один такой! Только я еще на itHappens зачитывался.
раскрыть ветку (1)
Автор поста оценил этот комментарий
" когда натыкался на непонятный юмор на итхаппенсе, запоминал и со временем всё вставало на свои места :)" :)
Автор поста оценил этот комментарий
Ну а я больше за плановый подход: от самых основ - к сложному :)
Автор поста оценил этот комментарий
Нас 1.5 семестра учили Си (обычному). Учили все начиная от этапов компиляции, заканчивая выравниваниям на границу машинного слова в структурах. Сейчас 2.5 месяца С++, как введение в ОПП. Я правда сам начал его учить после сессии. После обычного Си, где уже понятно что где как и почему происходит, С++ ощущается как простая надстройка. А учить С++ полностью, да ещё и с нуля это тяжело и ненужно, ИМХО. Начинать лучше с Паскаля.
раскрыть ветку (11)
Автор поста оценил этот комментарий
Сначала был бейсик, потом паскаль, потом делфи, а потом уже плюсы у меня.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Да кст бейсик был в классе 9-10, но я его не помню абсолютно, хотя когда даже на областную олимпиаду с ним прошел О_о
После того как у них не оказалась компилятора под него (тубро бейсика или как его там) забил на него и сам учил паскаль
Автор поста оценил этот комментарий
Хватит уже этой некромантии с Паскалями вашими.
Учить надо наиболее популярным __сейчас__ языкам — тогда есть надежда, что выпускник универа будет более-менее востребован.
А вот эти толпы паскалистов нах никому не сдались.
ИМХО, начинать надо вообще со скриптовых языков: написал, запустил, проверил - пошел дальше.
раскрыть ветку (8)
Автор поста оценил этот комментарий
А вы когда учите математику тоже с сразу с матанализа начинаете? Или физику с описания распространения радиоволн? Я паскаль терпеть не могу, но как этап САМОобучения он был важным для меня, особенно учитывая то, что в 10 классе я бы не смог выучить что-то полезное из-за банального не понимая как и почему.
раскрыть ветку (7)
1
Автор поста оценил этот комментарий
Чувак, ты странный.

Паскаль — устаревший язык. Более того, ему на смену пришел Дельфи, который тоже устарел и почти никем не используется.
Таким образом, знания и умения программировать на нем в реальном мире бесполезны.

Более того, я считаю, что начинать обучение и "САМОобучение" лучше с более понятных и удобных языков, не требующих понимания процесса компиляции, препроцессорных директив и тп.

Всем новичкам я могу порекомендовать Python - очень простой, понятный и популярный язык: легко понять основы, а выучив его в достаточной степени, можно найти очень неплохую и высокооплачиваемую работу.

Тот факт, что в качестве своего первого языка ты выбрал Паскаль не делает его ни более современным, ни более востребованным, ни более понятным.

~~~~~~~~~~~~~~~

Или, выражаясь твоим языком:
Тот факт, что ты начал обучение авторемонтному делу с изучения основ парового двигателя при массовом распространении ДВС и гибридов, не делает тебя более качественным спецом. Это даже в резюме писать не имеет смысла.
Никто не заставляет сразу учить устройство гибридов, настройку инжекторов и механизмы фазораспределения. Но логичнее начать хотя бы с карбюраторных моторов.
А по факту у нас дох*ра спецов чуть ли не по гужевым повозкам и их ряды продолжают пополняться свежими выпускниками, которые, столкнувшись с реальными требованиями работодателей, начинают учить все практически с нуля.

~~~~~~~~~~~~~~~

И это.. не надо путать фундаментальные и прикладные науки. Они устроены по-разному и назначение у них — разное.
раскрыть ветку (6)
Автор поста оценил этот комментарий
Паскаль самый понятный и простой язык для обучения алгоритмизации, он для этого и создавался. Понятное дело, что он плохо подходит для "боевого" кодинга, т.к. в нем не встроенных функций сортировки, минимума. После этого лучше осознаешь, что ты пишешь и как оно работает.
Динамическая оптимизация для обучения зло, что будет с человеком который на PHP кодить начал и у него "синдром утенка" сработает.
Имхо, для обучения Паскаль(читаем, достаточно хардкорен), для программирования Питон(читаем, лаконичен).
раскрыть ветку (5)
Автор поста оценил этот комментарий
Основная мысль еще раз: зачем учиться тому, что почти со 100%-й вероятностью никогда не пригодится?


Хочешь статической типизации? - нет проблем, бери 3й питон и используй аннотации к аргументам - работает нормально, хорошие IDE будут высвечивать подсказки типов. Можно все отдекорировать так, что при несовпадении типов аргументов будут обильно сыпаться Эксепшны.
ИМХО, Человек, который только начинает и не может уследить за типами, будет огребать и там и там, но с питоном будет меньше боли.

Хочется чего-то ближе к классике - пожалста, есть C# и Go - при всей моей нелюбви к шарпу, на нем можно начать учиться, он вполне прост, если не заморачиваться. Go - так вообще сама лаконичность.

Про PHP ничего не буду писать ))

Вообще это попахивает холиваром .. и предложил бы закончить.
раскрыть ветку (4)
Автор поста оценил этот комментарий
Мысль проста: у новичка впереди дорога настолько длинна, что думать о применимости просто нет смысла. Главное - наглядность, коей в С-подобных просто нет.
Отсутствие типизации закладывает еще одну проблему, с которой придется разбираться в будущем.
раскрыть ветку (3)
Автор поста оценил этот комментарий
Устал повторяться.
Автор поста оценил этот комментарий
Основные конструкции , понятия типа компилятора , IDE , переменных лучше на паскале понять , а потом оттуда быстро сваливать , ибо путного ничего на нем не сделаешь. Я на си ушел по совету не помню кого.
раскрыть ветку (1)
Автор поста оценил этот комментарий
кажись, тебя учили только для ознакомления и не более
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хмм, да, я не работаю по этой части.
Автор поста оценил этот комментарий
Что значит, когда понадобились? Указатели - основа С/С++.
Автор поста оценил этот комментарий
@Progressor
@vmkan
@dimozz

А ну-ку, программисты C/C++, челедж!

Напишите валидный код для C, который не компилируется для C++
раскрыть ветку (8)
Автор поста оценил этот комментарий
У меня сейчас нет возможности проверить, но навскидку: на С разрешено использование недекларированных функций\на С++ это запрещено => профит. Ещё на С f() трактуется как функция с любым количеством параметров(внезапно О__о), а на С++, соответственно, без параметров.

int bar();

int main()
{
foo(); //на C тут всё ок, С++ ругается
bar(3); //аналогично
return 0;
}
раскрыть ветку (4)
Автор поста оценил этот комментарий
про недекларированные функции - неправда, а про параметры - норм, хорошее внезапно.

лично у меня любимый из примеров такой
int main()
{
int true;
}
раскрыть ветку (3)
Автор поста оценил этот комментарий
Ну, как неправда...Выходного файла не будет, т.к. такой функции не существует(на что и ругается линковщик), но сам парсер такое вполне скушает. А вот g++ ругается уже на этапе синтаксического анализа :)

P.S. ещё я нагуглил такую ссылку http://www.c-cpp .ru/books/razlichie-mezhdu-s-i-s (уберите пробел)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хм, картинка почему-то не прикрепилась =(
Иллюстрация к комментарию
Автор поста оценил этот комментарий
Но ваш пример более рабочий, конечно :)
раскрыть ветку (2)
Автор поста оценил этот комментарий
спасибо за спойлеры, я думал люди будут отвечать по памяти, а не вычитывая интернеты.
раскрыть ветку (1)
Автор поста оценил этот комментарий
да не будут, конечно
Автор поста оценил этот комментарий
вот интересно, что можно написать, не зная указателей? без нормального управления памятью в сегфолт летят даже самые простые примеры
ещё комментарии
DELETED
Автор поста оценил этот комментарий
товарищ, подскажешь какую-нибудь стоящую литературу для обучения с нуля?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Шилдт, С++ Базовый курс. По-моему, все особенности там рассказаны достаточно внятно.
ещё комментарии
Автор поста оценил этот комментарий
Это очередная попытка научить людей программированию методом: *вот у нас есть букафки их можно написать и все будет заебись*, без какого-либо вникания так сказать в сам процесс...

Человека невозможно научить чему-либо без его мотивации и желания, если человек хочет изучить язык программирования, он может просто открыть хелп и сам разобратся с синтаксисом(Что и было в этом посте) и занимает это меньше чем прочитать этот пост, если же человек захочет большего, то он будет читать книги по этому делу и заниматься саморазвитием в этом направлении, спустя 2 недели человек даже не будет смотреть эти посты, потому что для него это будет детский лепет.
Автор поста оценил этот комментарий
@illusionowl Можно еще сделать небольшую поправочку. Если следовать стандарту языка, то правильней будет все-таки конструкция:
int main(){
return 0;
}
раскрыть ветку (7)
Автор поста оценил этот комментарий
Все правильно, void main - это MSVC-шная штука вроде. GCC такое не компилит
раскрыть ветку (1)
Автор поста оценил этот комментарий
GCC strong!
Автор поста оценил этот комментарий
Нехорошо не табулировать содержание блока.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Я сделал табулирование, оно просто не отобразилось в комментарии :)
раскрыть ветку (1)
Автор поста оценил этот комментарий
:)
Автор поста оценил этот комментарий
параметры командной строки забыли: int c, char **v
раскрыть ветку (1)
Автор поста оценил этот комментарий
Тогда уж int argc, char ** argv
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку