Why so many people fail to learn programming:

Why so many people fail to learn programming:
You need to do only two things:
1) Learn the keywords.
2) Practice.
After some time you will be able to do it for a living, why people don't do this?

Attached: programming.png (1226x842, 123K)

Other urls found in this thread:

developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator).
twitter.com/NSFWRedditImage

It was a question, I failed to add the "?" symbol.

> x - 0.1 * x
are you per chance retarded

Same reason why people still get shit scores on simple logic bullshit IQ tests.

because they're not used to failing. you fail a lot when programming. people quit because they can't take it.

>t. Shit skin

Also this whole snippet can be done with one reduce and nothing else

> acc + m.isActive? m.members * 0.9 : 0

It would be a lot more readable too, in addition to better performance.

???

Sorry user, I didn't know that basic|kindergarten math was something incredibly difficult.

My main struggle with programming was that I wanted to understand every single piece of text I writed. So it took me a lot of time and I got frustrated.

Now I understand more terms but sometimes I just want to achieve stuff and I dont bother in understanding everything.

Apparently it is for you.

In Rust it's just
fn main() {
println!(
"{}",
vec!(
("JavaScript", true, 700),
("Angular", true, 900),
("Node", false, 600),
("React", true, 500)
)
.iter()
.filter(|t| t.1)
.fold(0f32, |t, c| t + c.2 as f32 * 0.9)
);
}

that looks disgusting

It could easily be that condensed in Javascript as well, but that's not the point of the code

What the hell?
While I was reading the code, I felt I was a real girl! What was that?! I'm confused!

ops idk why I used vector lol
fn main() {
println!(
"{}",
[
("JavaScript", true, 700),
("Angular", true, 900),
("Node", false, 600),
("React", true, 500)
]
.iter()
.filter(|t| t.1)
.fold(0f32, |t, c| t + c.2 as f32 * 0.9)
);
}

Hahahahaha I can't believe you used vector!!!! YOU IDIOT!

console.log([
['JavaScript', true, 700],
['Angular', true, 900],
['Node', false, 600],
['React', true, 500]
]
.filter(t => t[1])
.reduce((a, b) => a + b[2] * 0.9, 0))

I hear this meme a lot but I actually don't know one person in real life who can't 'take' failure.

Yeah, theoretically you could put all of it in a forEach function and be done if that was the intention.

>JavaScript
Have some C# + LINQ

Console.WriteLine(new[] {
new Shit("ShitScript", true, 700 ),
new Shit("Shitgular", true, 900 ),
new Shit("NodeShit", false, 600 ),
new Shit("RectiveShit", true, 500 ), }
.Where(x => x.Active)
.Sum(x => x.Members - (x.Members * 0.1))
);

Fucked up the formatting
Console.WriteLine(new[] {
new Shit("ShitScript", true, 700),
new Shit("Shitgular", true, 900),
new Shit("NodeShit", false, 600),
new Shit("RectiveShit", true, 500), }
.Where(x => x.Active)
.Sum(x => x.Members - (x.Members * 0.1))
);

Just practice user and one day you'll be great question asker

>why people don't do this
Hostile nerds gatekeeping. I'm taking c++ at community college. The last teacher I had got fired for being to easy in the most basic intro class. I got an A in his class. Now I'm taking the next class in order and I'm in over my head incapable of completing the first assignment. The head of the dept. is literally the comicbook guy from the simpsons. The way he structures the curriculum and the way 100% of people answer questions online is to throw you in the deep and and laugh at you while you drown. They offer you zero guidance and they literally tell you to just google it.

>.Sum(x => x.Members - (x.Members * 0.1))
Just .Sum(x => x.Members * 0.9) and be done with it.

Without the need for the Shit struct
Console.WriteLine(new [] {
new dynamic [] {"ShitScript", true, 700 },
new dynamic [] {"AngularShit", true, 900 },
new dynamic [] {"NodeShit", false, 600 },
new dynamic [] {"RectShit", true, 500 }, }
.Where(x => x[1])
.Sum(x => (double)(x[2] - (x[2] * 0.1)))
); //1890

true

its hard to grasp at start, and thats where most people leave it alone.

Because programming is not only knowing the syntax and being able to somehow solve the problem.

It's also why so many programmers are extremely egotistical. That personality trait helps push past failures

It's fun following along Ranjeet on youtube until you have to solve actual problems beyond console.log('Hello World!');

Are you serious? People absolutely loathe failing. But I guess saying it like that isn't the most honest way. It's more that people hate putting a lot of effort into things. Especially when they have to organize their own learning. Most have a much higher success rate when they learn something at school. Autodidactism is surprisingly rare.

Not to mention that it's much easier to start learning more on your own after you have learned some basics in school first. This type of secondary autodidactism is not uncommon. It's the pure autodidactism coupled with great outcomes that is rare.

It's x * 0.9

good opportunity to test csi (c# interactive)

Attached: Capture.png (862x483, 169K)

>the only thing you need is practice and muh experience
>theory and logic skills are for losers lmao
if you unironically believe this, you've reached peak delusion. The language is a tool; if you're a clever monkey you can learn how to use tools, maybe build an house with them, and you can practice building them as much as you want but the end result will be broken or suboptimal at best. Why? You regarded all the theory bits as "retarded stuff that doesn't apply in practice".
Same with programming, you can learn the keywords and practice on babby-level programs but the first time you jump into a serious project it'll either be broken or suboptimal. Considering that programming are basically proofs and problem-solving in text form, if you're clinically retarded you won't go anywhere far either.

Some people are just not "builders", they don't care about creating things for the sake of creating them. They can still learn, but they'll need an actual course, lots of discipline and a delusion that they'll earn a ton of money with no effort. Also, some people are just too dumb to understand computers.

Just unironically read SICP you stupid niggers.

Jesus christ why is c shart so fucking disgusting eww

>After some time you will be able to do it for a living, why people don't do this?

Actually you also need an engineering degree and 5 years of experience for that

As a guy who got into programming a year ago and before that i had no connection whatsoever to math-like thinking / problem solving i can tell you that it is pretty hard. You will have to destroy your whole thought process and build it again from scratch if you're going to make even entry level stuff like myself. On top of that nothing makes you feel more retarded than programming, i mean I've spent days wondering why the code doesn't work and it was the most trivial shit. It really makes you feel like a dumb monkey

Guys I need motivation, I want to quit. But I also want to learn. I want to build something with the knowledge I would gain if I wasn't such a pussy.
Every time I don't understand a concept I blame myself for being a low iq idiot and then quit. I keep coming back to learning but I don't know how much more of this humiliation I can take.

How long did it take you to restructure your logic to look this way?
Now, consider that number when you factor in maintenance of this shitbucket of code down the line.
You fucking neets just want to go out and build docker/go/rust/kubes/mongo cancer, and then happily hop along to the next shiny thing without any cares of the consequences of the code you previously shat out. This is getting ridiculous. High quality code is not concise code, it's code you can glance at after having been away from it for 3 years, and still quickly understand what the intent of the implementation is. I rate your Rust sample a 10/10 on the code liability scale. You would make a great 'developer' at a Fortune 500 company.

Why do you think not understanding something makes you stupid? Everyone starts out not understanding it. It's just pointless self-sabotage if you view it as humiliating

>dude just practice and you'll learn it
T-thanks user...

>Why do you think not understanding something makes you stupid?
Because if I try to learn something by reading/watching it, I need to understand it (if I'm learning a new topic like inheritance for example, I do not wish to memorize the description of what the concept of an inheritance is, but I wish to understand why it's useful, for what situations I should use it), and if I don't, then that makes me an idiot. The information is there, and the information is true, so the fault is all mine for not being able to understand it.

Nobody learns through being told information, they learn through experience, that doesn't make you dumb, I'm an expert programmer and I think I've read one book on programming in my entire life

>because they're not used to failing. you fail a lot when programming. people quit because they can't take it.
That's the whole addictive rush though. Each time I click to see if it works, there's an adrenaline build. When it doesn't work, the build just festers. When it finally does work, sometimes my hands literally go in the air with excitement. Like a good shot in golf, or your number hitting in craps. When you finally get your program to behave it's a rush of excitement. I end up working for 20 hours straight chasing that high.

>throw you in the deep and and laugh at you while you drown. They offer you zero guidance and they literally tell you to just google it.
Because that is how you learn to code. You teach yourself with YouTube and Google. Are y ou going to go back to school in five years when everything is different, or are you going to look it up and figure it out?

But to gain experience I need to write code by applying the knowledge I've gained from learning, and to gain primary knowledge I read/watch things. The problem is if I don't understand what I'm reading/watching how can I apply it and gain experience?
Maybe my approach to learning is all fucked up but I just don't know how else should I do it?

>It's the pure autodidactism coupled with great outcomes that is rare.
High IQs are rare.

Taking an example program that already works and then tinkering with it is a good way of learning

how else do you learn something?

Actually that's what I was planning to do on later today. I've got some old source code of a trading bot and wanted to read it and mess around with it to see if I can make it do something new. That was before I had my daily breakdown where I ended up closing everything and laying on the bed watching the ceiling for 2 hours. Well, hopefully I will be back at it tomorrow.

based

Or think of something you want to make and follow a code-along on YouTube.
I think learning and doing have to go together. Watch, then read, then try, then read again, then try, then watch again, then try until you don't have to read anymore and trying turns into doing, and understand that you're never going to know. It's always a mix of trying learning and doing.

[
{ name: 'JavaScript', isActive: true, members: 700 },
{ name: 'Angular', isActive: true, members: 900 },
{ name: 'Node', isActive: false, members: 600 },
{ name: 'React', isActive: true, members: 500 },
]
.filter(({ isActive }) => isActive)
.reduce((acc, { members }) => acc + (members - 0.1 * members), 0);


self taught btw

The whole point is to make things easier and solve problems. I think you'll be much more motivated by something that will directly benefit you.
Crypto trading bots are complex. I wouldn't start there.
Make something that will hide your porn in a thousand different files, or a fantasy football optimizer, or something that scans twitter for keywords combined with your crypto holdings, or a website that shows your fantasy football league's stats. Something you personally think would be cool to have. Start there.

People like my dad think coding is "just typing really quickly." I'm a big nerd, I know better, but really I only know how to program video game logic and very basic scripts for automating things. A lot of shit is completely beyond me and I think it's gotta be practically impossible for normies to learn.

>impossible for normies to learn.
The stuff that requires you to wrap your head around linear algebra and statistics is not for normies, but there's a lot still to be done. All doctors don't have to be heart surgeons. Some can get by just burning warts and skin cancer all day with a tiny blowtorch.

based

Saw this from the front page, not fa/g/. Don't you need to do math when programming?

Because I barely even got a E on my high school math. If I have to do something that isn't basic addition/subtraction and multiplication/division I completely space out man.

it's not that mathy but if you got an E and can't look at a basic equation it's probably not for you

Not really, it depends what you do.
You need to understand very basic algebra like x => x + 1. But you literally just replace x with the argument you pass in, and that's all you really need to understand in general.

For example game dev is highly math oriented and your entire job is just calculating positions and angles and things, same with statistics etc.

But if you're doing DevOps, Web Dev or any kind of generic software dev you're mostly hacking shit together just working with inputs and outputs and data structures, not really math related, but it can be if you want it to be.

You can pretty much import a library to solve all hard math problems anyway, unless you're doing something original (like game dev/statistics) you can just google the solution.

this thread has some of the ugliest code ive ever seen. why cant every language be as pretty as python?

Yeah it really isn't.

When I did carpentry I had a real hard time with the required trigonometry. I ended up mostly eyeballing my measurements instead.

Are you guys serious? There are people who actually find slow boring lectures at school useful? I thought everybody just went home and taught themselves.

I have a friend who does carpentry and one time I was out helping him out and I expressed my worries that I wasn't cutting the lumber EXACTLY to the length he requested and he told me "We aren't building a piano." Basically, nothing needs to be perfect and everything is always going to be slightly off no matter how hard you try.

I've also heard that any given room in a house is never perfectly square, which further proves that.

I don't remember why i had a hard time sticking with learning how to program. But now at least, every time i want to learn, i go through the same introductory phase with fizzbuzz and shit and by the time i get to build something fun, i get bored as shit. And when i try to build something fun by myself without learning the basics first, like just googling syntaxes for "Well, this should be stored somewhere locally and called back on when needed" or some shit, after i made my plan, it gets frustrating as fuck because it rarely fucking works

Yeah wood warps and sets like a motherfucker. Trying to make it level is basically damage control. If something is uneven by like 1 cm that shit's gonna be a 10 cm gap in not too long.

You still want to do a bunch of trigonometry in your head to save time and material though.

You didn't post any examples, but python is ugly anyway.
The best possible syntax is

data
|> some_function
|> another_function
|> final_function


I refuse to believe anything else is better.

>it gets frustrating as fuck because it rarely fucking works
But when it does finally work it's exciting. Stick with it.

don't learn for the sake of learning, have a reason why you want to know how to program. And you don't need to do anything complicated.

Here's a very basic Python script that I use a lot

myList = [212,213,214,215,216,217,218,219,220,221,222,223,224,225]
myList.reverse()
print(myList)

The printed result will be those sequence of numbers displayed in reverse. I didn't program the "reverse" or "print" functions, they're functions built into Python. You can just do a lot of math stuff. Python is like a very sophisticated calculator. Do stuff like that to suit your needs and then expand upon it.

Okay, someone write a code that rearranges the word hlloe into hello in javascript if you guys think programming is so easy.

Why loop once when you can loop 3 times and show off that you know all the cool array methods though

My reason is simple 1 I'm stupid 2 whenever I have an idea and think maybe I should Learn programing and create it after 10min I find it already exists.

Pajeet detected

>Why so many people fail to learn programming:
Most people think god exists, don't expect critical thinking from retards like this.

You sound pretty stupid, I had an easy time getting into programming when I was 14. If you're struggling to learn syntax and do anything more advanced than fizzbuzz you may be sub 100 IQ.

Attached: fag.jpg (625x626, 33K)

The python version doesn't look very good since filter, map and reduce are free functions unlike in for example, JavaScript. Pic related.
This. The pipeline operator is experimental in javascript btw (developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator).

Attached: python.png (720x355, 42K)

on line 8 communities should be active_communities

I was being serious. I don't see any other explaination as to why people struggle with something as easy as programming.

people don't struggle with programming. Normies just aren't interested in it
>I know proamming i am smart

Just learn a front-end framework and start making money

It requires three digit IQ

stop meming

most people are fucking retarded user

that looks just as brief as javascript while also being way more readable. javascript arrow functions are absolutely disgusting and unintuitive.

>I don't understand something, therefore it's unintuitive

Dude your idea of "good code" is the absolute opposite of what good code is.

Assigning shit multiple times for no reason because you don't know how to read code properly is so fucking stupid, I hate when people say this to me. "Good code should be readable!!! for loops are so easy to read!"

Like no dude, that shit is so ass, it's literally breaking data flow because you can't actually code and you just hack shit together with mutating all over the fucking place with for loops.

x
.filter(removeNums)
.reduce(add)
.reduce(multiply)


How is assigning shit between each function going to help anything except look stupid

People who are interested sign up for computer science degrees and then 50% drop out of the introductory programming course. Read the camel has two humps.

How hard is it to transit from c# to python?

your "approach" would be fine in some cases, and awful in some cases. my approach would be fine in all cases and would remain readable in all cases. you can do that if you want and if you know when to, but theres no real point to it. the advantages are almost none.

>it's literally breaking data flow because you can't actually code and you just hack shit together with mutating all over the fucking place with for loops.
Imagine being so bad at programming you get upset when you see a loop

>way more readable
It's only more readable because of the intermediate variables used, it would look much messier if written like in OP because of the 3 function calls.
>javascript arrow functions
there's literally nothing wrong with them, and there's nothing unintuitive about it. they also have the added benefit of allowing multiple statements in the body unlike python.
>How is assigning shit between each function going to help anything except look stupid
because the direct python equivalent looks like this without it.

Attached: python.png (720x462, 37K)

>why cant every language be as pretty as python?
You must be shitposting very hard. C is an actual beautiful language, you should check it out sometimes

Attached: qwe_download.jpg (474x400, 21K)

note that the idiomatic python version looks like this but we're talking about using map and filter specifically now.
sum(0.9 * meetup['members'] for meetup in meetups if meetup['isActive'])

Maths is learnt though failure though is it not? You study it, try it, fail sometimes, and you iterate until you get it right consistently. So if people are already doing this for maths, why not software development.

>I just want to achieve stuff and I dont bother in understanding everything.
I guess this somewhat why we have libraries/APIs.

Try taking a lower level cs class. If it doesn’t compile or they hit a runtime error a lot of people quit out of frustration and have to ask the TA or professor for help. We also had tons of people cheat and get caught.