Bream posted:Yeah, guys, why don't you kiss girls and get on github instead of all this nerd poo poo?
|
|
# ? Feb 28, 2013 17:58 |
|
|
# ? May 14, 2024 10:40 |
|
introductory programming is not about binary trees though, it is about getting people to the point where they understand what programming is and how to break a problem apart and string together a program out of it and as it turns out python is working rather poorly
|
# ? Feb 28, 2013 17:59 |
yeah man gently caress python, let's get people writing assembler, that'll teach them (literally)
|
|
# ? Feb 28, 2013 18:00 |
|
OBAMA BIN LinkedIn posted:just because it's harder to make a binary tree in C than it is in python doesn't mean the student gets any more of a learning experience of it, infact they probably get less because they spend all their time messing about with memory errors and debugging than actually learning how the algorithm works. save the memory management crap for C or operating systems classes where it belongs. a binary tree is not an algorithm
|
# ? Feb 28, 2013 18:02 |
|
those are literally all possible choices yeah
|
# ? Feb 28, 2013 18:03 |
last time i checked, making a binary tree had something to do with implementing algorithms.
|
|
# ? Feb 28, 2013 18:04 |
|
There is far less to learn when learning assembler (at least with a decent assembly language). The first difficulty with beginners is syntax and vocabulary, asm has near trivial syntax and a pretty limited vocabulary. For the same reason Logo would also make a good intro language.
|
# ? Feb 28, 2013 18:04 |
|
Zombywuf posted:There is far less to learn when learning assembler (at least with a decent assembly language). The first difficulty with beginners is syntax and vocabulary, asm has near trivial syntax and a pretty limited vocabulary. For the same reason Logo would also make a good intro language. a core concept of the introductory course should be functions though, local variables, scopes, and all that, and assembler is a bit too permissive there.
|
# ? Feb 28, 2013 18:05 |
assembler is a terrible language for beginners because you are introducing them to a whole bunch of concepts that the beginner shouldn't need to know about at this, like the stack and the heap and pointers. even basic operations such as loops can cause painful errors for a beginner if they get a command or two out of order. it's for this reason that some smart people invented abstractions such as loops and functions so that you didn't need to be a fuckin sperglord to get past that first step.
|
|
# ? Feb 28, 2013 18:09 |
i'm legit surprised there are still people who actually believe asm is a great language for beginners, i mean come the gently caress on.
|
|
# ? Feb 28, 2013 18:12 |
|
Notorious b.s.d. posted:funny that you should mention ad bidding, seeing as java dominates that space I work in real time ad bidding, and we use Erlang (so does OpenX, they use one of my libs for dispatching client calls). Concurrent GC works 100% fine for us (we generate between 70MB to 100MB of garbage per second per server). In our case, the GC works so well because each request basically ends up having an independent nothing-shared heap+stack space, and the VM will GC them when they get descheduled for another request, or when the request is done and it can basically throw away the entire heap+stack space for that process. Also I'd consider us to be soft real time rather than hard real time, but I guess that can be debated.
|
# ? Feb 28, 2013 18:16 |
|
we used to do sml as the first language. that worked very nicely, very few moving parts (modules and all imperative stuff cut). ended up getting axed due to student pressure though, it was felt too useless in the real world (an argument i feel is out of place in the first programming course) i think java was the right idea for a replacement, but we don't do that any longer either
|
# ? Feb 28, 2013 18:17 |
the best thing about intro programming classes is not turning up to them
|
|
# ? Feb 28, 2013 18:20 |
|
quote:Now, the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments. And that is, when some field is just getting started and you don't really understand it very well, it's very easy to confuse the essence of what you're doing with the tools that you use. And indeed, on some absolute scale of things, we probably know less about the essence of computer science than the ancient Egyptians really knew about geometry.
|
# ? Feb 28, 2013 18:20 |
|
Yeah just make people deal with a lot of memory management overhead instead of letting them focus on the computer science part of computer science
|
# ? Feb 28, 2013 18:22 |
|
Bream posted:Dudes someone at some point has to know how to do this poo poo. Javascript is not self-hosting. yeah and at some point some poor schmuck had to dig a bunch of metal out of the ground to make my car, but who cares
|
# ? Feb 28, 2013 18:23 |
|
Cybernetic Vermin posted:it is also a lot harder than one thinks to teach language subsets unless the subsets are very cleanly separable, and both c and java work out reasonably well there no lie, working out what order to explain things in is a pain tight coupling in language concepts themselves, you can't explain any single thing without explaining four other things which both require understanding of the first thing
|
# ? Feb 28, 2013 18:23 |
|
MononcQc posted:I work in real time ad bidding, and we use Erlang (so does OpenX, they use one of my libs for dispatching client calls). Concurrent GC works 100% fine for us (we generate between 70MB to 100MB of garbage per second per server). the software term "realtime" is misapplied a lot, it really should involve precise cyclecounts to ensure that systems always respond before some physical deadline. for trading systems (which I guess your system really is) one often says high-frequency when you want to minimize response times and the expenses get much greater with longer delays (e.g. it gets increasingly probable that one is missing an opportunity) VanillaKid posted:Yeah just make people deal with a lot of memory management overhead instead of letting them focus on the computer science part of computer science the cs students are pretty easy since they pretty much breeze through the intro programming either way, lots and lots of majors have some programming though
|
# ? Feb 28, 2013 18:25 |
|
OBAMA BIN LinkedIn posted:yeah man loving centuries of papers back the prof up when it comes to teaching a student to program data structures in loving assembly language. C is bad enough, but assembly? lmao i agree, the field of computation is only what... 40 years old. who's euler. who the gently caress is that guy. edit: i don't care about this dumb gay argument edit: make students program in whatever fcucking language, who cares, they're students, if they don't like it, they can pull a socracheese and dump out edit: or just bitch about dropping out Catalyst-proof fucked around with this message at 18:52 on Feb 28, 2013 |
# ? Feb 28, 2013 18:46 |
|
qntm posted:no lie, working out what order to explain things in is a pain Hence asm, or logo. At least to the point where they get that a program is made up of statements which are executed one after the other.
|
# ? Feb 28, 2013 19:03 |
|
kinda want to make a logo impl in coffeescript now
|
# ? Feb 28, 2013 19:21 |
|
Cybernetic Vermin posted:we used to do sml as the first language. that worked very nicely, very few moving parts (modules and all imperative stuff cut). ended up getting axed due to student pressure though, it was felt too useless in the real world (an argument i feel is out of place in the first programming course) speaking as someone who paid for all his student expenses and bought a new car form summer jobs just because I learned a bit of C in school, I can see where they're coming from throw them right in the mud with a real world language and all its imperfections and compromises imo, if they want purity they should major in math
|
# ? Feb 28, 2013 19:22 |
|
Zombywuf posted:Hence asm, or logo. At least to the point where they get that a program is made up of statements which are executed one after the other. or lambda calculus/turing machines where you don't have to worry about the actual computer
|
# ? Feb 28, 2013 19:34 |
|
qntm posted:no lie, working out what order to explain things in is a pain Yeah every intro java book I've seen changes the order around, but you're right that it complicates things so much.
|
# ? Feb 28, 2013 19:35 |
|
how many languages should your average computer science student learn in his classes?
|
# ? Feb 28, 2013 19:35 |
|
prefect posted:how many languages should your average computer science student learn in his classes? 420
|
# ? Feb 28, 2013 19:37 |
|
you should just major in math and then get hired and google stack overflow all day
|
# ? Feb 28, 2013 19:39 |
|
prefect posted:how many languages should your average computer science student learn in his classes? One imperative, one functional and one OO at least. I remember having to learn Java, C, C++, ASM, Prolog, Scheme and ML between all my classes. On my own time for some other school projects that weren't tied to any language I learned some C# and Python.
|
# ? Feb 28, 2013 19:40 |
|
Hard NOP Life posted:Prolog, Scheme and ML these were the three we used in our "programming language concepts" class that also introduced DFAs and regexes and poo poo. so many fuckers complaining that they had to learn something new when "we already know java"
|
# ? Feb 28, 2013 19:45 |
|
Cybernetic Vermin posted:we used to do sml as the first language. that worked very nicely, very few moving parts (modules and all imperative stuff cut). ended up getting axed due to student pressure though, it was felt too useless in the real world (an argument i feel is out of place in the first programming course) didn't scheme originally, as a teaching language, have "useless in the real world" as one of its design goals so that students wouldn't think they were learning anything but abstract problem solving? did i make that up?
|
# ? Feb 28, 2013 19:46 |
|
we did Java in intro (now Python), Java in data structures, and then upper divs were really whatever the hell the prof wanted, so there was C, C++, Ruby, Prolog, ML, Scheme, etc.
|
# ? Feb 28, 2013 19:50 |
|
Cybernetic Vermin posted:the software term "realtime" is misapplied a lot, it really should involve precise cyclecounts to ensure that systems always respond before some physical deadline. for trading systems (which I guess your system really is) one often says high-frequency when you want to minimize response times and the expenses get much greater with longer delays (e.g. it gets increasingly probable that one is missing an opportunity) Yeah there's a lot of different uses for "real time": http://en.wikipedia.org/wiki/Real_time I'm going with http://en.wikipedia.org/wiki/Real-time_computing which states: quote:Hard Now in our case the deadline is not in cycles, but in milliseconds. In our cases, for real time bidding, it's somewhere between 'firm' and 'soft' depending on the part of the system we're dealing with. Most of the time it would fall into the 'firm' area, where when we miss a deadline on a bid or a request, it's not worth sending it anyway. The boundary is fuzzy, though (who knows what them pesky networks do!) so we may still send responses after the perceived deadlines. Hard real time under this definition would be a car's set of computers and event management. It's always my favorite example since I saw a talk on AUTOSAR testing, where car computer systems have to deal with signals such as air bag triggers. Because being milliseconds late means you may kill people, not triggering on time is a total system failure and the system is hard real time.
|
# ? Feb 28, 2013 19:50 |
|
MononcQc posted:Hard real time under this definition would be a car's set of computers and event management. It's always my favorite example since I saw a talk on AUTOSAR testing, where car computer systems have to deal with signals such as air bag triggers. Because being milliseconds late means you may kill people, not triggering on time is a total system failure and the system is hard real time. any idea what those guys program in?
|
# ? Feb 28, 2013 19:52 |
|
prefect posted:any idea what those guys program in? turbo pascal
|
# ? Feb 28, 2013 19:54 |
|
OBAMA BIN LinkedIn posted:i'm legit surprised there are still people who actually believe asm is a great language for beginners, i mean come the gently caress on.
|
# ? Feb 28, 2013 19:56 |
|
prefect posted:any idea what those guys program in? I can't exactly remember. It was a great talk by Thomas Arts on Quickcheck, a property-based testing system. Basically, they're using Erlang (there was a Haskell version) and given set of properties to write models of the applications they're testing. Then what they do is take that Erlang system, make it talk to C systems (I think) or computers behaving like black boxes, and based on the model, they generate thousands and thousands of possible cases. It's kind of the hybrid between fuzz testing and model validation. Then they take the specifications as implemented by all the different manufacturers, and try to find what's good or wrong versus their models. They can then revise specific implementations, their own model, or the spec itself so the entire industry agrees on how their car computers should work for vital systems. They also do this as a tiny team that replaces years and years of outsourced offshore Indians writing the tests. The talk is: http://vimeo.com/26085628 and the slides are at: http://www.erlang-factory.com/upload/presentations/406/ThomasArts_ErlangFactoryLondon2011.pdf E: better slides MononcQc fucked around with this message at 20:10 on Feb 28, 2013 |
# ? Feb 28, 2013 20:04 |
|
quickcheck is so loving sexy i wish i had even a single bloody use for it
|
# ? Feb 28, 2013 20:08 |
|
Bream posted:Yeah, guys, why don't you kiss girls and get on github instead of all this nerd poo poo? I personally like boys and my personal opinion is we should teach new people about sex by starting off with unlubricated anal sex. It's harder for everyone involved, but I think it's a valuable lesson. ultramiraculous fucked around with this message at 21:55 on Feb 28, 2013 |
# ? Feb 28, 2013 21:06 |
|
and no condoms, because nobody wants to see that once you're in the industry
|
# ? Feb 28, 2013 21:23 |
|
|
# ? May 14, 2024 10:40 |
|
I've been exposed to a pretty big variety of languages in school but definitely in terms of total lines written Java is the main one.
|
# ? Feb 28, 2013 21:35 |