Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Radia
Jul 14, 2021

And someday, together.. We'll shine.

Kazinsal posted:

pointer arithmetic is the thing that always trips people up the hardest but once you understand the rules for it in a practical case it clicks

yeah the first time i wrote a for-loop using pointer arithmetic i was like "oh this is all logical this makes sense" and that was that. struggled to understand why folks struggle with it, but i think it's just me having compuiter brain damage

Adbot
ADBOT LOVES YOU

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
i have to assume that at some point people are taught, or believe, that "a variable is a box for data" and then they come to pointers and it takes them a while to realize that that particular premise is no longer correct

GenJoe
Sep 15, 2010


Rehabilitated?


That's just a bullshit word.
i will never understand why intro classes are still taught in C/C++, like I can not imagine a quicker way to turn someone off from programming than by making them deal with all of that poo poo

and then my school had a C for non-majors class which was seriously such a loving headscratcher. anyone who had a legitimate application for C already had a class on it (I’m thinking mostly the electrical engineers, and then it was touched on in scientific computing but I seriously doubt the undergrads were slinging parallel computation stuff) so it was entirely filled with like, business majors who wanted to learn what this coding thing was all about

my position on why so many people hate programming will always be because introductory education around it is dogshit almost everywhere. like I refuse to believe that there’s a coding gene that some people are just born with. no one wants to code because your introduction to it is going to be either “learn pointer arithmetic” or its going to be “here’s the programming language ‘html’, now go and build me a lovely travel website,” with basically no inbetween

GenJoe
Sep 15, 2010


Rehabilitated?


That's just a bullshit word.
i also do not think the introduction of those Java-based IDEs that have you like, hop() a kangaroo around on an island by using a for loop are functionally any better than the html example

GenJoe fucked around with this message at 20:14 on Mar 26, 2022

akadajet
Sep 14, 2003

Gazpacho posted:

i have to assume that at some point people are taught, or believe, that "a variable is a box for data" and then they come to pointers and it takes them a while to realize that that particular premise is no longer correct

real programming languages abstract all this much better.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
theyre not taught in c or cpp anymore? you're complaining about practices when you were young

PIZZA.BAT
Nov 12, 2016


:cheers:


yeah python is probably the best to start people with and if you're going for a computer science degree you can get into c/c++ later on when you're learning about those concepts where it's actually important

Radia
Jul 14, 2021

And someday, together.. We'll shine.
umich used c/pp for its intro courses when i finished in 2015, so i feel like some major unis still do.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
i dont believe theres a coding gene but i dont believe you can be a great programmer unless someone hammers a subject where you can be definitively wrong in you young, like how hildegarde von bingen was a smart cookie but couldnt write worth poo poo cuz she was taught writing at like 20 (taught how to read at 10, which is kind of a mindfuck) so she authored all her works by having one of her nuns transcribe her speeches

anyone and everyone can learn to speak english but unless you get it done before age 10 you're gonna have a non native accent

bob dobbs is dead fucked around with this message at 20:25 on Mar 26, 2022

Radia
Jul 14, 2021

And someday, together.. We'll shine.

Lady Radia posted:

umich used c/pp for its intro courses when i finished in 2015, so i feel like some major unis still do.

tell me this was 7 years ago and i'll kill you

GenJoe
Sep 15, 2010


Rehabilitated?


That's just a bullshit word.

bob dobbs is dead posted:

a subject where you can be definitively wrong

what's an example of this?

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
proof math, formal linguistics, formal logic, music theory of the kind where you dont actually make music. empirical poo poo like most of the rest of stem works less well than you would think, gotta be playing some sort of wittgensteinian language game

theres lots of formal poo poo in the ostensible liberal arts and lots of nonformal poo poo in stemland. the formality is the thing. some specific thing where peeps are weenies about notation and notation power

bob dobbs is dead fucked around with this message at 21:19 on Mar 26, 2022

Kazinsal
Dec 13, 2011



Lady Radia posted:

tell me this was 7 years ago and i'll kill you

:ghost:

Corla Plankun
May 8, 2007

improve the lives of everyone

bob dobbs is dead posted:

i dont believe theres a coding gene but i dont believe you can be a great programmer unless someone hammers a subject where you can be definitively wrong in you young, like how hildegarde von bingen was a smart cookie but couldnt write worth poo poo cuz she was taught writing at like 20 (taught how to read at 10, which is kind of a mindfuck) so she authored all her works by having one of her nuns transcribe her speeches

anyone and everyone can learn to speak english but unless you get it done before age 10 you're gonna have a non native accent

this honestly feels pretty correct to me

i probably owe a lot of my understanding of computers to writing extremely stupid scripts and triggers for text-based games when i was in the single digits.

Radia
Jul 14, 2021

And someday, together.. We'll shine.

bob dobbs is dead posted:

i dont believe theres a coding gene but i dont believe you can be a great programmer unless someone hammers a subject where you can be definitively wrong in you young, like how hildegarde von bingen was a smart cookie but couldnt write worth poo poo cuz she was taught writing at like 20 (taught how to read at 10, which is kind of a mindfuck) so she authored all her works by having one of her nuns transcribe her speeches

anyone and everyone can learn to speak english but unless you get it done before age 10 you're gonna have a non native accent

i didnt start programming until i was 19 years old.



oh no..this is the right thread for me ....

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
you never learned how to read and write music or play any one of like 40% of all video games or learn any of a bunch of board games to a decent level or learn to do geometric proofs before 19?

DrPossum
May 15, 2004

i am not a surgeon

GenJoe posted:

what's an example of this?

your posting

mystes
May 31, 2006

bob dobbs is dead posted:

i dont believe theres a coding gene but i dont believe you can be a great programmer unless someone hammers a subject where you can be definitively wrong in you young, like how hildegarde von bingen was a smart cookie but couldnt write worth poo poo cuz she was taught writing at like 20 (taught how to read at 10, which is kind of a mindfuck) so she authored all her works by having one of her nuns transcribe her speeches

anyone and everyone can learn to speak english but unless you get it done before age 10 you're gonna have a non native accent
Gotta learn that gatekeeping young

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

mystes posted:

Gotta learn that gatekeeping young

i'm sayin that anyone can do it, you just can't start the overall process from nothing in undergrad

i understand this is a surprisingly big ask because us universities are pretty great and us k-12 is not but people don't pop into undergrad as blank slates

bob dobbs is dead fucked around with this message at 21:54 on Mar 26, 2022

12 rats tied together
Sep 7, 2006

the vast majority of professional software development jobs these days, especially in the "harder" statically typed languages (not javascript, not python) is basically paint by numbers anyway. there's no reason to gatekeep it

actual computer science, sure, but basically nobody performs actual computer science these days. web services are certificate programs at best, being a CNA is harder

animist
Aug 28, 2018

bob dobbs is dead posted:

proof math, formal linguistics, formal logic, music theory of the kind where you dont actually make music. empirical poo poo like most of the rest of stem works less well than you would think, gotta be playing some sort of wittgensteinian language game

theres lots of formal poo poo in the ostensible liberal arts and lots of nonformal poo poo in stemland. the formality is the thing. some specific thing where peeps are weenies about notation and notation power

i was teaching some high schoolers programming recently and noticed how they were constantly tripped up by it not working like natural language. They kept trying to use synonyms, forgot to match case, and generally were confused by the computer not intuiting what they want it to do. I think grasping that boundary between formal language and actual language is really tricky for the majority of people. maybe especially kids who grew up with google and alexa.


one of my terrible programming ideas is make some sort of environment where programming constructs actually look like little machines or filled-out forms instead of monospaced text. just, not scratch or LabVIEW. like provide some sort of actual encapsulation and project organization tools, and don't make people stare at wiring diagrams all day. im aware this is a terrible idea

Buck Turgidson
Feb 6, 2011

𓀬𓀠𓀟𓀡𓀢𓀣𓀤𓀥𓀞𓀬
I did some CS and programming at uni back in like 2009, as an arts student doing it on the side out of interest without any knowledge of coding. The introductory programming courses were in python, with some excursions into sql and basic html when you looked at databases and web stuff. We did a decent amount with the actually cool graphics and drawing libraries. The introductory CS stuff started by explaining what a computer is, what machine code is, assembly, then C. I thought that way of doing it made a lot of sense. You got to do stuff in a high level language and at the same time learn how the lower level stuff worked so you weren't completely bewildered when pointers and linked lists showed up.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


sounds kind of like the Simulink stuff in MATLAB for doing control systems where you'd like drag and drop function blocks into the process

and then wrap it in hundreds of lines of garbage and a massive file called "variables"

why yes, that was the first programming I actually did and it was exactly as bad as it sounds

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

akadajet posted:

real programming languages abstract all this much better.
why

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Powerful Two-Hander posted:

sounds kind of like the Simulink stuff in MATLAB for doing control systems where you'd like drag and drop function blocks into the process

and then wrap it in hundreds of lines of garbage and a massive file called "variables"

why yes, that was the first programming I actually did and it was exactly as bad as it sounds

Ah yes, the school of taking a handful of UI elements and throwing them at a canvas.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

because malloc and free are footguns at best

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
rust evangelism task forcin here or what

Kazinsal
Dec 13, 2011



I think C is neat and fun to write :shobon:

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

bob dobbs is dead posted:

rust evangelism task forcin here or what

not especially but unless i really needed something that c provided i'd think long and hard about chosing it over almost every other higher level language

DrPossum
May 15, 2004

i am not a surgeon

Kazinsal posted:

I think C is neat and fun to write :shobon:

everyone thinks c is neat and fun until buffer overflows and memory leaks come around

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Antigravitas posted:

Ah yes, the school of taking a handful of UI elements and throwing them at a canvas.



worrying flashbacks to my MATLAB control GUI from 2006 lol

GenJoe
Sep 15, 2010


Rehabilitated?


That's just a bullshit word.

bob dobbs is dead posted:

you never learned how to read and write music or play any one of like 40% of all video games or learn any of a bunch of board games to a decent level or learn to do geometric proofs before 19?

if your barrier is “has played video or board games” then that’s like, the entirety of the population? I think there’s absolutely a level of computer literacy and mathematical literacy that you need to possess to start programming but that’s at like the, do I understand algebra level, not at the “did formal proofs as a child” level lmao

programming is a completely mystical thing to the majority of the population, so my theory is that if if you fail to sit people down during the beginning and, in the most basic terms possible, explain what a program actually /is/ (a control flow, using a syntax that follows definite and rigid rules), then of course you’ll end up with people trying to type natural language into the text file, because the rules on how this actually works were never reinforced in the first place

imo doing basic poo poo with python is the ideal intro, make people add some numbers and manipulate some strings and the rest will follow pretty quickly

Buck Turgidson
Feb 6, 2011

𓀬𓀠𓀟𓀡𓀢𓀣𓀤𓀥𓀞𓀬

DrPossum posted:

everyone thinks c is neat and fun until buffer overflows and memory leaks come around

It's all fun and games until you need to start handling strings.

GenJoe
Sep 15, 2010


Rehabilitated?


That's just a bullshit word.
I get what you’re saying with the sheet music example, “can translate instructions into some kind of output” but idk it just feels kind of infantilizing to me? like that’s a very basic thing that most people can do?

Kazinsal
Dec 13, 2011



Buck Turgidson posted:

It's all fun and games until you need to start handling strings.

suddenly you've constructed an entire bytecode vm to safely handle strings for you

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
yeah, most peeps can start, is the point

actual proficiency to the point of getting paid for it takes years of busting your rear end. and i do poo poo that actually does require that cs degree sometimes, unfortunately

mystes
May 31, 2006

Kazinsal posted:

I think C is neat and fun to write :shobon:
C is fun to write and compile, just not necessarily to actually run

DrPossum
May 15, 2004

i am not a surgeon
Any sufficiently complicated c program contains an ad hoc, informally-specified, bug-ridden, slow implementation

Kazinsal
Dec 13, 2011



mystes posted:

C is fun to write and compile, just not necessarily to actually run

a C program is something to look at, like a painting or an ivory box

Adbot
ADBOT LOVES YOU

ThePeavstenator
Dec 18, 2012

:burger::burger::burger::burger::burger:

Establish the Buns

:burger::burger::burger::burger::burger:
I took my first programming class in high school and on day 1 the teacher made a point of saying "at some point you're going to get frustrated while trying to get a program to work, but before you call the computer stupid just remember that it's a machine with no intelligence that does exactly what you tell it to do". At the time I interpreted this to mean that writing programs will be a new problem-solving experience compared to other subjects in school, and we should try taking a step back and re-evaluating the way we approach a problem when our solution doesn't work the way we think it should.

Years later I now realize that it was a warning that we were all idiots for wanting to program and computers are terrible.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply