recent trends, such as "tools grow[ing] more advanced" (see Adobe Flash Builder or MS Visual Studio) have had people wondering over the past few years if computer science has much room for growth leftWat?
"Every line of code is a potential bug and has a long term maintenance cost. It doesn't matter if the line of code is machine generated or manually generated. The initial cost to write a line is typically small compared to the lifetime cost to maintain it, and machine generated code is not magically bug free. The only way to reduce the cost of software is to produce more features with fewer lines of code." - Steve Jobsposted by Blazecock Pileon at 2:23 AM on April 24, 2012 [1 favorite]
BP: Well, that's not actually true. Job's should have known better.That does seem to be how Apple approached design though. While other companies were layering on new virtual machines and frameworks, Apple was continuing to do things the same old way. C++ or Objective C, compiled down too machine code, running close to the metal.
The great thing about Visual Studio (for example), is that individuals share that maintenance cost with millions of other developers. Plus, stuff that has been tested and used and fixed and tested and used and fixed over the last 15 years is pretty much certain to work.
The reverse is also true, from what I hear. But what kind of code were you thinking of? I'm curious.I’m thinking of baroque, overly-clever code written without a user population, often to illustrate an unrelated concept in a paper or reference implementation. It’s the same thing you see in a lot of framework design: confusing language features with application features, premature abstraction and generalization, borrowing concepts from cutting-edge research, spooky action-at-a-distance and an excessive regard for the future in favor of the present.
You're right. I somehow managed to type "difficult" when I meant to say "easy".Of course Android programming still isn't nearly as difficult as LAMP style web development,This is where your argument falls apart, as there is nothing as easy as LAMP style development, unless you want to devolve to client side scripting.
But LAMP was never easy. In fact, for people moving out of the event driven world of '90s GUI development, it was a complete nightmare.LAMP is pretty event driven. Each page request is an event, and the application state is stored in the database. I wrote event driven GUI programs in C/C++ in highschool and PHP seems much easier to me.
My CS program had two classes on programming, which you took first semester. I tested out of the first one. It was C++, and in another class we learned MIPS assembler. There was also a class on programming language theory where we had to learn scheme.Computer science degrees are the place where people who don't have coding skills learn to code.Really? I find that pretty insulting.
Right. My feeling is that "how to use data structures" would be a much more valuable class than "how to create data structures." But the CS curriculum changes only very slowly.Eh, I disagree. That isn't really all that difficult. If you know how the data structure works it should be easy to figure out when it's appropriate. I don't think you can really distill that down to simple rules that people can memorize.
So if coding is like carpentry, then was is CS? CS is not about learning how to carve wood and fit pieces together. Its about looking at the nature of the wood, understanding its properties and limitations. Are there better ways of carving wood? Are there more efficient means of attaching two pieces of wood together, and how and why do these methods work? How about if we ditch the wood and use some other material instead?CS is to system administration what physics is to auto repair.
I think it's butt ugly andAi-ya! I really need to remember to proof these. I was just going to say what I'd already said in the prior comment about how it probably became a pain in the ass as you scale in terms of lines of code. There are lots of languages where its quick and easy to write a small program, but things get harry as you add more and more code.
A famous joke concerns an airplane delivered to the US Defense Department in the 1950s, which included a punch-card computer on board. By regulation, the contractor had to provide a list of all the components of the plane—engine, wings, fuselage, etc.—along with the weight of each component. One item in the list read, “Computer software: 0.0 kg.”posted by jcreigh at 2:29 PM on May 1, 2012 [5 favorites]
“That must be a mistake—it can’t weigh 0 kg!” exclaimed the government inspector. “Here, show me where the software is.” So the contractor pointed to a stack of punched cards. “OK, fine,” said the government inspector. “So just weigh those cards, and that’s the weight of the software.”
“No, sir, you don’t understand,” replied the contractor. “The software is the holes.”
« Older Nickstarter - Nick asks you to fund a project, his... | "Net migration from Mexico to ... Newer »
This thread has been archived and is closed to new comments
posted by Grimgrin at 11:32 PM on April 23, 2012