|
Sapozhnik posted:Start teaching programming from mips or risc v assembly language and work up from there I did the simple circuits -> diodes -> transistors -> gates -> flip flops -> z80 thing in Highschool. it was good.
|
# ? May 8, 2017 18:40 |
|
|
# ? Jun 5, 2024 12:44 |
|
Bloody posted:our intro to java used a magical library to abstract away a lot of the nuts and guts giving us a really simple "your program starts here. say new square(0, 0, 20, 20); to get a 20x20 pixel square" it was a bunch of awt stuff under the hood but it was completely irrelevant. in ap computer science we got into the public static void main but by then we had a year of java under our belts so it wasnt overwhelming was it bluej? because we had bluej
|
# ? May 8, 2017 18:43 |
|
surprise surprise, most practicing programmers look back fondly on their first language and will die on any hill to defend it as the one true choice of teaching languages
|
# ? May 8, 2017 18:44 |
|
Idk, going from "everything is a reference" to "in C++ you can pass by pointer, reference, or value" was awkward for me. Or things like Synchronized blocks were complete enigmas until I learned what semaphores and mutexes were. I do like Java, especially because I can now appreciate what it abstracts away. I just think that it would have been easier to learn memory management and threading fundamentals earlier in my education rather than going back and trying to learn it after using Java threads for a whole term.
|
# ? May 8, 2017 18:44 |
carry on then posted:surprise surprise, most practicing programmers look back fondly on their first language and will die on any hill to defend it as the one true choice of teaching languages
|
|
# ? May 8, 2017 18:46 |
|
Bloody posted:should i learn f# or should i learn rust i think i have a stupid project thats well suited to learning either with Do you want to get mad about obscure and unhelpful compiler messages requiring you to google for the meaning only to discover that you can't find it because the language has been in development for so long that the advice is either super out of date or no longer applies because of newer features or APIs in addition to long compile times -OR- Do you want to get mad about obscure and unhelpful compiler messages requiring you to google for the meaning only to discover that you can't find it because the language has been in development for so long that the advice is either super out of date or no longer applies because of newer features or APIs in addition to long compile times and runs on .NET?
|
# ? May 8, 2017 18:47 |
|
my first languages were pascal and c++ and both of them were garbage
|
# ? May 8, 2017 18:48 |
|
carry on then posted:surprise surprise, most practicing programmers look back fondly on their first language and will die on any hill to defend it as the one true choice of teaching languages My first langs were basic, visual basic, c++, perl, and php Gonna go with no
|
# ? May 8, 2017 18:49 |
|
Slurps Mad Rips posted:Do you want to get mad about obscure and unhelpful compiler messages requiring you to google for the meaning only to discover that you can't find it because the language has been in development for so long that the advice is either super out of date or no longer applies because of newer features or APIs in addition to long compile times im not sure. both sound appealling i suppose i could also just do it in haskell but feh
|
# ? May 8, 2017 18:53 |
|
my first language was JScript, MS' old proprietary version of JS that only ran in IE. My second PL was PHP. I'm kind of feeling alright that I don't have warm fuzzy feelings about them.
|
# ? May 8, 2017 18:55 |
|
Shaggar posted:python is a trash language for trash people and if you were taught it in school you went to a trash school what happened to you as a child that you feel the need to continue playing this character
|
# ? May 8, 2017 18:57 |
|
its about having experience that children don't that tells me p-langs are trash.
|
# ? May 8, 2017 18:58 |
|
Java is the superior language for Smart Grownups, just ignore the hundreds of thousands of crapware Android apps out there
|
# ? May 8, 2017 19:07 |
|
Shaggar posted:its about having experience that children don't that tells me p-langs are trash. where did they touch you
|
# ? May 8, 2017 19:10 |
|
LinYutang posted:Java is the superior language for Smart Grownups, just ignore the hundreds of thousands of crapware Android apps out there you can write good or bad programs in java but you can write good programs in a p-lang
|
# ? May 8, 2017 19:13 |
|
Sapozhnik posted:Fake edit: in fact, start with wires and mosfets and work up from there *hand-on-chest staggering backwards* j..just giving them pre-doped silicon?? but how do you expect them to learn?!??
|
# ? May 8, 2017 19:22 |
|
MononcQc posted:my first language was JScript, MS' old proprietary version of JS that only ran in IE. My second PL was PHP. I'm kind of feeling alright that I don't have warm fuzzy feelings about them. yeah unless you have to stay in a boring hell stack like .net or jvm to eke out a living pumping out denied insurance claims and inflating medicare bills there're a lot of cool languages doing neat things out there
|
# ? May 8, 2017 19:34 |
|
lol
|
# ? May 8, 2017 19:37 |
|
I'm imagining cocoa crispies here telling new recruits ruby is all cool and new to get them to maintain his legacy apps in a dead language.
|
# ? May 8, 2017 19:39 |
|
i don't get why everything you read about programming is in such a hurry to get to the "awesome stuff". giving a basic overview about a language api and program entry (why do i have public static void main) is like one day of class and it lays the groundwork for when you learn something new. instead every new language has a "how easy is it? just type in your string and press enter and bam it's there" emeril style hello world.
|
# ? May 8, 2017 19:41 |
|
My first full-time gig language was VB6 and my subconscious defense mechanism repressed it from memory nicely. Thank you.
|
# ? May 8, 2017 19:42 |
|
hifi posted:i don't get why everything you read about programming is in such a hurry to get to the "awesome stuff". giving a basic overview about a language api and program entry (why do i have public static void main) is like one day of class and it lays the groundwork for when you learn something new. instead every new language has a "how easy is it? just type in your string and press enter and bam it's there" emeril style hello world. because if you make people do busy work like writing out long rear end type names twice to create a variable or type "public static void main" they'll hate programming and never want to do it i know some of y'all think this is a good thing too so gently caress you
|
# ? May 8, 2017 19:48 |
|
c# has all of the awesome stuff
|
# ? May 8, 2017 19:49 |
|
LinYutang posted:Java is the superior language for Smart Grownups, just ignore the hundreds of thousands of crapware Android apps out there Saving Money Is Cool, just ignore all the thousands of scam hedgefunds out there.
|
# ? May 8, 2017 19:50 |
|
lol forever @ p-langers whining about descriptive names because they're used to poo poo tools
|
# ? May 8, 2017 19:51 |
|
Cocoa Crispies posted:because if you make people do busy work like writing out long rear end type names twice to create a variable or type "public static void main" they'll hate programming and never want to do it people also want to understand everything they're typing so even if you say "it doesn't matter how the 'static' keyword works for now" they'll still read up on it and try to understand it and fail at it. this is a really big recurrent thing I noticed while teaching
|
# ? May 8, 2017 20:05 |
|
Cocoa Crispies posted:because if you make people do busy work like writing out long rear end type names twice to create a variable or type "public static void main" they'll hate programming and never want to do it there's an entire school of teaching programming where you give like an entire framework or half completed chunk of code and ask the student to fill it in. this doesn't have anything to do with the language. and with programming, you signed up to touch a computer. I guess if you have some fancy architect job you can put your foot down and choose perl for its terseness, but if you're just some grunt chances are you're gonna get forced into a language like java that is verbose or c that has a billion ways to shoot yourself in the foot. You're not going to change the world from a junior dev job, so why are you expecting the schools not to teach you how to survive in that job? At some point in plumber school you have to teach the guy how to unclog a turd
|
# ? May 8, 2017 20:07 |
|
Shaggar posted:lol forever @ p-langers whining about descriptive names because they're used to poo poo tools try harder. try again.
|
# ? May 8, 2017 20:08 |
|
my first college programming assignment was w/ Karel the Robot, a C framework that spun up a little GUI with a robot that walked around and put down tiles on a grid it was just 1 assignment, went to real C w/ printf the next week, but i still think that had the spark of "usable" and to this day i don't understand coursework that starts with diving into linker options
|
# ? May 8, 2017 20:12 |
|
hifi posted:and with programming, you signed up to touch a computer. I guess if you have some fancy architect job you can put your foot down and choose perl for its terseness, but if you're just some grunt chances are you're gonna get forced into a language like java that is verbose or c that has a billion ways to shoot yourself in the foot. You're not going to change the world from a junior dev job, so why are you expecting the schools not to teach you how to survive in that job? At some point in plumber school you have to teach the guy how to unclog a turd sure, but you can just teach Java, C# or whatever a little bit later, the cognitive load will be far lighter when the person already got the basics of thinking algorithmically
|
# ? May 8, 2017 20:14 |
|
Cocoa Crispies posted:because if you make people do busy work like writing out long rear end type names twice to create a variable or type "public static void main" they'll hate programming and never want to do it `public static void main` is indefensible for noobies learning programming, like yeah at some point it's important to know what those things are and mean -- but as the first loving things you 'just have to' type hahaha
|
# ? May 8, 2017 20:17 |
|
Symbolic Butt posted:sure, but you can just teach Java, C# or whatever a little bit later, the cognitive load will be far lighter when the person already got the basics of thinking algorithmically like i said in the part of my post that you quoted, there are ways to get people to do that regardless of the language, and fun programming assignments are also possible regardless of the language. i think a logo-like assignment framework in java that makes you program a turtle to go through a maze is way better than getting a MAZE.DAT file and doing the same thing in ruby, and in terms of cognitive load for algorithmic thinking, debugging the turtle going through the maze is way easier than stop starting the code as it's going through nested for loops.
|
# ? May 8, 2017 20:22 |
|
Bloody posted:should i learn f# or should i learn rust i think i have a stupid project thats well suited to learning either with do you wanna just get poo poo done? f# is haskell with worse syntax and way way better tooling and libraries. do you wanna do something cool? rust is cool and new and a little bit of a fight to learn
|
# ? May 8, 2017 20:26 |
|
VOTE YES ON 69 posted:
|
# ? May 8, 2017 20:26 |
|
never teach p-langs let alone dead p-langs like ruby. if you want to do a turtle thing theres already stuff like karel the robot or you could write something on top of java that abstracts away the type system and leaves only procedural code that they can then add methods to and then eventually move directly into java.
|
# ? May 8, 2017 20:27 |
|
darthbob88 posted:This is why I unironically think JavaScript is a good choice for first programming language. There's less boilerplate in Babby's First JS Program than in a comparable Java or C# thing, and it's got a significantly faster turnaround from typing things into a script to seeing cool things on the screen. After a month or so of that, you can transition to algorithms and data structures with C# or Java or some other actually good language, but as a way to instill the wonder of making things with your brain, JavaScript is great. the best part is that you already have the interpreter installed and ready to go
|
# ? May 8, 2017 20:27 |
|
just use c# interactive for your first few lessons and then progress to writing c# classes and use c# until you die
|
# ? May 8, 2017 20:35 |
|
Cocoa Crispies posted:the best part is that you already have the interpreter installed and ready to go if "download and hit next until its installed" or "use one of the lab computers during labs" is too high of a barrier for your introduction to programming class idk what ot say like maybe you won't make it as a computer user
|
# ? May 8, 2017 20:42 |
|
like obviously don't use c or c++ because its a nightmare getting those environments set up in ways that arent poo poo but like most good languages are extremely straightforward to deploy a development environment for even for non-technical women and children
|
# ? May 8, 2017 20:43 |
|
|
# ? Jun 5, 2024 12:44 |
|
also beginners learn better with dynamic typing than static typing
|
# ? May 8, 2017 20:45 |