Computer Science Canada

Msvs

Author:  Velocity [ Tue Feb 14, 2012 4:52 pm ]
Post subject:  Msvs

I love microsoft visual studios 2010, its like all my languages in one, its so organized and efficient, my girlfriend knew what to buy me lol... she doesnt even like computers haha


P.S. It costs 650$ :O

Author:  chrisbrown [ Tue Feb 14, 2012 5:22 pm ]
Post subject:  Re: Msvs

I really hope your girlfriend didn't spend $650 on a glorified text editor that you probably could have <a href="https://www.dreamspark.com/Product/Product.aspx?productid=4">downloaded for free...</a>

Author:  mirhagk [ Tue Feb 14, 2012 8:27 pm ]
Post subject:  RE:Msvs

glorified text editor? Lol spoken like someone who hasn't put a lot of time into it.

It's pretty much everything you need for programming built into one thing, source control system, compiler, debugger, database manager, IDE.

In fact if there's something you can't do with it, it's more likely that it's because you haven't learned enough about or haven't used the ultimate edition.

Yeah and the pro version is free to students, but the ultimate version is amazing.

Author:  RandomLetters [ Tue Feb 14, 2012 11:12 pm ]
Post subject:  RE:Msvs

I tried to program VB in notepad once for homework. Eventually, I just gave up and wrote notes to myself on where to add components when I got back to school.

But that's besides the point.

Grats! you have an awesome girlfriend Razz

Author:  Insectoid [ Wed Feb 15, 2012 2:46 pm ]
Post subject:  RE:Msvs

I like having an IDE for really verbose languages (*cough*Java*cough*) just so I don't have to scour hundreds of useless docs in a bloated API for the one function I need. I use NetBeans for Java, and a text editor with syntax highlighting for everything else. There is no way in hell I'd pay $650 for a text editor. I don't care what features it has. Free syntax highlighter (any code editor, really) + free compiler (even VS's compiler is free) + free debugger (Thanks GNU!) + free source control system (git) + free database manager (I'm sure it exists) > $650 for the same stuff in one package.

Sure, I'd have to learn every tool individually, but that's a damn sight better than $650 for a piece of software I'd also have to learn to use.

Author:  mirhagk [ Thu Feb 16, 2012 7:46 am ]
Post subject:  RE:Msvs

And that's why you get the free version of Visual studio, and only use the paid version if you are working for a company. If over the course of it's lifetime (potentially 40 hours a week*52 weeks a year*~3 years before a new one comes out 6240)
It saves you like 30 hours of work (assuming you get $20 an hour) then you saved money by buying it. Most likely the built in debugging features will save you much more than 1% of your time.

Author:  Insectoid [ Thu Feb 16, 2012 9:05 am ]
Post subject:  RE:Msvs

Quote:
Most likely the built in debugging features will save you much more than 1% of your time.


And free alternatives won't?

Author:  mirhagk [ Thu Feb 16, 2012 6:56 pm ]
Post subject:  RE:Msvs

Do free alternatives let you set a breakpoint/jump to the line that crashed, hover over variables to see their values, add lines of code, and continue execution?

Author:  Insectoid [ Thu Feb 16, 2012 7:26 pm ]
Post subject:  RE:Msvs

Yep. Maybe not with mouseover, but yep.

Author:  TerranceN [ Thu Feb 16, 2012 7:56 pm ]
Post subject:  Re: Msvs

Quote:
Yeah and the pro version is free to students, but the ultimate version is amazing.


I got the ultimate version for free through UW/dreamspark.

Since this has turned into a discussion of editors/IDEs, I might as well mention the text editor Vim.

I've been using Vim for a couple months now and I've been completely blown away by it. If you can get past Vim's gigantic learning curve, you can edit code so much quicker. Just last weekend I was using visual studio to re-learn some XNA stuff, and programming in it felt so awkward and slow, with no features to match many of my most used features of Vim (and the plugins that try to emulate vim are usually buggy or cost money, and don't allow anywhere near the level of customization that vim does). This is a good example of the kind of features I mean (also using regex is really useful). Even today I learned something awesome. And best of all using vimscript makes nearly everything customizable. You can re-bind keys, binding them to other key combinations, function calls, shell calls, etc. And people write amazing plugins like NERDTree, and OmniCppComplete that make vim feel more like an IDE and a text editor. And if you don't like part of the plugin, since it's all in vimscript too, you can go change it.

As for using visual studio, here is a very relevant article I found a little while back.
relevant portion:
Quote:
The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying "learn how to do it manually first, then use the wizzy tool to save time." Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don't save us time learning.

Author:  DemonWasp [ Thu Feb 16, 2012 8:11 pm ]
Post subject:  RE:Msvs

Eclipse lets you do pretty much anything you want while debugging. I'm not sure about the CDT plugin (used for C, C++), but last I heard it was pretty good. It'll also get you everything else mirhagk mentioned, plus team synchronizing plugins.

All free.

Author:  mirhagk [ Thu Feb 16, 2012 9:47 pm ]
Post subject:  RE:Msvs

In regards to Eclipse having these features, are they disabled for android app development? Can you re-enable them?

I found in frustrate searching through the log browser to find where the exception occured (since every function call since the exception apparently needed to be in the log too).

I would really like to see a system that is as well integrated as using visual studio's features. Sure the individual features might exist in other tools, but the lack of integration or cohesiveness is the problem.

And regardless the points stands. If your not a student, and your actually a developer full time, $650 is a tiny cost to pay if it saves you even 1% of your productivity. Software somehow being better because it's free is only true when your a hobbyist, in the professional world it's a lie.

Author:  Insectoid [ Thu Feb 16, 2012 10:26 pm ]
Post subject:  RE:Msvs

Quote:
Software somehow being better because it's free is only true when your a hobbyist, in the professional world it's a lie.


It's not better because it's free. It's at least equal, where the only significant difference is cost, at which VS is worse.

Author:  mirhagk [ Thu Feb 16, 2012 10:30 pm ]
Post subject:  RE:Msvs

The merits of which are better or worse could be disputed, personally I think a single piece of software that was designed to do all the things you need is better integrated then a set of tools that mimic the same behavior.

Regardless of whether you can prove it's non-inferiority, the price means pretty much nothing to someone who has a job and uses it for that.

Author:  DemonWasp [ Thu Feb 16, 2012 10:34 pm ]
Post subject:  RE:Msvs

I don't know much about Android development, having never done any myself. This looks pretty decent, though: http://developer.android.com/sdk/eclipse-adt.html (first google result). Android runs a language that's very similar to Java, but not quite the same (and therefore subtly incompatible).

Exception traces are generated by the JRE itself, not Eclipse. They hold the exact amount of information I would expect: the method that generated the exception is on the top of the stack, and as you descend, you find all the methods in the chain that resulted in the excepting call. If the exceptions are chained, you see root-cause exceptions. I'm not sure what else you would expect.

I've never found a pay-for development system that was easier to use than free equivalents (or, sometimes, generic text editors). Maybe I'm just using the wrong languages for that (Java, C, C++, Python, Perl, Javascript, ...). Maybe I just haven't spent the time looking, because the tools I use have never prompted enough frustration to bother.

Price-wise, $650 is an upgrade from a hunk-of-garbage dev machine to a powerful-monster dev machine. Guess where I'd rather spend the money?

Author:  mirhagk [ Thu Feb 16, 2012 10:54 pm ]
Post subject:  RE:Msvs

Demonwasp that java/eclipse integration is precisely what I'm talking about. The android simulator runs in a seperate process, with no way to enact the IDE. I'm pretty sure it writes all it's failures to a simple log file, then eclipse loads these errors. (unfortunately the stack trace is done by order of being called, and it always jumps focus to the end, ie the outermost function, meaning you have to actually scroll up through them all to find the correct one). I believe it is able to jump to the function that generated the error once you find it in the list, but still does not provide additional information, and since the android app was killed, all the state information is lost.

A great deal of my time debugging android apps was spent trying to find the function that generated the error. That alone is worth having the IDE nicely jump to the correct line that generated the error, showing it in a pop up, with links to help files to explain the error, and preserving not only state information, but the execution thread as a whole, giving you the ability to alter the line and continue running, without requiring a recompilation and deployment.

If eclipse/android had those debugging abilities (or possibly has and I'm just mistaken, please help me find them if it does) it'd save ALOT of my time, since probably half the time I spent developing was waiting for the app to redploy (even when the emulator was left running, it still took a long time for it to deploy this tiny file to the emulator for it to run).

The problem is not with the tools, it's with the integration.

PS: The reason I mentioned android with eclipse was because that's what I used to develop. I wasn't asking how to get android to run in eclipse, just asking why it wasn't integrated decently.

Author:  DemonWasp [ Thu Feb 16, 2012 11:54 pm ]
Post subject:  RE:Msvs

I would assume that the reason Eclipse / Android integration is off is because of the whole connected-device bit. If it came with a simulator (as I am convinced all hardware devices should) you'd be able to debug like you would a normal application. Working with a physical device is different, because of the limits of the device and your connection to it.

Eclipse can do everything you mentioned in standard Java code. However, recompiling and loading class binaries works well when it's in the same JVM; doing it remotely in a Dalvik JVM on a connected device might be dicey (again, I don't know: I didn't write ADT).

I've seen varying levels of integration between connected device and IDE. J2ME (for older / cheaper phones, mostly) works great when run with the simulator, but debugging on an actual device doesn't work so well. The company I work for produces an Eclipse-based IDE that can debug software running on the device fairly well (no hot code swap, but live editing of variables, breakpoints and data-breakpoints and memory editing across several heterogenous cores and memory banks, etc).

You cannot compare local development (target platform = dev platform) and remote development.

Author:  mirhagk [ Fri Feb 17, 2012 7:50 am ]
Post subject:  RE:Msvs

Um do you read my posts.... It was run in the simulator, not on the device.

Even if it was run on the device, it should have those features, visual studio does. With visual studio you can connect your xbox via the network and debug it.

But yeah, it was with the simulator, and I could not do it. It actually got to the point where I'd develop stuff in C#/visual studio, and then transfer and convert it to Java, since visual studio was easier to use to debug.

Author:  DemonWasp [ Fri Feb 17, 2012 10:49 am ]
Post subject:  RE:Msvs

Hmm. I was sleepy, so I guess I misread "simulator" as "emulator". I suspect that the integration then is just not fully developed.

Visual Studio / XBox seems to be a different situation, because the XBox is actually a full computer, running an entire operating system. Clearly, Microsoft has built some kind of harness for remote debugging into the XBox operating system (good idea, there), and Google hasn't yet done that (or it isn't being used, or whatever).

Point stands, though: you can do all this stuff with free software.

Author:  mirhagk [ Sat Feb 18, 2012 12:46 am ]
Post subject:  RE:Msvs

Yes but the integration isn't very good for a lot of the free software. And the time saved with well integrated software is well worth the pitifully small cost.

Author:  md [ Sat Feb 18, 2012 7:38 am ]
Post subject:  Re: RE:Msvs

mirhagk @ 2012-02-18, 12:46 am wrote:
Yes but the integration isn't very good for a lot of the free software. And the time saved with well integrated software is well worth the pitifully small cost.


I can't help but disagree - Eclipse has much better integration with more technologies then any proprietary IDE I've heard of. Your experiences with Android seem to be a fault with your particular setup as remote debugging works just fine with Eclipse (used it plenty). The only issues I ever had with the emulator were related to it's not-entirely-complete implementation of the network stack, which means if you want to test things like UDP service announcement you need a real device to to debug on.

Also, it's most definitely an emulator that ships with the Android SDK and not a simulator, that's why the performance tends to be rather slow.

Author:  mirhagk [ Sat Feb 18, 2012 11:11 am ]
Post subject:  Re: RE:Msvs

DemonWasp @ Fri Feb 17, 2012 10:49 am wrote:
Hmm. I was sleepy, so I guess I misread "simulator" as "emulator". I suspect that the integration then is just not fully developed.
Visual Studio / XBox seems to be a different situation, because the XBox is actually a full computer, running an entire operating system. Clearly, Microsoft has built some kind of harness for remote debugging into the XBox operating system (good idea, there), and Google hasn't yet done that (or it isn't being used, or whatever).

It is an emulator, but it was not deployed to a device. Although it doesn't even show the stack trace when it crashes on the connected device, which is also a full computer running an entire operating system.

md wrote:
I can't help but disagree - Eclipse has much better integration with more technologies then any proprietary IDE I've heard of. Your experiences with Android seem to be a fault with your particular setup as remote debugging works just fine with Eclipse (used it plenty).


Eclipse has integration with more things, not better integration. A proprietary IDE that has all the tools built in is usually better integrated than a free technology which allows add-ons. I followed the set-up instructions exactly for setting up the android framework, it just dumps the error messages into logcat.

Author:  md [ Sat Feb 18, 2012 4:27 pm ]
Post subject:  Re: RE:Msvs

mirhagk @ 2012-02-18, 11:11 am wrote:
DemonWasp @ Fri Feb 17, 2012 10:49 am wrote:
Hmm. I was sleepy, so I guess I misread "simulator" as "emulator". I suspect that the integration then is just not fully developed.
Visual Studio / XBox seems to be a different situation, because the XBox is actually a full computer, running an entire operating system. Clearly, Microsoft has built some kind of harness for remote debugging into the XBox operating system (good idea, there), and Google hasn't yet done that (or it isn't being used, or whatever).

It is an emulator, but it was not deployed to a device. Although it doesn't even show the stack trace when it crashes on the connected device, which is also a full computer running an entire operating system.

md wrote:
I can't help but disagree - Eclipse has much better integration with more technologies then any proprietary IDE I've heard of. Your experiences with Android seem to be a fault with your particular setup as remote debugging works just fine with Eclipse (used it plenty).


Eclipse has integration with more things, not better integration. A proprietary IDE that has all the tools built in is usually better integrated than a free technology which allows add-ons. I followed the set-up instructions exactly for setting up the android framework, it just dumps the error messages into logcat.


Did you try running your android application through the debugger? 'Cause it's *exactly* the same as running apps on a real device. And an IDE that doesn't support my choice of tools kinda doesn't work. No integrated mercurial support? No thanks.

Author:  mirhagk [ Sat Feb 18, 2012 4:56 pm ]
Post subject:  RE:Msvs

I did not use the command line to run the app lol, I used Eclipse and pressed the debug button, which loaded up the emulator (if not already running) installed the app, and then if the app crashed, it said the app has quit, and log cat shows the stack trace. That's it, doesn't jump to the problematic line or anything.

Author:  md [ Mon Feb 20, 2012 9:39 am ]
Post subject:  Re: RE:Msvs

mirhagk @ 2012-02-18, 4:56 pm wrote:
I did not use the command line to run the app lol, I used Eclipse and pressed the debug button, which loaded up the emulator (if not already running) installed the app, and then if the app crashed, it said the app has quit, and log cat shows the stack trace. That's it, doesn't jump to the problematic line or anything.


In eclipse there are a number of "run" buttons, only one of which runs the program through the debugger. If you use the wrong one it definitely won't work. After that you need to set some break points (where you'll need them you can figure out from from the logs) and then the debugger will stop when it gets there. If you don't set breakpoints then yes, the app will simply exit and show you the log.

Author:  mirhagk [ Mon Feb 20, 2012 11:50 am ]
Post subject:  RE:Msvs

Yes that is precisely the problem md, I don't know before hand where to place the breakpoints, until it crashes and I look at the log cat. Then it's fairly obvious what the issue is and doesn't require looking at the variable state usually, but if it did, it'd require me to put a breakpoint where it crashed, and have it only run on the condition that it does crash (for instance if a function is called several times with different parameters and only one set makes it crash) and then run the debugger again and get to the part that makes it crash.

In visual studio when it crashes it simply breaks at that line, which makes it faster to debug, and does not require me to know the exact condition that makes something crash to put a breakpoint there.

Author:  RandomLetters [ Mon Feb 20, 2012 10:22 pm ]
Post subject:  RE:Msvs

Huh? When it shows the stack trace, that gives you the line that failed

Author:  md [ Mon Feb 20, 2012 10:39 pm ]
Post subject:  Re: RE:Msvs

mirhagk @ 2012-02-20, 11:50 am wrote:
Yes that is precisely the problem md, I don't know before hand where to place the breakpoints, until it crashes and I look at the log cat. Then it's fairly obvious what the issue is and doesn't require looking at the variable state usually, but if it did, it'd require me to put a breakpoint where it crashed, and have it only run on the condition that it does crash (for instance if a function is called several times with different parameters and only one set makes it crash) and then run the debugger again and get to the part that makes it crash.

In visual studio when it crashes it simply breaks at that line, which makes it faster to debug, and does not require me to know the exact condition that makes something crash to put a breakpoint there.


That is admittedly a useful feature. I prefer to write code that doesn't throw uncaught exceptions though Wink

There is apparently a debug view that'll highlight the appropriate line from LogCat, but you're basically doing that anyway.

Author:  mirhagk [ Mon Feb 20, 2012 10:47 pm ]
Post subject:  RE:Msvs

Alright I got the debug mode working, except it does not show me the source, it gives me an error message that the source could not be found, and I tried to get it to load the correct source files (I know the exist in the path I gave it, as that's what is uses to load it in the editor).

It's just frustrating that one part of the same IDE can load the files fine, but another view (debug view) can't.


: