How to git gud at programming besides learning a language or two?

How to git gud at programming besides learning a language or two?
Which maths particular do I need to git gud at? What else?

Other urls found in this thread:

howtogeek.com/187703/how-to-access-folders-on-your-host-machine-from-an-ubuntu-virtual-machine-in-virtualbox/
twitter.com/SFWRedditImages

Bumpies

Learn a language or two.

Start with C++

You don't learn languages, you learn concepts

Elaborate please

I want to eventually learn C++ but I know it's the hardest.

Bump!

this

Concepts like? What else?

:,(

Beginner here, but basically you can do the same things with different languages, there's just a different way of doing it, depends on language syntax.

No shit sherlock. This is OP btw.

...

What else besides programming concepts fuckhead? You think I haven't started...

Bump ):^|

elementary math

It's not the hardest... Don't be afraid, there are c++ courses even for absolute beginners. I love Python, but it spoils you... It is super comfy, but not as versatile because it's not super speedy. (unless you do machine learning / AI or scientific work, then Python is ideal. But the libraries that actually does work in python are coded in stuff like C and Fortran, you don't have direct access to the low level stuff)

What he means by concepts is how an OS does data management, how applications send and receive from a network. A chair has a different name for every different verbal language, but it is the same chunk of matter.

An array is identical in most programming languages in terms of memory, but there is as many different wants to construct an array as there are programming languages

(cont.) A good programmer will know how he wants to handle data storage and logic, write pseudocode explaining the flow, then write it in the programming language of choice that either A) makes the most sense for the context of the project or B) makes it easier to execute his pseudocode.

Ive dabbled in python and C#.
I dropped python when everyone said it makes transitioning harder on here, plus it's a scripting language. Now I've been using C# for a week now.
Inb4pajeet lol.
Links to courses please.
What's a good IDE for C++? I got winblows 10 and don't have patience nor money for external harddrive atm to go to linux.

Thanks for an actual in-depth answer on concepts.

The best IDE is no IDE. Learn how to do everything manually and you'll find yourself making less mistakes to begin with. Write in notepad++ or vim and compile in cmd

How does one learn all this? A book on it? Is their some pdf or course that actually covers this instead of only teaching me a language?

I mean I learned everything about coding from mathematicians (numerical analysis) and computational physics.

Comp sci courses tend to teach by example while the complicated algorithms and sims you write in my classes require a much more top down way of thinking about programming. Also a lot of it just comes from experience. I didn't think pseudocode made a lot of sense until I was forced to start writing it consistently.

Just look up a few YouTube videos on good coding practices. There's a lot of material out there.

Will i git gud in 4 months like this?

That is a really shit question?

Not as shit as yours

Yea, I wanted it to be. And to answer your question - no, just by writing without an IDE you won't learn programming.

You really like hearing yourself talk, don't you

You don't learn coding the same way you learn other academic skills.

Coding is a matter of raw experience. Pick a project you think is hard but not impossible. Preferably something with some scientific rigor behind it like Euler's method or Runge-Kutta. Once you've got that down go to something like probability and random walk simulations. Maybe try coding a gradient descent algorithm. Read up on your calculus, linear algebra, probability and stats, etc. etc.. All this can be done in a relatively short amount of time. I use this methodology to learn a new programming language every time.

You should install a Xubuntu virtual machine with shared folders. This is an important skill and it's not that hard.

No I just want as much useful answers for a newfag as myself. Nothing personal user.

Thanks again. Googling would take away from the problem solving, right?
Inb4quitnowfag

Have an actionable goal. That's what works for me.
id est: something you can objectively achieve.
>getting good at a language
should not be a goal in and of itself. Because you have no idea what "good" is and what form it can take.

Have a proppah goal user. What do you actually want to create?.. and use the tools to get to that goal. You'll get gud on the way.

>>Which maths particular do I need to git gud at? What else?
That depends on what the hell you actually want to do/make.

So virtualbox ->install xubuntu -> how would I set it to share folders?

This is what is going through your head right now:
>Reinventing the wheel
>Reinventing the wheel
>Reinventing the wheel
People are lying when they say programming is fun. It's just something you have to do for money.

howtogeek.com/187703/how-to-access-folders-on-your-host-machine-from-an-ubuntu-virtual-machine-in-virtualbox/

Thank you. After I use C# to learn all the basic programming concepts and make basic desktop apps with it. I'd like to get into C++. Make basic desktop apps with it, make basic games that no one will see. Try other programming challenges. I love music, so itd be cool to make basic digital audio workstation for composition. I'd like to eventually make my own text editor and eventually my own language too. Ambitious as fuck and getting way ahead of myself, but my long term goals besides employment.

Not disregarding your wisdom, but I think I can compare it to an instrument to a degree. I play piano. Practicing scales and chords isnt fun, but being able to play atleast a part of song feel quite rewarding. I can do super basic shit with C# but I find it fun. Ive made shitty little text adventures for my cousins and friends. Seeing their face after they type their name after answering several useless lines of questions to end with " sucks cocks full of blisters" is priceless lol.

Thanks

roll

When I'm around kids, I make paper cranes and airplanes. They love it. The problem is that with programming, when you make something obscure, people don't understand it either. When you make some obscure origami work or play an obscure piece, people can still appreciate it.

Get a copy of CLRS introduction to algorithms. I've been interviewed and the majority of the questions I was asked was based on algorithms. Sorry, binary search, graphs and trees. Also being comfortable with libraries related to your language. I don't work as a professional so I study what I want. You can find a good udemy boot camp for full stack I'm currently taking . I also like Python the hard way along with the C++ Primer and Introduction to Java. Don't listen to people saying one language is better than others. Find out what you want to do then learn the appropriate libraries. Algos should be understood conceptually in either Java, C/C++ IMO

First side projects I did was approximating integrals and making retirement and investment calculators. Super easy.

If I start to learn C# instead of Java right now ( I mean I've already programmed a lot for myself and some open source projects in C# but I mean like REALLY getting good with one of them ) - will I fuck up when I go to find a job in the field because I didn't learn Java?

Around here in the Pacific Northwest tons of jobs opt for C# and ASP. It's great for unity as well. Not the worst language.

>cmd
pajeet stop

Only real men use a Borland compiler

rololo

lol

fuck you, rerolling

now thats better

ROLL

rollin

Learn java if job requirement says so.

I'm not trying to impress anybody. I personally am very interested in programming.

Language wars are silly, but from lurking I've been informed by some. Python shouldn't be anybody's first language and python the hard way is outdated as shit. Terrible recommendation.

Learn binary arithmetic and boolean logic, if anything. It's very simple and if you're math savvy at all you probably already know it.

Beyond that, it's very specific to the type of application you're programming.

roll

>generate complementary color from any input color
what does it mean?

Fuck everybody.
What do you want to make ultimately? Or do you just want a job?
Learning C++ is a dandy a place to start, but jobs seem to be more common with Java, C# &or one of the 50billion JavaScript frameworks - but fuck that whack-a-mole game.
If you really want to 'learn' & become a coding wizard go straight for C & a functional language like Haskell or Scala.
Python is cute, but its a shit 1st language - all that 'noise' of curly brackets & whatnot that fuckwads whine about makes code readable to the proper autists who should be coding anyway... fuck if debbie in hr can make it out, she's a dumb cunt anyway.

I want to create personal projects and have a job

>C
>meme languages

Learn git, learn program design, algorithms, etc. And learn lisp if you have time.

But most importantly fucking learn git.

Make programs, solve problems, read book, find a new and more elegant way to solve problems, refactor your code, etc.

Elaborate on the etc please

You get good by programming things, that is all the magic behind it. Learn a language then choose something to program and then program it, it is the only way.

For the mathematics, important are:
The fundamentals of logic and set theory
Graph theory
Linear algebra
Numerics

This highly depends on the project obviously, eg. I would not recommend trying to do anything with with image processing or computer graphics without having a solid grasp of linear algebra.

>Control+F
>read the sticky
>0 of 0

what the fuck happened to you guys? This thread should not have over 10 replies.

Listen, newfag, the wiki has a nice little torrent totaling 31GiB's worth of information that can help you get started in whatever you want. It's properly seeded, nicely maintained, and set up to filter out the shit you don't want. It was developed by autists like me to make sure no one needs to make useless threads such as "how do i get good at x" or "what's some good books on y",I and don't flood the already shitty catalog. And no, this thread is not discussion, it's parroting. Open the torrent metadata, pick what interests you, fire it on your favorite tablet device, and start reading.

Thanks, what tablet do you recommend?

If a mod is reading, please archive thread :)

why is that so important you can learn git in 10 minutes if you never touched a line of code in your life

Rollin' rollin' rollin' rollin' (yeah!)

Learn syntax and how to compile and run your first program.
Then learn how to design your software, how to plan the design.
Learn how to document / plan it.
Implement stuff you know.
Pick a project and break down the sub tasks of that project.
Do all the parts to get it to work.
Then pick another, bigger project and try to do it differently.
Learn agile development.
Learn git.
Learn about the help tools you need.
Do more projects.

An example would be to set out to solve a maze.
You want to be able to load a picture and have the path painted on a new picture you saved.
So you learn how to read/write to a file.
You make a pixel class and an image class etc so you can work with the image.
All that should be known to you already.
You could use a ppm image so you just use a text file or you could look into implementing jpg/PNG loaders.
You could display the image.
You could find the path between two points.
Stuff like that.
Through this, you can study different algorithms.
I would suggest that you look into two methods: A* and RRT connect.

There is 4 general algorithm archetypes and you should learn them all and find examples of when to use them.
Divide and conquer
Random
Greedy search
Backtracking.
Once you know these, you can use them in any combination to solve problems.

Oh wow, thank you very much.

Doing the maze thing was also really rewarding because it is a graphical problem and it can take a lot of time if you don't do it right.
And a ton of navigation is basically solving a maze so it is not useless.
But you can basically pick any game and go from there.

What are some good books to learn the concepts mentioned in this thread?

Bump?

No

basic algebra will help you do stuff less retardedly