#Directions

65 messages · Page 1 of 1 (latest)

gusty plaza
#

Hi, I’m new to c++ and have understood that it will forever be the lifeblood of all programming — that’s why I chose it. Is there any course (or repository of knowledge in any way shape of form) paid or free that offers a comprehensive guide from beginner to advanced. Obviously absolute proficiency will take years of diligence but I still want to cover all of the nuances of c++. I have 4 days.

Thank you for your time.

solemn brambleBOT
#

When your question is answered use !solved to mark the question as resolved.

Remember to ask specific questions, provide necessary details, and reduce your question to its simplest form. For tips on how to ask a good question use !howto ask.

thorny heron
#

!howto learn

solemn brambleBOT
#
How to Learn C++ Programming

We generally recommend a good book to learn the necessary fundamentals:

To actually write and run C++ code, you will need a compiler, editor, and debugger. We strongly recommend to start out using an IDE, which will provide all these tools for you:

<:microsoft:1165512917047853127> Windows
  • [Visual Studio](#1165492293810257920 message)
  • CLion
<:tux:1165505626894520361> Linux
<:apple:1165508607798943754> Mac
thorny heron
#

it will be tough to get through any of those three in 4 days though

gusty plaza
#

I have VSCode and have worked with Python before

storm oyster
#

we usually recommend visual studio for beginners, since just setting up VSCode can take days

gusty plaza
storm oyster
#

like there is a lot of stuff "around the language" that are entire subjects in and of themselves

#

I guess the question is what is your goal.

gusty plaza
#

Of course

storm oyster
#

being advanced C++ user will not happen in 4 days, sorry

gusty plaza
#

My goal is to establish a solid foundation in C++

#

If not intermediate

#

But I want to aggressively work towards HFT operations

#

HFT is the ultimate goal

storm oyster
#

maybe if you were coming from like Rust, C, Ada, or Fortran or something that might be possible. but there are whole concepts in C++ that take weeks to wrap you head around. like manual memory management and pointers. or native tooling and linking.

gusty plaza
#

I’m a quick learner

#

No brain dog

#

Fog*

#

But I guess the essentials is what I need

#

Mostly the ability to analyze and understand the code — why it’s formatted in this way etc.

obsidian epoch
storm oyster
#

yea the part of that labeled tutorial basics is pretty decent ^

#

you'll note it's like... a lot

#

it's just learncpp reorganized

gusty plaza
#

Yup

obsidian epoch
#

and that's just the very basics of the language

#

i wish learncpp touched on template metaprogramming

gusty plaza
#

Could you tell me about metaprogramming

#

And are there any HFT specialists here in low latency design?

thorny heron
obsidian epoch
#

just class and function templates

storm oyster
# gusty plaza Could you tell me about metaprogramming

metaprogramming is a way to program programming. in python this would be done with metaclasses. languages often have very different metaprogramming facilities, the two most common in C++ are define/preprocessor metaprogramming (inherited from C and generally avoided) and template metaprogramming.

obsidian epoch
#

preprocessor metaprogramming is also cool

storm oyster
gusty plaza
storm oyster
#

no

#

look if you are not versed well enough in python (the one language you claim knowledge in) to know what a metaclass is (nor what it is used for).... I do not think you have the basis of general programming knowledge you think you do

obsidian epoch
#

(what is a metaclass?)

#

oh, looks like javascript

storm oyster
#

eh kinda, lua uses a similar structure. basically the object that is responsible for interpreting how the object works.

gusty plaza
storm oyster
#

...

obsidian epoch
#

could it be theoretically possible to absorb all of learncpp in 4 days?

storm oyster
storm oyster
#

and if you were some sort of polyglot savant with 20 years working in every language besides C++

#

maybe you'd get a decent chunk of it

obsidian epoch
#

mm yeah

#

surprisingly learncpp has a decent article on lambdas :)

gusty plaza
#

Honestly it doesn’t have to be 4 days

#

Realistically I have 4.5 days

#

I can extend it to 7

#

A week

thorny heron
#

better get started then 🙂

storm oyster
#

none of which has to do with C++ (outside of "how do I do this in C++")

gusty plaza
#

Okay

#

Thank you for to ur time

#

!

solemn brambleBOT
#

@gusty plaza Has your question been resolved? If so, type !solved :)

gusty plaza
#

!solved