Inside Visual Studio 2005 Team System
An anonymous reader writes "ZDNet has posted a top 10 list of things you need to know about Visual Studio 2005 Team System. From the article: Everybody talks about collaborative development tools, and heaven knows you can't surf the major developers' for 10 minutes without getting hit by banners trumpeting the latest. We can't fault Microsoft for wanting a piece of that action; but we need more than just a collaborative environment."
We can't fault Microsoft for wanting a piece of that action
you must be new here...this is slashdot
we can fault Microsoft for anything...-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This is MY galaxy...go find your OWN!
The Army reading list
As Microsoft had already completely nailed collaborative development with Visual SourceSafe.
What about the plans for Microsoft Visual Studio 2007?! That one just has to be listed!
http://www.sciencegeek.net/lingo.html
there are many more.
To build decent apps today, and Internet apps in particular, you need more than an idea, more than good tools
OK I need more than a tool.
Team System is addressing this shortfall in its Team Edition for Software Architects with a tool called Application Designer, a graphical workhorse for solution architecture.
So you give me a tool.
Huh?
Check out Microsoft Takes it on the Chin Over Test-Driven Development. For comparison, check out Wikipedia on Test-Driven Development. This is particularly ironic given the recent Slashdot article about Microsoft adopting Scrum, one of the agile methodologies which, along with Extreme Programming, is instrumental in promoting Test-Driven Development as a core software engineering practice. I've also got a very brief article on my blog about the Qualities of an Ideal Test.
Helping with organizational effectiveness is our job.
So this new collaborative development environment, isn't it going to be as bulky, loaded and lacking in a basic concept as all other MS products? Take for example Visio. Some of the errors it gives me simply don't make any sense and get fixed by restarting it. Or MS Word, that hasn't been able to figure out yet, how to do numbering. Or maybe its way too advanced for us backward users, so it takes control and numbers my document on its own! I think Eclipse is a very well thought over IDE and the I would be happy with being provided something extremely lightweight for starts for which people would develop plugins that I could download install on a need-basis.
Life is about being a Phoenix!
Microsoft had an old saying... I have it on a mug honest... "One company does it all." Its true in everything Microsoft does, whether it be desktop os and app integration, the convergence around entertainment systems, or development tools.
I think the problem is that no unification theory holds. I software development, from a team perspective, from design to implementation to testing... regardless of what model you follow... the development team is most effective when they are not constrained by a tool.
In my current work environment, the company tried to standardize on one web server, one IDE, one OR mapper... it failed miserably. The reality is we have 4 web servers, a multitude of IDEs, and tons of different technologies that are fitting specific needs. Even on the Microsoft platform.
I do not doubt that the team tools are cool for collaboration. But they are going to be pushed into organizations that already have team tools, or ways of doing stuff.
Right tools for the right job? Most Rose managed projects I know fail. Who uses all the lifecycle stuff in JBuilder 2005? Is anyone tired of development environments that take gigs?
/\/\icro/\/\uncher
It's all superfluous it tell you! The best collaborative development tool is the low lying cubical partition! All else pales to it's abilites to facilitate a tight dev team. Oh and emails.
All this rubbish cruft in Visual studio these days. It's from the people that broght you Visual SourceSafe-Studio integration. Windows only, MS centric, homogenous coding standards, catering to the lowest common denominator of programmer in an effort to make coding more quantifyable for management. Basically, it's all just tools for making windows developers even more lazy than they already are, and to make project managers think they're more in control of their projects because of all the shiny graphs, network tools and printed reports.
Expect coding standards to drop in line with their usage.
May the Maths Be with you!
But I looked at that web page: Codex, T-SQL, inscrutable jokes about woodpeckers, meta-models, Da Vinci, Biztalk Server 2004, Visio and text whose individual words I understand and yet whose sentences I can't grasp. I must be some kind of dinosaur ('dragon' if you live in Kansas) from an age gone by. Uh...uh...uh...>panic!...I've no clue what they're talking about. Does that mean I'm not collaborating properly? I didn't even realize. This is so awful. What can I do? Obviously just talking to people isn't enough.
That being said...
I've seen a fair number of high-power tools offerred that do everything from soup to nuts, UML, Code generation, integrated testing, etc, etc, etc. It's been my sense that to fully leverage these tools you kind of have to buy in all the way, you can use their architect tools, but you need to put a fair amount of effort into learning the tool, and then you're not developing in C# or whatever, but in the tool. You're then also locked into the constraints imposed by the tool.
Every sophisticated tool I mess with these days seems like it has this issue, and I guess it's structural- you have a simple core surrounded by proprietary extensions that in theory offer a lot of power and in practice require a huge buy in of time to leverage the extensions. For example, most java application servers have all kinds of built-in goodies (e.g. Jboss) but whenever I've worked with them I've seen almost no use of the proprietary stuff. Same for web frameworks, most projects I've seen don't leverage the frameworks nearly as well as they could. This indicates to me that the learning curve is too high and that in practice it's not realistic to expect that people can master and fully utilize proprietary tools in addition to languages, patterns, and other necassary knowledge.
To be fair, I don't work in the Microsoft universe, and it may be a bit more realistic to expect tool buy-in in a world where there's one major tool vendor.
...as long as the underlying system for a single guy at his desk isn't up to scratch, it doesn't really matter how good the collaboration aspects and high-level funkiness are.
We've been working with VC++2005 since the early betas, and it's been very hit and miss. On some systems it runs fine, but on others ("possibly those without hyperthreading processors" is the closest we've got to a pattern so far) it can go into a trance for literally minutes while it faffs around updating all that clever Intellisense it does on-the-fly these days.
Add to that a debugger that really does run code orders of magnitude slower than a properly compiled version when you step through it, and you've got a serious problem with the two main tools in VC++. Worse, these are things that were fine back in VC++ 6, and rapidly went downhill when MS started relying on .Net and a multi-language framework for the dev tools a few years ago, which isn't exactly a great recommendation for all this new technology MS want us to use.
In other words, the TS stuff is all very well, but until the fundamental problems with the single-user everyday stuff are fixed, it's rather academic at this point. Several of my colleagues never "upgraded" from VC++6 to any of the earlier .Net versions because the basic functionality wasn't up to the job, and the same is in danger of happening this time, too.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Two days ago I got a free copy of Visual Studio 2005 beta 2 (4 DVDs in one box), delivered by DHL directly to my door. Because Microsoft charges $20 for delivery (based on what other trials cost), and, say, $5 for CDs, they spend $25 on a guy who hates them as much as possible.
The funniest thing is that I wanted to switch to Windows back from Ubuntu (seriously!). But now that evil idea is gone...
That kind of depends on how you are defining "web services". I don't think the author is going for a strict definition, and is instead using the term to signify web apps, because I've never really seen any web services in real use either.
So basically they've recreated http://www.gforge.org/ out of proprietary components.
Borland's JBuilder 2006 has a pretty neat p2p feature, so you can pass a token around for editing, or watch the editing in follow mode. I found it very helpful and quick. I believe it uses the jabber protocol, and even works with google talk.
Error: Id10t detected
Maybe it's just because I'm a Java programmer, but it seems to me that many of the items in the top 10 list have been considered best practices for quite some time. Examples include 3-tier architecture, datasource management, and Integrated testing.
It's probably actually a good thing that MS is including it. That being said, "it's about time" went throught my mind more than once while reading the article.
-Pete
Soccer Goal Plans
I've really been enjoying some of the videos being posted on Channel 9--part of MSDN. It's great to see what real MS engineers are working and thinking on. Just the other day, they posted a video covering Visual Studio TFS.
I'm surprised at myself for liking these videos. I keep going to Chan.9 more than once a day. It's great to get a peek behind the scenes at MS development.
"A diplomat is a man who always remembers a woman's birthday but never remembers her age." -Robert Frost
So there now three editions: Architect, that makes code from powerpoint-like sketches, Developer that has the PPT-tool without the code generation, and Tester. Which means that testers arent allowed to design things, architects cant test and developers get to do a bit of neither, but not very well.
What kind of organisation does this represent? I guess it reflect's microsoft world view. But it doesnt match that of OSS applications.
You are so hardcore! Thank you for adding that to the discussion!
But VS is still the best development tool around.
I don't know why some people are complaining about this software, its the best MS has come out with yet. Intellisense in any version takes a big hit on performance, the bottom line is, would you build a house with a hammer or a shoe. I can't understand why anybody would develop software for a living with an underpowered system! Complaints about VS underperforming can easily be resoled by simply upgrading to an Athlon64 or Opteron system.
I've noticed only a few minor usability issues, but these are things that have plagued every release of a VS product, little gaffs which may be annoying, but are infrequent and do not interrupt productivity.
Overall, the environment is much more streamlined, even menu items seemed to be intuitively placed within easy reach for quick access. They finally implemented region support within C++ files, so you can micro manage large classes by separating chunks of related code into sections that can be hidden, and finally outlining preserves its state when you save and reload the file.
When it comes to intellisense, NO OTHER development tool comes close to the speed that VS does. Sure, your CPU usage might spike to 100% for the first few minutes after openning up a project, but a list of class methods and members always pops up instantly when you type a . or -> and text completion is fast. When I was playing around with XCode, I though that it didn't have ANY intellisense like functionality until one day I just happen to notice it took about 10 - 20 seconds for XCODE to show a list of object methods or offer a suggestion for word completion.
The Team collaboration is the buzz word of the day for MS. It is their major focus to get people to upgrade to VS2005. I honestly can't see us using it. Its a small office and we are a pretty tight development team. At most, the Community menu item that appears allows you to bitch to MS about software bugs and feature requests.
But why anybody wouldn't upgrade to 2005 is beyond me. VS2002 was clearly a beta and VS2003 was its patch, but VS2005 is altogether a markedly improved and mature product, finally integrating tight ANSI and ISO C++ standards along with at least recognizing insecure standard library calls and dramatically improved STL support with better debugging support of STL objects. Within the first week, we found numerous minor bugs that could cause the odd random crash in our software simply by compiling the software with VS2005. We also came across multithreading issues due to better optimization of the compiled code allowing for faster program execution that caused race conditions or deadlocks. Something VS2002 or VS6 wasn't making us aware of.
In any regards, if you develop Windows software for a living, not using VS is a detrement. Sure there may be other decent tools if you develop cross platform apps, but using a 3rd party development suite to develop Windows tools only shows your not serious about Windows software development. We are already looking at XAML and Windows Presentation Layer development because we can get the latest beta tools directly from the horses mouth, other development systems are only guessing what XAML will actually become and making a half assed attempt at offering a retail package before Vista is released.
Finally, MS integrated embedded device development in the IDE that allows you to emulate the device virtually, complete with a skin to look like a phone or PDA screen. They have had these tools in some external install, but integration in the IDE is key to getting more and better software written for mobile platforms. I may even get a PocketPC to start learning how to develop for the mobile platform.
Say what you will about MS, Windows, an their other software, but they actually know how to write a decent development platform.
I haven't thought of anything clever to put here, but then again most of you haven't either.
If collabware is the next big thing, why are the collabware startups all run by lone CEOs instead of a collaboration?
First, the uninstaller is broken. Plan on reformatting before you play with this beast. Also, plan on 2GB+ of RAM. The 1GB minimum is a lie even for a single user. Also, if your source repository is larger than 4GB, you'll need SQL Server 2005. It's demanding on the clients also. Plan on generous RAM & CPU speed.
I can't migrate my company's Visual SourceSafe repository. The built-in analyze tools to repair corruption lock up before they do anything useful. VSS corrupts by nature. Since my repository is trashed and the repair tools are broken, I have no way of importing my source tree... into the less-mature and unreleased (still beta) Team Server.
Keep in mind, TFS's source code management is supposed to be better than VSS... not a replacement for Subversion. That's a big difference to keep note of. My most recent gripe: Rollbacks are sometimes impossible for merges. There is also no help documentation on this product, aside from marketing fluff. Even the docs are in beta.
If Team Foundation Server 1.0 is anything like Visual SourceSafe 1.0, keep your eyes open.
How much does the new suite cost per developer?
One company that does it all, One company to find them, One company to bring them all and in the DRM bind them.
I am also still using VS 6. I have code to ship, I don't have time to futz around with compilers that have more bugs than I do.
It was always said that Visual Studio C++ is bullet-proof because that's what MS uses to build their own products. If they're not using VS.NET to build the Windows operating system itself, then it will never be as solid.
Slashdot entertains. Windows pays the mortgage.
We are not "yet" using web services to expose functionality of our own apps, but the app I'm currently working on does make use of three (will be more) web services to access functionality/data from other systems.
"reality has a well-known liberal bias" - Steven Colbert
Take that, feeble Visual Studio user!
Oh, Ned, you are a vi man!
In the past year, two of my clients have required a SOAP enabled web-service for various reasons - and not to be buzzword compliant either. One is a charity, the other is a smallish tech company.
They're out there, it's not just a myth.
Bob
Listen to my latest album here
does anyone here actually work on an application that uses so-called web services?
.Net application, and ActiveX control running in IE). Concievably, the customer could even use web services without our clientside code to roll their own, as it were. There are a few WTF moments, but it seems to work well enough for our purposes, and yes, we have real-live customers using it.
Yes, in fact! I rarely get to answer that kind of question on slashdot...
We use web services in our application to serve documents to several types of clients across the web (straight DHTML ASPX page,
The source control module in VS series has been pretty crap for ages. (Something called Visual Sourcesafe but I have never been involved.) As the major devlopment platform under windows, I wonder why they ignored the most important parts of VS. how developers of MS use VS for their team development?
Look at the banner on the VS/TS site. One, those sexy fashion model nouveau boys are using a CRT. Two the CRT is on a glass table. Three team system is so good that they have to use pencil and paper.
Now that is some cutting edge software company.
If you've never been involved in working with Visual Sourcesafe, how can you assert with great authority that it 'has been pretty crap for ages'? Were you just hoping for a karma-boost by making an MS-bashing post?
I do, yes. A lot. And they are crucial and essential to serving data to customers and partners. There are definitely other options, but XML web services, especially through .net, are extremely easy to maintain, comparatively, and provide excellent abstraction layers for data access and business logic.
Nope. Web Services does not mean Web App, and that is not what the context of this article details, either. Web services are used extensively in distributed applications and n-tier applications, and are also excellent for serving data to external customers who are using a variety of custom or proprietary clients.
My employer's product uses SOAP to connect all of the features to the authentication engine.
http://www.sci-s.com/id-management.htm
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
For example, my favorite public-facing web service has got to be the USPS address correction web service, but if a company were to exploit this API, any press they create for it would probably read "Company ABC in partnership with USPS to increase mail delivery productivity".
Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
..SCO.
;)
Jerk.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
What are these 'woodpecker jokes' the article talks about? Can't say I've heard of one and googled and found nothing but stuff about housing development and woodpecker habitat stuff.
Clue me please!
Actually, we're a small company ($30m revenue), and I've put together a couple of different web services for our outside partners to use. I'm also going to be working on a much bigger web services implemenation for a large data synchronization with one of our marketing vendors. That one will be a little crazy, but it will all be driven by web services (i.e. SOAP).
.NET 2003 is a snap for me, considering that I built previous ones by hand with ASP and javascript (side note: I HATE VBS).
I find them highly useful, and building functional web services with VS
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d Capitalization really works: i helped my uncle jack off a horse
"how can you assert with great authority that it 'has been pretty crap for ages" ============== Your logic does not make sense. How can you assert with great authority that it "HIV is a bad disease"? You will try to get it? The actual story is: I got lots friends in differnet teams who have over 5-10 years experiences on Windows based devlopment and none of them are familiar with VSS. Many of them just manually copy each of their working copy version into a folder. And others are using CVS. This information is enough to me. "Were you just hoping for a karma-boost by making an MS-bashing post?" ============ It looks like you are pretty sensitive about karma stuff. I basically dont care how it works, sorry. Is that the one major reason for you posting comments?
CVS + Sourceforge (including forums). Ta-da! :D
If you just remember that M$ is evil and they want to be the only ones that makes and sales profitable software for windows you'll quicky realise that the purpose of any tool that M$ makes for developers is to hinder the developers.
-- ZeroZenith
Yes, practically every project I work on at my job depends on web services. Pretty much any time we want to expose internal capabilities or locally-stored data, we do it through a web service. Currently I am on a project to build a massive data management system with a Java Webstart user-side GUI (our "users" will be able to submit data into the system). The Java GUI posts the uploaded file and metadata to the management system by calling a web service. The GUI also discovers what types of data are supported and the required metadata for each type from a web service.
No, web services are not just a myth. They have been in wide use here for the past three years or so. I spent the first three months of my job learning all about SOAP, WS-I (or whatever it is), and all that sort of thing.
Here's an example of a web service that as a /. geek you've probably heard about:
.NET per se, but it's definitely a web service.
Google maps API.
Sure, it doesn't use
And let's not forget the Google Ad Words API. And others, like specialized search services.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
while Architect and Tester are eliminated in favor of Noisy Fanboy, who just gets a web browser.
Yes, but is it Firefox or Opera?
When I was playing around with XCode, I though that it didn't have ANY intellisense like functionality until one day I just happen to notice it took about 10 - 20 seconds for XCODE to show a list of object methods or offer a suggestion for word completion.
First of all, doesn't your proclamation to use the fastest computer apply equally to macs?
Now secondly (and far more importantly) what makes you think the delay is the computers fault? XCode has, in preferences, a way to set a delay before suggestion. The default I think, is half a second... if I set it to zero on my computer then it comes up as soon at the . is typed - and I have an older Powermac (one of the first G5's so I won't claim it's a snail, but it's not near the newer ones in terms of speed).
Why would you want a delay? Because many people find the INSTANT appearance of the suggestion dialogue to be the most distracting thing ever when you are just typing. 99% of the time I know exactly what I am going to type and often find it faster to finish typing than to take even a second pulling down an item from a list. Having the Intellisense pop up after every dot is like having the Son of Clippy come down from on hi and yell BOYAH in my face while I am typing.
Having the Intellisense display as "Instant" is actually one of the things that turn people off Visual Studio. While probably you can configure it in there, an unpleasant default for anything is a black mark against an IDE. I have used visual studio before and really didn't think it was all that powerful, compared to some of the modern Java IDE's (like Eclipse of course or JBuilder or even NetBeans, or of course XCode). Visual studio is sometimes easier to use to be sure, but when developing code power of tools can often trump sheep UI as you can learn to live with UI hiccups.
On a sidenote I also want to say that I personally think using only intellisense to drop in method names is a bad habit that leads to a developer simply not knowing a library well at all. If you don't generally know what method you are going to be calling before you start typing, you have a problem and more importantly later on your code is more likely to have problems.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Visual Studio 8 has so many problems right now that it's not worth trying to use. Unless you use .NET, there is very little you stand to upgrade. So many outstanding problems were not fixed. It is quite obvious that Microsoft spent all their time on the new .NET and web features but almost no time with updates to the core standard C++ language.
/hotpatch to put small stubs at the beginning of functions to allow hooking by placing a jmp instruction. These are a very bad idea to use in a game company like mine, but are otherwise good. .NET scares me. It seems to indicate that Microsoft considers unmanaged code wholly deprecated. Here is a line from MSDN showing evidence of this:
Broken compiler
- Complicated floating-point code will many times result in bad code generation without warning. Sometimes, the x87 register allocation algorithm fails and produces code that causes an x87 stack overflow exception at runtime.
- Complicated templates, such as with 8 parameters or more, can cause internal compiler errors.
Annoyances
- The default deprecation of much of the standard C library in favor of the Microsoft-only so-called "secure" versions is annoying. Compiling standards-compliant code now requires #pragmas or compiler switches to disable warnings.
- The _M_AMD64 flag macro used in the prototype 7.1 x64 compiler was changed to _M_X64, grr.
Missing features
- VC8 still does not have stdint.h and cstdint like every other compiler out there.
- VC8 does not have built-in variable-sized stack allocation (IE, "char buffer[x]" with x a variable). GCC has had this for years now, and it is being seriously considered for the C++ standard. (It's not very hard to implement, after all.)
- VC8 does not have __asm in x64. This is a terrible mistake. It would have been very easy for Microsoft to have implemented this feature (it's not very different from x86)! This is the most severe problem my company has with Visual Studio 8. We have resorted to using a GCC cross-compiler to compile our x64 C programs with embedded x64 assembly language.
The few minor features that were added
- *printf now understand "%llx" and similar "ll" constructions. This was something they forgot when they finally added support for "long long" in VC7.1.
- *printf now allow ordered arguments; this is important for localization.
- swprintf now has the length parameter as standardized. (I don't like how swprintf takes this parameter - that should be called "snwprintf" - but I accept it because it's standard.)
- OpenMP is implemented. I don't like OpenMP but at least it's a standard.
-
- UTF-8 source files work, as do Unicode identifiers.
Future versions of Windows will increasingly require components and applications to be verifiable.
Melissa
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
Okay this is obviously a troll, but .Net is equivalent in Java in its design, which includes the requirement of a virutal machine.
.Net is the language for you. You would be better served programming your application in C or C++ (or assembler even).
If you are looking for "bare metal" optimization, then neither Java nor
Right tool for the right job, and all that jazz.
------
www.moneybythenumbers.com
I think you do need full time testers, but they should be good programmers who are writing tests to bring the app to its knees. You dont treat them as second class citizens.
Architects need to write tests because otherwise they write specifications that are untestable. and the tester gets the blame. Also, the test suite forms part of the formal definition of system behaviour.
I have problems @work with various W3C and OASIS Web Services specs that were written by committees of architects (WS-Addressing, WS-RF, etc). None of these specs have tests. Instead it is left to implementations to sort it out, which of course they dont as they each have to write tests and everyone argues about whose test suite is the correct interpretation of the spec.
Dude, you really need to use the right tool for the right job. Visual Studio still includes a C compiler that can target standard non-runtime based applications. Though it probably won't be 20K, it could be as small as 60K (32 bit versus 16 bit, plus extra C runtime library startup code, etc...
Now, if you want to build a nice GUI application that does tons of things for you, and uses an extensive framework of code that's pre-written and debugged, then perhaps you won't mind the overhead of a runtime library.
If you need web hosting, you could do worse than here