Post a Comment
"Integrated" doesn't mean it should include all the features under the sun in it. Only the features you need to produce code (edit, code complete, build, deploy, debug).
Some people consider Testing, collaboration, version management, etc. to be fundamental in the software development cycle.
Testing, for example, takes as much time/bulk of effort as the code writing in plenty of projects.
I am not claiming the "integrated" approach is the only way, but some so-called "IDEs" are really "IPDEs" (Integrated Partial Development Environments).
I normally don't care much for microsoft products, but their development environments are top notch.
Edited 2012-02-25 01:44 UTC
No, Microsoft has Team Foundation Server (http://en.wikipedia.org/wiki/Team_Foundation_Server).
There will be TFS Express which is free.
And professionals are perfectly capable of using discrete tools for these purposes. "
Capable of, yes - but that doesn't mean they *want* to use separate tools. There are a lot of advantages in having version control integrated with your code editor - annotated views to show recent changes within a file, syntax-aware tools for resolving merge conflicts, etc.
Personally, I think Visual Studio (Professional edition) is completely useless without ReSharper. Coming from a Java background (using Eclipse, Intellij IDEA) I was honestly shocked how primitive Visual Studio was compared to Java IDEs. Compared to _free_ Java IDEs.
But take into account that I was/am using Visual Studio 2008, Professional edition. I don't know how much better is the Ultimate edition.
I also had to program for BizTalk Server 2009. I am honestly shocked that Microsoft gets away with selling that piece of software for huge amounts of money, while the Visual Studio support is very very primitive, and f*ing buggy. Yes, there are a couple of hotfixes to lessen the pain, but they never went to the trouble of releasing a service pack. Also, install on 64-bit Windows server is not smooth either. For install on 64-bit, one has to fetch hotfixes too. Amazing.
Finally, Team Foundation Server... if you consider the version control part of TFS top notch, then either you don't know any better, you never worked on a big team (always needing to lock source files ?!?), or well.. you must use it in a different way than what I've seen. We use subversion in our company and we need to install a third-party plugin for support inside Visual Studio. It also does not seem to come with built-in support for git. You take any decent Java IDE, and it'll come with support for several version control systems out of the box.
But yeah... if you chose Microsoft, you have to follow the microsoft way for everything.
But honestly... Visual Studio a top notch quality IDE? Come on, ReSharper from JetBrains would not be so successfull if that were the case. Did you ever use any other IDEs than Visual Studio?
Btw, take SQL Server Management Studio from Microsoft.. you also think that is a top notch environment to write SQL? Honestly, try to install the SQL Prompt plugin from Red Gate and experience decent SQL completion.
I really think you were not exposed to other tools than the Microsoft ones. Microsoft's development environments may seem top notch when you're coming from compiling on the commandline, and using notepad. But not anymore when you've opened your eyes to better tools.
Btw... MSBuild.. Microsoft's build tool. It seems heavily inspired by Ant, which was Java's favorite build tool up to several years ago. The Java world moved on to Maven. The advantage of Maven is that it also does dependency management. Microsoft development environments do not come out of the box with dependency management. Microsoft supports the open source project NuGet which is a (primitive) attempt at doing dependency management for .NET. We switched to another open source project "OpenWrap" for dependency management. It is not as popular as NuGet, because it's not based on the "click-click-click" mentality of the standard Microsoft developer, but it is a lot more powerful and has a lot more possibilities towards the future. (It also supports run-time dependency management.) NuGet is basically an addon to fetch a dependency from a server on the internet.
So, please, please, don't tell me that Microsoft development environments are "top notch". Check out the world, and open your eyes to non-Microsoft products.
Edited 2012-02-25 09:29 UTC
Pfffffft - a hardcore Java EE dev bagging on what VS "lacks". That's a good one.
I've developed in both worlds, and I can tell you, developing in the MS/VS/.Net world is an infinitely more pleasant and productive experience. The JEE world is just loaded with unnecessary bloat, bugginess, fragmentation, and complexity, with inferior tools (tools that seem great at first, until you fall into their endless pitfalls).
Eclipse? Nice IDE circa 2001, Nowadays, not so much. Bloated as hell, buggy as hell, 90% of the plugins suck, and it's way overcomplicated to do what should be simple, routine tasks. Netbeans is really nice, but most of the Java community turns its nose up at it because, well, you wouldn't want things to be too easy? Intellij is really good, but lacks in automation of certain things, and again, most just "default" to Eclipse.
Maven? Love it's dependency management. Don't love it so much when it tries to download dependencies it doesn't really need every time you do a build, and the builds take an eternity, or they fail. And there are tons of rants/blogs out there lamenting about the ridiculous pitfalls of Maven.
Let's not even talk about the endless web frameworks (all of which are great for certain things, suck for other things, have a lot of overlap/redundancy, and all are completely incompatible), or the various app servers (same thing as with web frameworks). By contrast ASP.Net (and ASP.Net MVC) isn't all that and bag of chips, but for the most part, it gets the job done, and it's pretty easy to work with, and you don't have to constantly relearn for the next "latest and greatest open source web framework).
And anecdotal evidence (for whatever that's worth, probably not much), shows over and over (yes I read plenty of blogs/rants for the fun of it) shows that, in general, what would take a .Net, PHP, Ruby, Python Dev about two days to accomplish, will take a JEE dev about two weeks or more to get done, because they have so much more shit to deal with. Sometimes, due to the scale and needs of that app, all that JEE shit is necessary (and the other stuff might fall short). But those are the minority of the cases. The trouble with the JEE world is that everything takes the stance of trying to solve the biggest and most complex of problems, and then applies that to everything, regardless of the application/problem domain. Thus, all the unnecessary complexity.
Personally, I couldn't care less platform/language/tools/IDE religious wars. For me, it's all good and interesting. But as I've gotten older, I've more and more wanted to steer away from the Java world, because developing in that world just isn't fun. It's painful. And it's elitist. I just want to get shit done and go home at night. True, Java devs tend to top the pay scale, but not by much. But they deserve it, because they have to work so much harder, longer, and deal with so much more pain. Hell, they deserve to be paid twice as much as everyone else, but they only get paid maybe 5% to 10% more (at best) more than equivalent .Net/PHP/Ruby/Python/C++ devs. ;-)
Qt is a good IDE, bu is not comparable yet with VS.
*sigh*
Read: http://pragprog.com/the-pragmatic-programmer
you should use the tool that is most effective. If it is VS then use that if it is QtCreator than use that...
In my personal usage I can only say:
VS2010 without VisualAssist was unusable in an unmanaged C++ project with >400000 lines of code. With VisualAssist it is quite fine. VS2010 still has the best debugger I know, although no utf-32 support which made it difficult to debug our string class...
The downside is the slow GUI and the 1-2 Crashes a day and 2-3 Minutes to restart. Not to mention the occasional hang for 30 seconds.
QtCreator instead is a lean IDE which supports just the things I need. Fast and Quick. If it crashes, which happens perhaps once a day, it is up and running again in 30 seconds. The GUI debugger I find is not so usable.
So I find myself working with both tools ...
Does it takes 5 minutes to start? Does it randomly crash? Does it insist on maintaining a list of files contained inside of the project which causes merging issues all the time and is completely redundant with the actual filesystem? Does it have context menus so overflowing with useless stuff that you have to scroll through them to find the one thing you need? Does it randomly hang for a few seconds when you click inside of a file? Does it still offer a small and unresizeable window to tweak C++ project settings and paths in the year 2012?
Qt creator is a good IDE, but is not comparable yet with VS.
Edited 2012-02-25 14:50 UTC
Actually, I am not. I did parody your own reply, but I only used actual examples of the many detestable things that visual studio does repeatedly as I use it all day long, every day as part of my job, and that it has been doing more and more over the years, update after update.
It really IS a huge piece of shit.
Edited 2012-02-25 15:29 UTC
Let me summarize these VS 2011 advancements:
1. We've re-arranged the toolbars
2. We've muted the colors and "lines".
This is what we've also done:
1. Killed Silverlight
2. Killed WPF
3. Killed Winforms
Now we have no client front-end development strategy, but we have a nifty looking dev tool. We've strung along developers for 10 years, and it was a fool's errand.
Perhaps this is why Delphi has had such a large sales increase over the last year of 54%. At least the VCL has been consistent (and powerful) for 17 years. People like supported products.
Ah, no, You are confusing VS with the .NET Framework, Silverlight and WPF have new features in the recent release, besides, VS it self is build with WPF, so it is silly to think they are killing it, Winforms for the other hand is very active and with the native orientation of Windows 8 it will gain new steam.
And in what in concern to Delphi? really VCL? please. The main problem with the VCL it is that is not compatible between releases, for example, I can use in VS2010 an assembly generated in VS2003 with no problems, Delphi by the other hand, it breaks VCL compatibility with every release, So If I have bpl (the Delphi package equivalent to a .NET assembly) made with Delphi 7, it will not work even on Delphi 8 or 9 or 2010 or the newest.
The blog is short and it doesn't cover all the changes.
Edited 2012-02-24 19:14 UTC
MS is touting meaningless chrome adjustments to VS 2011, while dumping large frameworks.
MS kills frameworks by simply dropping all marketing of them, which has happened to all 3 of these: SL, WPF, and winforms. Remember, WPF is the replacement to winforms, which has long been deprecated. WPF and SL used to get huge promotions, but now they are completely dead.
The entire MS dev community is completely confused by their direction - it's a complete mess.
As for Delphi, you are complaining about "possibly" having to recompile an EXE with a new release of the VCL, while Microsoft strings programmers along with THREE complete frameworks over a 10 year period, and then dumps all 3?
That's slightly hyperbolic. There is a strategy, there is a path forward. The same techniques and languages are used. The complete mess you are talking about is really a non-event. Silverlight is going to be supported for years and new development should be done as WinRT.
Whats the big deal?
C++ devs can now use XAML...so XAML is still a first class ui citizen. So can the dot net languages.
I personally think even desktop app developers should be doing their ui in html and css...but hey.
And if winforms has been deprecated no one has told the legions of enterprise developers that are still using it.
If your livelihood was actually tied to any of these technologies then you would have done more...shall we say accurate...research.
But keep crying on a message board and one day your favorite Linux distro will finally have its year on the desktop;
As part of the MS dev community (and a former Linux/C guy), I disagree in part. The web application framework, ASP.Net, is alive and well, and has a clear direction. The few shops that went with Silverlight are screwed, yes. Front-end native developers, not quite so bad - WPF isn't going anywhere AFAIK, and WinForms is still going to be around for a while, too.
It's clear that VB has been going away for a long time; C# is the premier language on MS platforms and will be for a decade at least.
The only place I have any uncertainty is with deciding whether it will ever make sense to use MS's built-in ORM/database layers, or go with the defacto standard third-party stuff like NHibernate. However, that really only matters with the lightweight CRUD database access, which isn't a problem to code by hand in ADO.Net. For performance reasons, real reporting SQL is going to be done by hand (unless you're using SQL Server Analysis Services and MDX, which is its own beast entirely).
My failure to address other parts of the MS dev world are due to my own ignorance. It seems to me most MS shops are doing C#/ASP.Net in my area (Northeast USA).
You simply have to recompile and they work fine and dandy
even in XE2 assuming you have the source, and most 3rd party components include the source, and if you doing run time you just have to recompile the package.
Delphi XE2 is really nice and I would take it and the native single exe applications it creates any day over Visual Studio .not.
Most developers simply do not use BPL for run time packages since you can compile everything right into the exe.
Even if you don't use the runtime packages the bpls are necessary for compilation, and in some cases, even with the source the migration may not be an easy task, first, with the migration to UTF-8 strings (and if you are using a component that is making calls to an external .dll made in c then good luck with that)
then with the migration to 64 bits integers.
I wish they would be better in this area, just allowing some degree of compatibility between releases.
Edited 2012-02-25 16:33 UTC
I remember migrating Delphi 1 code (16-bit) to Delphi 2 (32-bit). So many hidden issues. Then some code went to Delphi 3 via Delphi 2 or from Delphi 1 (depending on how far te port was in progress.) that was even harder in some cases, as the Delphi 2 release sort of "hacked" around the conversion to 32-bit in some areas. And then there was the custome collection classes that had been ported to Delphi 1 from Borland Pascal 8 (the Delphi 1 beta, before is got renamed and dropped support for DOS.) mostly coded in inline Assembler. NOW THAT WAS A PORT!
Bottom line - it's total BS to claim Delphi is backwards compatible with little cost. It is not. Every port forward requires a complete recursive test and full regression testing. It literally costs 6 months+ on any sizeable product and is not feasible in many cases.
Our .Net 2 code still compiles in VS 2010 and runs fine. And our 1.1 assemblies still link and work as described. Try doing tat with a BPL from any prior version of Delphi... Or DCU. Yeah we still have to regression test, but as te code is compiling against the same target, it's pretty simple to do.
even in XE2 assuming you have the source, and most 3rd party components include the source, and if you doing run time you just have to recompile the package.
This is a nice claim, but my experience was that Delphi shops tend to stick on a known good version for years (I was still using Delphi 5 in 2006.) It was never fun getting Delphi 6+ code to compile, but gosh darn it, we did.
Delphi was nice, but it doesn't have half the polish that .Net does. Linq and Reflection alone crap all over Delphi as I last used it. The VCL is crumbly and old. It has some serious design flaws, some stuff (BPL) were crap and unreliable.
You can do this with .net. You can pre Jit it, combine all of the assemblies in to one and even AOT compile it.
WPF is the foundation of Visual Studio and XAML is part of it. So I wonder how they are killing it.
WinForms is still used a lot on the enterprise world.
As much as I like Delphi, I really would like to know where you got those values from. I develop enterprise level applications, and there it is always Java, .NET or C++ in some cases.
Delphi XE2 has indeed become fairly popular thanks to the native win64 and Mac OSX support as well as the cross platform FireMonkey GUI, pretty nice stuff people.
it won't be long and you will be able to cross compile for Linux as well as Mac OSX
Not to mention Delphi is still the best way to create Database applications.
All that is is a press release with absolutely no substance. One could claim similar gains if one sold 100 licenses last year and 208 this year. It also talks about their entire development range that includes a C++ compiler, PHP integrated dev and DotNet version of Delphi called Prism. Pure Delphi is a subset of what they declared. As its a press release it's about as accurate as Bill Clinton's denial of sexual relations with Lewinski, or OJ Simpsons entire court case back in the 90's.
Edit: also worth noting, their "Mac" and iOS support comes from them reusing the FreePascal compiler. So, really, Embarcadero is a lot of smoke and Mirrors. They bought in the .Net support from RemObjects (and that compiler had pretty shocking code generation last time I tried it, admittedly back in the first release), the borrowed support for Mac from the FreePascal community and they created yet another framework to support cross platform development. "Yay!?"
Edited 2012-02-28 22:42 UTC
No colorful icons. Not even in Solution explorer.
This is such a wrong move, it is much harder to id items in Solution Explorer (and other toolbars).
I hope they bring colors back. This is pure madness
Dark theme looks good, except for the total lack of colors.
Please comment here and let them know what you think:
http://blogs.msdn.com/b/visualstudio/archive/2012/02/23/introducing...
Please use that link and go there and leave a comment, so they know... Please.
Soon we can expect colors to be removed from text editor too? You know, who needs syntax highlighting..? :-)
That (monochrome) look and feel should be an option, nothing more.
Edited 2012-02-25 17:02 UTC
So they have this new quick lauch bar, which allows you to find the command you want to activate.
Ok.
It looks like a search box. But it doesn't search your content, but the commands.
They even demonstrate it in the article by searching for the find command.
My mind is now completely boggled. They searched for Find so they could search for something in the code.
To come full circle, If I ever use VS 11, I'll have to create a function called Search.
So I can Quick Launch Find to Find Search.
Free Pascal is an awesome compiler. It is totally overlooked by many developers - which is a same really. It supports so many various platforms, is very fast and continuously improving with every release. As for IDE's with Free Pascal, there is Lazarus, MSEide - both awesome projects as well.
100% agree on FreePascal, it's really maturing nicely.
I was doing a DOC to PDF converter in Delphi using COM and OpenOffice and I though I should try to do this project with Lazarus and FPC and it turned out great, and
I found a few things Lazarus does better than XE2.
Anyway the DOC to PDF converter turned out great and then I did a GUI firewall app using Synapse and that also turned out great and these apps are being used in a major
corporation, so the whole thing about VS being great for corps is pure bull.
Seriously people when you deploy your app and the users don't have to install a ton of assembly dependencies they will thank you. FreePascal and Delphi are secrets you need to try out ha ha ha
Yeah, I've used Lazarus, it is a underrated gem, actually Lazarus + Firebird SQL = powerful multiplatform native application.
I did this minimum test in Ubuntu some time ago (It
http://imagebin.org/200756
I was surprised how good it worked and how well integrated it was.
People, give it a chance.
Edited 2012-02-25 16:41 UTC
Errr... Sorry, that's FUD. Do you know how we deploy our .net apps? Simple, we copy the contents of the release folder to the target machines. Or we use the installer project. Either gives the same result. We argent .Net 3.5 and As that is part of Win 7, you know what? Most already have it. Do you know what? The runtime is generally installed on most Vista and SP3 XP boxes too.
Now, let's talk Delphi.... COM objects, DLL dependencies, database engines (client or c/s.) I've never seen a corporate Delphi app that was a "copy and go". Not that I've worked on, and I did Delphi development full time professionally from June 1998 till early 2006 then on and off till mid 2007 when I went full time .Net. I worked on all kinds of app, did some contracting, did Media, Financial, Defence, Logistics and some general Security including RFID integration, Mobile data (win mobile with in car black boxes) and some cool stuff with bespoke object based data storage (think, Object instances streamed in to a bespoke data store, fully indexed and fully networked with multiple user access.) All I can think is that your apps are quite trivial?
It feels sad to see so much software attempt to follow the footsteps of the Photoshop GUI, that is, "Keep the visible part of the UI as simplistic and monochromatic as possible while new stuff keeps piling up in menus and undiscoverable popups".
Menus are not a magical infinite feature reservoir. Put too much stuff in them and they break. Big software should either manage its feature set more carefully or embrace its command-line nature and just completely replace menus with a gigantic command search bar and a huge manual.
Edited 2012-02-25 08:14 UTC





.