What is the best programming language to introduce to a beginner?

What is the best programming language to introduce to a beginner? I have seen every answer as well as memes like "it doesn't matter which one you start with hurr".

What is the objectively best one to start out with?

I've been teaching this shit for years, so let me ask you this: What are you thinking of doing? Front end? Back end? Network? Mobile? Game dev?

Not for me, just what to recommend to people starting out in general. I would say C# or Python, but people tend to disagree with that.

some say that you should start with the easier languages like java, python etc.

some say you should learn all the things these languages does for you, and learn the hard way. As in e g. C++

Just curious, what would you recommend for game dev?

I started in pascal, but I think C

Learn C to get the best start in understanding programming logic and how languages interact with systems (without going full assembly autism), and by the time you have a proficient understanding of it you will know where you want to go next.

JavaScript

>understanding programming logic and how languages interact with systems

Your post convinced me to try programming again. That sounded interesting.

Should I just download a compiler and notepad++? Where would you suggest I start?

>Java or C#
Teaches the basics of OOP w/o too many bells and whistles.
>C and C++
Raw-dogs your asshole until you quit or learn everything the hard way.
>Python, JS, Ruby, etc.
Script-kiddo for life, do this first only if you aspire to be nothing more than a bad webdev.

C# and Python are good choices. When you say people do you mean Sup Forums because you should know better than trusting people on Sup Forums, me included
From job seeking perspective, Python and Java are the ones to go

Never done game dev myself. Folks I know that do game dev tend to favor C# as both intro. They work on Unity though, so take it with a grain of salt

Try messing around with repl.it first if you don't want to install compilers if you're on Windows

this guy gets it

I mean reddit, stackexchange etc. The most common I see on there are C and Java.

I'm on windows but I kinda wanna do it with a compiler or something. Just to do it for real. So how do I start?

What if you want to go for Android dev, Java?

Even if it's your end goal, never start with Java. It's awful for beginners. The syntax is irritating for people just working out the logic of programming and it's way too easy to write obnoxiously bloated code.

This is where personal experience and expectations comes in.
I've taught both Python and Java, and student reaction is about 40/60 favoring Java. It comes down to what you want to do.
Right now I'm working with BIG DATA buzzword and use Python more than Java, but the previous job I worked with MVC which of course is Java more than Python.
So depends on what you want to do with it. There isn't a good catch-all language for intro, only broad consensus.

Get gnu compiler and install either MinGW or CygWin. Then just program away.
Be careful as to not brick your own machine. I've fucked up more times that I care to admit

Haskell

html

Do you think a self-taught programmer is a real thing or just a meme?
I'm thinking about learning programming but I really don't want to go to college.

>C# or Python

Quite the dichotomy in skill level

I'm on a gap year after high school and really wondering if I should just quit my job and improve my programming fulltime for a year or go to college next fall. College is free in my country but 5 years is a lot of time for a degree.

Are self taught programmers employable?

>Are self taught programmers employable?

Yes

Sorry, I don't know too much. Wouldn't that be downloading a linux application and using kind of an emulator to run it? Are there no good compilers for windows?

How much do I need to know? Everything a CS degree contains?

I think you should apply, I'm too old imo, I have a law degree and I'm an intern at a law firm but there's no way in hell I'm gonna do this shit for the rest of my life.

Well, there's a reason why people don't suggest C or C++ as the intro language

More or less, and probably more
Get a portfolio ready

Yeah, but C sounds really interesting. I guess I will have to figure all this out with google.

no one said scratch ???

>Wouldn't that be downloading a linux application and using kind of an emulator to run it?
no

>Are there no good compilers for windows?
Those are for Windows.

Won't stop you, but be mindful

For like 2 days worth of an intro class, maybe. It really doesn't teach you the real meat potato unless you care to think.

C is good for starters, at least if you are not planning on doing anything
productive in the first time.

+ the langueage is in itself very easy
+ learning it teaches you a few important things
- you will have to switch to switch to another language later,
if you want to get something done
+ as many languages have been inspired by it, latter shouldn't be
too hard.

this obviously. And google appinventor.

Scheme 4 lyfe bitches

>c
>you have to switch to another language to get something done
kek

Only logical answer

any language that is extremely simple and small like C so they will waste less time learning the language itself and get into actual programming stuff like recursion and shit right away

> recursion
NO NO NO !

python

Ok, fuck you guys, I'm gonna start with C, Java and Python.

I'm a stupid
Can I still be a programmer?

If not LISP then LOGO.

>What is the objectively best one to start out with?
The "fuck it, pick your own language and do it if you have the will to get it done" - language.


And then you teach the comp.sci side - algorithms and data structures and maths instead, 'cause that shit needs a little more guidance than learning some langauge's syntax with book or online tutorials.

Much easier to run in circles and get stuck with those on a conceptual level than it is with some language.

Of course. Have you seen the idiots that "apply" for "programmer" jobs?

ok let me rephrase
Can I be a programmer and make good money?

scheme

>memes like "it doesn't matter which one you start with hurr"
Everything only matters insofar as it doesn't not matter

In other words, learning the concepts is more important than the language, dullard

>anons language of choice doesn't support TCO

Well, that depends on what you do.
Entry level 45k to 55k is the usual for run of the mill stuff.
Web dev can do better depends on your skillset
Data analysis and AI are the trendy shit right now, and they seems to be making good money.

Don't expect some 75k job right out of the gate unless you're really good and working in a high level place. Anyone that says otherwise is lying and can't prove it.

If you want to learn "real" programming, that is, how computers actually work on the lower level, learn C.
If you just want to get in touch with programming in general, go with something like python or javascript

LISP.

Not even trolling.

killSelf
{
doItFaggot.toRope();
}

c is also useful even if you don't care about low level since 99% of languages syntax is c with more bells and whistles

45-55k is fine
I just want to live by myself, play video games, and watch anime in my off time.

That's what I do, plus a tutoring job on the side because I like teaching
You'll be fine, but depends on where and how you live you may not have enough money for vidya and animu

Fuck, just be a computing teacher in the countryside. That's what I intend to do. Low hours and affordable lifestyle. Highly in demand (at least in the UK)

That's a meme nigga

Ok I just need to learn but I don't really know what to do now
def ftcc():
e = raw_input("please enter a number:")
d = int(e)
c = d - 32
b = c * 5
a = b / 9
print str(e) + " degrees Farenheit is " + str(a) + " degrees Celsius"
def ctfc():
x = raw_input("please enter a number:")
z = int(x)
y = z * 9
t = y / 5
w = t + 32
print str(x) + " degrees Celsius is " + str(w) + " degrees Farenheit"
while 1 == 1:
ch = raw_input("Are you converting from celsius or farenheit? please use only the first letter. i:e: 'f' or 'c': ")
if ch == "f":
ftcc()
elif ch == "c":
ctfc()
else:
print "try again!"

this is the most detailed thing I've written and even I know it's a fucking mess.

How so?

TELL ME

It's "objectively best" to have the curiosity to start tinkering on your own with whatever the fuck you have at hand and taking it from there. If you need to ask "how do I get into programming", then:
1) you're getting into it for the wrong reasons
2) you'll always suck at it.

Python hands down

>You'll always suck at it
Ok so just like everything else in my life.
I really am a defective subhuman

In school they teach us Java first. It was pretty easy for me to get a hang of as a beginner back in high school

Teaching is a very stressful job. Every kid is different and every class is different. You have to balance different learning abilities. Classroom management can range from nightmare to Columbine

Teaching itself is also not as simple as it looks. What do you put on your syllabus? What do you put on each homework and test? How do you make sure the homework is meaningful and challenging? How do you assign points?

That is not considering if the administration is helpful. Maybe you need to submit weekly lesson plans, maybe daily. Are you going to be responsible for the lab? I got some horror stories about kids on computers doing strange shit.


All this is assuming you actually care to be a good teacher.

Pretty straight forward for an intro. Just keep on modifying the one line at a time.
For example, can you try not using b? Can you go from c straight to a?

What do you want to program? Just try and program it. That's how you learn

If you want to learn programming just to get a job, you deserve to be having whatever kind of existential crisis you're experiencing right now

While terrible for anything else, VB.Net is good for learning.

Haskell

This guy does get it.

>All this is assuming you actually care to be a good teacher.
Well, I don't believe there's much point teaching low-ability children, so I'm a bit of a facist in that respect

I also have a pretty low tolerance for bullshit. The nightmare classroom scenario is the main off-putting thing. I have no idea if I could control a classroom, honestly.

But I would like teaching ideas and planning homework and everything. It's just the fucking kids who are essentially being forcefully imprisoned against their will that make it a bit of a downer.

I like programming, I like computers, and I like software, ever since I dreamed of being a game developer as a kid. I just have such little self-esteem or faith in my abilities, because I've been bad at everything I've ever done in my life.

Senior developer here.

Go for the degree. In my experience the cream floats to the top. No one cares about your qualifications in this industry. This is a high profit industry and getting shit done is what matters.

I say do the degree because I presume you will get your living expenses paid for and you can start learning and spend a few hours each day working on your skills. The first year of University is essentially a weeding out process for the unsuitable so you'll have bundles of free time to work on things, socialize and git gud.

P.S. Don't forget to make a portfolio site, it's basically all that matters.

You mean something like this?
def ftcc():
e = raw_input("please enter a number:")
d = int(e)
c = d - 32
a = c * 5 / 9
print str(e) + " degrees Farenheit is " + str(a) + " degrees Celsius"
def ctfc():
x = raw_input("please enter a number:")
z = int(x)
y = z * 9
t = y / 5
w = t + 32
print str(x) + " degrees Celsius is " + str(w) + " degrees Farenheit"
while 1 == 1:
ch = raw_input("Are you converting from celsius or farenheit? please use only the first letter. i:e: 'f' or 'c': ")
if ch == "f":
ftcc()
elif ch == "c":
ctfc()
else:
print "try again!"

My script is set up so that it's technically infinite recursion, it's just highly unlikely for a user to use it enough to actually trigger an error. Still a bug none the less.

I'm probably going to be ass raped by asking this, but you guys shit talk every language, what are the languages you think are the best to work as a profession and why?

Show me a good portfolio site. It doesn't have to be yours

FORTRAN, because pretending to maintain ancient codebase that noone understands is the comfiest, most secure job ever.

Start with C. It's what the introductory course at my university starts with. Well unless you're a braindead moron, then there's a completely unnecessary and non-required course that teaches python.

The advantages of C is that it lacks OOP which is fine for an absolute beginner because, syntax, program flow and control, variables, and functions are what a beginner should be focusing on, not objects and inheritance and polymorphism and all that shit. Secondly C doesn't have automatic memory management which means the beginner actually learns how memory works, and also how to use pointers. That's pretty important in my opinion, because you can get by without knowing how the underlying machine works since programming is built upon several layers of abstraction, but you're not going to be as good as the guy who actually knows why things work the way they do.


After that you can dabble in OOP, and maybe even some other programming paradigms if you want.

Yep, take it one line at a time.
Now what do you mean by recursion though?

Now that's a dangerous thing for a potential school to know, so don't ever express that in any way. High performance students are a god sent for teachers, but they come rare. Also, these kids can be just as a nightmare because their high academic achievement may also make them leaders of class, and you don't want to get on the bad side of these little assholes.

If you want, try tutoring to get your feet wet, and it gives you some leverage to not work with some problem child.
That, or work for an enrichment program, or something with a self-selective slant. Kids in summer enrichments tend to be more interested in the subject you teach and thus better behaving. Unless parents force them to come, of course, but that's part of the job.

Java, Python, C. Just see which languages are most talked about in this thread

I used the wrong term, chalk it up to me being a beginner.
I mean that If i keep calling these functions, the call stack is gonna overflow and my script will end. Its incredibly unlikely that such an error will happen because it takes such a long time but it's possible.

This

You practice and learn

>I got some horror stories about kids on computers doing strange shit.

Elaborate

And what do you teach? Do you teach the AP or IB track?

I taught AP in a computer lab

Aside from the usual things such as kids trying to watch porn, I had a kid who stuck her gum into the USB port just because, a smartass who bought one of those virus sticks and bricked the machine, a kid that actually downloaded the porn on to a USB and brought it to class, and a girl who just took the laptop and chucked it at another girl she was feuding was.

Ghetto schools can be a lot of daytime drama fun if you look at it from one way