DSPRelated.com
Forums

do we really need everyone to become a programmer?

Started by robert bristow-johnson December 15, 2013
  so take a look at this 
http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it 


normally i don't take too much issue with Obama, but i wonder about this.

my experience is that both degreed and non-degreed programmers, except 
maybe those with an advance degree or enough experience that they "get 
it", that these guys don't know shit about modular programming.  and 
they don't care to know.  they think that, because they're coding in 
C++, that their code is object-oriented but the really for about 96% of 
the time is that their code is spaghetti.  they don't get it.

do we need every Joe (or Josephine) to be piling on more spaghetti on 
top of the mountains of spaghetti that the "trained" computer scientists 
have created that sometimes, those of us who care and are trying to fix 
a problem, have to comb out and straighten?

all i can think of is "ick".  more crappy code from people who don't 
know the difference and likely care even less.


-- 

r b-j                  rbj@audioimagination.com

"Imagination is more important than knowledge."


robert bristow-johnson wrote:
> > so take a look at this > http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it > > > normally i don't take too much issue with Obama, but i wonder about this. >
I dunno what that's about. Making apps for your phone? Well, that's *like* programming, but not really. The CS courses in most high schools are utterly atrocious. Just terrible. My (limited) exposure to fresh outs with bachelors is that they don't know much actual "computer science"; just whatever the flavor of the month was when they graduated. If you don't "grok" Turing machines or some other theorems from the roots of CS, you're likely to make some serious mistakes. Sure, somebody can encode that into a library you use but you've still got to understand it to deal with actual behavior. If you don't know who Djikstra is... Then you're stuck with teaching yourself the rest of what you need to know. I'd say ten years after graduation is a good start, if you're lucky enough not to get stuck on one thing.
> my experience is that both degreed and non-degreed programmers, except > maybe those with an advance degree or enough experience that they "get > it", that these guys don't know shit about modular programming. and > they don't care to know. they think that, because they're coding in > C++, that their code is object-oriented but the really for about 96% of > the time is that their code is spaghetti. they don't get it. > > do we need every Joe (or Josephine) to be piling on more spaghetti on > top of the mountains of spaghetti that the "trained" computer scientists > have created that sometimes, those of us who care and are trying to fix > a problem, have to comb out and straighten? >
The problem is that it takes a lot longer to figure out everything you need to know than anybody wants to admit. The whole thing is hard up against the Mozart myth. Perhaps your experience is different from mine, but most people I've worked with who were "programmers" sort of aren't any more. One guy I know kinda had to pull a hard stop on the mangement path to go *back* to programming, no doubt at some cost. Hopefully, the others have good savings because they're riding companies that won't last forever.
> all i can think of is "ick". more crappy code from people who don't > know the difference and likely care even less. > >
I will not click that video, but there are two actresses, Ashton Kuchner ( whut? ) and that guy from teh FaceyBooks on the thumbnail. Thats some hard-hitting technologists right there, Lou. -- Les Cargill
> > so take a look at this >http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it
> > >normally i don't take too much issue with Obama, but i wonder about this. > >my experience is that both degreed and non-degreed programmers, except >maybe those with an advance degree or enough experience that they "get >it", that these guys don't know shit about modular programming. and >they don't care to know. they think that, because they're coding in >C++, that their code is object-oriented but the really for about 96% of >the time is that their code is spaghetti. they don't get it. > >do we need every Joe (or Josephine) to be piling on more spaghetti on >top of the mountains of spaghetti that the "trained" computer scientists >have created that sometimes, those of us who care and are trying to fix >a problem, have to comb out and straighten? > >all i can think of is "ick". more crappy code from people who don't >know the difference and likely care even less. > > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." > > >
Yeah, I've definitely noticed there are a lot of "programmers" out there who think just getting something to compile and run makes them an authority on the subject. I think what we really have is people who aren't aware of the limits of their knowledge and get their ego's wrapped up in it a bit too much. Adding more people from the general population isn't likely going to solve that but I don't think that's what the link was talking about. From my understanding it was more about introducing the topic at an earlier age so people will understand it more. I would have loved to have a CS class at my high school as it would enrich my current understanding of it that much more. Just because someone takes the class doesn't mean they're necessarily going to become a programmer either which isn't a bad thing. I think it could help the general public understand what computers are/how they work and all that jazz which is something sorely lacking given the ubiquity of technology in our lives. It might help dispel a lot of myths and misconceptions out there. If everyone does end up becoming a mediocre programmer though, all it does is spell job security for us good ones as well go around fixing all their mistakes :) _____________________________ Posted through www.DSPRelated.com
I'd say, mainly yes.
Let's look at it the other way round: If I can't write a script or word
macro, I'll have a hard time already today in most "white-collar" jobs. For
now, you may still get away without it, but "the air is getting thinner". 

It's like being literate - for most people, reading and writing is a
secondary skill, mandatory but at a much lower level, compared to for
example a trained technical writer. 

I'd also look at programming and computer science as separate things. 
I don't need any "science" for the majority of "programming" tasks,
especially now that powerful CPUs allow me to often to use simple
algorithms, or the "science" has been encapsulated into compilers,
libraries etc.
	 

_____________________________		
Posted through www.DSPRelated.com
On 12/15/13 2:39 PM, Crandles wrote:
> > If everyone does end up becoming a mediocre programmer though, all it does > is spell job security for us good ones as well go around fixing all their > mistakes :)
actually, my experience is exactly the opposite. for some reason, doing code review and telling people their code is ugly (and even explicitly correcting the deficit) is like looking at a picture of their kid on their desk and telling them their kid is ugly. people are in love with their crappy code. doesn't matter to them that somehow you gotta connect the work of other people to their code. doesn't matter to them that someone else might have to maintain their code, or leverage it into another future product. or translate it into another language like verilog or VHDL or something. these crappy coders "just do it" which makes them appear productive superficially, but by crapping on other programmers in the project (that have to worry about how their code gets what it needs from the crappy code or vice versa) who have to clean up, just to get their work product to connect to the project common to all, overall productivity is diminished. there's no job security for "us good ones". pointy-haired management will prefer the quick-and-dirty sort-term solutions. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On Sun, 15 Dec 2013 13:53:59 -0500, robert bristow-johnson
<rbj@audioimagination.com> wrote:

> > so take a look at this >http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it > > >normally i don't take too much issue with Obama, but i wonder about this. > >my experience is that both degreed and non-degreed programmers, except >maybe those with an advance degree or enough experience that they "get >it", that these guys don't know shit about modular programming. and >they don't care to know. they think that, because they're coding in >C++, that their code is object-oriented but the really for about 96% of >the time is that their code is spaghetti. they don't get it. > >do we need every Joe (or Josephine) to be piling on more spaghetti on >top of the mountains of spaghetti that the "trained" computer scientists >have created that sometimes, those of us who care and are trying to fix >a problem, have to comb out and straighten? > >all i can think of is "ick". more crappy code from people who don't >know the difference and likely care even less.
Well I am trained engineer and untrained programmer. For whatever that is worth, I have spent the last few years fixing my economically viable applications so they are more friendly to CS design patterns. It is really not that hard. A little research and I have go a grasp on MVVM design patterns and have reworked the GUI to interact with the base algorithms through that method of communication. Mark
On Monday, December 16, 2013 4:32:00 AM UTC, robert bristow-johnson wrote:
> On 12/15/13 2:39 PM, Crandles wrote: > > > > > > If everyone does end up becoming a mediocre programmer though, all it does > > > is spell job security for us good ones as well go around fixing all their > > > mistakes :) > > > > actually, my experience is exactly the opposite. for some reason, doing > > code review and telling people their code is ugly (and even explicitly > > correcting the deficit) is like looking at a picture of their kid on > > their desk and telling them their kid is ugly. > > > > people are in love with their crappy code. doesn't matter to them that > > somehow you gotta connect the work of other people to their code. > > doesn't matter to them that someone else might have to maintain their > > code, or leverage it into another future product. or translate it into > > another language like verilog or VHDL or something. > > > > these crappy coders "just do it" which makes them appear productive > > superficially, but by crapping on other programmers in the project (that > > have to worry about how their code gets what it needs from the crappy > > code or vice versa) who have to clean up, just to get their work product > > to connect to the project common to all, overall productivity is diminished. > > > > there's no job security for "us good ones". pointy-haired management > > will prefer the quick-and-dirty sort-term solutions. > > > > -- > > > > r b-j rbj@audioimagination.com > > > > "Imagination is more important than knowledge."
Sounds like a gathering of Aspergers sufferers! Why shouldn't more people program? The more the better. Not all code is real-time code, we're talking people writing code for games using special tools. You could ask another question though and that is: Why is programming still a jumped up version of what it was 50 years ago? (Object orientated programming apart that is). Where are the 5th generation computers we were promised, the AI machines. Machines that can reason for themselves. Problem solving machines. These are mostly Science fiction or at very primitive stages of development. I shouldn't even have to program a computer at this stage in time - I should ask it a question! If there is one thing that computer scientists have proven, they have little imagination. They stick to the well trodden path. Here is a brave attempt though still quite primitive - a step in the right direction maybe. https://www.youtube.com/watch?v=ZmlrkQBjVok Now perhaps something similar for maths would be good. Would require a different kind of thinking. Then programs that write programs..
On Sun, 15 Dec 2013 23:06:10 -0800, Mac Decman
<dearman.mark@gmail.com> wrote:

>On Sun, 15 Dec 2013 13:53:59 -0500, robert bristow-johnson ><rbj@audioimagination.com> wrote: > >> >> so take a look at this >>http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it >> >> >>normally i don't take too much issue with Obama, but i wonder about this. >> >>my experience is that both degreed and non-degreed programmers, except >>maybe those with an advance degree or enough experience that they "get >>it", that these guys don't know shit about modular programming. and >>they don't care to know. they think that, because they're coding in >>C++, that their code is object-oriented but the really for about 96% of >>the time is that their code is spaghetti. they don't get it. >> >>do we need every Joe (or Josephine) to be piling on more spaghetti on >>top of the mountains of spaghetti that the "trained" computer scientists >>have created that sometimes, those of us who care and are trying to fix >>a problem, have to comb out and straighten? >> >>all i can think of is "ick". more crappy code from people who don't >>know the difference and likely care even less. > >Well I am trained engineer and untrained programmer. For whatever >that is worth, I have spent the last few years fixing my economically >viable applications so they are more friendly to CS design patterns. >It is really not that hard. A little research and I have go a grasp >on MVVM design patterns and have reworked the GUI to interact with the >base algorithms through that method of communication. > >Mark
Wow there were a lot of spelling and grammer errors in that. Woops, sorry. Mark
I totally agree with the C++ remarks.

Now imagine a world where people don't think about programming as 
operating the over-complex internals of a mechanical device, but instead 
see it for what it truely is : the mathematical manipulation of information.

I can't help pointing out at a colleague's show-off demo of this concept :

http://www.youtube.com/watch?v=a9xAKttWgP4

Nic.


robert bristow-johnson wrote:
> > so take a look at this > http://www.whitehouse.gov/blog/2013/12/09/don-t-just-play-your-phone-program-it > > > normally i don't take too much issue with Obama, but i wonder about this. > > my experience is that both degreed and non-degreed programmers, except > maybe those with an advance degree or enough experience that they "get > it", that these guys don't know shit about modular programming. and > they don't care to know. they think that, because they're coding in > C++, that their code is object-oriented but the really for about 96% of > the time is that their code is spaghetti. they don't get it. > > do we need every Joe (or Josephine) to be piling on more spaghetti on > top of the mountains of spaghetti that the "trained" computer scientists > have created that sometimes, those of us who care and are trying to fix > a problem, have to comb out and straighten? > > all i can think of is "ick". more crappy code from people who don't > know the difference and likely care even less. > >
>On 12/15/13 2:39 PM, Crandles wrote: >> >> If everyone does end up becoming a mediocre programmer though, all it
does
>> is spell job security for us good ones as well go around fixing all
their
>> mistakes :) >> >there's no job security for "us good ones". pointy-haired management >will prefer the quick-and-dirty sort-term solutions. > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." > > >
I'm not sure pointy-haired management would have any clue what the difference is between good code and bad code. -Doug _____________________________ Posted through www.DSPRelated.com