|
130 / 25 / 12
Регистрация: 12.08.2015
Сообщений: 221
|
|
Вливание в мир C++. Психологические нюансы12.08.2015, 16:40. Показов 2693. Ответов 36
Метки нет (Все метки)
В общем, такая ситуация. На форуме я зарегистрировался впервые, но его посетителем я являюсь давно! Где-то полгода назад у меня появилась мысль, что мне пора остепениться и все-таки найти смелость, выучить C++. До этого, я знал и знаю только Visual Basic и .NET. На Visual Basic'е я программирую с детства (лет с 11-ти) Мой папа до выхода на пенсию был программистом. И в качестве увлекательного занятия, дал мне диск с этим языком и книжку. С тех пор я так на нем и писал свои программы. И писал я на бейсике 11 лет. И когда я захотел переучиться полгода назад на C++, я не мешкая,занялся этим делом. И тут начались первые проблемы.
По сути, исходя из книги, я усвоил синтаксис и усвоил прекрасно. Но есть то, что я не могу усвоить из книг. Я слишком долго оставался на Бейсике, и мыслю больше в направлении Бейсика. Из-за чего иногда я просто не могу понять код, я не вижу его логической структуры, иногда для меня это просто иероглифы. Такое ощущение, что когда я начинаю в нем что-то делать, то как будто я делаю это в первый раз в жизни. Как будто меня заставили ходить на руках, извините за выражение. Мне иногда хочется материться и рыдать, когда ты написал 50 строчек кода и в двадцатый раз пытаешься его откомпилировать, а он выдает ошибку за ошибкой. И вот ты смотришь справочник, и делаешь, и снова не компилируется. Идешь на MSDN, копипастом вставляешь, казалось бы, код, который ОБЯЗАН работать, и понимаешь, что он тоже не работает, потому что статья устарела и вместо new надо ставить gcnew. А потом снова компилируешь....То там пропустишь точку с запятой, то здесь не поставишь запятую. В эти моменты хочется все бросить и сдаться. То есть это превращается в муку, где ты больше ищешь, как исправить ошибку и как добиться того-то и того-то, чем занимаешься собственно, творчеством, программированием. Чем я могу себе помочь, как мне проще влиться и переделать себя? Толковых учебников я не нашел. Максимум - это программирование консольных приложений под Win 32 без поддержки C++/CLI Ни MFC ни ATL ни составление DLL. Гугл молчит, как партизан.
0
|
|
| 12.08.2015, 16:40 | |
|
Ответы с готовыми решениями:
36
На вкладке Мой мир, на портале mail.ru идет постоянная загрузка страницы - Мой Мир, в чем дело?
|
| 12.08.2015, 20:56 | ||
Сообщение было отмечено gledor как решение
РешениеВыбросьте "задачники". Найдите проект, который вам интересен (например, ваш же старый проект на Basic). Сделайте Remake. Не пытайтесь добиться совершенства на первой же итерации, будет нужда - переделаете позднее. Не пытайтесь ухватиться "сразу за все" - используйте необходимый минимум. Не "оптимизируйте" ничего, пока не заработает. И не бойтесь переписывать уже работаюший код (конечно, backup, version control).
1
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||||
| 12.08.2015, 21:51 | ||||
Сообщение было отмечено gledor как решение
РешениеРаздражительность обусловлена боязнью самому себе (или окружающим) признаться в собственном бессилии перед задачей. Это нормально, люди вообще не любят признавать, что ошибаются или, что не могут чего-то понять. Тут важно не бороться с этим (хотя чуть самокритики никогда не помешает), а не культивировать это. Грубо говоря, не пропускать это глубоко через себя. Не получается - отвлекись, получится позднее. Конкретно с твоим опытом я предложил бы для начала почитать вот эту книжку: Эндрю Кёниг, Барбара Му, - "Эффективное программирование на С++" И еще вот эту: Стэнли Б. Липпман, - "Основы программирования на C++" По ссылкам обязательно советую прочитать аннотации от автора, особенно к последней книге. Мне кажется он пишет именно о том, что тебе сейчас нужно от литературы. Ну и найти себе интересную задачу конечно же. Не задачу из задачника, а ту, которая действительно будет стоящей, которая захватит.
2
|
||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 13.08.2015, 13:09 | ||
Я бы вообще в FAQ крупными красными буквами добавил - категорически не покупайте книг по программированию отечественных авторов.Кстати в плане задачника помнится старенькая книжка была, "этюды для программистов" что-ли, довольно толковая.
0
|
||
|
Ушел с форума
|
||
| 13.08.2015, 13:24 | ||
|
Ощущения были такими же: "ну что за ерунда, почему опять не компилирует ?!?", "а это что еще за фигня ? какой умник такое придумал ?", "ну нафига вот так вот делать, а ?". На ассемблере мой процесс разработки выглядел примерно так: скомпилил -> запустил -> поймал крэш -> сижу, исправляю ошибки -> скомпилил -> запустил -> поймал крэш -> сижу, исправляю ошибки -> скомпилил -> запустил -> ура, работает ! Когда я стал использовать C и C++, процесс стал таким: не могу скомпилить -> исправляю ошибки -> не могу скомпилить -> исправляю ошибки -> не могу скомпилить -> исправляю ошибки -> наконец-то скомпилил -> запустил -> ура, работает ! Потом я понял вдруг: но ведь это же круто, что вся "ересь" отлавливается еще задолго до того, как код будет запущен ! Потом мне попалась парочка увлекательных книжек, которые я до сих пор считаю лучшими: "Imperfect C++" и "С++ для профессионалов". ![]() Привыкание к новым средствам разработки - оно всегда такое, тяжелое, и чем старше ты становишься, тем больше превращаешься в ворчливого, мелочного и инертного консерватора, цепляющегося за свои достижения двадцатилетней давности и все меньше и меньше способного двигаться вместе с прогрессом и постигать новое. Не надо быть таким ! Вот очень хорошо, я считаю, DrOffset написал (#19), ну прям в рамку поставить и перечитывать в минуты уныния ! Друг мой, как мысли черные к тебе придут, откупори шампанского бутылку, иль перечти "Женитьбу Фигаро".
2
|
||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 13.08.2015, 15:31 | ||
Но как-то уж с трудом его думаю можно назвать отечественным
0
|
||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 13.08.2015, 15:40 | ||
|
0
|
||
| 14.08.2015, 19:14 | |||
А так - то же структурно-процедурное кодирование, обернутое в сахар ООП, который здесь вдобавок необязателен.
0
|
|||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 14.08.2015, 19:36 | |
|
Ну, как известно, язык определяет мышление, поэтому при смене языков его приходится менять, а кому приятно, когда ему пытаются изменить мышление.
Очень важно и эстетическое воприятие языка. С этой точки зрения С++ очень эклектичен и представляет собой причудливую смесь красивого и умного, привнесенного Страуструпом, и безобразного и дурацкого, унаследованного от Си. Вообще-то, мне кажется, что не следует учить язык, который не любишь. Да это и невозможно, по моему мнению.
0
|
|
|
200 / 200 / 78
Регистрация: 10.07.2012
Сообщений: 409
|
||
| 14.08.2015, 19:51 | ||
|
знание ассемблера позволяет лучше понимать C/C++ то есть, не обязательно учить именно в таком порядке - можно и в обратном когда в C++ при отладке приходится спускаться на более низкие уровни абстракции - знание ассемблера очень выручает то же самое при оптимизации. можно даже не писать ассемблерные вставки, но менять C++ код и смотреть что в результате получается на уровне ассемблера
0
|
||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
| 14.08.2015, 20:06 | |
|
0
|
|
|
130 / 25 / 12
Регистрация: 12.08.2015
Сообщений: 221
|
|
| 19.08.2015, 16:12 [ТС] | |
|
Спасибо большое за ответы!
_Ivana, да,понимаете, такое ощущение только из-за нового синтаксиса, то есть структура написания мне понятна, меня иногда просто глаза к небу подымаются от некоторых вещей) Например, самый простейший пример, это инкремент\декремент. В басике их вовсе нет. И мне пришлось вдумчиво читать про их использование раз 5, чтобы разобраться в постфиксе и префиксе. Да, это очень удобно на практике (использование ин\де - крементов), но рука до сих пор тянется писать i = i + 1 и таких примеров много. Например, в том же басике, когда я пишу функцию, мне не надо писать тип возвращаемого значения перед именем функции. Поэтому когда я вижу тип данных,у меня сразу ассоциация, что это глобальная переменная, и только спустя секунд 10 до меня доходит, что это-таки функция. Помимо этого, есть другие различия. Например, в С++ переменные объявляются, как [тип данных] имя. А в Basic, имя [тип данных]. То есть совершенно наоборот. Я не говорю, что где-то хуже,а где-то лучше. Просто это совершенно разные в понятии синтаксиса языки, а у меня большая скорость и инерция со старого опыта. Ну, то есть случаются небольшие казусы, что просто путаю по аналогии с тем, что мне известно лучше всего, и только))) Впрочем, сейчас походу придется открывать тему с вопросом по fstream. Никак не могу красиво решить задачу, с быстрым алгоритмом. P.S. С++ мне кстати, очень понравился. Я когда увидел несколько программ, я был в восторге,как ребенок))) Потому и возникло желание изучить язык. До сих пор аж "горит". Правда, иногда "колется")))
0
|
|
|
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
|
||
| 19.08.2015, 21:34 | ||
|
У меня у самого, когда долго пишешь на одном языке, а потом начинаешь писать / читать программы на другом языке, происходит как бы "акклиматизация": по инерции мыслишь паттернами предыдущего языка. Ясно дело, что пока вы будете учить язык, ваши решения не будут самыми элегантными. Вначале решайте задачу хоть как-нибудь. Зетем, когда узнаете больше фич, можете переписать. Правда, такой подход годится для любого языка.
0
|
||
| 19.08.2015, 21:34 | |
|
Психологические тесты Психологические тесты психологические тесты Психологические загадки Ушедшие глубоко в подсознание не раскрученные психологические блоки со временем пропадут? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|