Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
point taken on the customer driven, some companies (games companies) do really take on board what the customer wants though.

this:
http://stackoverflow.com/
+
http://msdn.com/
is enough "documentation" for me, what is it that you want this deep documentation on?

I love stack overflow, but it shouldn't be necessary.
I've been burned by incorrect and inconsistent documentation on Javascript and DOM so many times that I quit doing Javascript development altogether. Besides, they can't even get the browsers to agree, much less get the documentation to agree. I've spent days and sometimes months trying to figure out why some C++ code doesn't link properly. My office used to be on the floor above Bjorn Stroustrup. Sometimes it was all I could do not to run down the stairs and shout "WHYYYYY???" Those circumstances are less in C++11, but still present.

As long as I'm "slamming" on CS majors, here's a fun anecdote:
We had a CS grad student writing software to do some (technical) simulations. I showed him how all of the physics-y aero-spacey stuff worked and it was his job to make it work in C++. At the same time, I was writing nearly identical software in Objective-C to make sure the calculations worked right, but the professor wanted it to be "cross-platform". It drug on and on with the cs grad student running in to development obstacle after obstacle. It came time to present our research findings to the air force; they asked when the software would be finished. The cs student answered with a lengthy version of "I don't know". Then I pulled out my iPhone and demoed it right there on the spot.
 
This is about the last straw for me. I think I am about to give up on Outlook 2011. It gets worse with each update not better. Is this a secret ploy by MS to drive us back to Windoze?

Nah, It's a ploy to force you to use Apple Mail instead.
I was very dependent on Outlook (Entourage) when I first switched to Mac, but after a while, I suddenly found myself dropping Entourage and switching to Apple Mail. When M$ released Outlook for Mac, I didn't really feel the need for it, and so far, I don't use it.

Unless you need Exchange's Public Folders, I don't see another reason to use Outlook.
 
I agree completely with everything benspratling is saying here. In the US computer science education is a pathetic joke with respect to other countries. In countries such as Great Britain CS courses are so rigorous they would send the college seniors majoring in CS in the US home crying.

I took several engineering courses last semester and a CS course this semester, the difference between the two is the same as night and day. In my CS class we're not graded on the robustness of our programs and code, their readability or their ease of use, but whether or not they give expected sample outputs.

And when it comes time to actually write programs for "real world usage" our students fall woefully behind. I was in a programming competition as a volunteer coder with a junior and a senior. We were tasked with writing 10 programs in about 4 hours, and we couldn't even get 1 program out the door. These programs were hard, but not impossibly so, the problem was that none of us had ever been exposed input/output handling within C/C++ or Java, and none of us had ever been taught how to set up dynamic memory handling in C/C++.

Engineering students make jokes at CS students expense because CS in its current state is a joke.
 
Oh ok you win my bad. Software isn't important, only hardware :rolleyes:

I'm beginning to think you're not in this intellectually at all. My point is that software is far more important that it's been treated. It's not being taken seriously enough.
 
The only people using Outlook should be people that utilize Exchange only features such as Delegate Mail Boxes. If you are using Exchange and not utilizing Exchange only features you are wasting your time and energy. For basic Exchange setups Apple Mail/iCal/Address Book does a great job.

I agree completely with everything benspratling is saying here. In the US computer science education is a pathetic joke with respect to other countries. In countries such as Great Britain CS courses are so rigorous they would send the college seniors majoring in CS in the US home crying.

I dropped CS for EET. Best decision I made.
 
You, like other posters who write the same thing just seem to want to slam on CS majors for some reason.

I'm not saying that building planes or space shuttles or something is easier than designing software, but if you don't think CS is real engineering you just simply don't have enough experience in it. Go tell a chip designer at Intel his work isn't engineering.

Ben* scribbled: "I only partially blame the tool sets. As iOS developers, we still don't even have tool sets which can search our code for syntax-context aware expressions, like "find all calls to a method named 'foo()' on instances of the 'bar' class". We're left with text searches and reg-ex searches which ask me to construct a syntax so dense and fathomless that the task is usually impractical. Performance profiling tools won't even tell me what the arguments were to function calls which take the most time."

As someone who engineers both rockets and software let me clarify why CS sucks in its current state. Mechanical Engineering and Aerospace Engineering is about heritage (experience), reliability, reporting (documentation), and mission effectiveness.

The point he was making is these ethics are less firmly rooted in the culture of Computer Science. Most programmers declare themselves done when the code compiles and meets minimum stated goals.

If one were to apply an engineering ethic to the same project, it would include properly commented code, a manual which is not a mere placeholder, but shows how to apply the code in a variety of situations and rather than a list of error codes and what they literally mean, a set of error examples, what causes it and what the fix or workaround is.

When you have code that is proven good you would use it as an element of the next project, not rewrite it from scratch from each project. API's are not the same thing, but are the same principal.

The things they have in common are interesting. A complex set of assemblies and sub-assemblies, dependencies, duty cycle limits, a tradeoff between goal and available labor and materials. They can be either single use or reuseable for decades.

Simply treating CS in much the same way you do engineering or business school would result in more emphasis on learning tools and process and available options (vocabulary), would make workers in the field cope better with oddball requirements and the situational awareness you would have would make non-intuitive solutions that are simpler or more reliable, an option.

Rocketman
 
Done with Outlook!

Yes, I think this just about does it for me. I have used outlook for many, many years, but this breaks it for me, moving off outlook for good.
 
Ben* scribbled: "I only partially blame the tool sets. As iOS developers, we still don't even have tool sets which can search our code for syntax-context aware expressions, like "find all calls to a method named 'foo()' on instances of the 'bar' class". We're left with text searches and reg-ex searches which ask me to construct a syntax so dense and fathomless that the task is usually impractical. Performance profiling tools won't even tell me what the arguments were to function calls which take the most time."

As someone who engineers both rockets and software let me clarify why CS sucks in its current state. Mechanical Engineering and Aerospace Engineering is about heritage (experience), reliability, reporting (documentation), and mission effectiveness.

The point he was making is these ethics are less firmly rooted in the culture of Computer Science. Most programmers declare themselves done when the code compiles and meets minimum stated goals.

If one were to apply an engineering ethic to the same project, it would include properly commented code, a manual which is not a mere placeholder, but shows how to apply the code in a variety of situations and rather than a list of error codes and what they literally mean, a set of error examples, what causes it and what the fix or workaround is.

When you have code that is proven good you would use it as an element of the next project, not rewrite it from scratch from each project. API's are not the same thing, but are the same principal.

The things they have in common are interesting. A complex set of assemblies and sub-assemblies, dependencies, duty cycle limits, a tradeoff between goal and available labor and materials. They can be either single use or reuseable for decades.

Simply treating CS in much the same way you do engineering or business school would result in more emphasis on learning tools and process and available options (vocabulary), would make workers in the field cope better with oddball requirements and the situational awareness you would have would make non-intuitive solutions that are simpler or more reliable, an option.

Rocketman

Agreed. Process is the biggest thing that is totally ignored these days.
 
It's not much of a slam when it's completely true. I've practiced Geophysics, aerospace engineering and computer science, and I can tell you that, in general, CS lacks all the appropriate education of reliability, durability, precision, customer responsibility, deference to reality, notational consistency*, thoroughness of documentation, and subjugation of personal pride to achieving mission objectives that are absolutely essential in a real science or engineering. The folks to whom I've spoken who say that CS is not less rigorous simply don't have the experience necessary to comment, or else they work on financial software. I've been fortunate to work with some of the best in the CS industry, but... aerospace is still an order of magnitude more difficult and demanding.

But it's clear you don't understand my point. So, to clarify:
I'm not saying software can't or hasn't make major contributions. I'm just saying compared to real engineerings and sciences, CS (and education in it) is unreliable, flimsy, poorly documented, and lacks proper customer-demand and mission-objective focus.

Apple and Microsoft's growing recent failures in each passing update only serve to prove my point. I only partially blame the tool sets. As iOS developers, we still don't even have tool sets which can search our code for syntax-context aware expressions, like "find all calls to a method named 'foo()' on instances of the 'bar' class". We're left with text searches and reg-ex searches which ask me to construct a syntax so dense and fathomless that the task is usually impractical. Performance profiling tools won't even tell me what the arguments were to function calls which take the most time. If I had run my 10,000 tests for my aerospace dissertation research and failed to match each test result with the data which went in to it, I would have been laughed out of the department, but that's the state of the art in CS. If there is any tendency to improve these failures in the CS industry, excellent. I kind of think maybe Chris Lattner and his team will deliver something incredibly useful like this at some point, but that might just be my little man-crush on him for bring us Obj-C-ARC.

And as for documentation, if a man-page or non-free Apple developer's guide even approached the kind of detail I get from a free data sheet from Digi-Key when browsing for electronic components, I would be shocked. The "header" style documentation I've seen is worse than RadioShack's 74xx series data sheets which sometimes wouldn't tell you which pin was which pin number. In fact, that might be a fair comparison, Radio Shack documentation is to computer science as digi-key's free data sheets are to rigorous engineerings. Apple's documentation on in-app purchase is about as good as it gets, and that amounts to handing me a sample implementation circuit.

And if you manage to prove me wrong, well then I'll just be happy, because things will be better than I think they are. :)

* Notational consistency as applied to science. Engineers are terrible at notational consistency, even in a single industry.

You are over simplifing the problem.

Computer Science is NOT engineering but a science dgree and most people who get Computer Science degrees should be getting a software engineering degree. The problem is schools only recently started offering Software Engineering degrees at the bachelor level.

I am getting a degree in Computer science right now instead of software Engineering because guess what that is all that is offered at the bachelor level. Now I am an exception to the rule because I already have an unrelated engineering degree so I have that back ground in the engineering line of thought which yes I agree is not taught in Computer Science and I see the problem in classmates as I go after the problem as an engineering way of thinking. They go after it more as a scientific way of thinking but that is what the Computer science is teaching.

It is Science vs Engineering. We need more software Engineering degrees.
 
You are over simplifing the problem.

Computer Science is NOT engineering but a science dgree and most people who get Computer Science degrees should be getting a software engineering degree. The problem is schools only recently started offering Software Engineering degrees at the bachelor level.

I am getting a degree in Computer science right now instead of software Engineering because guess what that is all that is offered at the bachelor level. Now I am an exception to the rule because I already have an unrelated engineering degree so I have that back ground in the engineering line of thought which yes I agree is not taught in Computer Science and I see the problem in classmates as I go after the problem as an engineering way of thinking. They go after it more as a scientific way of thinking but that is what the Computer science is teaching.

It is Science vs Engineering. We need more software Engineering degrees.

I think I agree. There is very little convention between universities as to what the proper names are for these separate disciplines. To the extent that it's becoming more standardized and more engineering practices are being taught, it's great.

Whoever rocketman is, I want to meet you.
 
Microsoft...

----------

Still putting out garbage, when are people going to learn that they cannot be trusted

Do you use MS Office?

----------

Yes, I think this just about does it for me. I have used outlook for many, many years, but this breaks it for me, moving off outlook for good.

Do you use a Mac? Because Mac OS comes with Mail, which is basically Outlook but waaaaaaaaaay better.
 
I agree completely with everything benspratling is saying here. In the US computer science education is a pathetic joke with respect to other countries. In countries such as Great Britain CS courses are so rigorous they would send the college seniors majoring in CS in the US home crying.

Engineering students make jokes at CS students expense because CS in its current state is a joke.

Sample Size = 1 School
 
My office used to be on the floor above Bjorn Stroustrup. Sometimes it was all I could do not to run down the stairs and shout "WHYYYYY???" Those circumstances are less in C++11, but still present.

I love the name-dropping here. Perhaps you meant Bjarne Stroustrup?

As long as I'm "slamming" on CS majors, here's a fun anecdote:
We had a CS grad student writing software to do some (technical) simulations. I showed him how all of the physics-y aero-spacey stuff worked and it was his job to make it work in C++. At the same time, I was writing nearly identical software in Objective-C to make sure the calculations worked right, but the professor wanted it to be "cross-platform". It drug on and on with the cs grad student running in to development obstacle after obstacle. It came time to present our research findings to the air force; they asked when the software would be finished. The cs student answered with a lengthy version of "I don't know". Then I pulled out my iPhone and demoed it right there on the spot.

One anecdote does not validate your point and it's a logical fallacy to presume it does. Were you more familiar with the "physics-y," "aero-spacey" stuff than this CS student? Did you meet the requirements of ensuring it was cross-platform? But congratulations on getting the project done on your iPhone before a CS grad.

It's quite unfortunate, since I do agree with the core sentiment you're proposing. It's simply that your delivery comes across as smug superiority and is not all that beneficial.

There are many factors that make "engineering" and software development different and cause it to lack the robustness you outline. I would argue one of the crucial ones is the barrier to entry -- it's significantly lower for software development. All you need is a computer (or even just an iPad).

This is achieved in many ways, not the least of which through the levels of abstraction computer science inherently drives toward. I don't think it has much to do with ethos. Framing it in those terms makes it an inherently offensive statement.

Then again, in the sciences, there's always an inherent tendency to feel that one's scientific endeavour is somehow superior or conducive to the other. XKCD has already attacked that issue. Mathematicians still win. :p
 
Sample Size = 1 School
We had a running score of all the schools we were competing against. There were about 40 teams and all the American teams were getting their asses handed to them by a team in Canada, who got 3 programs done in 40 minutes and went on to complete 9 of the 10 in the 4 hours we were given.

Sample Size = 40

There are many factors that make "engineering" and software development different and cause it to lack the robustness you outline. I would argue one of the crucial ones is the barrier to entry -- it's significantly lower for software development. All you need is a computer (or even just an iPad).
Here's what you need to do engineering;

A pencil
Paper

In some circumstances those two items are far superior to a computer.
 
I have lost the little faith I had in the product. I was hoping I might FINALLY be able to use Outlook...The main reason for buying two licences for the suite.

Far from fixing an email client that is supposed to be the industry standard, they screwed it over even more. It loses emails, won't send and is totally unreliable....I have been using Thunderbird and will continue to do so...What a waste of money....Thanks Microsoft.:mad:
 
Outlook can barely keep its act together on Windows. Imagine the poor Mac BU at M$, desperately trying to successfully code outdated bloatware to match its Windows counterpart. Tiniest violin and all.

Thanking the gods I can simply hand my Windows laptop to the tech support work and let them deal with it, and that I've never had the inclination to go near Outlook in either its '98 or 2011 flavors for Mac OS.
 
I love the name-dropping here. Perhaps you meant Bjarne Stroustrup?

That's the one! Thanks for looking it up for me. I sorta felt like it was a bit wrong, but I figured you'd know who I was taking about.

One anecdote does not validate your point and it's a logical fallacy to presume it does. Were you more familiar with the "physics-y," "aero-spacey" stuff than this CS student? Did you meet the requirements of ensuring it was cross-platform? But congratulations on getting the project done on your iPhone before a CS grad.

Of course it doesn't prove my point, it's just fun. I included it mostly for rocketman to chuckle at. Here's another fun anecdote: One day Stroustrup came down to give a major seminar on C++0x in the CS lecture hall at TAMU. The CS department had refused to participate in the university's wi-fi network, using their own authentication methods instead. Since aerospace was on the floors above them, we were kinda stuck with it, but we had labs in other places so we'd all been through the hassle of getting both networks set up. Stroustrup spent more than 15 minutes at the beginning of his hour-long talk just trying to log in to the network so he could show some information from his personal web page, but he was ultimately unable to do so because the wi-fi reception from the CS network was so poor in the lecture hall all he could attempt a log-in was the regular network he got from the ethernet cable. I felt vindicated for all the times I had trouble logging in to the CS's complicated Wi-Fi network, (which had terrible user support, btw).

It's quite unfortunate, since I do agree with the core sentiment you're proposing. It's simply that your delivery comes across as smug superiority and is not all that beneficial.

People keep telling me that, and yet I keep delivering products early, under budget and expertly executed. The folks who work with me know that even when I seem smug and arrogant, I'm always ready to listen to any technical criticism of my work that someone has. I learned that in Physics because if your research contradicts the actual laws of physics, you can't hide it, and it was reinforced in aerospace, because when we make mistakes, people die horrible deaths; so we don't let our pride get in the way of rigorous engineering.

There are many factors that make "engineering" and software development different and cause it to lack the robustness you outline. I would argue one of the crucial ones is the barrier to entry -- it's significantly lower for software development. All you need is a computer (or even just an iPad).

This is achieved in many ways, not the least of which through the levels of abstraction computer science inherently drives toward. I don't think it has much to do with ethos. Framing it in those terms makes it an inherently offensive statement.

I had to look up "ethos", and, no, I disagree; it's precisely the ethos which makes it a problem. (Not that I disagree with your statement about low barriers to entry, that's what made getting a software job such a good option when I graduated and the aerospace industry was in a nose dive. But surely you won't argue that the barriers to entry don't affect ethos?) Rigorous engineering doesn't rely on delivering a 'bug fix' after the products are already out there. I know, I know, "Hubble" is like the giant anti-example there, but how many other aerospace missions get do-overs? 4 or 5. In traditional hardware engineering, bug fixes are ridiculously expensive. Not so in software, just upload new code. The consequences aren't thought to be as bad, so it doesn't get as much care as it should. I think the "we'll just send a bug fix" mentality is part of the software ethos, and I think development tools and development strategies should be less reliant on such solutions.

That's one reason why I use Mathematica instead of MatLab: because my equations in Mathematica look like the ones in my textbook and that the professor wrote on the board and that I publish in my papers. In MatLab, they look like DOS. Mathematica is easier to catch mistakes in my math. In fact, it's gotten to the point where I don't make mistakes entering equations, only mistakes in the ridiculous blocks of type-written code that get interpreted as control and data flow algorithms. Sure simulink is a great solution for visualizing data flow, until you have to do anything that's not actually in a textbook, at which point they're all custom blocks anyway.

But sure, the other guy brought up the science/engineering distinction, and I agree wholeheartedly that there's an important mindset difference between science and engineering. I ran smack into that in grad school. But the concepts weren't new, there were just different emphases. In fact, exploring extreme regimes is a core way in which we learned to determine the reliability of our physics concepts. Maybe C++11's inherent atomics will fix the problem, but ... I'll just fix the rest of this sentence in a bug fix.... ;) Writing really thorough documentation (and including reliability analyses in it) wasn't a new concept in aerospace, I just personally had a particularly terrible lab prof in physics who happened to be responsible for teaching us how to write lab reports, and he did a terrible job. I learned my documentation skills from other prof's. Heck, Mythbusters actually has better documentation than some libraries out there... (Cue Kari: "Oh, we forgot the Newton's laws!")

Then again, in the sciences, there's always an inherent tendency to feel that one's scientific endeavour is somehow superior or conducive to the other. XKCD has already attacked that issue. Mathematicians still win. :p

I was even thinking of looking up that strip when that other guy mentioned the jokes other students tell about CS majors, but didn't have time. Thanks for finding it. I once thought about making fun of geology students, but realized they got more fields trips to go climb around rocks than I did. Then I added geology as my secondary. (Can you find that great xkcd about correlation and causation?)

----------

Sample Size = 1 School

My sample size is 3 schools. :p
 
I still have an older version of Word for Mac - I won't buy another one.

With my next machine I won't be able to run the old version of Word any more (bye, Rosetta), so I'll probably get Pages.
 
well i still prefer Word over Pages, just cant get used to the different shortcuts

also good thing i dont use Outlook ^^ iMail is enough for me
 
Nah, It's a ploy to force you to use Apple Mail instead.
I was very dependent on Outlook (Entourage) when I first switched to Mac, but after a while, I suddenly found myself dropping Entourage and switching to Apple Mail. When M$ released Outlook for Mac, I didn't really feel the need for it, and so far, I don't use it.

Unless you need Exchange's Public Folders, I don't see another reason to use Outlook.

Well, some people prefer to use the familiar environment that they use at work every day. Or they just want everything in ONE application and not one dedicated application for each feature.

Personally, I would use Outlook if they sold it separately. The funny thing is that I do not need word processors, spread sheets and definitely NOT something like Powerpoint or Keynote on my own system. Scrivener's for writing. I have iWork and Office 2008 although I haven't had the need for an Office Suite in YEARS. But a good PIM, yes. I'd use that.

But Microsoft has the packaging wrong. They sell their low-end office suite without Outlook and the expensive business version with Outlook. And I don't want to spend something between 200 and 300 bucks just for an eMail client with calendar features (because I wouldn't use the other applications at home). So, no deal.

All that being said, Microsoft Office is just another example for what's wrong with the Mac platform when you are not simply a home user or consumer. And yes, this is not just Microsoft's but also Apple's fault: Apple fails to deliver a working (and COMPATIBLE!) replacement for Microsoft Office for business users. iWork is a home user toy. Nice despite its limitations, but never able to replace the real thing.
 
Agreed. Process is the biggest thing that is totally ignored these days.

Yep, that'll fix everything. Just like it did in the '90s. And the '80s. And so on.

I would speculate that you could easily get software with the level of reliability and quality that we expect from engineering disciplines -- if you employed as many people per "moving part".

Developers are expected to build systems with thousands of distinct objects, methods, threads and processes, interacting in thousands of ways. Large teams are expected to scale that to millions. The analogy shouldn't be to designing a car; it should be to designing an entire city, with all the vehicles traveling through it.

And, of course, every two years, the number of cars doubles. At least they aren't doubling the speed limit every two years any more, but they're continuing to add more roads, and more cargo that needs to get through.

Yes, "software engineering" is in trouble, as it has always been. But saying that everything would be better if software engineering would just grow up and adopt real processes is silly.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.