Learn C++ With Shello! — Programming Assumptions Versus Actuality: Diary #1

in #programming6 years ago (edited)

I waited a couple of years to have the prerequisites in place to be able to take this level of programming in college. With the continued development and interest rising in Blockchain technology in recent years, I see no better time then now to begin learning about object-oriented programming languages—in my case C++.

Learnc++shello.png

In this Steemit Exclusive, I will be providing an in-depth look at what I'm learning in this class, what personal challenges I am facing, code snippets, and the philosophy becoming a programmer. Whether you are interested in game development, or applications that run on a blockchain, this is a skill necessary to develop. Although I might not be able to make you into a coder, I want to share some of what I'm learning with others!


A Challenge Like No Other

I attend Post University's online accelerated program, which means that instead of having a course over the span of a semester, I get 8 weeks before my classes change. I was not expecting such a large workload for my first week of school—it blew my mind.

week 1 homework.jpg

My classmates and myself were assigned 80 pages of reading, 3 discussions, and 4 additional programming assignments for our first week. After actually going through each part of the homework, it was discovered that I needed to write 7 miniature applications and debug one in the compiler of my choice. I'm using Visual Studio 11 Express.

What it Takes

I don't know about you, but this is a lot of information to absorb and memorize... in a week's time. This is the type of field I signed up for though. Programming in general is not a career where you can receive "on-site training", rather you need to know everything like the back of your hand. "Practice practice practice" has found a new meaning in my life.

I can now see why we're given a high amount of homework—I no longer have to look up how to write certain statements. I apply everything I learn over and over, dedicating my long-term memory towards getting it down.

ccfb568e058a7a6ba367339dce8350ca.jpg

Ed from Cowboy Bebop | Pintrest

Programming Common Misconceptions

I had made many assumptions on how programming works when coming into this class, many of which were incorrect and uninformed. I would like to clear some of these up for anyone that's ever thought; "Hey, I want to become a programmer," but like myself thought it was too difficult to learn.

  • Adopting the mentality of working smarter.
    It's a programmer's job to be able to make an application that serves the intended functions, using the least amount of code possible. This isn't to be lazy, but to efficiently solve problems, without creating (many) more in the process.

  • One programmer doesn't write everything.
    Larger programs and applications typically have a team of developers that each write individual modules (parts) that get put into the main application later on. A person is usually assigned to write a single feature, not the whole thing. Because of this, it's unlikely that someone will take another person's code and rewrite it "their way" for the sake of doing so. People and businesses don't have time for that.

  • A lot of programming is about styling.
    No, this is not to "flex" on others. Aside from Language Syntax, a lot of how a code is presented is styled to make it easier to read, and understand where specific functions are. You're already using syntax here when you use Markdown on Steemit! You follow certain language rules to format your posts properly, this is just a little bit different.

Another thing to keep in mind, is that workplaces and teams will normally prefer a certain style / way over another of writing code, to keep a program consistent throughout. That way, when debugging and changes need to be made, it becomes easier to identify what in particular needs to be changed.

opnion.png

One of my friends left me this comment on my other social media. It doesn't work like this. Programmers need to learn the different ways of writing expressions so that they can be read and understood by others, although a person's style can sometimes be a personal preference for an application that they are making in a solo effort.

e8b3a0244b14d5563b3868da15bec8f7.jpg

Fry from Futurama | Bildergebnis für

The "Copy/Paste" Myth

Good programs and functions are recycled often even in other programs! There appears to be a stigma about "copy/pasted" code which is heavily misunderstood. When a smaller program/module is written clearly, and is useful, it's common to reuse it later on somewhere else. This way, the same function doesn't have to be written again everytime that a program is made that uses it.

There are even many "pre-written" header files a programmer can add that are pre-packaged with compilers so that a programmer can focus on their project without the need to worry about hardware or basic functions (like I/O from a user's input, arithmetic, all the way up to speech engines).

Less Scary Then I Thought it Was

The best way that I can relate learning programming is akin to learning a foreign language, then writing a book with other people that makes it look like it was written by a single author. If you can learn a second language, you can learn to be a programmer!

giphy.gif

Sora and Shiro from No Game No Life | Giphy



Remember!

  • You'll need a lot of continuous practice to develop this skill to a second-nature degree.
  • You can have a preference but know the different ways to write the same thing, so you can work with others.
  • Your own code's scope is usually NOT the entirety of the program, so you can focus where you need to.
  • Copy/paste is okay and encouraged, just don't steal someone's custom work and say it's yours. Having a solid and working foundation is a good thing.


Coming up Next!

I will be covering my understanding (and not just the definition of) some programming terminology. I will also be providing some real-world counterparts and visualizations to help explain what different parts of a program are like. I believe that everything can be explained in a way that anyone else can understand!

Let me know what you think about this article in the comments below! :D




Thank you @bollutech for this art!

Sort:  

What would you call the specific benefits of using C++ compared to other languages? And do you prefer C++ over others?

That's a good question Apsu! I think that I like that with compiled languages preload everything x'D could you imagine if we had Monster Hunter or Fortnite tun in Java???

I prefer C++ because you can easily compare objects to real-world counterparts c:

Oh I could pretend to know something and compare "Well how about ?? or ?? then?"

... but I know hardly any coding languages, so maybe C++ is ok :D

Honesty is still better than knowing <3 I appreciate this!

@shello.. I have been waiting so long to learn programming. I am happy you will take us through. I can't just wait for this to happen 💗🙌😁

Thank you for the love and support @hardaeborla!

I don't know how much I can teach, but it's definitely worth the try :3

Yeah.. You are welcome... I will be looking forward to learning from you 😁🙌

I also hear some people saying programing is kind of boring from the beginning and it becomes interesting when one practice it continuously. What are the basic knowledge I must have before learning programming?

It can be! I had to take many other computer/ technology classes before taking any where I actually code. I will try to cover a little bit more on this subject on my next post! :D

I will be expecting 💗

This is great news in great timing. The fear of learning is real, but you make it sound less scary. Keep us updated on your learning. Soon you’ll be writing code with easy

Thank you Kubbs!~

Forreal learning can look like a huge challenge, but I think it really comes down to how it's approached. I shall, and I really hope so <3

Gad to see you've taken on something this challenging Shello. I've haboured the thought of learning C++ for a long time now, but i haven't acted. Only downloaded a few videos and materials and haven't so much as seen past the first 10 minutes. lol.

Maybe this might drive me to work on myself too. Nice tips here btw. Somehow, we share some misconceptions about programming.

Excited. Keep us updated, friend. :-D.

Heya Pangoli,

I'm glad that I was able to inspire you a little bit to take a second look at learning programming. I won't be able to share everything (there is so much) but I'm aiming to give other Steemians a real look on learning programming.

I shall keep these posts coming, thank you for your support ^_^

Hey @shello!

Its been a while since we spoke but looking through your blog now im so stoked for you, it looks like you're doing amazing on steemit! Great to see you getting the recognition you deserve.

I remember when we first connected a year or so back, you were offering services as a writer in return for SBD. Well I was racking my brains for someone to help me write some content for a project im working on and you were the first person to come to mind!

If you're interested please let me know, and we can connect on steemitchat or discord or whatever suits :D

Cheers!

Thank you @youareyourowngod!

I need to be posting more, but life is throwing me some curve balls right now. Ideally I want to go back to servicing others but I will have to work my way back.

My name is Shello#1548 on discord. Would love to hear from you more often! C:

what.... Next thing youll know, shello will be releasing her own ICO. LOL.

Ayeee, SHELLO coin. Dedicated to educating users on blockchain. LMAO

Yeah, whatever one does in life, "practice practice practice" is probably the only way to improve :D keep it up!

Indeed it is! I feel like putting in the hours is the most crucial aspect towards learning anything. Thank you c:

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63131.59
ETH 2586.04
USDT 1.00
SBD 2.78