This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
FindBugs for .Net
I need something like FindBugs for C#/.NET ...
Could you tell me where I can find something like this ?
Thanks.
FxCop is a static analysis tool for .NET that has the ability to detect various possible bugs as well as advise you of good programming practices and Microsoft naming conventions. It seems like Microsoft have stopped development on the standalone FxCop tool now in favour of encouraging you to buy a version of Visual Studio with the static code analysis built in (which I think for VS2010 is the "Premium" edition and above).
You might want to have a look at FxCop. It's probably the most popular static code analysis tool for .NET.
Related
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Best .NET obfuscation tools/strategy
Should you obfuscate a commercial .Net application?
Good day everyone.
I'm ready to release a small c# game, but I've heard that it is extremely easy to disassemble/decompile c# application if it is "deployed" as it is. So my question - what can I do to prevent, or at least make it harder for people to disassemble/decompile my application?
Is there more then one way? If so, what do you think is best?
UPD: As was pointed below using default obfuscator might pose some problem with reflections, because I use lua interpreter for ingame scripts.
Thanks in advance.
Visual studio contains the "Dotfuscator" (Tools->Dotfuscator Software Services in VS 2010) which obfuscates your code for you. It can pose certain problems if you implement reflection in your code, but it does give you options as to what you want it to do to your code, so there is some flexibility there as well.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am starting to learn to program in C# and I was wondering what is currently the best compiler and what IDEs have built-in C# compilers. I am 11 years old and starting to learn to program and need to choose a compiler.
I know about the MS Visual Express ones, but I want to know what are there good and bad things about it.
Also, is there a way that I can download Visual C# Express Offline? I can't use the web installer.
It sounds like your question is more like, "which IDE should I learn with?".
I would suggest MS Express editions for C, C++, and C#. It's high quality, free, has an intuitive interface, and has a very large community for support.
C# / .NET
Visual C# Express 2010 should give you everything you need to learn to program in C#.
If you really want to learn, especially on your own, you'll need interesting projects.
I don't think you should overlook doing some Windows Phone 7 Development to get familiar with the language and libraries in a fairly constrained environment.
If your high school allows it, see if you can set yourself up on DreamSpark.com and get yourself the XNA stuff, which (last time I checked) included a free membership that will allow you to develop stuff for the Xbox 360.
Microsoft's Coding4Fun blog might also be inspiring, although it seems to me that a lot of the projects are so esoteric that they probably won't teach very much, nor will they be interesting unless you have that specific piece of hardware.
C
Learning C is probably best done on a Unix-like environment as this is where the language has its origins. A modern GNU/Linux distribution will give you everything you need (you may have to install the development packages yourself) which is basically:
a text editor (choose one; many like Emacs, Vim and Scite)
a C compiler (GCC)
a debugger (GDB)
Any distribution should have packages for these available.
Challenges
Try solving the problems from Project Euler in whatever languages you are trying to learn. Solving these will help you think analytically as well as teach you language constructs and certain library features. Ask your mathematics teacher for help if you are stuck with the maths side of those problems.
Best of luck!
I have found Compilr which is a online IDE and is free for 3 projects and includes a number of langues.
My sugestion is Mono
From Wikipedia:
Mono is a free and open source project led by Xamarin (formerly by Novell and originally by Ximian) to create an Ecma standard-compliant, .NET Framework-compatible set of tools including, among others, a C# compiler and a Common Language Runtime.
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.[4] Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.
The logo of Mono is a stylized monkey's face, mono being Spanish for monkey.
for c definitely go for ICC
C# I might guess you go for VS 2010
I would say get yourself a copy of linux and gcc. Ubuntu is a nice way to get going.
You're talking about three different languages. C++ is an expanded version of C and although it is its own language completely, C++ compilers can also compile C code.
If you're looking to learn programming I recommend C# and Visual C# 2010 Express edition.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am wanting to learn C# where would be a good place to start?
What tools will I need to code and compile with as well?
Tools - Download MS Visual C# Express Edition 2010.
Books - Head First C# if you are looking basics..
Refer this page for some good videos and links on C#
Don't rely on the web for good code examples...
With C# specifically, it's easy to find a million examples of how to do something but it's especially hard to find 'good' examples that are succinct and up-to-date with the latest features/practices of the language. If you're learning C# from scratch, the web will probably discourage more than help (I know from personal experience).
If you're learning C# rely on good books to get a solid start. Here's a good list of books to begin with.
Also, bookmark this site as an online C# reference. It is by-far the best of the hundreds/thousands of C# sites that I have seen.
Download Visual Studio Express edition 2010 and do a Hello World console application.
I'd also recommend downloading SQL Server 2008 express and getting familiar with that once you feel like you are getting good with C#.
Both are free and there is lots of resources out there for a beginner.
Also, if you work at a .NET shop tell your manager that you'd interested and see if he'll team you up with an experienced developer to get you started. Having someone to teach you is extremely helpful.
Download Visual Studio 2010 Express Edition, start reading books and tutorials and arm yourself with patience.
I defiantly would say it depends on your experience level. If you already know the OO fundamentals like Polymorphism, Encapsulation etc... and programming fundamentals like loops, conditionals etc... then perhaps opt for a Pro book Wrox C# 4.0. However if you are not familiar and have little experience I have to agree with others that the Head First Series is an extremely good way to learn. Not written in an Academic manner but in a more fun way which makes it easier to remember things.
Obviously as others suggested you can get the appropriate software to create applications in the form of the express editions.
I would try and create your own applications along with doing the books to make things fun and learn more. By doing this you can look at examples on the web and use the code trying to understand it, and also alter the code so it performs the functionality you want. Even if its functionality you have no idea about and the book hasn't covered, as long as you can look at the code and get a general idea of what it's doing.
Like the above mentioned Visual studio 2010.
try this for a great starter, it has loads of resources.
Get familiar with the api, the sooner the better.
I also find video tutorials a great way to let the stuff stick :) So either watch video tutorials then code a bit , then watch again to remember it, but the best way to learn the code is just to do it. Too much theory can confuse, code as you go, set goals for your self and the theory will come as you try to figure out and solve problems.
After installing VS2010 Express Edition, get Programming in the Key of C# by Charles Petzold. It's ancient, but nothing teaches the fundamentals of C# like this book. After that, get Essential C# 2.0, 3.0, or 4.0, higher the better.
Just take your time and learn the fundamentals down cold and you'll be ready to move on.
Check out Microsoft's MSDN series of tutorials.
There's a nice section that goes over command-line C# writing, as well as another section that covers the drag-and-drop window designer functionality that you get with Visual Studio.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
My background: Mostly C programming. I have some (very recently...last 2 months) acquired JAVA (novice) skills. All my limited experience is based on developing for linux.
I would like to do some excel programming for work purposes. My main interest is in starting to create "dashboards" and charts/reporting from excel sheets as I'm sick and tired of updating many sheets by hand. I'm lazy so I love to automate wherever I can :-)
Which one of these "new" languages (for me) would you recommend to learn? I'm also hoping that if/when I'm getting more familiar with Windows/MS Office environment I can do more "powerfull" things.
If your main goal is to optimise your Excel tasks, then VBA is the language to learn.
The good thing is that if you have any programming background the learning curve is extremely straightforward.
Just run "Record Macro", perform a task, then look at the code that was generated. You've got a working example to learn from.
I personally prefer C# as a language, but in terms of released versions, VB.NET is a better language to use for Office interop. C# 4 has improved this situation a lot though, with named arguments and optional parameters, ref argument faking and COM PIA linking.
If you can use C# 4, that might be the best option for you - but if you're stuck with fully released versions, you might want to go for VB.NET instead.
If you want to dig straight into excel automation, I'd stick to VBA. If you're more interested in extending your knowledge, I'd choose one of the .NET languages, probably VB.NET.
C# seems to be more prestigious/popular, but it's also closer to what you already know. If you learn the .NET Framework using VB, that and your C/java syntax means you'll be able to read C#. It would also give a smoother transition to VBA if you change your mind.
Since you know Java & C, C# should be the easiest to learn. More jobs for C# skills too, if that's important to you.
All of the answers given are sensible, but I'm not sure they're realistic. Yes, Microsoft have been wanting to get rid of VBA for some time now, and I'm sure they dearly wish that Visual Studio Tools for Office would take off; and yes, VB.NET and C# both support something called classes (using object-orientated programming) much better than VBA does.
HOWEVER ... the world uses VBA! Particularly for Excel solutions, I'd guess about 99% of all systems ever written use VBA. So personally I'd learn VBA, helped by the fact that:
You can record macros to see how to do things; and
It's built into Excel (no need to buy or install any other software).
I've written a VBA tutorial online which I hope will help, full of example code and diagrams. Let me know what you think of it, if you should use it.
PS It might seem that my advice is somewhwat biased, but it isn't. We train on VSTO, C# and VB.NET, and my personal preferred programming environment by some way is Visual Studio (VBA drives me mad when I have to revert to it now). However, that's the result of nearly 20 years of learning! For a new programmer, VBA is much simpler to learn.
Microsoft plans to get rid of VBA sometime in the future. Support was already dropped from the Mac version of Office 2008 for example. It way stay around in the Windows version for some time, but no significant new development will be done on it.
Seeing you have C and Java knowledge, and considering you're starting fresh, I'd definitely go with .NET. It's simply the better investment for your time.
Like Jon Skeet says, C# (4.0) is probably your best option if you don't mind using beta software.
This question already has answers here:
Closed 13 years ago.
Possible Duplicate:
Tool to convert java to c# code
I have done a project in java and I want to convert it to C#.Net. I'm using Visual Studio 2008. How can I convert the code from Java to C#? Are there any tools available?
There are tools that can help do this. For example this one from the team who created db4o:
Smart java to c# conversion for the masses with sharpen
Note that these are not perfect and some constructs and API's cannot be easily translated.
IKVM.NET Bytecode Compiler
Here is an Msdn Article about converting from Java to Visual C#.
I think your best shot would be, unless you really really need all the code in C#, to use Visual J# and integrate your Java code with C#.
Microsoft used to support their own .net implementation of the Java language, called Java#, but unfortunetelly they discontinued the project.
But at least you could try it to see if it could help you to convert your code to .net