After more than 5 million downloads, Microsoft has decided to extend its free Visual Studio Express downloads indefinitely. In related news, they are running a contest too.
After more than 5 million downloads, Microsoft has decided to extend its free Visual Studio Express downloads indefinitely. In related news, they are running a contest too.
Say what you will about Microsoft, but the Visual Studio Express Editions are very high quality, full featured development environments, and I for one am pleased with this recent turn of events.
Somebody finally showed him eclipse.
I tried using Eclipse after several zealots wouldn’t shut up about it. Installing was a pain, Windows integration was awful, adding plugins was messy and the UI was terrible. For me personally, I would prefer Visual Studio 6 even, over Eclipse any day. Nothing in the FOSS world really compares to Visual Studio in terms of spit & polish, easy of use and total cohesion. YMMV.
“Installing was a pain”
Uh!? Eclipse has no installation procedure, it’s just unzip and run…
On another note, I would like to take a look at the EULA for these “Express Editions”. I feel that there are some surprises lurking in the licensing terms.
I thought the same way too when I first downloaded the Express editions last year, but after reading the darn long thing all the way through I would say it was pretty straight. Atleast that was almost a year ago.
I used to spit on it a lot too.
No, no, no, the preposition parses with the verb, not the definite article.
Read: (Bill Throws In) (The Towel)
Vice: (Bill Throws) (In The Towel)
Ambiguity is the spice of English, I know.
Thank you sir, I stand corrected.
Nothing in the FOSS world really compares to Visual Studio in terms of spit & polish
I’d say KDevelop comes pretty close, but obviously there’s no Windows port.
For my Windows programming needs I’ve never moved beyond VC++ 6.0. I don’t like the new .Net IDEs regardless of making managed or unmanaged code.
“Nothing in the FOSS world really compares to Visual Studio in terms of spit & polish”
That’s not a fair statement, you’re talking about Windows but you say this as a generalization encompassing all development tools under all environments. On those grounds I could say Visual Studio is crap because it doesn’t integrated as well with Linux as KDevelop does.
I also have to dissagree with that statement because it’s completely subjective. I preffer to use Clode::Blocks and Qt in Windows because those do everything I need with much less hassle than Visual Studio. For that reason I could say VS is 99% bloat, but as I’ve said, it’s entirely subjective.
No, it’s fair. He’s not talking about platforms. He’s talking about merits as an IDE.
That takes care of my first point, but reinforces my second one.
Kroc stated that he didn’t think any FOSS ide’s come close to VS, with your statement added into the mix (ie: he said it’s about merits, not platforms) it can now be assumed that we are talking about each on their native platform being compared. In which case I think KDevelop trounces VS, and surely people will dissagree, which only serves to proove my point that this is all very subjective. Merits depend entirely on what you want as the user, and not what some company decides to include, otherwise something as absurde as a feature that deletes your source code after every test compile could be called a merit just because it was included.
That’s fine.
As someone who has developed large projects in both IDEs, I think Visual Studio is definitely for one big reason: debugging. It’s much better and easier in visual studio, which means a LOT.
I think VS being better is a lot less subjective than most other software though.
I’m not a MS fan at all. Thus I tried various VS opponents such Code::blocks, DevCpp, … If coding is quite confortable (although IntelliSense-like class browsing isn’t as powerful), I must agree in full : VS debugging is a breeze ! GDB loose context too easily (step-by-step crash after little time or few steps, variable watch is messy, …). So, for the first time being, I must say : Hats off MS !
Kochise
Actually I have never met a more comfortable debugger than the one included in Borland C 3.0.
Once more it is shown that the old can be better than the new.
…it can now be assumed that we are talking about each on their native platform being compared.
But support for multiple platforms is a very valid criterion for judgement.
Well, installing Eclipse really coulnd’t be any easier. I was also unimpressed by it, though. Some specialized plugins were extremely useful in a couple of classes I took, but for most work I prefer Netbeans and Visual Studio.
VS is bloatware and it produces bloatware.
Good programming is about clean, elegant code – something MS has never understood.
Examples?
I can give a few examples of non clean code generated by Visual Studio right off the top of my head:
I just created a new “Empty (.NET)” project, changed the settings to NOT use Manage Extensions, and now I’m adding a “Generic C++ Class” using their wizard:
A quick code review:
The .h uses #pragma once, which is non standard code. It does not generate any form of standard multiple inclusion protection.
The .cpp file includes the .h file as follows:
#include “.myclass.h”
The standard says:
If either of the characters ’ or , or either of the character sequences /* or // appears in a qcharsequence
or a hcharsequence, or the character ” appears in a hcharsequence, the behavior is undefined.
So much for a “generic” C++ class.
http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html
quote:
Let’s go into Visual Studio 2005 in our imaginations and create a C# Windows Forms program — a project of type Windows Application — and let’s examine the code.
First, we see that Visual Studio has hooked up our program to a bunch of dynamic link libraries it thinks we will need. It has created references not only to the System, System.Drawing, and System.Windows.Forms assemblies that are required of any non-trivial Windows Forms application, but also System.Data, System.Deployment, and System.Xml, regardless whether your program needs these DLLs or not. These extra references don’t do any real harm except if someone else examines the program — perhaps to make some changes after the original programmer has moved on — and assumes that the application requires these references. Now there’s confusion, because references to DLLs exist that the program really doesn’t need.
Among other files, Visual Studio creates a file named Form1.cs that it graciously allows you the programmer to modify. This is the source code file where the event handlers go for controls on the main form. We see a bunch of using directives at the top with the namespaces the program needs. The normal namespaces for Windows Forms programs are System, System.Drawing, and System.Windows.Forms, but Visual Studio also includes System.Collections.Generic, System.ComponentModel, System.Data, and System.Text, some of which are useful to be sure, but if the program doesn’t actually use any of the classes in these namespaces, they’re just distracting noise.
Visual Studio also encloses all the code it generates in a namespace that is given the same name as the project name. Of course, I understand entirely the value of having a namespace for DLLs, but why have a namespace for applications? I have given this much thought, and I can’t figure it out.
Complete arrant nonsense, spoken be someone who has clearly never tried Visual Studio.
How in the hell can it “produce” bloatware when it’s – basically – a text-editor with bells on. The GUI design stuff may not be pretty, but almost no IDE produces nice GUI code, and no professional programmer is going to waste their time hand-coding GUI code.
Further, C# is a programming language that makes it quite easy for a programmer to produce clean, elegant code, so clearly someone at MS knows something about it.
The thing that really gets me though, is that this comment has already been modded up twice just because it’s a simple lazy ad hominem attack against MS, who is everyone’s favourity punching bag, even though VS is a quality product. OSNews really needs to a “Clear, undisputable rubbish” option for modding things down.
“How in the hell can it “produce” bloatware when it’s – basically – a text-editor with bells on. The GUI design stuff may not be pretty, but almost no IDE produces nice GUI code, and no professional programmer is going to waste their time hand-coding GUI code.”
You surely know what you’re talking about, but as a clueless self trained dev I’m just wondering why a single “text editor with bells on” can fill a CD-ROM for each language you want to use (VisualC++, VisualC#….)?
“Further, C# is a programming language that makes it quite easy for a programmer to produce clean, elegant code, so clearly someone at MS knows something about it.”
Yeah Great !!! So finally they “created” a usefull language that can be used outside of the microsoft world (thx to Mono and dotGNU)!!! MS guys are genius ! Now Java, objective -C, smalltalk among others have done this for decades…
BTW what are the clean, elegantly coded Microsoft apps written with C# ???
You seem to forget that there are great piece of software on any non-MS platform that have never needed MS tools/languages/programming concept.
You seem to forget that there are great piece of software on any non-MS platform that have never needed MS tools/languages/programming concept.
Actually, if you read the whole comment thread, you’ll see that before I wrote that post, I wrote another post extolling the virtues of NetBeans 5, and saying that it could possibly be better than VS.Net.
Further I never questioned that VS wasn’t bloatware (though a lot of IDEs, particularly on Windows, are *huge*), I questioned the point that it produced bloatware.
There are lots of good applications written in C#: Anjuta, Muine, F-Photo etc. On the Microsoft side Paint.Net is quite impressive. However the C# applications Microsoft does or does not produce has no direct bearing on the value of C# or indeed the value of VS.Net.
http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html
i’ll put a relevant quote at the bottom.
honestly – i’m only saying this to help understanding.
the reason the post is modded up is because others agree – you are free to not agree – but others who have used VS AND other languages can see the difference.
VS produces bloated code which is difficult to deploy and manage.
the amazing thing is that even though VS is so bloated it has some really basic things missing.
for example – in ASP.NET there is no easy way to upload a file over FTP – i had to carry out the function using the MS-DOS command line FTP using a feeder file for the commands! (and before you mention that FTP has been added to .NET version 2.0 i’ll say that it is overcomplicated/bloated and my clients only had version 1.0 installed).
in PHP for example this is trivial, easy and simple.
also, ASP.NET is not truly cross-browser compatible. there is a crucial feature called SmartNavigation which only works in IE. since it is only about page positioning i assume that it could be made cross-browser compatible easily. but MS have either overlooked it or deliberately left it out.
a response i received from some MS guy was a load of meaningless bollocks about .NET being a ‘rnage of technologies’ or some such tripe.
when you’re browsing the net check out the language used – if a site is slow look up and you’ll see .asp or .aspx in the address bar. if a site is quick you’re likely to see .php.
this is a relevant bit from the link above:
Let’s go into Visual Studio 2005 in our imaginations and create a C# Windows Forms program — a project of type Windows Application — and let’s examine the code.
First, we see that Visual Studio has hooked up our program to a bunch of dynamic link libraries it thinks we will need. It has created references not only to the System, System.Drawing, and System.Windows.Forms assemblies that are required of any non-trivial Windows Forms application, but also System.Data, System.Deployment, and System.Xml, regardless whether your program needs these DLLs or not. These extra references don’t do any real harm except if someone else examines the program — perhaps to make some changes after the original programmer has moved on — and assumes that the application requires these references. Now there’s confusion, because references to DLLs exist that the program really doesn’t need.
Among other files, Visual Studio creates a file named Form1.cs that it graciously allows you the programmer to modify. This is the source code file where the event handlers go for controls on the main form. We see a bunch of using directives at the top with the namespaces the program needs. The normal namespaces for Windows Forms programs are System, System.Drawing, and System.Windows.Forms, but Visual Studio also includes System.Collections.Generic, System.ComponentModel, System.Data, and System.Text, some of which are useful to be sure, but if the program doesn’t actually use any of the classes in these namespaces, they’re just distracting noise.
Visual Studio also encloses all the code it generates in a namespace that is given the same name as the project name. Of course, I understand entirely the value of having a namespace for DLLs, but why have a namespace for applications? I have given this much thought, and I can’t figure it out.
>> OSNews really needs to a “Clear, undisputable rubbish” option for modding things down.
ummm… there is the right to free speech – and everybody is entitled to their opinions.
i personally would like to see osnews force posters to pass some basic unix questions before posting because it gets a bit dull with MS only amateurs posting when they’re out of their depth.
it’s a bit like michelin star level chefs having to listen to macdonald’s managers banging on about how great burgers are.
still – if you had a monopoly on this site you’d be able to wipe out whatever comments you don’t like – but monopolies tend to produce rubbish – have you seen the trabant car from the communist east germany for example?
thank god MS only has a monopoly on PC’s and not on osnews or servers.
But not every opinion is valid, and different opinions are of differing value.
Some opinions are based on experience and/or research and are cogently argued by people who have take time to investigate the items at hand.
Some are based on hearsay, and the great echo-chamber of the blogosphere, by people who choose to trust what they like to hear, and then repeat it.
I’ve been doing Win32 programming for three years now with Delphi. I’ve run into awkward spots (multi-threaded DLLs for example) but by an large it’s been good. I’ve looked at VS for some basic stuff, and it’s been a pleasure to use, and thus I think it’s a good IDE. Your previous comment hasn’t dented this belief, the extra packages it’s including is more likely to be useful than not, and in any event is included as standard in the .Net framework anyway, so your application won’t be any more bloated.
Likewise, name-spaces are commonly used in modern application development in Java as an aid to maintenance: to document the function and place of the current class, and to make it easier to swap in code from other projects without any naming conflicts. C# is just following standard, modern, practice here.
I’ve used Linux since 1998. I compiled my first kernel in 1999. I compiled my last kernel in 2003. I still use Linux at home, but I’ve accepted that all the tinkering eventually has to end, and at some point you need to get something out of your system. I’ve deployed J2EE applications to Linux machines using JBuilder and Tomcat. In another comment in this thread I claimed that NetBeans was in many ways as good as VS.Net, I’ve been playing around with it for the last year, as I get to grips with Java 5, and look to Java EE 5.
As for my comment about modding things down, I’ve seen a lot of statements on OSNews.com that are factually incorrect. A couple of days ago, one guy, modded up to +5, stated that Win32 was inferior to the classic Unix API because CreateProcess() required so many more parameters than fork()[1]. He was ignorant of the fact that they do entirely separate things (his confusion came from a particularly poor IBM developerWorks article posted on OSNews last year). Other readers, seeing this +5 mod, would then conclude that what he had to say was right. I posted a rebuttal, and it got modded up to +4, but by that point a lot of people had stopped reading the comment thread. These people will now go on to repeat the same nonsense in the future.
I do not want to mod down comments with which I don’t agree, I want to mod down comments which are either factually incorrect, or which make claims which are grossly under-substantiated. An opinion made on a subjective manner (what’s the best DE) I can live with, but opinions on objective issues (bloated code) that are wrong should not not escape scrutiny, and should not be promoted.
[1] http://www.osnews.com/permalink.php?news_id=14340&comment_id=114966
Edited 2006-04-21 12:09
just creating a new project adds in code/references which have not been asked for and may not be needed.
see
http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html
<quote>
First, we see that Visual Studio has hooked up our program to a bunch of dynamic link libraries it thinks we will need. It has created references not only to the System, System.Drawing, and System.Windows.Forms assemblies that are required of any non-trivial Windows Forms application, but also System.Data, System.Deployment, and System.Xml, regardless whether your program needs these DLLs or not. These extra references don’t do any real harm except if someone else examines the program — perhaps to make some changes after the original programmer has moved on — and assumes that the application requires these references. Now there’s confusion, because references to DLLs exist that the program really doesn’t need.
</quote>
and this is just for starters!
it exposes the flawed mindset behind most MS software which leads to bloated software.
it’s not just me accusing MS of bloatware – it’s a common enough comment.
i apreciate your lengthy reply but no-one should be able to remove comments because *they* don’t like them – let’s leave judgement to the readers.
as for your comment about MS being wrongly criticised for the CreateProcess() issue – the problem MS has is people have no trust for MS.
real programmers have lost faith in MS because so much of what they have done is so poor – so it makes it easier to belive negative comments about MS.
if they had a great rep then the bad stuff wouldn’t be believed so easily.
it’s like someone accusing OpenBSD of being unstable – people would not initially believe it and would need serious evidence to back it up.
post something about Windows being unstable and people would tend to believe it straight away because Windows has never been stable in the past.
Referencing a DLL does not significantly add to the size of a program (it’s an external DLL, after all). Symbol tables tend to be fairly small when compared to the rest of the code.
As for Windows, NT 4 was pretty rock-solid, as one example. I’ve only ever experienced two blue-screens on Windows in all my time computing. Since using Linux I’ve experienced one kernel panic, and have had plenty of issues with various things like USB: so I can say I’ve never seen any major difference in stability
I agree MS has traditionally done a bad job of engineering, but one should not therefore automatically assume everything they produce is rubbish. Making assumptions is the easiest way to make mistakes.
The article you quote is fairly poor. It wanders about the point, and frequently addresses criticisms at older versions of VS. The author despairs at the growing size of the API, but you complain about the absence of an FTP component. The fact of the matter is large, broad APIs are necessary in the modern world: if you do data-transfers, you’re going to need File I/O, network I/O, app-layer network protocol support, and encryption support. Fortunately they’re bundled in DLLs, so they can be shared across all programs without any significant use of resources.
He then complains about Intellisense, saying it forced people to design bottom up. This is foolishness. People design top-down using UML, then code bottom up using unit-testing to ensure the design constraints are met.
He complains that VS doesn’t hassle a user every time they place a widget on a form, demanding a name. There’s a reason for that, most conscienious programmers will add the widgets first, then name them afterwards. It’s what I do. The author tries to say it’s VS’s fault that some programmers don’t do this. This is unreasonable, at some point you have to pass the responsibility onto the person in front of the monitor. Were VS to harangue the user every time they added a widget, I suspect the author would be the very first person to complain.
He complains about widgets being fields instead of local variables, but often you’ll need to access most of the widgets on a form, so having widgets as fields is necessary. He complains about the heap, but with memory-managed langauges there’s no difference between declaring a something as a field or as a normal variable within a method, especially not when it comes to long-lived objects like widgets (which exist as long as the form does).
At least he gives credit to VS’s “variable renaming” facility. Of course, most other people would call this refactoring, just as they would call “fields” “instance variables” and I think this is the crux of the matter: I think the programming landscape has changed from what the author once knew, and his piece is a call for the good old days. The fact is the good old days lie in the past for a reason, modern programming requires modern toolkits and modern tools. He comments about scrapping the visual designer are luddism at it’s worst, Visual designers save time. Full Stop. VS’s is not the best in the world (that’s arguably split between Intellij IDEA and XCode’s Interface Builder), but the fact that it’s not the best, does not mean that it should be scrapped, it means that it should be improved.
The last thing I’ll say is that VS doesn’t force you to accept its generated code (you can even work without the form designer should you wish), you can strip it away in a matter of minutes if you like. It’s just a convenience for the average joe.
———-
As for comments, I don’t want to remove comments, I want to mod comments down; and I don’t want to mod comments down because I don’t like them, I want to mod them down because I know them to be false. There’s a difference betweeen an opinion and a statement of fact, and the latter should not be immune to evaluation.
Edited 2006-04-21 14:57
>>As for Windows, NT 4 was pretty rock-solid, as one >>example. I’ve only ever experienced two blue-screens on >>Windows in all my time computing. Since using Linux >>I’ve experienced one kernel panic, and have had plenty >>of issues with various things like USB:
and of course NT4 was great with USB wasn’t it? ;o)
anyway – thanks for the comment – hope the article refered at least to raised some points for you.
I tried using Eclipse after several zealots wouldn’t shut up about it. Installing was a pain, Windows integration was awful, adding plugins was messy and the UI was terrible.
There are many people who say a lot about Eclipse. It is OK as an IDE, but very limited without additional plugins. The good ones cost $$, which isn’t an issue for many. I also found adding plugins messy. Eclipse has better refacting functionality than VS2005.
For me personally, I would prefer Visual Studio 6 even, over Eclipse any day. Nothing in the FOSS world really compares to Visual Studio in terms of spit & polish, easy of use and total cohesion.
I applaud MS for making VS Express available for free, but I prefer Netbeans (alse free btw), even to VS 2005 professional (which I also have installed). Netbeans 5 provides me with easy DnD gui designer (Matisse), a profiler, mobile phone app development, code completion and all the usual features of VS. Like Eclipse, it also has better refactoring support than VS2005.
I suggest you have a look here: http://www.netbeans.org/
before declaring VS.NET superior.
Speaking of polish, you should also have a look at:
http://developers.sun.com/prodtech/javatools/jscreator/
(also $0.00)
You should definitely look further than Eclipse before judging the competition, even if some free tools are not as high profile as Eclipse.
this doesn’t seem too official to me…
http://www.microsoft.com/presspass/press/2006/apr06/04-19VSExpressF…
In addition to the link supplied by a previous replyer, it’s worth mentioning that Dan Fernandez is the program manager for Visual Studio, so that’s about as official as it can get outside of an MS presspass release.
I was using a lot of the express editions until I got a copy of VS2005 Standard for free from the webcast series I attended. I quite enjoy Visual Studio and I agree that there isn’t too much out there that matches it.
Although when it comes to Ruby, Python, and Perl I like to use Active State’s Komodo and quite enojoy that as well. It runs on windows, linux, and osx. Check it out if you are looking for a nice scripting ide.
After having used VS2003, I tried VS 20005 Express and I was disappointed in the visual controls one gets, as a result I promptly uninstalled it. For example the styles for the bevels on the various controls are fairly limited in the new version, I could do various tricks with the 2003 version which I can’t do with 2005.
And before anyone whines about visual development not being real programming etc, lets not forget that the user interface is as important as the backend, so having flexible controls is important, and no I don’t want to waste my time rolling my own, especially when a client is paying for my time. As an example the Delphi visual control library is far more extensive and flexible than anything in VS.
You are comparing full VS2003 to VS2005 Express (the free version).
They simply are not compareable. Obviously VS Express is going to be scaled back from the full version.
It’s nice to see Microsoft offer web developers a great tool for C# and VB.NET development.
I mainly use PHP5 and Ruby on Rails for web development, but I do some C# for Microsoft only customers.
The best thing about VC# is managed code ( a la java ). As part of my work ( unix/C++), most of the error arise from memory mismanagement, the managed code will definately lessen this.
After reading many surveys, I fully agree that the application development is gearing towards managed code, eg. many banks are changing their existing Unix/C++ app to VC# based. Now java was the only alternative to VC#.
I thought why not try both of them for a typical client server app. Tried Eclipse, nice to use, but designing GUI need installing extra pluggins, which even a unix programmer like me found difficult. Then tried Netbeans / JDeveloper, wow!! Simple and very easy to use. Nice GUI designer, excellent UML integration and good documentation. These two would easily qualify as the perfect development environment I was looking for. I almost setelled for JDeveloper and started learning more to complete my project.
In between someone here at OSNews suggested to use the “Free” version of Visual C#, as it has better windows integration, better “look and feel” and I tried.
GUI Development is the easiest, on web we have numerous developed components, which simply work. It is very easy to integrate those into my application. The debugger is by far the best I have seen. Features like Reflection are intutive and easy to implement ( again numerous examples available).
Ok I found almost these features in Jdeveloper, so why change. The major reason was XP type GUI ( Windowish, Java provides good GUI, but its no way comparable to VC#). Another reason was abundant source code, simply too many examples of using even the simplest features. Agreed that we have examples for java too, but google shows more and more relevant in case of VC#.
Drawbacks as compared to JDeveloper :
1) No UML Support in Express edition.
2) No source control integration
3) Only on Windows
Now the final question ,which one I am using.
Answer: Easy, On my windows machine I am using VC# + AgroUML + TortoiseSVN. VC# is so easy and intutive that even my wife ( no programming experience) contributes to form designs. TortoseSVN and AgroUML are outside VC#, but easy to use. She will not boot to Linux, despite my several attempts.
On, my Linux box, it is JDeveloper + cvs, no need for seperate UML app.
Having VC# as free really would help many perople like me explore managed code easily and keep ourselves in tune with the new technologies.
Hats off to MS.
Edited 2006-04-20 03:22
If each download actually paid the US$49, MS would get US$245 million. I’d have to say that they wouldn’t do it unless there was serious gains for their platform.
I’m trying it out at the moment. I like what i see, also having the MSDE with the SQL Management Studio is great. Looks like i’ll have to get a bit more RAM for my machine, running a bit sluggish now. Taking it up to 1G from 512M should help. *sigh*
When Ballmer does the monkey dance yelling “Developers, developers, developers”, he’s not kidding.
Microsoft’s IDEs are one thing that they get right. Eclipse, Netbeans, and IDEA do Java really well. Eclipse has a lot of decent plugins, but the problem is with the plugin system. I’ve got at least 4 copies of Eclipse installed right now because plugins invariably conflict at some point in time. WTP conflicts with tons of stuff. Zorn (the new Flex 2) conflicts with stuff.
VS is still the cream of the crop when it comes to IDEs. I haven’t tried KDevelop in a while. The one thing I liked about it was that it could parse out autoconf stuff, which last time I checked CDT couldn’t do.
I’m really looking forward to see what Microsoft comes up for WPF/E development, and can’t wait for the .NET ruby compiler and managed libraries as well as hopefully an eventual VS addin.
I haven’t tried KDevelop in a while. The one thing I liked about it was that it could parse out autoconf stuff, which last time I checked CDT couldn’t do.
It still can’t, but there’s an autotools plugin that can.
http://kde-eclipse.pwsp.net/index.php?filename=features.html
You can find a plugin for Qt Designer at the same place.
Again Microsoft is behaind its competitors.
Apple has offered its development tools for years (5?) and the F/OSS world has always offered its dev tools…
Some people think VS is the ultimate IDE on earth.
It’s their legitimate right to think so. And I enjoy my legitimate right to not agree with them.
How many windows developpers have tried programming on several other platform using other tools so they can have a more objective view of the tools they’re used to ???
Not that much and that’s a pity…
In general windows devs only know their platform and nothing else… That kind of guys always make me laugh, for instance do you thing that a guy who is able to reapair only Ford cars is a good/talented professionnal ?
Personaly I don’t and the same applies with the most windows devs.
Each time I have to launch VS (for my job) it reminds me of the horrible Access interface…
Anyway it’s good decision that they made to “offer” their dev tools. But it’s not surprising because IMHO their tools worth (almost) nothing…
Again Microsoft is behaind its competitors.
Apple has offered its development tools for years (5?) and the F/OSS world has always offered its dev tools…
Microsoft has offered their C++ compiler for free for a while now, and I believe the C# compiler has been free for a while now as well. Then there is masm which has always been free.
How many windows developpers have tried programming on several other platform using other tools so they can have a more objective view of the tools they’re used to ???
Not that much and that’s a pity…
I have and know a few others that have and we all agree that VS is hands-down better.
Anyway it’s good decision that they made to “offer” their dev tools. But it’s not surprising because IMHO their tools worth (almost) nothing…
To you. To many many people, they are worth a lot.
Then there is masm which has always been free
Just a guess but you must have been born around 1990?
all I can get from the eclipse (terribly confusing) website is Java, C++, Fortran etc.
does eclipse support asp, asp.net, vb.net, c#
re: netbeans. err isn’t this java only?
maybe I’m missing something, but VS express does asp, asp.net,(VB & C#) html, css etc really well and eclipse and betbeans doesn’t!
“all I can get from the eclipse (terribly confusing) website is Java, C++, Fortran etc.
does eclipse support asp, asp.net, vb.net, c# “
If you wan’t to do .NET development then VS.NET is probably the only serious option. Eclipse won’t help you there. Then again, VS.NET doesn’t support Java (J# doesn’t count – it’s Java version circa. 1997)
“re: netbeans. err isn’t this java only?
maybe I’m missing something, but VS express does asp, asp.net,(VB & C#) html, css etc really well and eclipse and betbeans doesn’t!”
Netbeans and Studio Creator are Java only, which is OK if you have no interest in VB.net/ASP etc. The point is that you can create equivalent apps, and web apps, with Java and JSF using Netbeans and Studio Creator. These are free tools with arguably more funtionality than VS.NET pro. Yes, they aren’t for creating .NET apps. The reason I brought up Netbeans, is that someone was criticizing free Java tools and was only looking at Eclipse. I don’t mean to get offtopic in what is a .NET discussion.
The NetBeans crew are working on adding support for other languages to the platform. I think the next version of “Java” Studio Creator will be based on NetBeans 5.5 and will support C and C++. See here for more: http://cnd.netbeans.org/
As for VS.Net, it’s a good IDE, but NetBeans 5 is just as good in my opinion. It’s superior to Eclipse as it does everything out of the box, whereas to get Eclipse to a similar level of functionality you have to start installing plugins, which is time consuming, error-prone, and requires a certain amount of research. What’s more, I’m still not sure the the Eclipse GUI design plugin is out of beta yet: Matisse is very, very impressive.
As for KDevelop, it’s good, but the UI is very hard to get to grips with. By default there are 20 tabs over four panels, an a huge number of buttons. Worse, some buttons have the some icon despite doing different things. E.g.
http://www.bfeeney.uklinux.net/images/netbeans5-java6.png
http://www.netbeans.org/images/screenshots/5.0/osx-jgoodies.png
http://www.kdevelop.org/graphics/screenshots/3.2/ctags.png
[Note that NetBeans under Windows looks native, it’s been run under some odd combinations in the above screenshots]
>> does eclipse support asp, asp.net, vb.net, c#
i wouldn’t try it.
ASP.NET is supposed to be able to be written using a text editor.
so i used (the free) web matrix when creating a portal for a company.
unfortunately – as soon as you try anything more than the basics it is no longer possible and VS is required.
and even then it was not possible to move the portal due to all the mixed up dependencies.
I for one think this is an fantastic turn of events. I’ve never come across a more comprehensive and streamlined IDE in my 12 years of developing software and writing code.
I’ve tried the Express Edition and it surely isn’t as comprehensive as even ths standard (or greater) edition, however for the home/small coder and those trying to ‘get into’ developing with Microsoft technology this is a great opportunity.
Well done Microsoft.
IDEs comparison are not quite easy, as for most of the tops IDE are specialized for the plateform they are built for.
personally I did not try VS2k5 express
but VS2k3 still does a nice job for me as a good (project) IDE ( quite fast , extensible ),and is the best for windows programming (c/vb.net/c#).
Eclipse is way too extensible for its own good (http://rss.slashdot.org/Slashdot/slashdot?m=4969), but does a pretty nice job when offering a cross platform IDE. Unfortunately it’s quite slow when running on low end platform (I still enjoy develloping on an old laptop of mine).
NetBeans is way tooooooo slow for my requirement.
Borland’s IDE are pretty neat, but they are more RAD oriented lately plus borland is supposed to leave IDE space.
however if it comes to naming the best IDE on earth, I’ll choose EMACS for it’s platform independance (language/OS) and it’s snappy interface.
“NetBeans is way tooooooo slow for my requirement.”
You must have an old PC with less than 512 MB RAM. I used to have a slow PC (PII) that wasn’t up to the task of running Netbeans.
Netbeans runs smoothly on a 3GHz p4 or better, and OK on a 2Ghz Celeron. I am running a dual core, so I don’t really notice any obvious inefficiencies. Startup is quite long, as with many Java apps, but once it is loaded it is pretty snappy. This isn’t really an issue for most developers who keep the IDE open for the whole day. Eclipse loads a bit faster, but it doesn’t have the features I need. VS2005 loads very fast, but this is offset by most of the initialisation being deferred to when you first load a project.
With Netbeans I get free upgrades for life, every 6 months (approx). Plus the current generation of Java VMs have optimisation which the MS CLR (a VM really) does not. Google for SciMark results and you will see how this affects perf.
Perhaps you are just opening 1 or 2 source files to quickly edit, then yes, a text editor is a better choice.
If your into .NET then this is a pretty good deal.
I don’t think anything comes close to the debugger in VS.
The thing that concerns me about VS though, is that it is marginalizing C++ development.
From MSDN to creating a new project, managed code is put front and center. Improvments, documentation, and features for non-managed development has been, at best, minimal.
I’m not sure if this for someone who has or wants to learn CC++.
unmanaged C++ is definitely on the back-burner and gets no love. No refactoring for C++ (i dont think even managed gets it), as well as some of the other useful tools. Luckily, the debugger still works for C++, or I wouldn’t use it.
I really wish they’d show some love for unmanaged C++ in visual studio. But still, it’s by far my favorite IDE to use for my C++ work.
If you bad programmer, no matter you use NetBeans, Eclipse, VS or just EMacs you’re going to produce bloatware. No matter also if you use Gcc, MSC or Intel Compilers or whatever.
Personally, my workstation (Amd X64 dual core) have installed Windows and Fedora 4 for x64, when I’m on Linux, I use Eclipse and under Windows I use VS. I found Eclipse just good enough (but sometimes too clunky), but my code (which can complie under GCC, VS and Intel compilers) is mainly for scientific calculations, so I don’t have dependences on libraries.
Anyway, since I’m using both IDEs quite often, for me Eclipse doesn’t match yet VS. On VS, I really love to have some debugging control on optimized release code, something I just don’t know how to get on Eclipse/Gcc. Th VS’s little marvel is extremly useful to debug on execution paths that takes too much time on debug compiled versions of your code (just ask to anyone who codes any numerical solution of differential equations or Finite Differences methods).
Besides, I was really surprised of the perfomance of the code obtained with the lastest version of the MS compiler, compared to GCC for x86-64. The only faster version to the MS version was obtained by compiling the code under linux using the Intel compiler. The biggest surprise was that the windows version of the Intel compiler produced the slowest code. I’m still wondering if the Linux version of the compiler doesn’t have the CPUID dispatch that is supposed to be used in order to use execution paths that are much slower on AMD processors.
Anyway, since I’m using both IDEs quite often, for me Eclipse doesn’t match yet VS. On VS, I really love to have some debugging control on optimized release code, something I just don’t know how to get on Eclipse/Gcc
That’s because Eclipse is not designed for C code. Or its C plugins are not as good as for Java I would say.
Anyway, debugging control on optimized release code is a hack at best, given the optimizations the compiler is supposed to do, especially when the compiler can produce code for many different architectures, which is NOT the case of VS.
Keep in mind that gdb understands the code of GCC for all these archs.
So this comparison of yours reads like BS to me. ALl this says is that VS is tailored for Windows C/C++/C#, which should be no surprise to anyone.
Th VS’s little marvel is extremly useful to debug on execution paths that takes too much time on debug compiled versions of your code (just ask to anyone who codes any numerical solution of differential equations or Finite Differences methods)
Again this is BS. You mean VS debug code is so much slower than MS optimized code ???
Assuming you meant the debug code is not optimized, you know, on other compilers than VS, debug code is never so slow that you can’t use it to debug your app.
You can also optimize at least a little the code, and the debugging is still useful.
More importantly, on other systems, you do not need to rely on compiler optimizations to have more speed, you just put clusters and virtual machines, with multipocessing, and it works just fine. You know, that’s why they use supercomputers.
And with sth like Linux, you can have it cheap : I was using a setup like this ten years ago with PVM, gcc and emacs and make, with several different machines in the university, thanks to the fact that the same code could be compiled on every arch and OS (irix, hpux, aix, linux), thanks to GCC.
The benefits of GCC far exceed the fact that VS is tailored only for Windows, especially in scientific calculations like you do.
Besides, I was really surprised of the perfomance of the code obtained with the lastest version of the MS compiler, compared to GCC for x86-64
I don’t think that’s a useful comparison. If compatibility is not an issue, I would not use anything beside VS on Windows.
“Debug code is never so slow that you can’t use it to debug your app”. Why people can’t stop of thinking only in their little problems? Why people cant’t think that there is much more than GUI apps out there? Small ideas are the real BS.
Sorry, but you don’t have any idea about what you’re talking about. It seems to me that you never haven’t face the problem of coding something that it is going to take days or weeks or months to finish its calculations, even in the fastest workstation, even in a 1000-CPU cluster.
Maybe your little app only takes a few seconds or minutes, on that level it’s ok, you can wait using the debug version until reaching the point of evaluation of interest, but some times you have to wait a lot of time in order to discover that a #@$#$ misplaced sign introduced an approximation error that only 1e7 iterations after made the algorithm instable. For that kind of situation, having some debugging level on optimized code is just great, sorry man, I really don’t care if it is a hack, it just works, it saves me a lot of time.
“The benefits of GCC far exceed the fact that VS is tailored only for Windows, especially in scientific calculations like you do. ”
Don’t tell me what I need, plz. What I need is the fastest available version of my code. And YES, I need a cross-platform compatible code, the cross platform factor is easily attained with pure C code. The only compiler-dependance is detected during compiling time to determine if I’m going to use POSIX threads, Windows threads, Sun threads, SIMD SSE, and very soon distributed calculation will be introduced to allow using a 8 proc cluster (using MPICH2).
I need the fastest code on every platform because something called scalable testing. You test firstly with a small fragment of the problem to see if everything is ok. But even with an small fraction of the problem, sometimes the calculations are too many, so you always need a fast code. Then you move one step with a larger dataset, and once you’re pretty sure that everything is ok, then you can finally dispatch the monster.
And one more thing, sorry but I’m not zealot or advocate of whatever, I’m a practical person who has some needs (maybe too specific, but they’re just like that). Even if I’m always favorable to FOSS, I’m going always prefer the better solution for my problem, no matters if it is propertary or open. That’s called fredom of choice ONLY and JUST ONLY after evaluation.
Why people can’t stop of thinking only in their little problems? Why people cant’t think that there is much more than GUI apps out there? Small ideas are the real BS
If you talk about what I said, I was thinking specifically of scientific apps launched by command line, that take days to finish.
Sorry, but you don’t have any idea about what you’re talking about. It seems to me that you never haven’t face the problem of coding something that it is going to take days or weeks or months to finish its calculations, even in the fastest workstation, even in a 1000-CPU cluster
I know perfectly well what I’m talking about, I was there in the lab ten years ago, remember ?
And though it would not take weeks, my calculations took like 3 days to complete. Why do you think I used PVM and every machine I could ?
Yours is more complicated than what I was doing, for sure, but the problem is the same.
Maybe your little app only takes a few seconds or minutes, on that level it’s ok, you can wait using the debug version until reaching the point of evaluation of interest, but some times you have to wait a lot of time in order to discover that a #@$#$ misplaced sign introduced an approximation error that only 1e7 iterations after made the algorithm instable. For that kind of situation, having some debugging level on optimized code is just great, sorry man, I really don’t care if it is a hack, it just works, it saves me a lot of time
No it doesn’t. I didn’t want to oppose you on this, but now I’m forced too. Your methodology is highly flawed to me.
When doing these kind of projects, we assure the implementation is correct and faithful to the alghorithm before going optimised.
But you optimise your code right away, and debug the optimised thing (meaning the code still runs slower than if it was optimised a bit less) after it worked for hours ?
But you can do that just the same with a basic debugger once you know where your program stopped, putting conditionnal break points.
That just means you’re debugging compiler specific bugs, as all compilers don’t optimise the same.
So you go away from your work, and more into tinkering with VS.
Don’t tell me what I need, plz
I didn’t. I just said there are more benefits in other ways.
But that comment hint me even more to thinking that you have as much if more interest in VS, than in your scientific work.
What I need is the fastest available version of my code. And YES, I need a cross-platform compatible code, the cross platform factor is easily attained with pure C code
What you need is correct code. That’s the ultimate thing in scientific calculation : it has to be correct before it is fast.
And sorry, but you have no guarantee that your code will behave the same in VS and in GCC, it won’t even behave the same with different major versions of GCC.
That’s why, 10 years before, I used GCC instead of native compilers I had for the different archs, and GCC was way slower than native C compilers back then, but correctness of the code is what I had to achieve. Because you lose far more time if you have to redo all your computations (which meant 3 days for me), than if you lose 10 % (even a high 30 %) time because of compiler speed.
So it reinforces what I thought : VS seems more important to you than the science.
I need the fastest code on every platform because something called scalable testing. You test firstly with a small fragment of the problem to see if everything is ok. But even with an small fraction of the problem, sometimes the calculations are too many, so you always need a fast code
That’s the correct method, but if your calculations are still too many, that just means your sample is not small enough, or the algorithm not broke down enough.
Then you move one step with a larger dataset, and once you’re pretty sure that everything is ok, then you can finally dispatch the monster
I agree. But in all you say, there is nothing giving the advantage to VS. For these kind of calculations, VS does not have any advantage :
IDE ? No advantage. Debugging ? No advantage (you said yourself that you do not need GUI). Cross-platform ? No advantage. Cross-compiling ? No advantage.
I wonder what advantage you found in VS, seriously.
And one more thing, sorry but I’m not zealot or advocate of whatever, I’m a practical person who has some needs (maybe too specific, but they’re just like that)
Did I say that you were a zealot ? Sorry, but you telling this further confort me in what I believed.
I don’t doubt VS is the best IDE to make Windows programs on a Windows platform, I wouldn’t use anything else.
Tell me VS is all you know, I would understand. But the best because you can debug optimised code on the fly after hours of compiling ? Give me a break !
Even if I’m always favorable to FOSS, I’m going always prefer the better solution for my problem, no matters if it is propertary or open. That’s called fredom of choice ONLY and JUST ONLY after evaluation
I doubt seriously you prefer the better solution for your problem, given that you favor VS on Windows to do scientific calculations that take weeks to compute.
I guess I was wrong 10 years ago, and the people making huge clusters on Linux or Unix are wrong too.
Especially as Windows is not efficient at all on more than one processor.
“When doing these kind of projects, we assure the implementation is correct and faithful to the alghorithm before going optimised. ”
Who doesn’t try to do this?? Of course of most of people! (me included). You should know that most of sci guys (me included) spent more time on diagrams, pseudo-code, desk testing, but there are always the possibility of “that” error. There is no perfect guarantee, every one just try to do their best. And when the error happens .. then what?? You have a partial output and you discover that something became instable, but not everytime you have all the picture about every variable. Even if you have all them, sometimes the problem was originated longtime ago in the iteration cycle, so sometimes you have to retrace the error. In these particular cases, any help iswelcome, no matter if it is Eclipse/GCC or VS/MSC. By example, the guys of HPCVL Working Template have done a huge work to give much more info than standard debug info to test parallel code.
“Your methodology is highly flawed to me.”
I never stated that this was my every day methodology, this about the exceptions, this is about what tools you can count when the unexpected happens.
“What you need is correct code. That’s the ultimate thing in scientific calculation : it has to be correct before it is fast. ” Well, neither you, neither me was the first person who said this, plz gimme you a break. At least my code includes the very simple serial version (that one that is close to the equations), but also the optimized versions (SIMD, multi-threaded, etc). Just a macro definition or a parameter and you’re running a specific version (just as many people, I’m not reinventing anything).
“IDE ? No advantage”. Sorry, I said in my first post that for me Eclipse was too clunky.
“Debugging ? No advantage” All this discussion started about the debugging facilities on optimized code. If you don’t like, if you never want to use it, it’s ok, but let other people use it if they consider that it can help them.
“Tell me VS is all you know, I would understand”. I said clearly in my first post that I’m also using Eclipse. I’d never said that Eclipse is bad, but for me (and just a matter of preference, as some people prefers Fortran and others C) I feel more friendly the IDE of VS, specially to debug code without GUI.
What bothers me of this kind of discussion is the stigma by defacto of using MS tools as something bad, ineficient, erroneous, etc. Just because is MS. It’s up to me to make cross-compatible my code, and honestly the differences between GCC and the MSC for pure C (or even for SIMD instrincs for the x86) are minimal. If they’d be huge, I’d stick wtih GCC from the beginning since it was decided to use clusters in the future. But if I have the posibility of using the better solution in every scenario (small, medium and large scale), I’m going to take them.
“I doubt seriously you prefer the better solution for your problem, given that you favor VS on Windows to do scientific calculations that take weeks to compute.
I guess I was wrong 10 years ago, and the people making huge clusters on Linux or Unix are wrong too.
Especially as Windows is not efficient at all on more than one processor.” Again, you consider that just because is MS, it is bad or inefficient. It would also take weeks on a linux-workstation with GCC, maybe more because GCC produces less optimized code. I never say that other people were wrong, I never even say that I was right. The problem is to start to attack someone without all the information. Instead of saying “ey maybe this guy just uses a windows worksation to develop its code, and he’s saying about using MPCIH2, that means that in somepoint he’s moving to a cluster (maybe certainly a linux cluster), let’s asking him more info and then maybe I can suggest something” But, no way, it has to be the “Ah, it seems that he doesn’t works like me, so he is wrong, let’s kick on him”
“Ah, it seems that he doesn’t works like me, so he is wrong, let’s kick on him”
Don’t worry about it, that’s the way Ookaze deals with doesn’t share his world view. He doesn’t get out enough I guess.
All i can say is great. Kudos to Microsoft
We are incredibly excited to announce that effective April 19th, 2006, all Visual Studio 2005 Express Editions … will be free permanently!
That is good news, and I applaud Microsoft for doing it.
But I can’t help but wonder if GCC weren’t so good and so available, and if there weren’t so many other good tools like eclipse so freely available, would Microsoft have ever made it zero cost?
Also, here are some other zero cost compilers for Windows. We were very pleased with Watcom at my last job, but that’s the only one I’ve used.
http://www.openwatcom.org/
http://www.digitalmars.com/
http://www.borland.com/products/downloads/download_cbuilder.html
http://www.htsoft.com/products/PACIFICc.php
http://www.smorgasbordet.com/pellesc/
But I can’t help but wonder if GCC weren’t so good and so available, and if there weren’t so many other good tools like eclipse so freely available, would Microsoft have ever made it zero cost?
Uhmm, you do know that GCC is just a compiler and not an IDE…don’t you? Microsoft’s C/C++ compiler has been free for years and years.
Eclipse is good for Java, but the CDT (C/C++) plugin isn’t close to VS’s C/C++ support.
Don’t forget about Sharpdevelop (I think Monodevelop is based on it).
http://www.icsharpcode.net/OpenSource/SD/
It’s not bad either (for small projects perhaps), and it’s a brand you can trust (GPL).
But I’ll try (now freeware) VS Express anyway. That’s another way Open Source benefits the consumer, even if he doesn’t use it in the first place!
Did anyone read the EULA? You can’t distribute your source code? You can’t lock yourself into a license which allows for distribution, modification of the source? GPL. Hello, it’s my code. I’ll do what I’d like with it, Bill
Since I don’t write GPL code and I have no interest in sharing it, I don’t really care.
Edited 2006-04-20 22:54
Does everyone care if you care?
WTF! I cant remove VS Web Developer Express!!!