So I'm trying to learn programming, I want to do something useful, contribute to open source projects etc

So I'm trying to learn programming, I want to do something useful, contribute to open source projects etc.

I started with JS because it's so ubiquitous and because front end stuff seems to be the easiest field to get into without CS expertise

However I'm noticing that JS has some really weird, confusing properties. Moreover, I don't like the design aspect of web dev as I don't have a good aesthetic taste when it comes to graphic design

I notice that the most fun aspect of programming for me is when problems are abstracted from both hardware and any kind of interface, when the problems are purely abstract, algorithmic

I'm asking myself if I should pause my current online course in JS and perhaps try something different, more adequate for the way my mind works? Any ideas, Sup Forums ?

What are the emerging fields of tomorrow that one could reasonably get into without extensive background in CS or maths ? Something other than web dev ?

Other urls found in this thread:

adventofcode.com/
freecodecamp.com/
theodinproject.com/
destroyallsoftware.com/talks/the-birth-and-death-of-javascript
github.com/async-js/async#waterfall
twitter.com/NSFWRedditVideo

Sucking dicks.
Better get used to it.

>emerging fields of tomorrow that one could reasonably get into without extensive background
that sounds contradictory

you should learn some basic programming in a language like C, get started with easy projects (there are tons of websites with ideas to get you going). what are your interests? have you looked at some trending open source projects? one could easily name hot topics like neural networks, automation, big data, virtualization, and so on - but they are most definitely not something you can get into without any programming experience or math skills and expect any reasonable results.

>However I'm noticing that JS has some really weird, confusing properties
Save for few weird quirks you can easily learn to work around, JS is as good as it gets.

What are some websites for programming projects, easier ones, not OP but i just atarted learning C++ a couple weeks ago

adventofcode.com/

>neural networks, automation
This is what interests me the most, but I lack the required math skills

With the way NN libraries are right now, you juts build your NN out of block like lego and supply training set. The rest is done for you.

>you juts build your NN out of block like lego and supply training set
But that is like hobby level. Nobody will hire you for doing that.

It's state of art. All state of art research is done on this level. You try to be cute and write your own NN framework and it works 10 times slower because they spent years optimizing those blocks for GPU execution.

> I want to do something useful
>contribute to open source projects


"useful open source project" is an oxymoron
let the autists work for free, you just use what they make and program something you can sell and make money. Don't be as autistic as they are.

I don't know how to frame this question without sounding like a disgusting, greedy asshole, but what do you think is the easiest field to get into, job-wise ? is it web dev ?

yeah web dev certainly
you can pretty much get a gig with just knowing the basics of web dev and Ruby on Rails, or even better you can make your own products

go through things like

freecodecamp.com/
theodinproject.com/

they have a nice structure you can follow so you end up with a web dev job in the end.

you can learn Python too and then learn Django to get into web dev, python is useful on it's on so you'll have that too

While that's true that webdev is the easiest to get into, it most likely won't let him do what he claims to want to do (which is problems that are abstracted from both hardware and any kind of interface).

How do I get into writing code for NASA space ships?

The most straightforward first step would be to get hired by NASA (alternatives are all too difficult for a normal person).

I think I'll just have to accept the reality of the situation. It's my own fault for getting a useless humanities degree.

I'll keep going in the web dev direction as I really cannot stand having more dead end menial jobs or I'll kill myself.

I already got paid to build a few websites so it definitely seems doable even though I don't like it

Some tasks related to web dev, like optimizing database queries, can be quite interesting by themselves.

You do know that you can use the internet to not just shitpost, but to also learn maths? MIT has something called OpenCourseWare where you can view recorded lectures, and have access to some of the class materials, including quizzes and homework. You can also use jewtube, khan academy, and other websites that will give you a pretty good understanding of any topic you want.

I would suggest learning single variable calculus, or pre-calculus to get you started in maths. The only roadblock here is yourself.

user you didn't mention Node.js in your OP, is this an oversight or are you not aware of it?

I basically knew what a variable was 3 years ago, wasted a year learning Ruby / RoR then found out about jQuery and jumped to Node.js / Javascript.

I do all my coding in Node now, it's abstract (you don't need to be focused on UI stuff if that's not your talent) and is great for automation.

Also, JS is a bit hinky, if you haven't read Doug Crockfords Javascript: The Good Parts, then buy it immediately and it should help you regain faith in your choice of JS as a programming language.

And yes, it's very marketable, I've just landed a job overseeing the security of web dev at a major media company, on the strength of (a good few years of Security Infrastructure consultancy) and being the worlds worst Node programmer.

I don't know what NN is, but I use it for web scraping, which it is pretty excellent at.

Stick with it JS bro.

Is it possible to learn koding without taking klasses?

Thanks for this excellent post!

Why do you say your time learning Ruby/RoR was a waste?

I think I'll follow your advice and go the NodeJS route

Not for you Karlie.

NN is neural networks. There's no good neural network framework for javascript yet.

>NN is neural networks. There's no good neural network framework for javascript yet.
Soon.
JavaScript will take over the whole NN/Deep learning field too just like it dominated the fields of backend, now mobile apps, etc. JavaScript is unstoppable.

>etc

Your arrogance is hilarious. I have nothing against Javascript but it only is used in a very narrow set of fields. It most definitely in not dominating backend field.

Even more hilarious is that people are using it despite the fact that there is hard limit of about 2GB on memory use in v8 and thus in node.

>JavaScript is unstoppable.
Oh yea? Javascript firmware/drivers/kernels when?
It's only as "unstoppable" as a spreading plague.

kek

Here's an interesting talk about the subject: destroyallsoftware.com/talks/the-birth-and-death-of-javascript

Note that I'm not trying to argue against neither your nor his viewpoint. Just posting interesting related talk.

>Why do you say your time learning Ruby/RoR was a waste?

because I'm a jerk sowing bait :-)
It wasn't time wasted at all, I learnt about REST and God knows what else while studying it. As for why I didn't keep with it, as others have pointed out JS is getting everywhere and why learn a backend language and a frontend language when you can learn just one?

Glad you found my post useful! Never happens!

Just a word of warning with Node, get ready to fry your brain on callbacks. I've skirted them so far as there's is loads to learn and do just symmetrically in Node.js. I found them a serious speedbump that drained alot of impetus learning. But that could just be me.

Incidentally callbacks are my favorite feature of JS
Either I'm strange or just because I'm still at a babby level without nesting callbacks yet

>Incidentally callbacks are my favorite feature of JS
hehe, yeah they're beautiful and they reflect the world / web perfectly and all.

But I'm stupid.

>hehe, yeah they're beautiful and they reflect the world / web perfectly and all.
Nooooooooooo. No, no, no, no.

They are hideous. They are hideous and JS people acknowledge this too - they're adding async call in next version of JS - it inlines waiting for async result of function without having to specify callback.

Most of the time, you want to write this:
y=f(x);
z=g(y);
w=h(z);
console.log(w);


Not this:
f(x,function(y){
g(y,function(z){
h(z,function(w){
console.log(w);
});
});
});

I prefer the second.
Much more expressive
Maybe our brains are wired differently?

>that guy has the classic BDF
>he probably is packing an 8-incher
>perfectly groomed stubbles on top of that
>put a glass on him
>now he's a nerd

Why won't directors/photographers stop doing this?

You know node has synchronous functions right? Fucking retarded faggot.

>JavaScript
>useful

Go back to programming useless Euler Project tasks in C in hopes that someone will finally employ you, user.

Don't fuck up and keep on with JS. If you really hate front end try to learn node by making an API and/or the back-end of whatever idea you want to try.

C is definitely useful but JS is a great way to make sure you won't give up later because you can do whatever you want easily with JS. I'm currently doing a multi user virtual reality app in the browser with full a JS (React, Redux, NodeJS) stack : it works and it's pleasant as fuck to do.

Learn the quirkinesses of the langage (there seriously aren't that many), try out NodeJS if you want to do something that will have to deal more with "real" computers and networks rather than browsers.

I learnt CamL and C as first langages so it helped when I learnt JS but if you are not a CS student JS is definitely the langage to pick up first. If you think you really love abstraction and you have a very precise idea of what you want to program then learn Haskell, OCamL or Scheme.

Absolutely do not try Java and avoid PHP as much as possible if you want to enjoy programming. Those "work" and are definitely useful, but I doubt that any sane person (ie: any non IT monkey) would say that they "enjoy" PHP or Java.

Oh and don't avoid front end too much, it's quite painful at first for a problem solver kind of guy to make "something beautiful" but ultimately it is turning a picture design into code. In the end you spend 10% of your time making something "pretty" and most of the time solving issues.

It is much easier to go from a front end role to a back end one than the reverse cause front end dark magic can only be learnt by experience with customers and managers yelling at YOU cause you are the guy who made the interface. It is not hard but you have to practice quite a lot to get efficient enough to it. Back end magic can be learnt by reading books and code (but practice still is needed)

I don't know why I wasted my time writing this since no one will read all of this. I fucking procrastinated again. Damn.

There are already so many ways to avoid the pyramid of doom... From promises to external libraries like async...

github.com/async-js/async#waterfall

I read it and give you my thanks for further insights!

You are welcome

If you keep on with programming and learning stuff you won't have to worry for your career and hopefully you'll find something that suits you perfectly even if you don't have a degree (which as a dropout I don't).

There is a lot of frustration, but it's normal : no pain, no gain. When you will be proficient enough in programming don't hesitate to try maths (stats and algebra) if you really want to solve abstract problems.

>I don't know why I wasted my time writing this since no one will read all of this. I fucking procrastinated again. Damn.

I read it user, got alot from it too, thanks.

The C64 isn't even plugged in, what the fuck.

the cables might be going from the back? you cant really see that, the tv might just be on the wrong channel