Thread: visual studio, which version?

  1. #1
    Registered User
    Join Date
    Sep 2007
    Posts
    1

    visual studio, which version?

    Hi

    I'm about to start a project using c# that will need to consume and present a web service, and run a windows service and model a complex business domain.

    Having checked a comparisson on msdn http://msdn2.microsoft.com/en-gb/vstudio/aa700921.aspx i can't see anything that justifies anything other than using c# express apart from the fact it is aimed at hobbiest programmers in the documentation.

    Am i missing something obvious? or will i get by just fine using express?

    any comments or feedback would be greatly appreciated.

    Thanks

    Craig

  2. #2
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    You can probably answer that question better than we can. The only thing that I can think of is that perhaps there are some legal limitations with using the Express edition.

    Why not get Express for now, since it's free, and buy another version later on if you need it? . . .
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  3. #3
    C++ Newbie
    Join Date
    Nov 2005
    Posts
    49
    The license will probably forbid you to use it commercially, this includes using the compiler to compile code that is or will be used in a commercial environment.

    I have the professional version of Visual Studio, only have Visual C++ and C# installed though, not a sucker for VB and Visual J#.

    The professional version had some differences, as stated in the chart, example being inclusion of x86-64 compiler. Also it comes with a offline version of MSDN which I haven't used... much. (Don't flame me! Not my fault it doesn't update. )

    What you seek is in the charts already.

  4. #4
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    No, the license is nice enough not to forbid it. However, as mentioned, Express cannot compile for 64-bit systems, and has various other cuts. Basically, check the feature list of the IDE for the differences. The compiler is the same. (In fact, the C# compiler comes with the framework, and even with that version you're free to do whatever you want with the created software.)

    Still, it's good to check the license anyway. MS has been known to put strange things in there. Example: you're not allowed to publish performance measurements of the newest Office versions.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  5. #5
    Technical Lead QuantumPete's Avatar
    Join Date
    Aug 2007
    Location
    London, UK
    Posts
    894
    Quote Originally Posted by CornedBee View Post
    MS has been known to put strange things in there.
    It's important to note, however, that just because something is stated in the license, does not necessarily make it legally binding (which is why a lot of licenses carry a disclaimer to say that if any part of the license is invalidated, the rest still holds). Not that I'm advocating breaking license restrictions, the last thing you probably want to do is get into a court battle with Microsoft ;-)

    QuantumPete
    Last edited by QuantumPete; 09-14-2007 at 03:34 AM. Reason: however has commas...
    "No-one else has reported this problem, you're either crazy or a liar" - Dogbert Technical Support
    "Have you tried turning it off and on again?" - The IT Crowd

  6. #6
    Registered User
    Join Date
    Sep 2007
    Location
    Adelaide, Australia
    Posts
    9
    As CornedBee said, you're allowed to produce commercial software with the express editions. The simple reason why? .NET code is .NET code, and the IDE's do nothing special around how it is compiled. Therefore, it is impossible to prove whether .NET code was compiled from an IDE (C# Express), or from the command-line tools that ship with the free .NET framework (csc.exe).

    Even if there was, you could use the IDE to build your application, then compile it before shipping with the command line tools.

    As suggested, starting with the Express editions and then upgrading if you need more is probably the easiest way to go.

    Cheers,

    Paul

  7. #7
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    I've been using Express C# and it is really good, and faster and smoother than I gave it credit. If you are a student at a university where they have the Microsoft Academic Alliance, you can get the professional edition of MSVS for free.

    I also received .NET from one of those online promotions that MS was having.

    But the only complaint I have is last time I used MSVS the Just-in-time debugger drove me crazy. It popped up every time and even when I uninstalled it it wouldn't go away.

  8. #8
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Quote Originally Posted by paulstovell View Post
    As CornedBee said, you're allowed to produce commercial software with the express editions. The simple reason why? .NET code is .NET code, and the IDE's do nothing special around how it is compiled. Therefore, it is impossible to prove whether .NET code was compiled from an IDE (C# Express), or from the command-line tools that ship with the free .NET framework (csc.exe).
    The fact that it isn't provable by examining the code isn't a particularly good argument when it comes to license content. If MS wanted to, they could easily state that "This version can not be used to produce code that is sold commercially". If you then sell code commercially, and MS believes you do this from a Express edition, it would be your task (as a individual or company) to prove that the code produced comes from a commercial licensed product - e.g. show that you have bought 15 licenses for 15 developers in the company, or that you as a individual own a license. [This is contract law, so there's no such thing as "Innocent until proven guilty", it is more of "the one with the most experienced/expensive lawyer wins"]

    It is good that MS has taken the step to allow use of it for free, and that there's no limitation on how you can use the code - but the fact that something can or can't be proven by reading the code produced by a specific compiler isn't really the reason why they do/don't do something.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  9. #9
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    Could they jsut as easily have some meta information that is in the assembly that identifies if a program was made in Visual Studio?

  10. #10
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Quote Originally Posted by indigo0086 View Post
    Could they jsut as easily have some meta information that is in the assembly that identifies if a program was made in Visual Studio?
    Sure they could - but that means having separate binaries in each package, and if someone knows the meta-data format and meaning, it could presumably be modified.

    But the point is more that there's no need to do either, because the basis of contract law is that both parties agree on something, and if later on one party is unhappy with the conformance of the other party, you go to civil court (which is different from criminal court, in, amongst other things, that you are not presumed innocent, but rather it is who the judge & jury believes most and of course what has been agreed in the contract that matters).

    In the case of license agreements, you can essentially put any text in there. Whether you can prove the other party broke the agreement or not is a different matter, and whether the court rules one way or another is a further different matter.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  11. #11
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    Thanks for clearing it up, not like I'd dare cross swords with MS.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem building Quake source
    By Silvercord in forum Game Programming
    Replies: 16
    Last Post: 07-11-2010, 09:13 AM
  2. using classes
    By krazykrisi in forum C++ Programming
    Replies: 9
    Last Post: 11-22-2006, 10:41 AM
  3. C++ std routines
    By siavoshkc in forum C++ Programming
    Replies: 33
    Last Post: 07-28-2006, 12:13 AM
  4. OpenGL prob
    By HQSneaker in forum Game Programming
    Replies: 18
    Last Post: 06-22-2006, 12:55 PM
  5. Learning OpenGL
    By HQSneaker in forum C++ Programming
    Replies: 7
    Last Post: 08-06-2004, 08:57 AM