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
qsvui
Aug 23, 2003
some crazy thing

xtal posted:

The execs didn't create those incentives, that's just capitalism. Until we get rid of that, it's up to the individuals.

wtf are you on about, the execs DID create those incentives

Adbot
ADBOT LOVES YOU

qsvui
Aug 23, 2003
some crazy thing
jeff bezos: i didn't want to create torturous conditions for my warehouse employees, that's just capitalism. my hands are tied you see

FlapYoJacks
Feb 12, 2009

qsvui posted:

jeff bezos: i didn't want to create torturous conditions for my warehouse employees, that's just capitalism. my hands are tied you see

* builds another mountain clock.

xtal
Jan 9, 2011

by Fluffdaddy

qsvui posted:

jeff bezos: i didn't want to create torturous conditions for my warehouse employees, that's just capitalism. my hands are tied you see

Now you're on the trolley!

Happy Thread
Jul 10, 2005

by Fluffdaddy
Plaster Town Cop

uncurable mlady posted:

mfw you spend a quarter million dollars for a degree to go optimize ad clickthru rates at google

Oh my god I do have to spell it out for you. That's not Stanford

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

Dumb Lowtax posted:

Oh my god I do have to spell it out for you. That's not Stanford

it’s either stanford or someone aping them? they have the same quarters or w/e, same sort of topic spread

Pentecoastal Elites
Feb 27, 2007

a developer getting a cs degree seems like a carpenter getting a degree in botany

Volte
Oct 4, 2004

woosh woosh
Knowing which algorithm to choose in which situation is not a tall order for someone who has been programming for awhile, even if that knowledge is learned by rote or osmosis. If you can learn which skill is good against which Pokemon, you can probably learn to figure out when a hash table is appropriate. For most programmers that'll get them through their day job, and that's fine. You don't have to have a zen-like oneness with your data structures to use them to build a shipping product. You also don't have to be a computer engineer to build and ship computer systems. You just have to know how to read the requirements (i.e. the order form), identify the appropriate components to go into the work, do the work, and ship it. That doesn't mean the world doesn't need computer engineers or that computer engineering education is redundant because they don't teach you how to work in a computer repair shop.

It also doesn't mean that a computer repair shop wouldn't benefit from having a computer engineer or two on staff. I worked at one of those places for three years, and the customers never questioned when we told them their motherboard was fried---they just groaned and asked how much a new one will cost. But the truth is nobody there had the training to actually figure out if the motherboard really was fried or not. We didn't lie to the customers, but we were all basically laymen, so in our eyes, a motherboard that won't power on despite all of our troubleshooting ideas was considered dead. Could a trained electrical engineer have identified the failing component and replaced it with a soldering iron for $1? Maybe. We did the work, and everyone involved went home more-or-less satisfied, but that's because there was not a single person in any part of that entire transaction---from the customers to the technicians to the owner---that even had the ability to identify the things that should have gone better, let alone what specifically could have been done. There's no reason for me to believe that software development houses are any less susceptible to the same phenomenon. I went to university when I was already in my 20s. Before that I did mostly freelance work with no regard or really even awareness of CS theory. The code I wrote was mostly lovely but it worked, the customer was usually happy. CS education didn't give me the tools I need to write programs, but it did give me another set of tools that I can use to analyze and validate the work done with that first set.

Most of the hate that gets thrown at CS programs for not teaching you how to program should really go towards the software industry that has decided that CS education ought to teach you how to program, and moreover, that it had better have done (against all reason) if you want the drat job.

Volte fucked around with this message at 21:08 on Jul 21, 2019

Jeb Bush 2012
Apr 4, 2007

A mathematician, like a painter or poet, is a maker of patterns. If his patterns are more permanent than theirs, it is because they are made with ideas.

uncurable mlady posted:

it’s either stanford or someone aping them? they have the same quarters or w/e, same sort of topic spread

it's not really surprising that a core algorithms course is gonna look similar at a bunch of different universities

(but unless someone has copy-pasted the exact subject breakdown it's UCLA)

Volte posted:

Knowing which algorithm to choose in which situation is not a tall order for someone who has been programming for awhile, even if that knowledge is learned by rote or osmosis. If you can learn which skill is good against which Pokemon, you can probably learn to figure out when a hash table is appropriate. For most programmers that'll get them through their day job, and that's fine. You don't have to have a zen-like oneness with your data structures to use them to build a shipping product.

this works as long as you never encounter a non-trivial algorithmic problem, at which point people who've learned by rote or osmosis tend to either make something wildly inefficient or test-passing but subtly incorrect

and like, most programming does not involve any non-trivial algorithmic problems, and depending on what kind of stuff you do you may never find one, or be able to get away with brute-forcing it anyway. but there's a reason google etc. like to hire people who know this stuff and it's not just cargo culting

Pentecoastal Elites
Feb 27, 2007

Sorry, I can’t get mad at people who are upset that the the degree that everyone said they needed to be a computer programmer (which cost tens of thousands of dollars or more) doesn’t really help them program computers all that much

but yes, I agree that ultimately the problem is capitalism

xtal
Jan 9, 2011

by Fluffdaddy
removed this cause I was starting to sound mean/argumentative :)

xtal fucked around with this message at 21:25 on Jul 21, 2019

QuarkJets
Sep 8, 2008

qsvui posted:

wtf are you on about, the execs DID create those incentives

No, OP is right. Capitalism is what causes profit to be valued above all else; the executives are complicit and part of the problem, but are not the source of the problem

Xarn
Jun 26, 2015

Pentecoastal Elites posted:

Sorry, I can’t get mad at people who are upset that the the degree that everyone said they needed to be a computer programmer (which cost tens of thousands of dollars or more) doesn’t really help them program computers all that much

but yes, I agree that ultimately the problem is capitalism

Seems simple to solve, free tuition just like in the civilized world :v:

Volte
Oct 4, 2004

woosh woosh

Jeb Bush 2012 posted:

this works as long as you never encounter a non-trivial algorithmic problem, at which point people who've learned by rote or osmosis tend to either make something wildly inefficient or test-passing but subtly incorrect

and like, most programming does not involve any non-trivial algorithmic problems, and depending on what kind of stuff you do you may never find one, or be able to get away with brute-forcing it anyway.
One thing I learned in computer school was that you should optimize for the most common case first. If most programming does not involve any non-trivial algorithmic problems, then why do most programming jobs require everyone involved to have the skill set to handle them? There needs to be someone who can identify them and handle or delegate them. For the team of three repair technicians I worked with, being able to consult with a single electrical engineer would have been enough to handle the majority of non-trivial hardware issues we faced. It would be ridiculous to suggest that everyone who worked there needed to have an EE degree when probably 95% of the time was spent running an anti-virus program or Norton Ghost. So why is it any less ridiculous to require that jobs that are mostly composing simple data structures in easily specified patterns should be staffed exclusively by CS graduates that paid tens of thousands of dollars for the privilege, especially when a seemingly common sentiment is that CS is actually useless or even detrimental to everyday programming? It's a gatekeeping mechanism and I haven't heard any justifications of it that actually ring true.

quote:

but there's a reason google etc. like to hire people who know this stuff and it's not just cargo culting
This is a false dichotomy. You can still "know stuff" without having a CS degree, and as has been so often stated in this thread, much of what you're expected to know isn't actually taught in CS. I assume by cargo culting you mean "I did X and then Y happened, so now I know that if I need Y to happen, I can just do X, problem solved". That's just bad critical thinking. If a CS degree is just a surrogate for a certification of critical thinking skills, then it's no wonder so many people consider it useless. It's a bit of irony to have to devote years of your life and pay tens of thousands of dollars for no reason other than to prove that you're not overly gullible.

qntm
Jun 17, 2009
JavaScript code:
/* #######################
 * Time Related Functions
 * #######################
 */

function getDateString()
{
    var d = new Date();
    var h = d.getHours();
    var m = d.getMinutes();
    var s = d.getSeconds();
    var ms = d.getMilliseconds();
    return "\nH:M:S.MS\n" + h + ":" + m + ":" + s + "." + ms;
}

Jeb Bush 2012
Apr 4, 2007

A mathematician, like a painter or poet, is a maker of patterns. If his patterns are more permanent than theirs, it is because they are made with ideas.

Volte posted:

One thing I learned in computer school was that you should optimize for the most common case first. If most programming does not involve any non-trivial algorithmic problems, then why do most programming jobs require everyone involved to have the skill set to handle them? There needs to be someone who can identify them and handle or delegate them.
Maybe! Although the problem with this approach is that it can be difficult ahead of time to know where the hard problems are going to turn up, and not knowing how to solve them also often means not knowing when you've encountered one.

Volte posted:

This is a false dichotomy. You can still "know stuff" without having a CS degree, and as has been so often stated in this thread, much of what you're expected to know isn't actually taught in CS. I assume by cargo culting you mean "I did X and then Y happened, so now I know that if I need Y to happen, I can just do X, problem solved". That's just bad critical thinking. If a CS degree is just a surrogate for a certification of critical thinking skills, then it's no wonder so many people consider it useless. It's a bit of irony to have to devote years of your life and pay tens of thousands of dollars for no reason other than to prove that you're not overly gullible.

You've misread my post. I said that the reason google and similar companies like to hire people who know algorithms is not simply cargo culting.

Volte
Oct 4, 2004

woosh woosh

Jeb Bush 2012 posted:

You've misread my post. I said that the reason google and similar companies like to hire people who know algorithms is not simply cargo culting.
Ah yeah, sorry about that. :sweatdrop:

edit: That said, I have often seen "it shows a certain level of critical thinking" or "you can't get through four years of university without the work ethic to do the job" and poo poo like that to justify it, which I consider a bogus justification for the reasons I said.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

ultrafilter posted:

University classes last for one semester at most. That means that there are some pretty hard limits on how large a project you can have attached to a single class, and that places some limits on what you can effectively teach. Yes, you can talk about version control, and testing, and object-oriented design, but those are all things that don't really show their value until you're working on a big piece of software. Those are things that you really can only learn on the job.

Theory probably isn't all that relevant to most jobs, but it is relevant for anything you want to do at scale, and the best jobs are moving in that direction. In addition, it might be the case that your job would be made easier by a piece of theory that you don't know. No one's going to be teaching basic science to their employees, so university really is the ideal place to cover that.

In short, you can't get a complete education from a single source. You need to learn some things in school, and you need to learn other things elsewhere.

Important to note that scale here means both the large and small.

If I could just get everyone on my team to come up with two approaches and evaluate their characteristics against our target platform before writing hundreds of lines of code our consumer’s experience would be so much better.

I don’t know how to get through the political mire to slow everyone down enough for us to move faster though.
:smith:

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


leper khan posted:

I don’t know how to get through the political mire to slow everyone down enough for us to move faster though.
:smith:

If you figure it out, let me know.

Dirt Road Junglist
Oct 8, 2010

We will be cruel
And through our cruelty
They will know who we are

Volte posted:

To be fair, that's what computer science is about. It sounds like you wanted to be in software engineering. I think I wrote code in less than a quarter of the courses in my entire CS education, and most of those were combined classes with the software engineering students. In the ones that weren't, we could generally pick whatever language we wanted, as long as we demonstrated the computational knowledge required. The only code I wrote during courses for my graduate studies was in Agda. Getting your software engineering experience elsewhere is pretty much required if you don't want CS education to rot your brain when it comes to practical programming.

I actually started in Soft E, but there was an awkward shakeup in the department staff after my first year, so I transferred schools out of a lack of confidence in my original school maintaining its accreditation. The new school only had CS with a Soft E capstone path, but at least it wasn't a straight-up engineering school. I had the option to bail into something completely different (art history) while also working for the university's tech support department to keep my tech cred in shape.

Ola posted:

The above said, perhaps the best thing I learned at university was that when people ask me "oh a programmer, what language did you learn", I can reply with (somewhat fake) conviction, "it doesn't matter".

This. I've forgotten how many languages I've picked up on the fly just to fix a thing at work and then move on, because I'm that kind of utility player who knows how to look up syntax and unfuck other people's code, even if it's not one of my core language competencies.

Soricidus
Oct 21, 2010
freedom-hating statist shill

qntm posted:

JavaScript code:
/* #######################
 * Time Related Functions
 * #######################
 */

function getDateString()
{
    var d = new Date();
    var h = d.getHours();
    var m = d.getMinutes();
    var s = d.getSeconds();
    var ms = d.getMilliseconds();
    return "\nH:M:S.MS\n" + h + ":" + m + ":" + s + "." + ms;
}

Names are hard ok

spiritual bypass
Feb 19, 2008

Grimey Drawer
What's up with those newlines :eyepop:

Ruggan
Feb 20, 2007
WHAT THAT SMELL LIKE?!


rt4 posted:

What's up with those newlines :eyepop:

Bet it’s for some sort of logging. Output the format you’re about to display on one line and then the actual value on the next. Stupid af tho

Doom Mathematic
Sep 2, 2008
A better question is where the padding is. At 9:05:04.003, this is going to return the highly edifying "9:5:4.3".

Xarn
Jun 26, 2015
That looks awesome, shipit.

Ruggan
Feb 20, 2007
WHAT THAT SMELL LIKE?!


code:
/* #######################
 * Nuts Related Functions
 * #######################
 */

function shouldUEatMyNuts() {
  return true;
}

iospace
Jan 19, 2038


Ruggan posted:

code:
/* #######################
 * Nuts Related Functions
 * #######################
 */

function shouldUEatMyNuts() {
  return true;
}

Funny, this code is never called.

Ruggan
Feb 20, 2007
WHAT THAT SMELL LIKE?!


iospace posted:

Funny, this code is never called.

That’s because everyone already knows the result.

iospace
Jan 19, 2038


Ruggan posted:

That’s because everyone already knows the result.

*marks code as redundant, removes from repo*

:v:

JawnV6
Jul 4, 2004

So hot ...

qntm posted:

JavaScript code:
/* #######################
 * Time Related Functions
 * #######################
 */

function getDateString()
{
    var d = new Date();
    var h = d.getHours();
    var m = d.getMinutes();
    var s = d.getSeconds();
    var ms = d.getMilliseconds();
    return "\nH:M:S.MS\n" + h + ":" + m + ":" + s + "." + ms;
}
does a newly allocated date contain the instant it was created? like it seems like there should be a .now() method

or is there the fun exciting debug possibility that something rolls over between getting the hours and milliseconds

The Fool
Oct 16, 2003


JawnV6 posted:

does a newly allocated date contain the instant it was created? like it seems like there should be a .now() method

It does.

You can also do d = date() and it will return a string with the date/time/timezone

Date.now() returns the current time in ms from 1/1/1970

Carbon dioxide
Oct 9, 2012

Joda
Apr 24, 2010

When I'm off, I just like to really let go and have fun, y'know?

Fun Shoe
I want to ask if that was found in production code, but I'm not sure I want to hear the answer.

OddObserver
Apr 3, 2009
If that Xlib.h's the codebase, it had it coming.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.




Yeah, and most of us get paid pretty well to shovel it.

Xarn
Jun 26, 2015
The real horror is heap allocating the exception.

Volguus
Mar 3, 2009

Xarn posted:

The real horror is heap allocating the exception.

What are you talking about? Surely someone somewhere will catch it and delete it.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Also throwing a bare std::exception with no info.

FlapYoJacks
Feb 12, 2009
#define raptor throw

raptor new clever_girl();

Adbot
ADBOT LOVES YOU

Joda
Apr 24, 2010

When I'm off, I just like to really let go and have fun, y'know?

Fun Shoe
What is the lifetime of a stack allocated exception? Until it hits a catch that doesn't rethrow it?

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