Programming Question

I want to teach my middle school daughter some very basic programming. Should I start with C++ or JAVA? Those are the ones I'm familiar with. I'm not a programmer, but while I was a graduate student in physics I picked up a fair amount of those langauge..... Haven't used them since. Any advice?

Attached: Fortran_acs_cover.jpg (610x780, 91K)

Other urls found in this thread:

inventwithpython.com/invent4thed/
twitter.com/SFWRedditGifs

python

python, or maybe lua

this please. don't torture your child with languages you mentioned

honestly Python is the best beginner language, even more so for a middle schooler. But if you had to go with Java or C++, I'd probably go with C++ since you wouldn't have to immediately learn about OOP.

Ok, I can teach myself as I teach her. So Python it is, but again I'm a physicist not a programmer so I need more help!
I have both a Windows workstation and a Linix workstation. Which environment should I put her in and what should I use as the programming environment? I can't remember the name of the ones I used, Eclipse maybe?

Python, C# or Go. Stay the fuck away from C++ and Java

TI-BASIC unironically

For python, OS doesn't really matter, and any IDE that supports it should be fine. Something that can run the code with a single button and display the output cleanly would be ideal.

With Python you can just have her work in Idle
No need to install any proprietary garbage, it's not like she's going to be programming 1,000 line programs at the start

Text editor. Geany (Linux) or notepad++ (win) are nice because they have syntax highlighting but are not overcomplex. Avoid complicated IDEs like eclipse for a middle schooler writing python.

seconding this, both good choices

What compiler?

PyCharm is not that bad to be honest

python does not compile, you just install it and run the code as text

python is a script language so you don't need to
compile, you just write your source as .py files and then run them using the python binary that comes with the basic download

This is great info. Any recommended basic literature?

PyCharm is overkill even for most professional Python development.
For beginner development, any text editor with syntax highlighting where you can bind a button to "run current script" would be more than enough.

I recommend starting with scratch as it teaches most core concepts and then moving on to python or java. For the love of all that is holy do not start with cpp. It's one of the ugliest and hardest languages out there - all the intricacies of C with all the horrible oop plastered on top

C or common lisp

Attached: 1528931609139.png (500x505, 194K)

python is a meme

>middle schooler
>C as first language

Attached: 1445498414528.png (399x567, 134K)

not as an entry language it isn't

If I had a kid I'd teach them processing.

processing.org

something as simple as
void setup(){
size(800,400);
}
void draw(){
fill(random(255),random(255),random(255));
ellipse(mouseX,mouseY,50,50);
}

would likely get them hooked.

Learned it for a physics class.

>new programming language
>semicolons

I actually agree with common lisp but not C
Lisp is way more intuitive than C and is actually fun to program in
Python is actually useful in the real world unlike other languages used for teaching like Scratch

there's a python mode for brainlets.

>Python is actually useful in the real world unlike other languages used for teaching like Scratch
Any recommended literature to starting python?

Just tried this out, works out of the box, interesting will save this for later. thanks

if i were just starting out i'd personally actually rather have semicolons than have to worry about why my program is outputting random crap because i missed a space somewhere

"Automate the Boring Stuff with Python"
Probably the best book for learning Python, and the best book to get people into programming
It's also available for free on the author's website

>middle school daughter some very basic programming
but why?

OOP is intuitive dude, real life is composed of objects!

better that than let them watch some retarded youtuber

OK teach kid this shit if you want her to hate programming for the rest of her life

I guess, but women programmers are a meme and OP is probably setting her up for feminism and failure. I don't see why he can't get her learning basic sciences or a secondary language instead.

If the literature you find proves too dry or advanced to immediately grasp, and you haven't programmed before, you should check out tutorial videos on youtube. They're usually pretty comprehensive and you can code along with them which should make learning a lot simpler

>"Automate the Boring Stuff with Python"
Programming teaches logic. I will be simultaneously teaching her language logic. It's not about her learning to program, it's about the higher level of thinking it promotes.

>a secondary language instead.
much less useful than a programming language.

A secondary language is a waste of brain space. Go watch some NBA with your daughter while me and mine start learning Python.

This, good thing about programming is that there's a lot of ways to accomplish something, and once you figure out a way to do something you can apply it to any language for the most part as long as you learn the syntax, which is minimal effort compared to actually learning to think through problems properly. And obviously it can transfer over to things other than programming as well.

>watching niggerball with my daughter, ever
I disagree btw, a language like Italian or German would be good, if you can keep her focused on it it could be something she can pass onto her children. Can she play any instruments? Are you getting her involved with sports? My general point is that you should be nurturing her inherent creative nature. Women and logic don't go together so well.

For a middle schooler I'd recommend his game book to start with instead. inventwithpython.com/invent4thed/
She probably doesn't have a lot of text files to batch rename.

The problem with videos for a kid is they tend to sit there and watch the videos but not do anything. Also a lot of the flashy learn to code in a browser window games are shit because they get to much into the game aspect and are bored by say making a program to print odd numbers. However Codingbat has nice little brainlet puzzles which a kid could do after a few months. Good luck OP.

Python has many real world applications though
Has it ever occurred to you that a language that's incredibly fast and easy to write might be practical even if it's slower than machine assembly, which I assume you program exclusively in for maximum efficiency

You didnt start coding in middle school?

yeah if you want your daughter grow up to be an anti-semitic basement dweller

>boomer wants to teach his kid lel koding
Leave and never return faggot

Attached: 1517551481979.jpg (530x438, 75K)

Op PLEASE do not teach her programming using Python. Yes Python is beginner friendly but it will absolutely ruin her. Programmers stick the longest with the first PL they learn. Python is so easy that anyone can learn it. It will teach her bad habbits and she will never get a good grasp of OOP and how to build complex software or fast software.

Please don't ruin her with Python.
I'd suggest you go with Java, there's a reason why it is popular to teach students at university Java.
It is a fast language and will teach her OOP, which is needed in the industry. It will give her a wide access to libraries and frameworks to make everything. It is not as complicated as C or C++, therefore ideal for beginners. The tooling for Java is excellent and there is a lot of info for it on the internet. You could also teach her C++ which would also be good, but it is far FAR more difficult than Java, and not more productive.

Again, PLEASE stay away from python, do not listen to the zoomers in this thread that got taught programming with python at bootcamp.

maybe he doesn't want his daughter to be a programmer, but just teach her some basic skills and logic?

You're trying to hard to be a 4channer

Java can go fuck themselves. Learn C#

t. microcuck bootlicker

Fortran

Drop her off at a Coding With Kids program if you don't know how to code.

Teach her some popular scripting language (JS/Python/etc), some fast/compiled language (C++/Java/Go/etc), some functional language (Haskell/Clojure/Elixir/etc), and she'll be good to go IMO.

Fucking This
Was my first programming language, really easy and probably the most useful for a middle school student
> Tfw made some money selling my quadratic formula program all through middle and highschool
Python wouldn't be bad though

I'd say either Java or C. I started with C and wasn't traumatized, I don't understand why it's so scary to some people.

Python is not a programming language, it's a scripting language.

assembly of course.
She'll love to MOV, ADD, and shit.

You fucking imbecile, start with scratch

Depending on your definition of what programming is, there are really multiple starting approaches to that shit. For some of them, choosing the first language is secondary.
Programming can be defined as following:
1) The tools (Languages, their syntax, idioms, etc.);
2) Algorithms and data structures (the core of how we actually make digital computers do stuff with data we give to them);
3) Program design/architecture (how we build something complex out of basic blocks);
4) Plumbing (knowing when/how to use standard libraries and frameworks);
5) Coding style/practice (a part of what makes programming a skilled trade, skills that are acquired with lots of practice, experience and learning best practices);
6) Collaborating (Understanding that creating large, complex software takes lots of man-hours -> learning how to effectively work with many people on the same project).
Considering knowing a programming language is only a small part of programming as a whole, it's not really relevant which one you choose, as long as it's relatively modern and simple for a beginner.

Teach her how to be a good wife and mother.
Do you want her to work her ass off in an industry she doesn't really care for or do you want her to lead a comfortable life taking care of your grandkids and having time to have a hobby she is actually interested in, all for the low price of being a loving wife and mother. A high value woman will attract a high value mate.
Also,
>asking for parenting advice on Jow Forums

Attached: 1515377827803.jpg (750x750, 95K)

If you have an iPad, Swift Playgrounds is a really well-designed application for learning programming. It's excellent.

>It will teach her bad habbits and she will never get a good grasp of OOP

What? Python has ducktyping, which honestly makes it more properly OOP than what Java pushes.

>there's a reason why it is popular to teach students at university Java.

Because they're industry sellouts who want their students to be 'business ready'. It's honestly atrocious for actually teaching the principles of OOP compared to Python, and precisely because it's so pointlessly restrictive. Do you actually understand why OOP was created and/or what the motivation and principles behind it were? Because I get the impression that you are ignorant of that.

No to argue with the main points, but languages lacking a decent type safetywill always be fucking confusing to beginners.

>but languages lacking a decent type safetywill always be fucking confusing to beginners

That's a completely different argument though. If you argue in favor or static typing, then I find that somewhat reasonable, as having types be real but implicit is unnecessarily confusing, I agree.

Visual basic.net is a good first language as visual studio provides an easy environment to make simple gui programs. This is how I started at least

holy shit, user
are you actually feeling threatened by a middle schooler learning to code?

pleasure don't teach her OOP garbage. Teach her some functional programming language if possible, like Haskell or Lisp. It's a lot more intuitive in the long run and will be more useful for her in the long run to go from there to other languages than vice-versa.

> she shouldn't be introduced to programming
> introduce her to science
> implying she could go into the sciences but not programming/CS
> women can't into logic but I can

Attached: 8i353bjh2w711.png (1833x935, 1.91M)

HTML. I'm not even joking.

Middle schoolers don't see the point in programming. It's way too abstract for them. They won't be able to understand it unless they can see it.

Make some pretty web pages and UIs. From there introduce JavaScript when she hits the "how do I make it do X?" wall.

See:She should learn basic science and math so that she can take an active role in her children's primary education. I also suggested an instrument, and I strongly recommend it. OP should be nurturing her inherent creative capabilities while instilling basic knowledge she can pass onto her offspring.

Attached: feels.png (205x246, 14K)