Is programming supposed to be hard to learn or am I brainlet?

Is programming supposed to be hard to learn or am I brainlet?
I really want to learn.

Attached: 1525872639531.jpg (1200x900, 213K)

Other urls found in this thread:

automatetheboringstuff.com/
edx.org/course/introduction-computer-science-mitx-6-00-1x-11
freecodecamp.org/
hackerrank.com/
mooc.fi/courses/2013/programming-part-1/
blitzresearch.itch.io/blitz3d
twitter.com/NSFWRedditGif

Just start programming, with a tutorial in hand. Learn afterwards.

Just feels like I'm constantly copying examples, how the fuck do you actually learn?

depends on what you want to do

Python is good if you want to start doing something quickly. And this is a very good beginer tutorial
automatetheboringstuff.com/
and this is bit more advanced but highly recommended
edx.org/course/introduction-computer-science-mitx-6-00-1x-11

for learning Javascript and other web stuff there is:
freecodecamp.org/

and do this once in a while
hackerrank.com/

And most importantly do projects

Attached: 1528000194639.jpg (594x401, 32K)

Do exercises.

I want to be employed and create.

Ok, any other wisdom?

make stuff
do sample problems

Is it better to start with a statically or dynamically typed language?

Attached: 1495289563375.png (240x240, 23K)

That was actually a good answer. You need to play with the language with your hands in the mud. Do exercises, don't copy paste from a tutorial, but actually solve problems

Use or lose it.
Come up with a really simple retard project and try to make it using the tutorials and shit as reference.
Then you do a slightly less retarded project and so on until you're gud.

How I learned

>Learned basic java syntax
>Learned basic SQL
>Downloaded postgresql
>Built some crappy gui's with database backend

Now I'm a junior software dev

Good question

Don't be afraid to try another language if you feel you're not getting it, but do this with discipline or you'll end up going in circles. I kept only getting so far until I found a language I clicked with, and after learning that one sufficiently others were much easier to learn.

Which one was it?

Solve problems.

Static.

Project Euler, HackerRank

These are nice, but is there any tutorial you can link me for C#

Static by far

Static. Zero doubt

At first, you just need to learn how the basics actually work. But then, to progress you need to come up with stuff you want to do with it, then learn enough to do that. I just kept trying different projects. I made a Runescape botting script in Java, wrote an programmer for the EEPROM in my car's ECU in C for Arduino, and recently submitted a kernel module. It really helps when you have a goal to work towards.
When I started, I felt like I couldn't come up with ideas for programs to make, but then I realized there was a lot of stuff I'd like to mess with that isn't necessarily a stand alone program.

It takes until data structures until you get used to giving blatant instructions that a total retard (the computer) can't fuck up. Most people are too used to others being able to fill in the obvious blanks.

Just don't expect to become a good programmer in a month or two. Shit takes time.

Do you like video games? Make one. Do you like desktop applications with no Web bullshit? Make one. Don't use fashionable languages or frameworks. Tell me your OS and area of interests, and I'll suggest an old school, but fun language/IDE for you to use.

Static, no doubt about that.
Dynamic typing has its place, but it would be confusing for a beginner.

You don't follow meme advice and instead learn the underlying theory and math first. Don't write any code until you can write sensible pseudocode on a white board. At bottom you're just using applied mathematics.

For me, I couldn't just 'learn' programming, but once I was in a position where writing programs to do my job was faster and better than doing my job, well I learned to program.

That's a good motivation to learn programming, If you find the time to figure it out while you're doing your job...

Tried multiple tutorials, the only one that saw me any progress was

mooc.fi/courses/2013/programming-part-1/

Most popular language; most job reliability; most comprehensive tutorial. This is really out of a dream.

Good luck, challenge yourself. Don't burn yourself out, I did one hour a day and I made great progress (and following through because of your discipline will increase your self-esteem and that makes you more effective in life in general),

>mfw reading up on Data Structures and Algorithms now

my head hurts

I slowly understand more as I read more and do some practice, but this is going to take some time.

Attached: 1493995607280.png (300x900, 441K)

>Do you like video games?
yes

>Make one.
how

t. somebody who has never programmed

OP programming is a diverse field. If you want to understand computers and enjoy math, low level computing, or want to become an adept programmer start with c. If you want to make cool stuff quickly and painlessly learn python.

Also is good advice. Although I would say dont even leadn algorithms until you understand how to construct them properly and prove them.

The easiest advice I can't tell you is mostly:
Learn about things... Check how it's made, how things work, play a little bit and such.
Then you will have a project from time to time. That's where you learn.

I get the I know C++ meme, it's mostly because they do know it. But never actually used it. You see, it's very simple, the things that hold you is because you need to do them for 1 time.

And on the matter of languages, get what you like, they are all the same, almost exactly.
For exemple, C++ is great, gives you a lot of control, you can make great things they go fast fast fast.
Everyone talking bad about JavaScript probably hasn't done anything, because with like 3 lines of code you make what you would have made with plenty on C++.

I'll say, just learn for now, when you have an idea start developing it.

And, you will probably start with a game, which is one of the hardest thing, and you will want to stop/think you don't have a brain.

Bout you can't ride a big plane before riding the small ones.

Are you doing mathematical proofs to understand why the algorithm works and the time and space complexity? Can't stress how important recursive / inductive, statisical/counting, and algorithmic proofs are. You can know how to use things but knowing when and why is what seperates a shit tier programmer from a decent one

Mandatory reply to get to understand better the language differences.

In C++ you have to control more so that's why it needs more lines.

With JavaScript (node.js) you can just do Console.log("hi") and it prints an Hello world.

In C++ you have to import the library, set the namespace(or use online scoping), and chose from 3200 ways of doing it or make the 3201th way.

No one ever started out good at this shit. We all started without actually knowing how to write our own program.

Anyone that says otherwise is lying

I wouldnt start with c++, it is rather convoluted. C is a very small language and is powerful and will teach OP the most about how computers work. OP should build all data structures himself and construct any packages he needs himself.

More precisely, how deep are you on the subject? Just wondering.

>Python
Absolutely disgusting. Python, and pretty much other dumbed-down language is very, very prone to make beginners completely oblivious to how a computer really works - how memory is handled, how to combine simple data structures to build a solution and all those sort of things you would expect from someone who's still learning how to program.

Python is useful if you already know all that, and you need stuff done quickly - you let the interpreter handle all that "boring" stuff and can focus on the code.

>Is programming supposed to be hard to learn or am I brainlet?
It's easier for people with an attention to detail.
You'll learn quicker if you enjoy it.

This, I like Python, but I never understood why it has become so widespread as a first language.
Sure, it has a simple, clean syntax and you can get shit done quickly with it, but you can't really appreciate what it brings to the table without knowing a lower-level language first.

its mostly about training your brain to think with the right kind of mindset, like a weightlifter trains for strength

I know this is a bit of a curveball, but try Blitz3D. It's an old commercial gamedev thing with history that goes back to the Amiga that has recently been open sourced. It is very beginner-friendly and the developer put a lot of care into it back in the day. The development environment is self-contained and comes with all the documentation and examples you'll need. Because Blitz3D is so simple you will be able to do things on your own soon enough.

blitzresearch.itch.io/blitz3d
(You don't need to pay. Just click "take me to the downloads".)

Attached: eFwLj+.jpg (300x240, 10K)

Just started out on it, learning how to use the big o notation along with reading up on material about data structures & various known algorithms.

I'm a beginner tier programmer and just really started 2-3 months ago. Only real experience is JS and a bit of Python.

Kinda get it but yeah, this is gonna take some time and practice. Want to get better though.

C# as a first lang is a really shit idea

are sites like sololearn/udemy/khanacademy a waste of time to study before getting your hands dirty?

Static for sure. It's one of (many) gripes about teaching Python as a first language. Learning about typing properly is a major fundamental in learning to program properly.

uhh whys that user

it's only hard if you skip a step. If you learn things in the right order, it's simply applied logic. Nothing could be easier.