New to programming, what language should I learn first?

Just like the title says I am new to programming and not sure what language I should learn first. The two main goals are

#1 employment. Is there a single language I can dedicate time to learning that can get me a job as a junior programmer?
#2 What programming language would you suggest I learn to just help me with other programming (learning it in general etc)

(a little background before suggestions are made)
I went to college last year for programming at a local private college because I got a scholarship. This was the only college that had a programming focused associates degree in my state. During my year there I was taught nothing but pseudocode and HTML with some CSS.
Classes were going great for me with my grades and then nfortunate circumstances happend and I left college with my gpa intact.

Come to find out the head instructor stopped caring which is why towards the end of my only year there started bouncing around a ton and annoyed some of the older more mature students. It seems he didn't know what he was doing once we got a new department head as I was leaving...

So with only knowing some HTML and css as well as being I guess a poweruser/former helpdesk1 temp worker with no certifications I ask you all what language/s should I learn not only to continue programming but also for faster employment. Thank you.

Attached: TiredProgrammer.jpg (667x729, 49K)

Other urls found in this thread:

sarabander.github.io/sicp/
racket-lang.org/
docs.racket-lang.org/sicp-manual/index.html
twitter.com/SFWRedditImages

Python or C
Choose your poison.

It's not so much about the language as it is about the algorithms. If you want to be a decent programmer and get a decent job you can't just learn a few languages, unless you want a webdev or other shit-tier position.

Where I live most employers are constantly looking for junior Java developers.

Learn C, it teaching you about pointers will help you understand other programming languages and concepts easier in the future.

Honestly, if you really want to get a job that you could have for life, it does really depend on what you want to do, but what ever you do, don't become a pajeet teir dev faggot, you will only hate yourself and everything that isn't curry and open bobs
If you want to do mobile development; with the way things are going now, the only things you really need to learn are Java and React.js, which is fucking cancer for the most part and you will be a pajeet teir developer but you can eat as many naan breads as your greeesy little mokey hands can shove in your mouth.
If you are looking for web development, then that is more wabascrupt and possible Ruby on Rails; also semi pajeet tier, but you would get and understanding of MCV and a little bit about the backend.
To actually learn about computers, C and C++ are a must, maybe a little assembly if you want to understand how programs are actually being compiled and executed from as close to the hardware as possible, but personally I would pick up C pand Python. Python is fucking easy to learn, the basics can be taught to any CS retard and you can pick and choose what you will actually use from its inbuilt methods, also C because C is as fundemental as you will get, very good for learning and improving your beard growth.
Other than that, there is security/pentesting but you are just asking to be an edge lord because all good programmers should know security anyway.
t.an indecisive faggot who is now lord of the poo's in my shitty tech conglomerate

#1 JavaScript, JavaScript, JavaScript. You use JavaScript to build modern web applications because that's the only programming language browsers understand. Web applications consist of two parts: Front-end (what you see in your browser) and back-end (what happens on the server your browser talks to). Right now there's a serious shortage of skilled people who master at least one of the popular front-end frameworks (pre-written code to make it faster to create things) such as React, Angular or Vue.js. In the back-end there's a thing called Node.js that allows your server to be written in JavaScript, and there's also a shortage of developers who can do that.

#2 A book called Structure and Interpretation of Computer Programs which teaches you how to program with language called Scheme. That language is used pretty much nowhere, but so far I've noticed that people who started out with this book are far above those who began with Java or Python. MIT decided to drop it because only 50% of students who started the course which used the book passed it. It's pretty brutal for a normie beginner or even a programmer who already knows a language or two (like I was) but holy hell it is worth every moment spent with it.

#3 Programming consists of a lot more than just knowing how to program, but first you must of course learn programming. Once you know the basics, there's a whole new world opening up for you if you just decide to embrace it. It's like learning to read and write again. Don't give up, you can do it.

sarabander.github.io/sicp/
racket-lang.org/
docs.racket-lang.org/sicp-manual/index.html

Learn Bash.

Thank you all so much. lol@ the naan bread and bobs comment. Yeahhh being stuck as a dev that way doesn't sound fun.

I really appreciate all the responses I got.

I am curious what types of companies would be good to set my sights on that won't work me to death (yes I live in the us in MN)

Prolog

>main goals are
>#1 employment
C# WPF
Later you can branch out into ASP or even trash like UWP if you have some app ideas it's quick&easy buck you can make on the side.
Just learn how to use entire Azure stack and you'll never have to worry about job stability.

H A S K E L L

C#. Employable.
Or C if you want autistic low-level knowledge that employers won't understand.

Or python if you're a brainlet and find C# too hard.

I assume you actually care to learn and get a job. Given that, you have four macro-level choices to make:

1. Web developer
2. Mobile developer
3. Enterprise-software developer
4. General software/other developer

You have to make some choices about what you want to do, then you can actually pick some languages and technologies to learn.
You can think of the "purity" of the fields like this: 4 > 3 > 2 > 1. People sometimes consider "web dev" to be barely programming at all.
If you want ease of money-making, the order might go something like this: 1 = 2 > 3 > 4.
If you care about maximum salary, then I would say its 4 > 3 >= 1 = 2.

For languages to learn, respectively:
1. Ruby or JavaScript, but probably not both. You'll be picking either Ruby on Rails to target or one of the many JS systems.
2. Swift for iOS or Java/Kotlin for Android possibly JavaScript for cross-platform. Starting off, just target one and get good at that, maybe transition into both later on.
3. Java, C#, or possibly C++, but probably Java. This is pretty self-explanatory, but most enterprise stuff is Java/C# based, unless you're at IBM/Google/Microsoft/Apple.
4. Probably you will want to learn C/C++, because general software typically refers to desktop applications, embedded stuff, microcontrollers, etc. This is the catch-all category and is difficult to make sweeping statements about.

The general take-away from this is:

1. Pick one of the categories I described.
2. Learn how to do it, which involves learning, market research, and setting out some plans and timelines.
3. Start building a portfolio by just making shit. If you set up a blog and talk about what you do, that's a good way to establish a "line of credit" of competence.
4. All the while, apply to jobs that are relevant to what you want to do. Remember--job experience requirements are a wish list, and a company will almost always hire the most competent from even a bunch of idiots.

Good luck, user.

1. dick sucking. you wont get a job ever without knowing people.
2. means jack shit. learn whatever your friend or family member giving you the job is asking you to learn.

The "I want to learn programming" package:
>Assembly - Program some small things, learn to manipulate some strings and create functions, move onto C
>Go through SICP from cover to cover
>C - Learn everything from K&R and then program one or two "challenging projects"
>Java - You have to learn OOP
Then start building whatever you want.

The "I want a job" package:
>C and C#
>Java
>Javascript

The "I want a well paying job" package:
>Assembly
>C/C++
>VHDL
>Java

You should stay away from Java, JS and HTML completely if you dont want to deal with pajeets or faggots.

#1 no because it's not about languages, it's rather trivial for someone experienced to learn a language (unless the paradigm is radically different)
#2 start with C, then C++ if you're serious. If you find it too much, go to Python then go back to C++

Start with a language that's programmer friendly so you get the concepts down first off, as they can be difficult to wrap your head around when you first get started. Realistically in your case (knowledge of HTML/CSS) a good starting point is Javascript - very user friendly and forgiving when you're still learning the concepts, as well as still being flexible enough to be used in a wide variety of jobs. Some people will shit on JS saying it's a shitty language, but it's a fantastic stepping stool for when you're learning how programming works, and it's still a very powerful language if you use it right.

If you're more of a fan of structured learning, Udacity has some good nanodegrees that walk you along the path of a particular job skill.

If you're a fan of more off the cuff learning in terms of JS, check out freeCodeCamp for a good linear introduction to Javascript. Once you get a handle on things a bit more, check out codeingame and codewars for practices on algorithmic stuff and the shtick of 'thinking like a programmer' in how you approach problems. Once you understand the concepts, start building some projects, and once you build a good few, take a look at Python for more data-driven programs. Best of luck my guy.

man of culture

>The "I want a job" package:
>no python
>more I want to be a perma NEET

>Stay away from Java
>Include it in every single list
ok

Scheme and HtDP (or SICP if you're a purist)

1) To get a job asap (really depends how well you absorb everything) JavaScript. I still wouldn't expect to be employable for at minimum 1 year of doing it every day.

2) I learned JavaScript first, a couple frameworks, and just didn't enjoy it. In my studies I saw someone say something along the lines of "JS makes me want to scream FUCK THIS, but I don't even know what 'this' is". Very true for me as well.

Moving on from JS when I realized it wasn't for me I took up Cpp and have continually used it.

There is no one size fits all for everyone. I went from 0 to a basic understanding of JS, to a competent (I think) Cpp developer

C++, Java and JavaScript are the most employable right off the bat.
I learned it C, C++, Java, JavaScript. It was a pretty decent way to learn

Work in the north east in the US or Midwest and you won't deal with pajeets. There are 0 at my company

knows what's up.
LISP: b/c it is a great vehicle for ideas, and has SICP written in it. Even if you end up never using it even once professionally, it is worth having been exposed to this subculture of the CS world at least once. Plus you might end up using Emacs in the future, you never know.
C: b/c sooner or later you'll be using one of the Algol60 family of languages and b/c as a CS related professional you can't afford to be ignorant of your machine's architecture and the low level stuff, I had to reverse engineer a closed binary format once, my intimate knowledge and long work on C has made it relatively less painful than it would have been otherwise.

vim is fine

broke: Python
joke: C
woke: NASM
bespoke: Haskell

1. You're gonna want to start with QBASIC. Go download qbasic.exe to get started.

2. Once you've mastered that, lets get you into forms. So you're gonna want to go ahead and download Visual Basic 3.0. You can take your QBASIC knowledge, and then wrap windows forms around it. Its really something.

If you need code examples, head over to planetsourcecode.com and you will find lots.

3. Now that you've mastered basic, it's time you leaned a more powerful language. You should learn about C, or C++ (your choice). Take time to learn the ins and outs of memory management. C and C++ doesn't hold your hand. I recommend you download Dev-C++ for this. Or you can pirate MS Visual C++. Take time in this. Learn about Librariers, learn about functions and classes and object oriented programming. Then, I suggest you learn about C# also since a lot of faggot companies use it.

4. Ok now lean something like MySQL and figure out how to make a program access a database.

5. Go ahead an learn PHP. Its great for web server programming and you'll find the MySQL training comes in handy for this also.

Pat yourself on the back. You are now a good programmer and you didn't have to learn any meme shit.

Attached: 1509479073167.jpg (460x345, 64K)

>#1 employment. Is there a single language I can dedicate time to learning that can get me a job as a junior programmer?
Java, C#, NodeJS/TypeScript, Swift

>#2 What programming language would you suggest I learn to just help me with other programming (learning it in general etc)
C (understanding how systems work) + Java (understanding how abstract managed languages work)